@zuplo/graphql 5.1680.0 → 5.1681.0
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/index.minified.js +37 -37
- package/package.json +1 -1
package/index.minified.js
CHANGED
|
@@ -22,17 +22,17 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
"use strict";var oE=Object.create;var Qn=Object.defineProperty;var sE=Object.getOwnPropertyDescriptor;var aE=Object.getOwnPropertyNames;var cE=Object.getPrototypeOf,uE=Object.prototype.hasOwnProperty;var o=(e,t)=>Qn(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Qi=(e,t)=>{for(var r in t)Qn(e,r,{get:t[r],enumerable:!0})},sh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of aE(t))!uE.call(e,i)&&i!==r&&Qn(e,i,{get:()=>t[i],enumerable:!(n=sE(t,i))||n.enumerable});return e};var ah=(e,t,r)=>(r=e!=null?oE(cE(e)):{},sh(t||!e||!e.__esModule?Qn(r,"default",{value:e,enumerable:!0}):r,e)),Yi=e=>sh(Qn({},"__esModule",{value:!0}),e);var L=g(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.FeatureNotEnabledError=mt.ConfigurationError=mt.RuntimeError=mt.SystemError=void 0;var Xc=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};mt.SystemError=Xc;var Yn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};mt.RuntimeError=Yn;var eu=class extends Yn{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};mt.ConfigurationError=eu;var tu=class extends Yn{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};mt.FeatureNotEnabledError=tu});var ee=g(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.Environment=void 0;var lE=L(),ru=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new lE.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};Zi.Environment=ru});var dh=g(lh=>{"use strict";Object.defineProperty(lh,"__esModule",{value:!0});var ch=ee();Function.prototype.toString=function(){return"[native code]"};var Xi=globalThis,uh=Xi.caches;if(uh){let e=uh.open;Xi.caches.open=function(t){let r=ch.Environment.instance.deploymentName??ch.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete Xi.caches.default,Object.freeze(Xi.caches)}});var ou=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.MemoryCache=void 0;var dE=1e4,pE=1e3,ph=new Map,nu=class{static{o(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,s)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+dE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},iu=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:pE}){this.name=t;let n=ph.get(t);n||(n=new nu(r),ph.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};eo.MemoryCache=iu});var ro=g(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.ZoneCache=void 0;var su="__zuplo-expiry-header",au=class{static{o(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let s=i.headers.get(su);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(su,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(su,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};to.ZoneCache=au});var Bt=g(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.MemoryZoneReadThroughCache=void 0;var hE=ou(),fE=ro(),cu=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new hE.MemoryCache(n),this.#r=new fE.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(t,i,n).catch(s=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s)})}};no.MemoryZoneReadThroughCache=cu});var Zn=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var wh=g(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.generateColor=w.colorFunctions=w.stripColor=w.bgRgb24=w.rgb24=w.bgRgb8=w.rgb8=w.bgBrightWhite=w.bgBrightCyan=w.bgBrightMagenta=w.bgBrightBlue=w.bgBrightYellow=w.bgBrightGreen=w.bgBrightRed=w.bgBrightBlack=w.bgWhite=w.bgCyan=w.bgMagenta=w.bgBlue=w.bgYellow=w.bgGreen=w.bgRed=w.bgBlack=w.brightWhite=w.brightCyan=w.brightMagenta=w.brightBlue=w.brightYellow=w.brightGreen=w.brightRed=w.brightBlack=w.gray=w.white=w.cyan=w.magenta=w.blue=w.yellow=w.green=w.red=w.black=w.strikethrough=w.hidden=w.inverse=w.underline=w.italic=w.dim=w.bold=w.reset=w.getColorEnabled=w.setColorEnabled=void 0;var hh=!0,uu=!hh;function mE(e){hh||(uu=e)}o(mE,"setColorEnabled");w.setColorEnabled=mE;function yE(){return uu}o(yE,"getColorEnabled");w.getColorEnabled=yE;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(F,"code");function q(e,t){return uu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function gE(e){return q(e,F([0],0))}o(gE,"reset");w.reset=gE;function bE(e){return q(e,F([1],22))}o(bE,"bold");w.bold=bE;function _E(e){return q(e,F([2],22))}o(_E,"dim");w.dim=_E;function EE(e){return q(e,F([3],23))}o(EE,"italic");w.italic=EE;function wE(e){return q(e,F([4],24))}o(wE,"underline");w.underline=wE;function vE(e){return q(e,F([7],27))}o(vE,"inverse");w.inverse=vE;function TE(e){return q(e,F([8],28))}o(TE,"hidden");w.hidden=TE;function SE(e){return q(e,F([9],29))}o(SE,"strikethrough");w.strikethrough=SE;function IE(e){return q(e,F([30],39))}o(IE,"black");w.black=IE;function fh(e){return q(e,F([31],39))}o(fh,"red");w.red=fh;function mh(e){return q(e,F([32],39))}o(mh,"green");w.green=mh;function yh(e){return q(e,F([33],39))}o(yh,"yellow");w.yellow=yh;function gh(e){return q(e,F([34],39))}o(gh,"blue");w.blue=gh;function bh(e){return q(e,F([35],39))}o(bh,"magenta");w.magenta=bh;function _h(e){return q(e,F([36],39))}o(_h,"cyan");w.cyan=_h;function AE(e){return q(e,F([37],39))}o(AE,"white");w.white=AE;function PE(e){return Eh(e)}o(PE,"gray");w.gray=PE;function Eh(e){return q(e,F([90],39))}o(Eh,"brightBlack");w.brightBlack=Eh;function RE(e){return q(e,F([91],39))}o(RE,"brightRed");w.brightRed=RE;function OE(e){return q(e,F([92],39))}o(OE,"brightGreen");w.brightGreen=OE;function xE(e){return q(e,F([93],39))}o(xE,"brightYellow");w.brightYellow=xE;function NE(e){return q(e,F([94],39))}o(NE,"brightBlue");w.brightBlue=NE;function CE(e){return q(e,F([95],39))}o(CE,"brightMagenta");w.brightMagenta=CE;function LE(e){return q(e,F([96],39))}o(LE,"brightCyan");w.brightCyan=LE;function DE(e){return q(e,F([97],39))}o(DE,"brightWhite");w.brightWhite=DE;function UE(e){return q(e,F([40],49))}o(UE,"bgBlack");w.bgBlack=UE;function ME(e){return q(e,F([41],49))}o(ME,"bgRed");w.bgRed=ME;function kE(e){return q(e,F([42],49))}o(kE,"bgGreen");w.bgGreen=kE;function HE(e){return q(e,F([43],49))}o(HE,"bgYellow");w.bgYellow=HE;function FE(e){return q(e,F([44],49))}o(FE,"bgBlue");w.bgBlue=FE;function qE(e){return q(e,F([45],49))}o(qE,"bgMagenta");w.bgMagenta=qE;function $E(e){return q(e,F([46],49))}o($E,"bgCyan");w.bgCyan=$E;function jE(e){return q(e,F([47],49))}o(jE,"bgWhite");w.bgWhite=jE;function VE(e){return q(e,F([100],49))}o(VE,"bgBrightBlack");w.bgBrightBlack=VE;function GE(e){return q(e,F([101],49))}o(GE,"bgBrightRed");w.bgBrightRed=GE;function BE(e){return q(e,F([102],49))}o(BE,"bgBrightGreen");w.bgBrightGreen=BE;function KE(e){return q(e,F([103],49))}o(KE,"bgBrightYellow");w.bgBrightYellow=KE;function JE(e){return q(e,F([104],49))}o(JE,"bgBrightBlue");w.bgBrightBlue=JE;function zE(e){return q(e,F([105],49))}o(zE,"bgBrightMagenta");w.bgBrightMagenta=zE;function WE(e){return q(e,F([106],49))}o(WE,"bgBrightCyan");w.bgBrightCyan=WE;function QE(e){return q(e,F([107],49))}o(QE,"bgBrightWhite");w.bgBrightWhite=QE;function Kt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(Kt,"clampAndTruncate");function YE(e,t){return q(e,F([38,5,Kt(t)],39))}o(YE,"rgb8");w.rgb8=YE;function ZE(e,t){return q(e,F([48,5,Kt(t)],49))}o(ZE,"bgRgb8");w.bgRgb8=ZE;function XE(e,t){return typeof t=="number"?q(e,F([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,F([38,2,Kt(t.r),Kt(t.g),Kt(t.b)],39))}o(XE,"rgb24");w.rgb24=XE;function ew(e,t){return typeof t=="number"?q(e,F([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,F([48,2,Kt(t.r),Kt(t.g),Kt(t.b)],49))}o(ew,"bgRgb24");w.bgRgb24=ew;var tw=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function rw(e){return e.replace(tw,"")}o(rw,"stripColor");w.stripColor=rw;w.colorFunctions=[fh,mh,yh,gh,bh,_h];function nw(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}o(nw,"hashCode");function iw(e){let t=Math.abs(nw(e));return w.colorFunctions[t%w.colorFunctions.length]}o(iw,"generateColor");w.generateColor=iw});var vh=g(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.format=void 0;function ow(e,t,...r){let n=0,i=r.length,s=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
|
|
26
|
-
`).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+e(a);return s}o(
|
|
25
|
+
"use strict";var aE=Object.create;var Yn=Object.defineProperty;var cE=Object.getOwnPropertyDescriptor;var uE=Object.getOwnPropertyNames;var lE=Object.getPrototypeOf,dE=Object.prototype.hasOwnProperty;var o=(e,t)=>Yn(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Yi=(e,t)=>{for(var r in t)Yn(e,r,{get:t[r],enumerable:!0})},ah=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of uE(t))!dE.call(e,i)&&i!==r&&Yn(e,i,{get:()=>t[i],enumerable:!(n=cE(t,i))||n.enumerable});return e};var ch=(e,t,r)=>(r=e!=null?aE(lE(e)):{},ah(t||!e||!e.__esModule?Yn(r,"default",{value:e,enumerable:!0}):r,e)),Zi=e=>ah(Yn({},"__esModule",{value:!0}),e);var D=g(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.FeatureNotEnabledError=mt.ConfigurationError=mt.RuntimeError=mt.SystemError=void 0;var eu=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};mt.SystemError=eu;var Zn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};mt.RuntimeError=Zn;var tu=class extends Zn{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};mt.ConfigurationError=tu;var ru=class extends Zn{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};mt.FeatureNotEnabledError=ru});var X=g(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.Environment=void 0;var pE=D(),nu=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new pE.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};Xi.Environment=nu});var ph=g(dh=>{"use strict";Object.defineProperty(dh,"__esModule",{value:!0});var uh=X();Function.prototype.toString=function(){return"[native code]"};var eo=globalThis,lh=eo.caches;if(lh){let e=lh.open;eo.caches.open=function(t){let r=uh.Environment.instance.deploymentName??uh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete eo.caches.default,Object.freeze(eo.caches)}});var su=g(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.MemoryCache=void 0;var hE=1e4,fE=1e3,hh=new Map,iu=class{static{o(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,s)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+hE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},ou=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:fE}){this.name=t;let n=hh.get(t);n||(n=new iu(r),hh.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};to.MemoryCache=ou});var no=g(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.ZoneCache=void 0;var au="__zuplo-expiry-header",cu=class{static{o(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let s=i.headers.get(au);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(au,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(au,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};ro.ZoneCache=cu});var Kt=g(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.MemoryZoneReadThroughCache=void 0;var mE=su(),yE=no(),uu=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new mE.MemoryCache(n),this.#r=new yE.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(t,i,n).catch(s=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s)})}};io.MemoryZoneReadThroughCache=uu});var Xn=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var vh=g(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var fh=!0,lu=!fh;function gE(e){fh||(lu=e)}o(gE,"setColorEnabled");v.setColorEnabled=gE;function bE(){return lu}o(bE,"getColorEnabled");v.getColorEnabled=bE;function q(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(q,"code");function $(e,t){return lu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o($,"run");function _E(e){return $(e,q([0],0))}o(_E,"reset");v.reset=_E;function EE(e){return $(e,q([1],22))}o(EE,"bold");v.bold=EE;function wE(e){return $(e,q([2],22))}o(wE,"dim");v.dim=wE;function vE(e){return $(e,q([3],23))}o(vE,"italic");v.italic=vE;function TE(e){return $(e,q([4],24))}o(TE,"underline");v.underline=TE;function SE(e){return $(e,q([7],27))}o(SE,"inverse");v.inverse=SE;function IE(e){return $(e,q([8],28))}o(IE,"hidden");v.hidden=IE;function PE(e){return $(e,q([9],29))}o(PE,"strikethrough");v.strikethrough=PE;function AE(e){return $(e,q([30],39))}o(AE,"black");v.black=AE;function mh(e){return $(e,q([31],39))}o(mh,"red");v.red=mh;function yh(e){return $(e,q([32],39))}o(yh,"green");v.green=yh;function gh(e){return $(e,q([33],39))}o(gh,"yellow");v.yellow=gh;function bh(e){return $(e,q([34],39))}o(bh,"blue");v.blue=bh;function _h(e){return $(e,q([35],39))}o(_h,"magenta");v.magenta=_h;function Eh(e){return $(e,q([36],39))}o(Eh,"cyan");v.cyan=Eh;function RE(e){return $(e,q([37],39))}o(RE,"white");v.white=RE;function OE(e){return wh(e)}o(OE,"gray");v.gray=OE;function wh(e){return $(e,q([90],39))}o(wh,"brightBlack");v.brightBlack=wh;function xE(e){return $(e,q([91],39))}o(xE,"brightRed");v.brightRed=xE;function NE(e){return $(e,q([92],39))}o(NE,"brightGreen");v.brightGreen=NE;function CE(e){return $(e,q([93],39))}o(CE,"brightYellow");v.brightYellow=CE;function LE(e){return $(e,q([94],39))}o(LE,"brightBlue");v.brightBlue=LE;function DE(e){return $(e,q([95],39))}o(DE,"brightMagenta");v.brightMagenta=DE;function UE(e){return $(e,q([96],39))}o(UE,"brightCyan");v.brightCyan=UE;function ME(e){return $(e,q([97],39))}o(ME,"brightWhite");v.brightWhite=ME;function kE(e){return $(e,q([40],49))}o(kE,"bgBlack");v.bgBlack=kE;function HE(e){return $(e,q([41],49))}o(HE,"bgRed");v.bgRed=HE;function FE(e){return $(e,q([42],49))}o(FE,"bgGreen");v.bgGreen=FE;function qE(e){return $(e,q([43],49))}o(qE,"bgYellow");v.bgYellow=qE;function $E(e){return $(e,q([44],49))}o($E,"bgBlue");v.bgBlue=$E;function jE(e){return $(e,q([45],49))}o(jE,"bgMagenta");v.bgMagenta=jE;function VE(e){return $(e,q([46],49))}o(VE,"bgCyan");v.bgCyan=VE;function GE(e){return $(e,q([47],49))}o(GE,"bgWhite");v.bgWhite=GE;function BE(e){return $(e,q([100],49))}o(BE,"bgBrightBlack");v.bgBrightBlack=BE;function KE(e){return $(e,q([101],49))}o(KE,"bgBrightRed");v.bgBrightRed=KE;function JE(e){return $(e,q([102],49))}o(JE,"bgBrightGreen");v.bgBrightGreen=JE;function zE(e){return $(e,q([103],49))}o(zE,"bgBrightYellow");v.bgBrightYellow=zE;function WE(e){return $(e,q([104],49))}o(WE,"bgBrightBlue");v.bgBrightBlue=WE;function QE(e){return $(e,q([105],49))}o(QE,"bgBrightMagenta");v.bgBrightMagenta=QE;function YE(e){return $(e,q([106],49))}o(YE,"bgBrightCyan");v.bgBrightCyan=YE;function ZE(e){return $(e,q([107],49))}o(ZE,"bgBrightWhite");v.bgBrightWhite=ZE;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(Jt,"clampAndTruncate");function XE(e,t){return $(e,q([38,5,Jt(t)],39))}o(XE,"rgb8");v.rgb8=XE;function ew(e,t){return $(e,q([48,5,Jt(t)],49))}o(ew,"bgRgb8");v.bgRgb8=ew;function tw(e,t){return typeof t=="number"?$(e,q([38,2,t>>16&255,t>>8&255,t&255],39)):$(e,q([38,2,Jt(t.r),Jt(t.g),Jt(t.b)],39))}o(tw,"rgb24");v.rgb24=tw;function rw(e,t){return typeof t=="number"?$(e,q([48,2,t>>16&255,t>>8&255,t&255],49)):$(e,q([48,2,Jt(t.r),Jt(t.g),Jt(t.b)],49))}o(rw,"bgRgb24");v.bgRgb24=rw;var nw=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function iw(e){return e.replace(nw,"")}o(iw,"stripColor");v.stripColor=iw;v.colorFunctions=[mh,yh,gh,bh,_h,Eh];function ow(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}o(ow,"hashCode");function sw(e){let t=Math.abs(ow(e));return v.colorFunctions[t%v.colorFunctions.length]}o(sw,"generateColor");v.generateColor=sw});var Th=g(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.format=void 0;function aw(e,t,...r){let n=0,i=r.length,s=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
|
|
26
|
+
`).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+e(a);return s}o(aw,"format");oo.format=aw});var Oh=g(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.inspect=void 0;function vr(e,t,r,n){let i={seen:[],stylize:cw,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=lw),so(i,e,i.depth)}o(vr,"inspect");ao.inspect=vr;vr.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};vr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function cw(e,t){return e}o(cw,"stylizeNoColor");function uw(e){return typeof e=="boolean"}o(uw,"isBoolean");function Ih(e){return e===void 0}o(Ih,"isUndefined");function lw(e,t){let r=vr.styles[t];return r?"\x1B["+vr.colors[r][0]+"m"+e+"\x1B["+vr.colors[r][1]+"m":e}o(lw,"stylizeWithColor");function du(e){return typeof e=="function"}o(du,"isFunction");function Ph(e){return typeof e=="string"}o(Ph,"isString");function dw(e){return typeof e=="number"}o(dw,"isNumber");function Ah(e){return e===null}o(Ah,"isNull");function Rh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(Rh,"hasOwn");function pu(e){return yu(e)&&gu(e)==="[object RegExp]"}o(pu,"isRegExp");function yu(e){return typeof e=="object"&&e!==null}o(yu,"isObject");function hu(e){return yu(e)&&(gu(e)==="[object Error]"||e instanceof Error)}o(hu,"isError");function Sh(e){return yu(e)&&gu(e)==="[object Date]"}o(Sh,"isDate");function gu(e){return Object.prototype.toString.call(e)}o(gu,"objectToString");function pw(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(pw,"arrayToHash");function hw(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)Rh(t,String(a))?s.push(mu(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(mu(e,t,r,n,a,!0))}),s}o(hw,"formatArray");function fu(e){return"["+Error.prototype.toString.call(e)+"]"}o(fu,"formatError");function so(e,t,r){if(e.customInspect&&t&&du(t.inspect)&&t.inspect!==vr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Ph(d)||(d=so(e,d,r)),d}let n=fw(e,t);if(n)return n;let i=Object.keys(t),s=pw(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(hu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return fu(t);if(i.length===0){if(du(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(pu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Sh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(hu(t))return fu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),du(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),pu(t)&&(a=" "+RegExp.prototype.toString.call(t)),Sh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),hu(t)&&(a=" "+fu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return pu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=hw(e,t,r,s,i):l=i.map(function(d){return mu(e,t,r,s,d,c)}),e.seen.pop(),mw(l,a,u)}o(so,"formatValue");function mu(e,t,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),Rh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(Ah(r)?c=so(e,u.value,null):c=so(e,u.value,r-1),c.indexOf(`
|
|
27
27
|
`)>-1&&(s?c=c.split(`
|
|
28
28
|
`).map(function(l){return" "+l}).join(`
|
|
29
29
|
`).substr(2):c=`
|
|
30
30
|
`+c.split(`
|
|
31
31
|
`).map(function(l){return" "+l}).join(`
|
|
32
|
-
`))):c=e.stylize("[Circular]","special")),
|
|
32
|
+
`))):c=e.stylize("[Circular]","special")),Ih(a)){if(s&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}o(mu,"formatProperty");function fw(e,t){if(Ih(t))return e.stylize("undefined","undefined");if(Ph(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(dw(t))return e.stylize(""+t,"number");if(uw(t))return e.stylize(""+t,"boolean");if(Ah(t))return e.stylize("null","null")}o(fw,"formatPrimitive");function mw(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
|
|
33
33
|
`)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
|
|
34
34
|
`)+" "+e.join(`,
|
|
35
|
-
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(hw,"reduceToSingleString")});var Oh=g(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.format=void 0;var fw=vh(),mw=Rh(),yw=o((e,...t)=>(0,fw.format)(mw.inspect,e,t),"format");ao.format=yw});var Tr=g(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.debug=Jt.withoutEnv=Jt.Debugger=void 0;var gw=wh(),bw=Oh(),co=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,gw.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,bw.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Jt.Debugger=co;var uo=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function xh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(xh,"extract");var Xn;function _w(e){e||(e=[]),typeof e=="string"&&(e=xh(e)),Xn=new uo(e)}o(_w,"withoutEnv");Jt.withoutEnv=_w;function Ew(e){let t=globalThis.DEBUG;Xn||(Xn=new uo(xh(t)));let r=new co(Xn,e);return Xn.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(Ew,"debug");Jt.debug=Ew});var po=g(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.ProblemResponseFormatter=jr.InternalProblemResponseFormatter=void 0;var ww=L(),lo=class e{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(s){throw new ww.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};jr.InternalProblemResponseFormatter=lo;var gu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await lo.problemResponseFormat(t,r,n)}};jr.ProblemResponseFormatter=gu});var Ch=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.deepFreeze=void 0;function Nh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Nh(r)}return Object.freeze(e)}o(Nh,"deepFreeze");ho.deepFreeze=Nh});var ke=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.ZuploRequest=void 0;var Lh=Ch(),bu=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,Lh.deepFreeze)(this.#e)}get params(){return(0,Lh.deepFreeze)(this.#t)}user};fo.ZuploRequest=bu});var yt=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var Dh=L(),vw=po(),Tw=ke(),yo=class{static{o(this,"RuntimePlugin")}};ye.RuntimePlugin=yo;var go=class extends yo{static{o(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=go;ye.runtimeExtensions={};var _u=[];ye.plugins=_u;var Uh=[],Mh=[],kh=[],mo={addPlugin(e){_u.push(e)},addRequestHook(e){Uh.push(e)},addResponseSendingHook(e){Mh.push(e)},addResponseSendingFinalHook(e){kh.push(e)}},Sw=o(async(e,t)=>{let r=e;for(let n of Uh){let i=await n(r,t);if(i instanceof Tw.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Dh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Sw;var Iw=o(async(e,t,r)=>{let n=e;for(let i of Mh){let s=await i(e,t,r);if(s instanceof Response)n=s;else throw new Dh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Iw;var Aw=o(async(e,t,r)=>{for(let n of kh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Aw;async function Pw(e=()=>Promise.resolve()){await e(mo),ye.runtimeExtensions.value=mo;for(let t of _u)t instanceof go&&await t.initialize(mo);vw.InternalProblemResponseFormatter.setProblemResponseFormat(mo.problemResponseFormat)}o(Pw,"initializeRuntime");ye.initializeRuntime=Pw});var Eu=g(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.serialize=zt.ContentTypes=void 0;zt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Rw(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(zt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(zt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(Rw,"serialize");zt.serialize=Rw});var Nt=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.Pipeline=void 0;var wu=Sr(),Hh=yt(),Ow=Eu(),vu=class{static{o(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=({processors:t,gateway:r,handler:n})=>async(i,s)=>{let a=[...t],c=o(async m=>{let v=a.pop();return v?v(i,s,r,c):await this.#e(async S=>{let k=await n(S,s);return xw(k)},r)(m,s)},"nextPipe"),l=await c(i),d=new wu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=wu.ZuploContextExtensions.getContextExtensions(s),y=p.latestRequest,h;try{h=await d.mutableResponse}catch(m){return s.log.error(m),r.errorHandler(i,s,m)}try{h=await p.onResponseSending(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),r.errorHandler(i,s,m)}try{h=await(0,Hh.invokeOnResponseSendingExtensions)(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),r.errorHandler(i,s,m)}s.dispatchEvent(new wu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}try{await(0,Hh.invokeOnResponseSendingFinalExtensions)(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}return h}};bo.Pipeline=vu;function xw(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Ow.serialize)(e),{headers:{"content-type":"application/json"}})}o(xw,"resultToResponse")});var Eo=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.MetricsPlugin=void 0;var Nw=yt(),Tu=class extends Nw.RuntimePlugin{static{o(this,"MetricsPlugin")}};_o.MetricsPlugin=Tu});var Be=g(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.SystemLogMap=void 0;var Cw=L(),Su=class e{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new Cw.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};wo.SystemLogMap=Su});var ve=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.BatchDispatch=void 0;var Iu=class{static{o(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};vo.BatchDispatch=Iu});var qh=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.EllieMetricsTransport=void 0;var Fh=Be(),Lw=ve(),To=ee(),Au=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=To.Environment.instance.loggingId,this.#e=t,this.#t=new Lw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Fh.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=To.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":To.Environment.instance.deploymentName??"unknown","user-agent":To.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Fh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};So.EllieMetricsTransport=Au});var ot=g(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.systemNoVersion=Ir.SystemRouteConfiguration=void 0;var Pu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Ir.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Ir.SystemRouteConfiguration=Pu;Ir.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Wt=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.metricsProcessor=void 0;var $h=Zn(),Dw=Sr(),Uw=yt(),Mw=Eo(),kw=qh(),Hw=ot(),Fw=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get($h.RAY_ID_HEADER)??void 0,u=e.headers.get($h.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof Hw.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Dw.ZuploContextExtensions.getContextExtensions(t).latestRequest,y={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new kw.EllieMetricsTransport(t)),Uw.plugins.forEach(m=>{if(m instanceof Mw.MetricsPlugin){let v=m.getTransport();h.push(v)}}),h.forEach(m=>{m.pushMetrics(y,t)}),a},"metricsProcessor");Io.metricsProcessor=Fw});var Ru=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.SystemRouteName=void 0;var jh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(jh||(Ao.SystemRouteName=jh={}))});var Gh=g(Vh=>{"use strict";Object.defineProperty(Vh,"__esModule",{value:!0})});var Ar=g(Qt=>{"use strict";var qw=Qt&&Qt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Bh=Qt&&Qt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&qw(t,e,r)};Object.defineProperty(Qt,"__esModule",{value:!0});Bh(Ru(),Qt);Bh(Gh(),Qt)});var Kh=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.registerBuildRoute=void 0;var $w=Ct(),jw=Nt(),Vw=Wt(),Gw=Ar(),Bw=ot(),Kw=Be(),Jw=ee(),zw=o((e,t)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return $w.HttpProblems.notFound(s,a);let l=Jw.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&Kw.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new jw.Pipeline({processors:[Vw.metricsProcessor],handler:r,gateway:t}),i=new Bw.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Gw.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Po.registerBuildRoute=zw});var Ou=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.HTTP_STATUS_TITLES=Vr.HttpStatusCode=void 0;var Jh;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Jh||(Vr.HttpStatusCode=Jh={}));Vr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var Nu=g(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});var Ww={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};xu.default=Ww});var ue=g(Gr=>{"use strict";var Qw=Gr&&Gr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.HttpProblems=void 0;var Yw=Zn(),O=Ou(),Zw=Qw(Nu()),Xw=ee(),Cu=po();function ev(e){return`${new URL(e.url).pathname}`}o(ev,"instance");function tv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Xw.Environment.instance.build.BUILD_ID},n=e.headers.get(Yw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(tv,"trace");var rv=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:ev(t),trace:tv(t,r),...n},additionalHeaders:i,statusText:Zw.default[e.status]}),"merge"),Lu=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Cu.ProblemResponseFormatter.format(t,r,n):Cu.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:O.HTTP_STATUS_TITLES[t],...r}}},Du=class extends Lu{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=rv(this.getProblemFromStatus(t),r,n,i,s);return Cu.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(O.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Gr.HttpProblems=Du});var Yt=g(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:nv}=Object.prototype,{propertyIsEnumerable:iv}=Object.prototype;function zh(e){return nv.call(e)}o(zh,"toString");U.toString=zh;function Ro(e){return typeof e=="string"}o(Ro,"isString");U.isString=Ro;function ov(e){return Ro(e)&&e!==""}o(ov,"isNonEmptyString");U.isNonEmptyString=ov;function sv(e){return Array.isArray(e)&&e.every(t=>Ro(t))}o(sv,"isStringArray");U.isStringArray=sv;function av(e){return zh(e)==="[object RegExp]"}o(av,"isRegexp");U.isRegexp=av;function cv(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>iv.call(e,t))]}o(cv,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=cv;function Uu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(Uu,"isObject");U.isObject=Uu;function uv(e){return Uu(e)&&Array.isArray(e)}o(uv,"isArray");U.isArray=uv;function lv(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(lv,"isTypedArray");U.isTypedArray=lv;function dv(e){return typeof e=="number"&&!isNaN(e)}o(dv,"isNumber");U.isNumber=dv;function pv(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(pv,"isIterable");U.isIterable=pv;function hv(e){return e===!0||e===!1}o(hv,"isBoolean");U.isBoolean=hv;function Wh(e){return typeof e>"u"}o(Wh,"isUndefined");U.isUndefined=Wh;function fv(e){return!ei(e)}o(fv,"isDefined");U.isDefined=fv;function ei(e){return Wh(e)||e===null}o(ei,"isUndefinedOrNull");U.isUndefinedOrNull=ei;function mv(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(mv,"assertType");U.assertType=mv;function yv(e){if(ei(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(yv,"assertIsDefined");U.assertIsDefined=yv;function gv(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ei(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(gv,"assertAllDefined");U.assertAllDefined=gv;var bv=Object.prototype.hasOwnProperty;function _v(e){if(!Uu(e))return!1;for(let t in e)if(bv.call(e,t))return!1;return!0}o(_v,"isEmptyObject");U.isEmptyObject=_v;function Mu(e){return typeof e=="function"}o(Mu,"isFunction");U.isFunction=Mu;function Ev(...e){return e.length>0&&e.every(Mu)}o(Ev,"areFunctions");U.areFunctions=Ev;function wv(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Qh(e[n],t[n])}o(wv,"validateConstraints");U.validateConstraints=wv;function Qh(e,t){if(Ro(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Mu(t)){try{if(e instanceof t)return}catch{}if(!ei(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Qh,"validateConstraint");U.validateConstraint=Qh;function vv(e){return e===null?void 0:e}o(vv,"withNullAsUndefined");U.withNullAsUndefined=vv;function Tv(e){return typeof e>"u"?null:e}o(Tv,"withUndefinedAsNull");U.withUndefinedAsNull=Tv;function Sv(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(Sv,"isErrorLike");U.isErrorLike=Sv});var ti=g(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.parseValueToBoolean=gt.parseValueToStringArray=gt.getValueFromRequestUser=gt.statusCodesStringToNumberArray=void 0;var Br=L(),ku=Yt(),Yh=new Map;function Iv(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=Yh.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return Yh.set(e,n),n}o(Iv,"statusCodesStringToNumberArray");gt.statusCodesStringToNumberArray=Iv;function Av(e,t,r){if(!t.startsWith("."))throw new Br.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(s=>{if(i===void 0)throw new Br.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(Av,"getValueFromRequestUser");gt.getValueFromRequestUser=Av;function Pv(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Br.ConfigurationError("Received an array that contains non-string values.");return e}if((0,ku.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Br.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(Pv,"parseValueToStringArray");gt.parseValueToStringArray=Pv;function Rv(e){if((0,ku.isBoolean)(e))return e;if((0,ku.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Br.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Br.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(Rv,"parseValueToBoolean");gt.parseValueToBoolean=Rv});var xo=g(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Pr=L(),Zh=ti(),Oo=Yt();function Ov(e){if(e==null)return[];if(!Array.isArray(e))throw new Pr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Oo.isObject)(r))throw new Pr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Oo.isNonEmptyString)(r.name))throw new Pr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Oo.isNumber)(r.maxAge))throw new Pr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,Oo.isBoolean)(r.allowCredentials))throw new Pr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=Hu(r,"allowedHeaders"),i=Hu(r,"allowedMethods"),s=Hu(r,"exposeHeaders"),a;try{a=(0,Zh.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Pr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(Ov,"parseCorsPolicies");Zt.parseCorsPolicies=Ov;function Hu(e,t){let r;if(e[t]!==void 0)try{r=(0,Zh.parseValueToStringArray)(e[t])}catch(n){throw new Pr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(Hu,"parseOptionalProperty");var xv=o((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Zt.findMatchingOrigin=xv;var Nv=o((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Zt.generateCorsHeaders=Nv});var ef=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.registerCorsRoute=void 0;var Cv=L(),Lv=Nt(),Fu=ue(),Dv=Wt(),Uv=Ar(),Mv=ot(),Xh=xo(),kv=o((e,t)=>{let r=t.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return Fu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let y=e.lookup(l,u);if(!y)return Fu.HttpProblems.notFound(a,c);let h=y.routeConfiguration,m=Hv(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):(m.error&&c.log.warn(m.error),Fu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new Lv.Pipeline({processors:[Dv.metricsProcessor],handler:n,gateway:t}),s=new Mv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Uv.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");No.registerCorsRoute=kv;var Hv=o((e,t,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...s,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new Cv.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Xh.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Xh.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var tf=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.registerNoRoutes=void 0;var Fv=Nt(),qv=Wt(),$v=Ar(),jv=ot(),Vv=o((e,t)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new Fv.Pipeline({processors:[qv.metricsProcessor],handler:r,gateway:t}),i=new jv.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:$v.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Co.registerNoRoutes=Vv});var rf=g(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.registerNotMatchedHandler=Rr.notFoundRouteConfiguration=void 0;var Gv=Sr(),Bv=yt(),Kv=Nt(),Jv=ue(),zv=Wt(),Wv=Ar(),Qv=ot();Rr.notFoundRouteConfiguration=new Qv.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Wv.SystemRouteName.UnmatchedPath});var Yv=o((e,t)=>{let r=o(async(i,s)=>{let a=Bv.runtimeExtensions.value?.notFoundHandler;if(a){let c=Gv.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Jv.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new Kv.Pipeline({processors:[zv.metricsProcessor],handler:r,gateway:t});e.addRoute(Rr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Rr.registerNotMatchedHandler=Yv});var qu=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.corsProcessor=void 0;var sf=L(),nf=xo(),Zv=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],of=o(e=>{Zv.forEach(t=>e.delete(t))},"stripCorsHeaders"),Xv=o(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return of(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(e);if(!(s instanceof Response))throw new sf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=eT(i,r.routeData.corsPolicies),c=tT(e,a),u=new Headers(s.headers);return of(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");Lo.corsProcessor=Xv;var eT=o((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new sf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),tT=o((e,t)=>{let r=(0,nf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,nf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var af=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.registerPingRoute=void 0;var rT=Nt(),nT=qu(),iT=Ar(),oT=ot(),sT=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new rT.Pipeline({processors:[nT.corsProcessor],handler:r,gateway:t}),i=new oT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:iT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Do.registerPingRoute=sT});var Jr=g(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var aT=Sr(),Kr=L(),cf=ke(),cT=ee();function uf(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(s=>{let a=t?.find(u=>u.name===s);if(!a)throw new Kr.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Kr.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(uf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=uf;function uT(e,t){return(e.policies?.outbound??[]).map(i=>{let s=t?.find(c=>c.name===i);if(!s)throw new Kr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Kr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(uT,"getOutboundPolicyHandlerAndOptions");var lT=o(e=>async(t,r)=>{let n=aT.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof cf.ZuploRequest)s=c;else if(c instanceof Request)s=new cf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Kr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");st.toStackedInboundHandler=lT;var dT=o(e=>async(t,r,n)=>{let i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Kr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),pT=o(async(e,t,r,n)=>{let i=uf(t.route,r.routeData.policies),s=uT(t.route,r.routeData.policies);return lf({request:e,context:t,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");st.policyProcessor=pT;function hT({inboundPolicies:e=[],outboundPolicies:t=[]}){return o(async(n,i,s,a)=>lf({request:n,context:i,inboundPolicies:e.map(c=>({...c,exportName:"default",policyName:c.handler.name})),outboundPolicies:t.map(c=>({...c,exportName:"default",policyName:c.handler.name})),gateway:s,next:a}),"policyProcessor")}o(hT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=hT;async function lf({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,st.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await s(c),l=dT(n),d;return cT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}o(lf,"executePolicyProcessor")});var df=g(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.serialize=zr.parse=void 0;var fT=Object.prototype.toString,Uo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function mT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||gT,s=0;for(;s<e.length;){let a=e.indexOf("=",s);if(a===-1)break;let c=e.indexOf(";",s);if(c===-1)c=e.length;else if(c<a){s=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(s,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=ET(l,i)}s=c+1}return r}o(mT,"parse");zr.parse=mT;function yT(e,t,r){let n=r||{},i=n.encode||bT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Uo.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!Uo.test(s))throw new TypeError("argument val is invalid");let a=e+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Uo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Uo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!_T(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(yT,"serialize");zr.serialize=yT;function gT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(gT,"decode");function bT(e){return encodeURIComponent(e)}o(bT,"encode");function _T(e){return fT.call(e)==="[object Date]"||e instanceof Date}o(_T,"isDate");function ET(e,t){try{return t(e)}catch{return e}}o(ET,"tryDecode")});var pf=g(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.devPortalBaseURL=void 0;var wT=df();function vT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,wT.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(vT,"devPortalBaseURL");Mo.devPortalBaseURL=vT});var gf=g(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.registerDevPortalLegacyRedirectRoute=Wr.registerDevPortalV3Route=void 0;var $u=Ct(),ff=Nt(),mf=Wt(),TT=Jr(),yf=ot(),ST=pf(),Xt=ee(),hf="/__zuplo/dev-portal",IT="dev-portal-id",AT="dev-portal-host",PT="zp-account",RT="zp-project",OT="dev-portal-build",xT=`
|
|
35
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(mw,"reduceToSingleString")});var xh=g(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.format=void 0;var yw=Th(),gw=Oh(),bw=o((e,...t)=>(0,yw.format)(gw.inspect,e,t),"format");co.format=bw});var Tr=g(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var _w=vh(),Ew=xh(),uo=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,_w.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,Ew.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};zt.Debugger=uo;var lo=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function Nh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(Nh,"extract");var ei;function ww(e){e||(e=[]),typeof e=="string"&&(e=Nh(e)),ei=new lo(e)}o(ww,"withoutEnv");zt.withoutEnv=ww;function vw(e){let t=globalThis.DEBUG;ei||(ei=new lo(Nh(t)));let r=new uo(ei,e);return ei.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(vw,"debug");zt.debug=vw});var ho=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.ProblemResponseFormatter=Vr.InternalProblemResponseFormatter=void 0;var Tw=D(),po=class e{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(s){throw new Tw.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};Vr.InternalProblemResponseFormatter=po;var bu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await po.problemResponseFormat(t,r,n)}};Vr.ProblemResponseFormatter=bu});var Lh=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.deepFreeze=void 0;function Ch(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Ch(r)}return Object.freeze(e)}o(Ch,"deepFreeze");fo.deepFreeze=Ch});var ke=g(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.ZuploRequest=void 0;var Dh=Lh(),_u=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,Dh.deepFreeze)(this.#e)}get params(){return(0,Dh.deepFreeze)(this.#t)}user};mo.ZuploRequest=_u});var yt=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var Uh=D(),Sw=ho(),Iw=ke(),go=class{static{o(this,"RuntimePlugin")}};ye.RuntimePlugin=go;var bo=class extends go{static{o(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=bo;ye.runtimeExtensions={};var Eu=[];ye.plugins=Eu;var Mh=[],kh=[],Hh=[],yo={addPlugin(e){Eu.push(e)},addRequestHook(e){Mh.push(e)},addResponseSendingHook(e){kh.push(e)},addResponseSendingFinalHook(e){Hh.push(e)}},Pw=o(async(e,t)=>{let r=e;for(let n of Mh){let i=await n(r,t);if(i instanceof Iw.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Uh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Pw;var Aw=o(async(e,t,r)=>{let n=e;for(let i of kh){let s=await i(e,t,r);if(s instanceof Response)n=s;else throw new Uh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Aw;var Rw=o(async(e,t,r)=>{for(let n of Hh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Rw;async function Ow(e=()=>Promise.resolve()){await e(yo),ye.runtimeExtensions.value=yo;for(let t of Eu)t instanceof bo&&await t.initialize(yo);Sw.InternalProblemResponseFormatter.setProblemResponseFormat(yo.problemResponseFormat)}o(Ow,"initializeRuntime");ye.initializeRuntime=Ow});var wu=g(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serialize=Wt.ContentTypes=void 0;Wt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function xw(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(xw,"serialize");Wt.serialize=xw});var Nt=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.Pipeline=void 0;var vu=Sr(),Fh=yt(),Nw=wu(),Tu=class{static{o(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=({processors:t,gateway:r,handler:n})=>async(i,s)=>{let a=[...t],c=o(async m=>{let w=a.pop();return w?w(i,s,r,c):await this.#e(async S=>{let L=await n(S,s);return Cw(L)},r)(m,s)},"nextPipe"),l=await c(i),d=new vu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=vu.ZuploContextExtensions.getContextExtensions(s),y=p.latestRequest,h;try{h=await d.mutableResponse}catch(m){return s.log.error(m),r.errorHandler(i,s,m)}try{h=await p.onResponseSending(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),r.errorHandler(i,s,m)}try{h=await(0,Fh.invokeOnResponseSendingExtensions)(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),r.errorHandler(i,s,m)}s.dispatchEvent(new vu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}try{await(0,Fh.invokeOnResponseSendingFinalExtensions)(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}return h}};_o.Pipeline=Tu;function Cw(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Nw.serialize)(e),{headers:{"content-type":"application/json"}})}o(Cw,"resultToResponse")});var wo=g(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.MetricsPlugin=void 0;var Lw=yt(),Su=class extends Lw.RuntimePlugin{static{o(this,"MetricsPlugin")}};Eo.MetricsPlugin=Su});var Be=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.SystemLogMap=void 0;var Dw=D(),Iu=class e{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new Dw.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};vo.SystemLogMap=Iu});var ve=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.BatchDispatch=void 0;var Pu=class{static{o(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};To.BatchDispatch=Pu});var $h=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.EllieMetricsTransport=void 0;var qh=Be(),Uw=ve(),So=X(),Au=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=So.Environment.instance.loggingId,this.#e=t,this.#t=new Uw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,qh.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=So.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":So.Environment.instance.deploymentName??"unknown","user-agent":So.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();qh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Io.EllieMetricsTransport=Au});var ot=g(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.systemNoVersion=Ir.SystemRouteConfiguration=void 0;var Ru=class{static{o(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Ir.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Ir.SystemRouteConfiguration=Ru;Ir.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.metricsProcessor=void 0;var jh=Xn(),Mw=Sr(),kw=yt(),Hw=wo(),Fw=$h(),qw=ot(),$w=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(jh.RAY_ID_HEADER)??void 0,u=e.headers.get(jh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof qw.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Mw.ZuploContextExtensions.getContextExtensions(t).latestRequest,y={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new Fw.EllieMetricsTransport(t)),kw.plugins.forEach(m=>{if(m instanceof Hw.MetricsPlugin){let w=m.getTransport();h.push(w)}}),h.forEach(m=>{m.pushMetrics(y,t)}),a},"metricsProcessor");Po.metricsProcessor=$w});var Ou=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.SystemRouteName=void 0;var Vh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(Vh||(Ao.SystemRouteName=Vh={}))});var Bh=g(Gh=>{"use strict";Object.defineProperty(Gh,"__esModule",{value:!0})});var Pr=g(Yt=>{"use strict";var jw=Yt&&Yt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Kh=Yt&&Yt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&jw(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});Kh(Ou(),Yt);Kh(Bh(),Yt)});var Jh=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.registerBuildRoute=void 0;var Vw=Ct(),Gw=Nt(),Bw=Qt(),Kw=Pr(),Jw=ot(),zw=Be(),Ww=X(),Qw=o((e,t)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return Vw.HttpProblems.notFound(s,a);let l=Ww.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&zw.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new Gw.Pipeline({processors:[Bw.metricsProcessor],handler:r,gateway:t}),i=new Jw.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Kw.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Ro.registerBuildRoute=Qw});var xu=g(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.HTTP_STATUS_TITLES=Gr.HttpStatusCode=void 0;var zh;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(zh||(Gr.HttpStatusCode=zh={}));Gr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var Cu=g(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});var Yw={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};Nu.default=Yw});var ue=g(Br=>{"use strict";var Zw=Br&&Br.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Br,"__esModule",{value:!0});Br.HttpProblems=void 0;var Xw=Xn(),O=xu(),ev=Zw(Cu()),tv=X(),Lu=ho();function rv(e){return`${new URL(e.url).pathname}`}o(rv,"instance");function nv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:tv.Environment.instance.build.BUILD_ID},n=e.headers.get(Xw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(nv,"trace");var iv=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:rv(t),trace:nv(t,r),...n},additionalHeaders:i,statusText:ev.default[e.status]}),"merge"),Du=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Lu.ProblemResponseFormatter.format(t,r,n):Lu.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:O.HTTP_STATUS_TITLES[t],...r}}},Uu=class extends Du{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=iv(this.getProblemFromStatus(t),r,n,i,s);return Lu.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(O.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Br.HttpProblems=Uu});var Lt=g(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.isErrorLike=M.withUndefinedAsNull=M.withNullAsUndefined=M.validateConstraint=M.validateConstraints=M.areFunctions=M.isFunction=M.isEmptyObject=M.assertAllDefined=M.assertIsDefined=M.assertType=M.isUndefinedOrNull=M.isDefined=M.isUndefined=M.isBoolean=M.isIterable=M.isNumber=M.isTypedArray=M.isArray=M.isObject=M.getOwnEnumerableKeys=M.isRegexp=M.isStringArray=M.isNonEmptyString=M.isString=M.toString=void 0;var{toString:ov}=Object.prototype,{propertyIsEnumerable:sv}=Object.prototype;function Wh(e){return ov.call(e)}o(Wh,"toString");M.toString=Wh;function Oo(e){return typeof e=="string"}o(Oo,"isString");M.isString=Oo;function av(e){return Oo(e)&&e!==""}o(av,"isNonEmptyString");M.isNonEmptyString=av;function cv(e){return Array.isArray(e)&&e.every(t=>Oo(t))}o(cv,"isStringArray");M.isStringArray=cv;function uv(e){return Wh(e)==="[object RegExp]"}o(uv,"isRegexp");M.isRegexp=uv;function lv(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>sv.call(e,t))]}o(lv,"getOwnEnumerableKeys");M.getOwnEnumerableKeys=lv;function Mu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(Mu,"isObject");M.isObject=Mu;function dv(e){return Mu(e)&&Array.isArray(e)}o(dv,"isArray");M.isArray=dv;function pv(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(pv,"isTypedArray");M.isTypedArray=pv;function hv(e){return typeof e=="number"&&!isNaN(e)}o(hv,"isNumber");M.isNumber=hv;function fv(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(fv,"isIterable");M.isIterable=fv;function mv(e){return e===!0||e===!1}o(mv,"isBoolean");M.isBoolean=mv;function Qh(e){return typeof e>"u"}o(Qh,"isUndefined");M.isUndefined=Qh;function yv(e){return!ti(e)}o(yv,"isDefined");M.isDefined=yv;function ti(e){return Qh(e)||e===null}o(ti,"isUndefinedOrNull");M.isUndefinedOrNull=ti;function gv(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(gv,"assertType");M.assertType=gv;function bv(e){if(ti(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(bv,"assertIsDefined");M.assertIsDefined=bv;function _v(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ti(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(_v,"assertAllDefined");M.assertAllDefined=_v;var Ev=Object.prototype.hasOwnProperty;function wv(e){if(!Mu(e))return!1;for(let t in e)if(Ev.call(e,t))return!1;return!0}o(wv,"isEmptyObject");M.isEmptyObject=wv;function ku(e){return typeof e=="function"}o(ku,"isFunction");M.isFunction=ku;function vv(...e){return e.length>0&&e.every(ku)}o(vv,"areFunctions");M.areFunctions=vv;function Tv(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Yh(e[n],t[n])}o(Tv,"validateConstraints");M.validateConstraints=Tv;function Yh(e,t){if(Oo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(ku(t)){try{if(e instanceof t)return}catch{}if(!ti(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Yh,"validateConstraint");M.validateConstraint=Yh;function Sv(e){return e===null?void 0:e}o(Sv,"withNullAsUndefined");M.withNullAsUndefined=Sv;function Iv(e){return typeof e>"u"?null:e}o(Iv,"withUndefinedAsNull");M.withUndefinedAsNull=Iv;function Pv(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(Pv,"isErrorLike");M.isErrorLike=Pv});var ri=g(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.parseValueToBoolean=gt.parseValueToStringArray=gt.getValueFromRequestUser=gt.statusCodesStringToNumberArray=void 0;var Kr=D(),Hu=Lt(),Zh=new Map;function Av(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=Zh.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return Zh.set(e,n),n}o(Av,"statusCodesStringToNumberArray");gt.statusCodesStringToNumberArray=Av;function Rv(e,t,r){if(!t.startsWith("."))throw new Kr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(s=>{if(i===void 0)throw new Kr.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(Rv,"getValueFromRequestUser");gt.getValueFromRequestUser=Rv;function Ov(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Kr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Hu.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Kr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(Ov,"parseValueToStringArray");gt.parseValueToStringArray=Ov;function xv(e){if((0,Hu.isBoolean)(e))return e;if((0,Hu.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Kr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Kr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(xv,"parseValueToBoolean");gt.parseValueToBoolean=xv});var No=g(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Ar=D(),Xh=ri(),xo=Lt();function Nv(e){if(e==null)return[];if(!Array.isArray(e))throw new Ar.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,xo.isObject)(r))throw new Ar.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,xo.isNonEmptyString)(r.name))throw new Ar.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,xo.isNumber)(r.maxAge))throw new Ar.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,xo.isBoolean)(r.allowCredentials))throw new Ar.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=Fu(r,"allowedHeaders"),i=Fu(r,"allowedMethods"),s=Fu(r,"exposeHeaders"),a;try{a=(0,Xh.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Ar.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(Nv,"parseCorsPolicies");Zt.parseCorsPolicies=Nv;function Fu(e,t){let r;if(e[t]!==void 0)try{r=(0,Xh.parseValueToStringArray)(e[t])}catch(n){throw new Ar.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(Fu,"parseOptionalProperty");var Cv=o((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Zt.findMatchingOrigin=Cv;var Lv=o((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Zt.generateCorsHeaders=Lv});var tf=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.registerCorsRoute=void 0;var Dv=D(),Uv=Nt(),qu=ue(),Mv=Qt(),kv=Pr(),Hv=ot(),ef=No(),Fv=o((e,t)=>{let r=t.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return qu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let y=e.lookup(l,u);if(!y)return qu.HttpProblems.notFound(a,c);let h=y.routeConfiguration,m=qv(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):(m.error&&c.log.warn(m.error),qu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new Uv.Pipeline({processors:[Mv.metricsProcessor],handler:n,gateway:t}),s=new Hv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:kv.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");Co.registerCorsRoute=Fv;var qv=o((e,t,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...s,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new Dv.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,ef.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,ef.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var rf=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.registerNoRoutes=void 0;var $v=Nt(),jv=Qt(),Vv=Pr(),Gv=ot(),Bv=o((e,t)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new $v.Pipeline({processors:[jv.metricsProcessor],handler:r,gateway:t}),i=new Gv.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Vv.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Lo.registerNoRoutes=Bv});var nf=g(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.registerNotMatchedHandler=Rr.notFoundRouteConfiguration=void 0;var Kv=Sr(),Jv=yt(),zv=Nt(),Wv=ue(),Qv=Qt(),Yv=Pr(),Zv=ot();Rr.notFoundRouteConfiguration=new Zv.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Yv.SystemRouteName.UnmatchedPath});var Xv=o((e,t)=>{let r=o(async(i,s)=>{let a=Jv.runtimeExtensions.value?.notFoundHandler;if(a){let c=Kv.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Wv.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new zv.Pipeline({processors:[Qv.metricsProcessor],handler:r,gateway:t});e.addRoute(Rr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Rr.registerNotMatchedHandler=Xv});var $u=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.corsProcessor=void 0;var af=D(),of=No(),eT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],sf=o(e=>{eT.forEach(t=>e.delete(t))},"stripCorsHeaders"),tT=o(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return sf(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(e);if(!(s instanceof Response))throw new af.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=rT(i,r.routeData.corsPolicies),c=nT(e,a),u=new Headers(s.headers);return sf(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");Do.corsProcessor=tT;var rT=o((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new af.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),nT=o((e,t)=>{let r=(0,of.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,of.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var cf=g(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.registerPingRoute=void 0;var iT=Nt(),oT=$u(),sT=Pr(),aT=ot(),cT=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new iT.Pipeline({processors:[oT.corsProcessor],handler:r,gateway:t}),i=new aT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:sT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Uo.registerPingRoute=cT});var zr=g(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var uT=Sr(),Jr=D(),uf=ke(),lT=X();function lf(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(s=>{let a=t?.find(u=>u.name===s);if(!a)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(lf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=lf;function dT(e,t){return(e.policies?.outbound??[]).map(i=>{let s=t?.find(c=>c.name===i);if(!s)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(dT,"getOutboundPolicyHandlerAndOptions");var pT=o(e=>async(t,r)=>{let n=uT.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof uf.ZuploRequest)s=c;else if(c instanceof Request)s=new uf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");st.toStackedInboundHandler=pT;var hT=o(e=>async(t,r,n)=>{let i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),fT=o(async(e,t,r,n)=>{let i=lf(t.route,r.routeData.policies),s=dT(t.route,r.routeData.policies);return df({request:e,context:t,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");st.policyProcessor=fT;function mT({inboundPolicies:e=[],outboundPolicies:t=[]}){return o(async(n,i,s,a)=>df({request:n,context:i,inboundPolicies:e.map(c=>({...c,exportName:"default",policyName:c.handler.name})),outboundPolicies:t.map(c=>({...c,exportName:"default",policyName:c.handler.name})),gateway:s,next:a}),"policyProcessor")}o(mT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=mT;async function df({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,st.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await s(c),l=hT(n),d;return lT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}o(df,"executePolicyProcessor")});var pf=g(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.serialize=Wr.parse=void 0;var yT=Object.prototype.toString,Mo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function gT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||_T,s=0;for(;s<e.length;){let a=e.indexOf("=",s);if(a===-1)break;let c=e.indexOf(";",s);if(c===-1)c=e.length;else if(c<a){s=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(s,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=vT(l,i)}s=c+1}return r}o(gT,"parse");Wr.parse=gT;function bT(e,t,r){let n=r||{},i=n.encode||ET;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Mo.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!Mo.test(s))throw new TypeError("argument val is invalid");let a=e+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Mo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Mo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!wT(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(bT,"serialize");Wr.serialize=bT;function _T(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(_T,"decode");function ET(e){return encodeURIComponent(e)}o(ET,"encode");function wT(e){return yT.call(e)==="[object Date]"||e instanceof Date}o(wT,"isDate");function vT(e,t){try{return t(e)}catch{return e}}o(vT,"tryDecode")});var hf=g(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.devPortalBaseURL=void 0;var TT=pf();function ST(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,TT.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(ST,"devPortalBaseURL");ko.devPortalBaseURL=ST});var bf=g(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.registerDevPortalLegacyRedirectRoute=Qr.registerDevPortalV3Route=void 0;var ju=Ct(),mf=Nt(),yf=Qt(),IT=zr(),gf=ot(),PT=hf(),Xt=X(),ff="/__zuplo/dev-portal",AT="dev-portal-id",RT="dev-portal-host",OT="zp-account",xT="zp-project",NT="dev-portal-build",CT=`
|
|
36
36
|
<!DOCTYPE html>
|
|
37
37
|
<html lang="en">
|
|
38
38
|
<head>
|
|
@@ -46,23 +46,23 @@
|
|
|
46
46
|
<p>For more information, see <a href="https://zuplo.com/docs/articles/developer-portal">https://zuplo.com/docs/articles/developer-portal</a>.</p>
|
|
47
47
|
</body>
|
|
48
48
|
</html>
|
|
49
|
-
`,
|
|
50
|
-
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(
|
|
51
|
-
`)}o(
|
|
49
|
+
`,LT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Xt.Environment.instance.deploymentName,i=Xt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Xt.Environment.instance.isLocalDevelopment)return new Response(CT,{headers:{"content-type":"text/html"}});if(!n)return ju.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,PT.devPortalBaseURL)(i,u.headers),y=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:m,body:w}=u;return Xt.Environment.instance.build.ACCOUNT_NAME&&h.set(OT,Xt.Environment.instance.build.ACCOUNT_NAME),Xt.Environment.instance.build.PROJECT_NAME&&h.set(xT,Xt.Environment.instance.build.PROJECT_NAME),h.set(AT,n),h.set(RT,d.host),h.set(NT,Xt.Environment.instance.build.BUILD_ID),await fetch(y.toString(),{headers:h,method:m,body:w,redirect:"manual"})},"devPortalRoute"),a=new mf.Pipeline({processors:[yf.metricsProcessor,IT.policyProcessor],handler:s,gateway:t}),c=new gf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:ju.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Qr.registerDevPortalV3Route=LT;var DT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(ff.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new mf.Pipeline({processors:[yf.metricsProcessor],handler:n,gateway:t}),s=new gf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${ff}(.*)`,systemRouteName:ju.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Qr.registerDevPortalLegacyRedirectRoute=DT});var Vu=g(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.API_KEY=Yr.SYSTEM_LOGGER=void 0;Yr.SYSTEM_LOGGER="system-logger";Yr.API_KEY="api-key"});var _f=g(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.CoreLogger=void 0;var Gu=0,Bu=class{static{o(this,"CoreLogger")}constructor(t,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=o(()=>{},"emptyFunction"),s=o((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:s,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,s,a){Gu>=Number.MAX_SAFE_INTEGER&&(Gu=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Gu++};this.#t[t](c,a)}};Ho.CoreLogger=Bu});var Dt=g(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.LogPlugin=void 0;var UT=yt(),Ku=class extends UT.RuntimePlugin{static{o(this,"LogPlugin")}};Fo.LogPlugin=Ku});var Ef=g(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.LoggingContext=void 0;var Ju=class{static{o(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};qo.LoggingContext=Ju});var wf=g($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.RequestLogger=void 0;var zu=class{static{o(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};$o.RequestLogger=zu});var Or=g(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.cleanStack=er.serializeError=er.NonError=void 0;var vf=Lt(),MT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),kT=new Map(MT),Wu=class e extends Error{static{o(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};er.NonError=Wu;var HT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Qu=Symbol(".toJSON was called"),FT=o(e=>{e[Qu]=!0;let t=e.toJSON();return delete e[Qu],t},"toJSON"),qT=o(e=>kT.get(e)??Error,"getErrorConstructor"),Tf=o(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,vf.isErrorLike)(e)){let l=qT(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[Qu]!==!0)return FT(e);let u=o(l=>Tf({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){s++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of HT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,vf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function $T(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?Tf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o($T,"serializeError");er.serializeError=$T;var jT=/file:\/\/\/(.*?)\/dist\//g,VT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,GT="at async Event.respondWith";function BT(e){return typeof e!="string"?e:e.split(`
|
|
50
|
+
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(jT,"").replaceAll(VT,"").replaceAll(GT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
|
|
51
|
+
`)}o(BT,"cleanStack");er.cleanStack=BT});var Sf=g(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});var Yu=Lt();function KT(e,t,r=""){let n=[],i=t?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
|
|
52
52
|
`,newlineOrSpace:`
|
|
53
53
|
`,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let y=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let m=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return m.length<=c.inlineCharacterLimit?m:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
|
|
54
|
-
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,
|
|
55
|
-
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(
|
|
56
|
-
`)}o(zT,"messagesToMultilineText");He.messagesToMultilineText=zT;function Af(e){return typeof e=="string"?e:JSON.stringify(e)}o(Af,"stringifyNonString");He.stringifyNonString=Af;function Pf(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,If.toString)(e):"unknown"}o(Pf,"stringifyNonStringToText");He.stringifyNonStringToText=Pf});var D,se,Te=I(()=>{D=crypto,se=o(e=>e instanceof CryptoKey,"isCryptoKey")});var WT,$o,Xu=I(()=>{Te();WT=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),$o=WT});function Se(...e){let t=e.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function Rf(e,t){return Se(Y.encode(e),new Uint8Array([0]),t)}function el(e,t,r){if(t<0||t>=jo)throw new RangeError(`value must be >= 0 and <= ${jo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Vo(e){let t=Math.floor(e/jo),r=e%jo,n=new Uint8Array(8);return el(n,t,0),el(n,r,4),n}function Go(e){let t=new Uint8Array(4);return el(t,e),t}function Bo(e){return Se(Go(e.length),e)}async function Of(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+e.length+r.length);a.set(Go(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await $o("sha256",a),s*32)}return i.slice(0,t>>3)}var Y,ce,jo,ge=I(()=>{Xu();Y=new TextEncoder,ce=new TextDecoder,jo=2**32;o(Se,"concat");o(Rf,"p2s");o(el,"writeUInt32BE");o(Vo,"uint64be");o(Go,"uint32be");o(Bo,"lengthAndInput");o(Of,"concatKdf")});var Ko,Z,tl,te,Ie=I(()=>{ge();Ko=o(e=>{let t=e;typeof t=="string"&&(t=Y.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),Z=o(e=>Ko(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),tl=o(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),te=o(e=>{let t=e;t instanceof Uint8Array&&(t=ce.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return tl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var rl={};Qi(rl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Dt,JWEInvalid:()=>P,JWKInvalid:()=>ri,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>ni,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>ii,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Nr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Yr,JWTInvalid:()=>le});var he,be,Yr,tr,M,Dt,P,z,le,ri,rr,xr,ni,ii,Nr,V=I(()=>{he=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Yr=class extends he{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},tr=class extends he{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends he{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Dt=class extends he{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},P=class extends he{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ri=class extends he{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},xr=class extends he{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},ni=class extends he{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},ii=class extends he{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Nr=class extends he{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var nr,oi=I(()=>{Te();nr=D.getRandomValues.bind(D)});function nl(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var Jo,zo=I(()=>{V();oi();o(nl,"bitLength");Jo=o(e=>nr(new Uint8Array(nl(e)>>3)),"default")});var QT,Wo,il=I(()=>{V();zo();QT=o((e,t)=>{if(t.length<<3!==nl(e))throw new P("Invalid Initialization Vector length")},"checkIvLength"),Wo=QT});var YT,Zr,ol=I(()=>{V();YT=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new P(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Zr=YT});var ZT,Nf,Cf=I(()=>{ZT=o((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),Nf=ZT});function Ae(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ir(e,t){return e.name===t}function Qo(e){return parseInt(e.name.slice(4),10)}function XT(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Lf(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function Df(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ir(e.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(t.slice(2),10);if(Qo(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ir(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Qo(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ir(e.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(t.slice(2),10);if(Qo(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!ir(e.algorithm,"ECDSA"))throw Ae("ECDSA");let n=XT(t);if(e.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Lf(e,r)}function Fe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ir(e.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!ir(e.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Ae("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ir(e.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ir(e.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Qo(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Lf(e,r)}var or=I(()=>{o(Ae,"unusable");o(ir,"isAlgorithm");o(Qo,"getHashLength");o(XT,"getNamedCurve");o(Lf,"checkUsage");o(Df,"checkSigCryptoKey");o(Fe,"checkEncCryptoKey")});function Uf(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function sl(e,t,...r){return Uf(`Key for the ${e} algorithm must be `,t,...r)}var ie,at=I(()=>{o(Uf,"message");ie=o((e,...t)=>Uf("Key must be ",e,...t),"default");o(sl,"withAlg")});var al,W,ct=I(()=>{Te();al=o(e=>se(e),"default"),W=["CryptoKey"]});async function eS(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(ie(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,Vo(s.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Nf(i,d)}catch{}if(!p)throw new Dt;let y;try{y=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!y)throw new Dt;return y}async function tS(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(Fe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Dt}}var rS,Yo,cl=I(()=>{ge();il();ol();Cf();V();Te();or();at();ct();o(eS,"cbcDecrypt");o(tS,"gcmDecrypt");rS=o(async(e,t,r,n,i,s)=>{if(!se(t)&&!(t instanceof Uint8Array))throw new TypeError(ie(t,...W,"Uint8Array"));switch(Wo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Zr(t,parseInt(e.slice(-3),10)),eS(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Zr(t,parseInt(e.slice(1,4),10)),tS(e,t,r,n,i,s);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Yo=rS});var Mf,kf,ul=I(()=>{V();Mf=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),kf=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var nS,_t,Xr=I(()=>{nS=o((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),_t=nS});function iS(e){return typeof e=="object"&&e!==null}function Q(e){if(!iS(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var qe=I(()=>{o(iS,"isObjectLike");o(Q,"isObject")});var oS,en,ll=I(()=>{oS=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],en=oS});function Hf(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Ff(e,t,r){if(se(e))return Fe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(ie(e,...W,"Uint8Array"))}var si,ai,Zo=I(()=>{ll();Te();or();at();ct();o(Hf,"checkKeySize");o(Ff,"getCryptoKey");si=o(async(e,t,r)=>{let n=await Ff(t,e,"wrapKey");Hf(n,e);let i=await D.subtle.importKey("raw",r,...en);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ai=o(async(e,t,r)=>{let n=await Ff(t,e,"unwrapKey");Hf(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...en);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function Xo(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(e))throw new TypeError(ie(e,...W));if(Fe(e,"ECDH"),!se(t))throw new TypeError(ie(t,...W));Fe(t,"ECDH","deriveBits");let a=Se(Bo(Y.encode(r)),Bo(i),Bo(s),Go(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return Of(u,n,a)}async function qf(e){if(!se(e))throw new TypeError(ie(e,...W));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function es(e){if(!se(e))throw new TypeError(ie(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var dl=I(()=>{ge();Te();or();at();ct();o(Xo,"deriveKey");o(qf,"generateEpk");o(es,"ecdhAllowed")});function pl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var jf=I(()=>{V();o(pl,"checkP2s")});function sS(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(se(e))return Fe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(ie(e,...W,"Uint8Array"))}async function Vf(e,t,r,n){pl(e);let i=Rf(t,e),s=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await sS(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Gf,Bf,hl=I(()=>{oi();ge();Ie();Zo();jf();Te();or();at();ct();o(sS,"getCryptoKey");o(Vf,"deriveKey");Gf=o(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let s=await Vf(i,e,n,t);return{encryptedKey:await si(e.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),Bf=o(async(e,t,r,n,i)=>{let s=await Vf(i,e,n,t);return ai(e.slice(-6),s,r)},"decrypt")});function tn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Kf=I(()=>{V();o(tn,"subtleRsaEs")});var Cr,ts=I(()=>{Cr=o((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Jf,zf,fl=I(()=>{Kf();ll();Te();or();ts();at();ct();Jf=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(Fe(t,e,"encrypt","wrapKey"),Cr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(tn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...en);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,tn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),zf=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(Fe(t,e,"decrypt","unwrapKey"),Cr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(tn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,tn(e),...en);return new Uint8Array(await D.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function ci(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var Et,ui=I(()=>{V();oi();o(ci,"bitLength");Et=o(e=>nr(new Uint8Array(ci(e)>>3)),"default")});var ml,Wf=I(()=>{ml=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
54
|
+
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,Yu.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((m,w)=>{let T=a.length-1===w?p.newline:","+p.newlineOrSpace,S=s(m,c,u+d,l+1);return c.transform&&(S=c.transform(a,w,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),y(h)}if((0,Yu.isObject)(a)){let h=(0,Yu.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(w=>c.filter?.(a,w))),h.length===0)return"{}";n.push(a);let m="{"+p.newline+h.map((w,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,L=typeof w=="symbol",F=!L&&/^[a-z$_][$\w]*$/i.test(w),N=L||F?w:s(w,c,"",l+1),re=s(a[w],c,u+d,l+1);return c.transform&&(re=c.transform(a,w,re)),p.indent+String(N)+": "+re+S}).join("")+p.pad+"}";return n.pop(),y(m)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
|
|
55
|
+
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(KT,"stringifyObject");Zu.default=KT});var bt=g(He=>{"use strict";var JT=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(He,"__esModule",{value:!0});He.stringifyNonStringToText=He.stringifyNonString=He.messagesToMultilineText=He.extractBestMessage=He.makeErrorsSerializable=void 0;var Xu=Or(),If=JT(Sf()),Pf=Lt();function zT(e){return e.map(t=>(0,Xu.serializeError)(t))}o(zT,"makeErrorsSerializable");He.makeErrorsSerializable=zT;function WT(e){if(e.length===0)return"<no data provided to log>";let t=e[0];return typeof t=="string"?t:t instanceof Error?t.message:Af((0,Xu.serializeError)(t))}o(WT,"extractBestMessage");He.extractBestMessage=WT;function QT(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,Pf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,If.default)((0,Xu.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,If.default)(r);t.push(n)}else{let n=Rf(r);t.push(n)}}),t.join(`
|
|
56
|
+
`)}o(QT,"messagesToMultilineText");He.messagesToMultilineText=QT;function Af(e){return typeof e=="string"?e:JSON.stringify(e)}o(Af,"stringifyNonString");He.stringifyNonString=Af;function Rf(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,Pf.toString)(e):"unknown"}o(Rf,"stringifyNonStringToText");He.stringifyNonStringToText=Rf});var U,se,Te=I(()=>{U=crypto,se=o(e=>e instanceof CryptoKey,"isCryptoKey")});var YT,jo,el=I(()=>{Te();YT=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await U.subtle.digest(r,t))},"digest"),jo=YT});function Se(...e){let t=e.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function Of(e,t){return Se(Y.encode(e),new Uint8Array([0]),t)}function tl(e,t,r){if(t<0||t>=Vo)throw new RangeError(`value must be >= 0 and <= ${Vo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Go(e){let t=Math.floor(e/Vo),r=e%Vo,n=new Uint8Array(8);return tl(n,t,0),tl(n,r,4),n}function Bo(e){let t=new Uint8Array(4);return tl(t,e),t}function Ko(e){return Se(Bo(e.length),e)}async function xf(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+e.length+r.length);a.set(Bo(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await jo("sha256",a),s*32)}return i.slice(0,t>>3)}var Y,ce,Vo,ge=I(()=>{el();Y=new TextEncoder,ce=new TextDecoder,Vo=2**32;o(Se,"concat");o(Of,"p2s");o(tl,"writeUInt32BE");o(Go,"uint64be");o(Bo,"uint32be");o(Ko,"lengthAndInput");o(xf,"concatKdf")});var Jo,Z,rl,te,Ie=I(()=>{ge();Jo=o(e=>{let t=e;typeof t=="string"&&(t=Y.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),Z=o(e=>Jo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),rl=o(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),te=o(e=>{let t=e;t instanceof Uint8Array&&(t=ce.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return rl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var nl={};Yi(nl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>k,JWEDecryptionFailed:()=>Ut,JWEInvalid:()=>A,JWKInvalid:()=>ni,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>ii,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>oi,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Nr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Zr,JWTInvalid:()=>le});var he,be,Zr,tr,k,Ut,A,z,le,ni,rr,xr,ii,oi,Nr,V=I(()=>{he=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Zr=class extends he{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},tr=class extends he{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},k=class extends he{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Ut=class extends he{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},A=class extends he{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ni=class extends he{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},xr=class extends he{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},ii=class extends he{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},oi=class extends he{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Nr=class extends he{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var nr,si=I(()=>{Te();nr=U.getRandomValues.bind(U)});function il(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var zo,Wo=I(()=>{V();si();o(il,"bitLength");zo=o(e=>nr(new Uint8Array(il(e)>>3)),"default")});var ZT,Qo,ol=I(()=>{V();Wo();ZT=o((e,t)=>{if(t.length<<3!==il(e))throw new A("Invalid Initialization Vector length")},"checkIvLength"),Qo=ZT});var XT,Xr,sl=I(()=>{V();XT=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new A(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Xr=XT});var eS,Cf,Lf=I(()=>{eS=o((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),Cf=eS});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ir(e,t){return e.name===t}function Yo(e){return parseInt(e.name.slice(4),10)}function tS(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Df(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function Uf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ir(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ir(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ir(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!ir(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=tS(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Df(e,r)}function Fe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ir(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!ir(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ir(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ir(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Yo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Df(e,r)}var or=I(()=>{o(Pe,"unusable");o(ir,"isAlgorithm");o(Yo,"getHashLength");o(tS,"getNamedCurve");o(Df,"checkUsage");o(Uf,"checkSigCryptoKey");o(Fe,"checkEncCryptoKey")});function Mf(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function al(e,t,...r){return Mf(`Key for the ${e} algorithm must be `,t,...r)}var ie,at=I(()=>{o(Mf,"message");ie=o((e,...t)=>Mf("Key must be ",e,...t),"default");o(al,"withAlg")});var cl,W,ct=I(()=>{Te();cl=o(e=>se(e),"default"),W=["CryptoKey"]});async function rS(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(ie(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await U.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await U.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,Go(s.length<<3)),d=new Uint8Array((await U.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Cf(i,d)}catch{}if(!p)throw new Ut;let y;try{y=new Uint8Array(await U.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!y)throw new Ut;return y}async function nS(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await U.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(Fe(t,e,"decrypt"),a=t);try{return new Uint8Array(await U.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Ut}}var iS,Zo,ul=I(()=>{ge();ol();sl();Lf();V();Te();or();at();ct();o(rS,"cbcDecrypt");o(nS,"gcmDecrypt");iS=o(async(e,t,r,n,i,s)=>{if(!se(t)&&!(t instanceof Uint8Array))throw new TypeError(ie(t,...W,"Uint8Array"));switch(Qo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(-3),10)),rS(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(1,4),10)),nS(e,t,r,n,i,s);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Zo=iS});var kf,Hf,ll=I(()=>{V();kf=o(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),Hf=o(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var oS,_t,en=I(()=>{oS=o((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),_t=oS});function sS(e){return typeof e=="object"&&e!==null}function Q(e){if(!sS(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var qe=I(()=>{o(sS,"isObjectLike");o(Q,"isObject")});var aS,tn,dl=I(()=>{aS=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],tn=aS});function Ff(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function qf(e,t,r){if(se(e))return Fe(e,t,r),e;if(e instanceof Uint8Array)return U.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(ie(e,...W,"Uint8Array"))}var ai,ci,Xo=I(()=>{dl();Te();or();at();ct();o(Ff,"checkKeySize");o(qf,"getCryptoKey");ai=o(async(e,t,r)=>{let n=await qf(t,e,"wrapKey");Ff(n,e);let i=await U.subtle.importKey("raw",r,...tn);return new Uint8Array(await U.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ci=o(async(e,t,r)=>{let n=await qf(t,e,"unwrapKey");Ff(n,e);let i=await U.subtle.unwrapKey("raw",r,n,"AES-KW",...tn);return new Uint8Array(await U.subtle.exportKey("raw",i))},"unwrap")});async function es(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(e))throw new TypeError(ie(e,...W));if(Fe(e,"ECDH"),!se(t))throw new TypeError(ie(t,...W));Fe(t,"ECDH","deriveBits");let a=Se(Ko(Y.encode(r)),Ko(i),Ko(s),Bo(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await U.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return xf(u,n,a)}async function $f(e){if(!se(e))throw new TypeError(ie(e,...W));return U.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function ts(e){if(!se(e))throw new TypeError(ie(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var pl=I(()=>{ge();Te();or();at();ct();o(es,"deriveKey");o($f,"generateEpk");o(ts,"ecdhAllowed")});function hl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}var Vf=I(()=>{V();o(hl,"checkP2s")});function cS(e,t){if(e instanceof Uint8Array)return U.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(se(e))return Fe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(ie(e,...W,"Uint8Array"))}async function Gf(e,t,r,n){hl(e);let i=Of(t,e),s=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await cS(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await U.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return U.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Bf,Kf,fl=I(()=>{si();ge();Ie();Xo();Vf();Te();or();at();ct();o(cS,"getCryptoKey");o(Gf,"deriveKey");Bf=o(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let s=await Gf(i,e,n,t);return{encryptedKey:await ai(e.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),Kf=o(async(e,t,r,n,i)=>{let s=await Gf(i,e,n,t);return ci(e.slice(-6),s,r)},"decrypt")});function rn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Jf=I(()=>{V();o(rn,"subtleRsaEs")});var Cr,rs=I(()=>{Cr=o((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var zf,Wf,ml=I(()=>{Jf();dl();Te();or();rs();at();ct();zf=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(Fe(t,e,"encrypt","wrapKey"),Cr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await U.subtle.encrypt(rn(e),t,r));if(t.usages.includes("wrapKey")){let n=await U.subtle.importKey("raw",r,...tn);return new Uint8Array(await U.subtle.wrapKey("raw",n,t,rn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Wf=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(Fe(t,e,"decrypt","unwrapKey"),Cr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await U.subtle.decrypt(rn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await U.subtle.unwrapKey("raw",r,t,rn(e),...tn);return new Uint8Array(await U.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function ui(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var Et,li=I(()=>{V();si();o(ui,"bitLength");Et=o(e=>nr(new Uint8Array(ui(e)>>3)),"default")});var yl,Qf=I(()=>{yl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
57
57
|
`);return`-----BEGIN ${t}-----
|
|
58
58
|
${r}
|
|
59
|
-
-----END ${t}-----`},"default")});function Yf(e){let t=[],r=0;for(;r<e.length;){let n=nm(e.subarray(r));t.push(n),r+=n.byteLength}return t}function nm(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=t+n+2;return{byteLength:s,contents:e.subarray(t,t+n),raw:e.subarray(0,s)}}else{let s=e[t]&127;t++,n=0;for(let a=0;a<s;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function aS(e){let t=Yf(Yf(nm(e).contents)[0].contents);return Ko(t[t[0].raw[0]===160?6:5].raw)}function cS(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=tl(t);return ml(aS(r),"PUBLIC KEY")}var Zf,Xf,em,sr,Qf,tm,rm,yl,im,rs=I(()=>{Te();at();Ie();Wf();V();ct();Zf=o(async(e,t,r)=>{if(!se(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return ml(Ko(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Xf=o(e=>Zf("public","spki",e),"toSPKI"),em=o(e=>Zf("private","pkcs8",e),"toPKCS8"),sr=o((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((s,a)=>s===t[a])||sr(e,t,n+1)},"findOid"),Qf=o(e=>{switch(!0){case sr(e,[42,134,72,206,61,3,1,7]):return"P-256";case sr(e,[43,129,4,0,34]):return"P-384";case sr(e,[43,129,4,0,35]):return"P-521";case sr(e,[43,101,110]):return"X25519";case sr(e,[43,101,111]):return"X448";case sr(e,[43,101,112]):return"Ed25519";case sr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),tm=o(async(e,t,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Qf(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Qf(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),rm=o((e,t,r)=>tm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),yl=o((e,t,r)=>tm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(Yf,"getElement");o(nm,"parseElement");o(aS,"spkiFromX509");o(cS,"getSPKI");im=o((e,t,r)=>{let n;try{n=cS(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return yl(n,t,r)},"fromX509")});function uS(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new M(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new M('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var lS,gl,om=I(()=>{Te();V();Ie();o(uS,"subtleMapping");lS=o(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=uS(e),s=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return D.subtle.importKey("raw",te(e.k),...s);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...s)},"parse"),gl=lS});async function sm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return yl(e,t,r)}async function am(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return im(e,t,r)}async function cm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return rm(e,t,r)}async function ar(e,t,r){var n;if(!Q(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?gl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):te(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return gl({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var li=I(()=>{Ie();rs();om();V();qe();o(sm,"importSPKI");o(am,"importX509");o(cm,"importPKCS8");o(ar,"importJWK")});var dS,pS,hS,cr,di=I(()=>{at();ct();dS=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!al(t))throw new TypeError(sl(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),pS=o((e,t,r)=>{if(!al(t))throw new TypeError(sl(e,t,...W));if(t.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),hS=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?dS(e,t):pS(e,t,r)},"checkKeyType"),cr=hS});async function fS(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(r,"Uint8Array"));let s=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,Vo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function mS(e,t,r,n,i){let s;r instanceof Uint8Array?s=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Fe(r,e,"encrypt"),s=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var yS,pi,bl=I(()=>{ge();il();ol();Te();or();at();V();ct();o(fS,"cbcEncrypt");o(mS,"gcmEncrypt");yS=o(async(e,t,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Wo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Zr(r,parseInt(e.slice(-3),10)),fS(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Zr(r,parseInt(e.slice(1,4),10)),mS(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),pi=yS});async function um(e,t,r,n){let i=e.slice(0,7);n||(n=Jo(i));let{ciphertext:s,tag:a}=await pi(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function lm(e,t,r,n,i){let s=e.slice(0,7);return Yo(s,t,r,n,i,new Uint8Array(0))}var _l=I(()=>{bl();cl();zo();Ie();o(um,"wrap");o(lm,"unwrap")});async function gS(e,t,r,n,i){switch(cr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new P('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!es(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await Xo(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?ci(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return ai(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new P("JWE Encrypted Key missing");return zf(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new P('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new P('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new P('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Bf(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return ai(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new P('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new P('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return lm(e,t,r,s,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var dm,pm=I(()=>{Zo();dl();hl();fl();Ie();V();ui();li();di();qe();_l();o(gS,"decryptKeyManagement");dm=gS});function bS(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...t.entries()]):s=t;for(let a of n.crit){if(!s.has(a))throw new M(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var wt,rn=I(()=>{V();o(bS,"validateCrit");wt=bS});var _S,hi,El=I(()=>{_S=o((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),hi=_S});async function nn(e,t,r){var n;if(!Q(e))throw new P("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new P("JOSE Header missing");if(typeof e.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new P("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new P("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new P("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let j=te(e.protected);i=JSON.parse(ce.decode(j))}catch{throw new P("JWE Protected Header is invalid")}if(!_t(i,e.header,e.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(wt(P,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new P("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new P("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&hi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&hi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new tr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let y;try{y=await dm(a,t,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof P||j instanceof M)throw j;y=Et(c)}let h=te(e.iv),m=te(e.tag),v=Y.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(v,Y.encode("."),Y.encode(e.aad)):T=v;let S=await Yo(c,y,te(e.ciphertext),h,m,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||Mf)(S));let k={plaintext:S};return e.protected!==void 0&&(k.protectedHeader=i),e.aad!==void 0&&(k.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(k.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(k.unprotectedHeader=e.header),p?{...k,key:t}:k}var ns=I(()=>{Ie();cl();ul();V();Xr();qe();pm();ge();ui();rn();El();o(nn,"flattenedDecrypt")});async function is(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new P("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new P("Invalid Compact JWE");let l=await nn({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var wl=I(()=>{ns();V();ge();o(is,"compactDecrypt")});async function hm(e,t,r){if(!Q(e))throw new P("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new P("JWE Recipients has no members");for(let n of e.recipients)try{return await nn({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new Dt}var fm=I(()=>{ns();V();qe();o(hm,"generalDecrypt")});var ES,mm,ym=I(()=>{Te();at();Ie();ct();ES=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:Z(e)};if(!se(e))throw new TypeError(ie(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await D.subtle.exportKey("jwk",e);return s},"keyToJWK"),mm=ES});async function gm(e){return Xf(e)}async function bm(e){return em(e)}async function os(e){return mm(e)}var vl=I(()=>{rs();rs();ym();o(gm,"exportSPKI");o(bm,"exportPKCS8");o(os,"exportJWK")});async function wS(e,t,r,n,i={}){let s,a,c;switch(cr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!es(r))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await qf(r)).privateKey);let{x:p,y,crv:h,kty:m}=await os(d),v=await Xo(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?ci(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:m}},m==="EC"&&(a.epk.y=y),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),e==="ECDH-ES"){c=v;break}c=n||Et(t);let T=e.slice(-6);s=await si(T,v,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||Et(t),s=await Jf(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||Et(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Gf(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||Et(t),s=await si(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||Et(t);let{iv:u}=i;({encryptedKey:s,...a}=await um(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var ss,Tl=I(()=>{Zo();dl();hl();fl();Ie();ui();V();vl();di();_l();o(wS,"encryptKeyManagement");ss=wS});var Sl,Ut,as=I(()=>{Ie();bl();ul();zo();Tl();V();Xr();ge();rn();Sl=Symbol(),Ut=class{static{o(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new P("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!_t(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(wt(P,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let m;({cek:c,encryptedKey:a,parameters:m}=await ss(i,s,t,this._cek,this._keyManagementParameters)),m&&(r&&Sl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=Jo(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Se(l,Y.encode("."),Y.encode(d))):u=l;let p,y;if(n.zip==="DEF"){let m=await(r?.deflateRaw||kf)(this._plaintext);({ciphertext:p,tag:y}=await pi(s,m,c,this._iv,u))}else({ciphertext:p,tag:y}=await pi(s,this._plaintext,c,this._iv,u));let h={ciphertext:Z(p),iv:Z(this._iv),tag:Z(y)};return a&&(h.encrypted_key=Z(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Il,cs,_m=I(()=>{as();V();ui();Xr();Tl();Ie();rn();Il=class{static{o(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},cs=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Il(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new P("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Ut(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!_t(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new P('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(wt(P,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=Et(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let y={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Ut(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:y}).encrypt(l.key,{...l.options,...t,[Sl]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:h,parameters:m}=await ss(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:y});d.encrypted_key=Z(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}return c}}});function fi(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Al=I(()=>{V();o(fi,"subtleDsa")});function mi(e,t,r){if(se(t))return Df(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(ie(t,...W));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(t,...W,"Uint8Array"))}var Pl=I(()=>{Te();or();at();ct();o(mi,"getCryptoKey")});var vS,Em,wm=I(()=>{Al();Te();ts();Pl();vS=o(async(e,t,r,n)=>{let i=await mi(e,t,"verify");Cr(e,i);let s=fi(e,i.algorithm);try{return await D.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),Em=vS});async function on(e,t,r){var n;if(!Q(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Q(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=te(e.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!_t(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=wt(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&hi("algorithms",r.algorithms);if(l&&!l.has(u))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),cr(u,t,"verify");let p=Se(Y.encode((n=e.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof e.payload=="string"?Y.encode(e.payload):e.payload),y=te(e.signature);if(!await Em(u,t,y,p))throw new Nr;let m;c?m=te(e.payload):typeof e.payload=="string"?m=Y.encode(e.payload):m=e.payload;let v={payload:m};return e.protected!==void 0&&(v.protectedHeader=i),e.header!==void 0&&(v.unprotectedHeader=e.header),d?{...v,key:t}:v}var us=I(()=>{Ie();wm();V();ge();Xr();qe();di();rn();El();o(on,"flattenedVerify")});async function ls(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await on({payload:i,protected:n,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var Rl=I(()=>{us();V();ge();o(ls,"compactVerify")});async function vm(e,t,r){if(!Q(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await on({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Nr}var Tm=I(()=>{us();V();qe();o(vm,"generalVerify")});var sn,Ol=I(()=>{sn=o(e=>Math.floor(e.getTime()/1e3),"default")});var TS,an,xl=I(()=>{TS=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,an=o(e=>{let t=TS.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var Sm,SS,cn,ds=I(()=>{V();ge();Ol();xl();qe();Sm=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),SS=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),cn=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Sm(e.typ)!==Sm(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(t))}catch{}if(!Q(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!SS(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=an(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,y=sn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>y+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=y-d)throw new Yr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=y-i.iat,m=typeof l=="number"?l:an(l);if(h-d>m)throw new Yr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Im(e,t,r){var n;let i=await ls(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:cn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Am=I(()=>{Rl();ds();V();o(Im,"jwtVerify")});async function Pm(e,t,r){let n=await is(e,t,r),i=cn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var Rm=I(()=>{wl();ds();V();o(Pm,"jwtDecrypt")});var un,Nl=I(()=>{as();un=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Ut(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var IS,Om,xm=I(()=>{Al();Te();ts();Pl();IS=o(async(e,t,r)=>{let n=await mi(e,t,"sign");Cr(e,n);let i=await D.subtle.sign(fi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Om=IS});var ur,ps=I(()=>{Ie();xm();Xr();V();ge();di();rn();ur=class{static{o(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!_t(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=wt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;s&&(c=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Se(u,Y.encode("."),c),d=await Om(a,t,l),p={signature:Z(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var ln,Cl=I(()=>{ps();ln=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new ur(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var Ll,hs,Nm=I(()=>{ps();V();Ll=class{static{o(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},hs=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Ll(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new ur(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=s;else if(t.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,fs=I(()=>{Ol();qe();xl();lr=class{static{o(this,"ProduceJWT")}constructor(t){if(!Q(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:sn(new Date)+an(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:sn(new Date)+an(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:sn(new Date)}:this._payload={...this._payload,iat:t},this}}});var ms,Cm=I(()=>{Cl();V();ge();fs();ms=class extends lr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new ln(Y.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var ys,Lm=I(()=>{Nl();ge();fs();ys=class extends lr{static{o(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new un(Y.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function Dl(e,t){if(!Q(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":dr(e.crv,'"crv" (Curve) Parameter'),dr(e.x,'"x" (X Coordinate) Parameter'),dr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":dr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),dr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":dr(e.e,'"e" (Exponent) Parameter'),dr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":dr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Y.encode(JSON.stringify(r));return Z(await $o(t,n))}async function Dm(e,t){t??(t="sha256");let r=await Dl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,Um=I(()=>{Xu();Ie();V();ge();qe();dr=o((e,t)=>{if(typeof e!="string"||!e)throw new ri(`${t} missing or invalid`)},"check");o(Dl,"calculateJwkThumbprint");o(Dm,"calculateJwkThumbprintUri")});async function Mm(e,t){let r={...e,...t?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ar({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var km=I(()=>{li();qe();V();o(Mm,"EmbeddedJWK")});function AS(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new M('Unsupported "alg" value for a JSON Web Key Set')}}function Ul(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(PS)}function PS(e){return Q(e)}function RS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Hm(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ar({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new rr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Fm(e){let t=new yi(e);return async function(r,n){return t.getKey(r,n)}}var yi,Ml=I(()=>{li();V();qe();o(AS,"getKtyFromAlg");o(Ul,"isJWKSLike");o(PS,"isJWKLike");o(RS,"clone");yi=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Ul(t))throw new rr("JSON Web Key Set malformed");this._jwks=RS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=AS(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new xr;if(u!==1){let l=new ni,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Hm(d,p,n)}catch{continue}},l}return Hm(this._cached,c,n)}};o(Hm,"importWithAlgCache");o(Fm,"createLocalJWKSet")});var OS,qm,$m=I(()=>{V();OS=o(async(e,t,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new ii:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),qm=OS});function xS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function jm(e,t){let r=new kl(e,t);return async function(n,i){return r.getKey(n,i)}}var kl,Vm=I(()=>{$m();V();Ml();o(xS,"isCloudflareWorkers");kl=class extends yi{static{o(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof xr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&xS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=qm(this._url,this._timeoutDuration,this._options).then(t=>{if(!Ul(t))throw new rr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};o(jm,"createRemoteJWKSet")});var gs,Gm=I(()=>{Ie();ge();V();ds();fs();gs=class extends lr{static{o(this,"UnsecuredJWT")}encode(){let t=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:cn(c,te(i),r),header:c}}}});var Hl={};Qi(Hl,{decode:()=>gi,encode:()=>NS});var NS,gi,bs=I(()=>{Ie();NS=Z,gi=te});function Bm(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ce.decode(gi(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Km=I(()=>{bs();ge();qe();o(Bm,"decodeProtectedHeader")});function Jm(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=gi(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ce.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new le("Invalid JWT Claims Set");return i}var zm=I(()=>{bs();ge();qe();V();o(Jm,"decodeJwt")});async function Wm(e,t){var r;let n,i,s;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),nr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function Fl(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new M("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Qm(e,t){var r,n,i;let s,a;switch(e){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Fl(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Fl(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Fl(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new M("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new M("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var ql=I(()=>{Te();V();oi();o(Wm,"generateSecret");o(Fl,"getModulusLengthOption");o(Qm,"generateKeyPair")});async function Ym(e,t){return Qm(e,t)}var Zm=I(()=>{ql();o(Ym,"generateKeyPair")});async function Xm(e,t){return Wm(e,t)}var ey=I(()=>{ql();o(Xm,"generateSecret")});var _s={};Qi(_s,{CompactEncrypt:()=>un,CompactSign:()=>ln,EmbeddedJWK:()=>Mm,EncryptJWT:()=>ys,FlattenedEncrypt:()=>Ut,FlattenedSign:()=>ur,GeneralEncrypt:()=>cs,GeneralSign:()=>hs,SignJWT:()=>ms,UnsecuredJWT:()=>gs,base64url:()=>Hl,calculateJwkThumbprint:()=>Dl,calculateJwkThumbprintUri:()=>Dm,compactDecrypt:()=>is,compactVerify:()=>ls,createLocalJWKSet:()=>Fm,createRemoteJWKSet:()=>jm,decodeJwt:()=>Jm,decodeProtectedHeader:()=>Bm,errors:()=>rl,exportJWK:()=>os,exportPKCS8:()=>bm,exportSPKI:()=>gm,flattenedDecrypt:()=>nn,flattenedVerify:()=>on,generalDecrypt:()=>hm,generalVerify:()=>vm,generateKeyPair:()=>Ym,generateSecret:()=>Xm,importJWK:()=>ar,importPKCS8:()=>cm,importSPKI:()=>sm,importX509:()=>am,jwtDecrypt:()=>Pm,jwtVerify:()=>Im});var Es=I(()=>{wl();ns();fm();_m();Rl();us();Tm();Am();Rm();Nl();as();Cl();ps();Nm();Cm();Lm();Um();km();Ml();Vm();Gm();vl();li();Km();zm();V();Zm();ey();bs()});var vs=g(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.fetchRetry=void 0;var CS=L();async function LS(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:s.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new CS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(LS,"fetchRetry");ws.fetchRetry=LS});var dn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var ty=(Es(),Yi(_s)),DS=L(),US=vs();async function MS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new ty.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(MS,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=MS;async function kS(e,t,r){return jl(e,{token:t,returnSecureToken:!0},r)}o(kS,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=kS;async function HS(e,t,r){return jl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(HS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=HS;async function jl(e,t,r){let n=await(0,US.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new DS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(jl,"fetchToken");Ze.fetchToken=jl;var $l=class e{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,ty.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=$l});var Ss=g(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.GoogleLogTransport=Mt.ZuploToGCPMap=Mt.GoogleCloudLoggingPlugin=void 0;var FS=ve(),Vl=ee(),Gl=dn(),qS=Lt(),ry=bt(),Bl=class extends qS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ts(this.options)}};Mt.GoogleCloudLoggingPlugin=Bl;var $S="https://logging.googleapis.com/v2/entries:write?alt=json";Mt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ts=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Vl.Environment.instance.loggingEnvironmentType,this.#o=Vl.Environment.instance.loggingEnvironmentStage,this.#n=Vl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,ry.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await Gl.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Mt.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(s.labels.rayId=t.rayId);let a=(0,ry.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await Gl.GcpServiceAccount.init(this.#e));let r=await(0,Gl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch($S,{method:"POST",body:JSON.stringify({entries:t}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new FS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Mt.GoogleLogTransport=Ts});var Kl=g(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.gcpLogFormat=pn.GCP_LOG_FORMAT=void 0;var ny=bt(),jS=Ss();pn.GCP_LOG_FORMAT="gcp";function VS(e){let t={allMessages:(0,ny.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,ny.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:jS.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}o(VS,"gcpLogFormat");pn.gcpLogFormat=VS});var oy=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.ConsoleTransport=void 0;var iy=Kl(),Jl=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===iy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,iy.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Is.ConsoleTransport=Jl});var Xl=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.DataDogTransport=hn.DataDogLoggingPlugin=void 0;var GS=ve(),zl=ee(),BS=Lt(),sy=bt(),Zl=class extends BS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new As(this.options)}};hn.DataDogLoggingPlugin=Zl;var Wl="__ddtags",Ql="__ddattr",Yl=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),KS=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(Yl(n)):r.push(`${Yl(n)}:${Yl(i.toString())}`)}),r.join(",")},"formatTags"),As=class{static{o(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=zl.Environment.instance.loggingEnvironmentType,this.#i=zl.Environment.instance.loggingEnvironmentStage,this.#r=zl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[Wl];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[Wl]!==void 0);a>-1&&(Object.assign(n,s[a][Wl]),s.splice(a,1));let c={},u=r.custom[Ql];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[Ql]!==void 0);l>-1&&(Object.assign(c,s[l][Ql]),s.splice(l,1));let d=(0,sy.makeErrorsSerializable)(s),y={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,sy.extractBestMessage)(d),service:t.loggingId,ddtags:KS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(y,c),this.batcher.enqueue(y),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new GS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};hn.DataDogTransport=As});var cy=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.ProcessTransport=void 0;var ay=Kl(),ed=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===ay.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,ay.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};Ps.ProcessTransport=ed});var ly=g(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.RemoteLogTransport=void 0;var JS=ve(),uy=ee(),zS=bt(),WS=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,zS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":uy.Environment.instance.systemUserAgent,"zp-dn":uy.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Rs,td=class{static{o(this,"RemoteLogTransport")}constructor(t){Rs||(Rs=new JS.BatchDispatch("remote-log-transport",1,WS(t)))}async log(t,r){Rs.enqueue(t),r.waitUntil(Rs.waitUntilFlushed())}};Os.RemoteLogTransport=td});var dy=g(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.unifiedFormatter=Lr.SeverityNumberOpenTelemetryMap=void 0;Lr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var QS=o((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Lr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Lr.unifiedFormatter=QS});var hy=g(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.UnifiedLogTransport=void 0;var YS=ve(),py=ee(),ZS=dy(),XS=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,ZS.unifiedFormatter)(r,n);fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":py.Environment.instance.systemUserAgent,"zp-dn":py.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),xs,rd=class{static{o(this,"UnifiedLogTransport")}constructor(t){xs||(xs=new YS.BatchDispatch("unified-log-transport",1,XS(t)))}async log(t,r){xs.enqueue(t),r.waitUntil(xs.waitUntilFlushed())}};Ns.UnifiedLogTransport=rd});var Ey=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.LogInitializer=void 0;var eI=Tr(),tI=yt(),fy=ju(),my=ee(),yy=bf(),rI=Lt(),nI=_f(),gy=Ef(),by=oy(),iI=Xl(),oI=Ss(),_y=cy(),sI=ly(),aI=hy(),nd=(0,eI.debug)("zuplo:logging"),id=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(my.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(my.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;nd("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(fy.SYSTEM_LOGGER);return i?n.push(new _y.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new by.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new aI.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new yy.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){nd("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,s=this.serviceProvider.getService(fy.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new _y.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&r.push(new by.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new sI.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new oI.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new iI.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return tI.plugins.forEach(a=>{a instanceof rI.LogPlugin&&r.push(a.getTransport())}),new yy.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,s){nd("Gateway.createRequestLoggers");let a=new nI.LoggingContext(n,i,s),c=new gy.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new gy.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Cs.LogInitializer=id});var sd=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.UserRouteConfiguration=void 0;var od=class{static{o(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ls.UserRouteConfiguration=od});var cd=g(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.Router=vt.RouterError=vt.LookupResult=vt.RouterEntry=void 0;var wy=L(),cI=ot(),uI=sd(),Ds=class{static{o(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};vt.RouterEntry=Ds;var bi=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};vt.LookupResult=bi;var Us=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};vt.RouterError=Us;var ad=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof uI.UserRouteConfiguration||t instanceof cI.SystemRouteConfiguration))throw new wy.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let s=new URLPattern({pathname:i}),a=new Ds(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Us(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new wy.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new bi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new bi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};vt.Router=ad});var fn=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.Gateway=void 0;var lI=Tr(),vy=Kh(),Ty=ef(),dI=tf(),Sy=rf(),Iy=af(),kt=Zn(),Ms=Sr(),Ay=gf(),St=L(),_i=yt(),pI=Ey(),hI=Nt(),fI=ue(),mI=qu(),yI=Wt(),gI=Jr(),bI=ke(),_I=cd(),ud=ot(),Py=sd(),EI=Be(),wI=xo(),Ry=ee(),Oy=Or(),vI=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],Tt=(0,lI.debug)("zuplo:runtime"),TI=o(e=>{let t=e.findIndex(r=>r.name===ud.systemNoVersion.name);return t>-1?[...e.splice(t),ud.systemNoVersion]:[...e,ud.systemNoVersion]},"setupSystemNoVersion"),ld=class e{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,Tt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new pI.LogInitializer(n)}static async initialize(t,r,n,i,s){if(Tt("Gateway.initialize"),!e.#e){await(0,_i.initializeRuntime)(s);let a={...t,corsPolicies:(0,wI.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){Tt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new St.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[gI.policyProcessor,mI.corsProcessor,yI.metricsProcessor];#i;setupRoutes=()=>{Tt("Gateway.setupRoutes");let t=this.routeData,r=TI(t.versions),n=new _I.Router(r);if(t.routes.length===0)return(0,vy.registerBuildRoute)(n,this),(0,Iy.registerPingRoute)(n,this),(0,Ty.registerCorsRoute)(n,this),(0,dI.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Ay.registerDevPortalLegacyRedirectRoute)(n,this),(0,Ay.registerDevPortalV3Route)(n,this)),(0,vy.registerBuildRoute)(n,this),(0,Iy.registerPingRoute)(n,this),(0,Ty.registerCorsRoute)(n,this);for(let s of _i.plugins)s instanceof _i.SystemRuntimePlugin&&s.registerRoutes(n,this);return t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new St.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new hI.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Py.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Sy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new St.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return Tt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){Tt("Gateway.internalErrorResponse");let i={};if(Ry.Environment.instance.isDeno){if(n instanceof St.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,Oy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,Oy.cleanStack)(s.stack)),i={cause:s}}}return fI.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return kt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Ry.Environment.instance.isDeno&&kt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(kt.REQUEST_ID_HEADER)??t.headers.get(kt.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(kt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(kt.REQUEST_ID_HEADER,n),t=new Request(t,{headers:T})}if(["GET","HEAD"].includes(t.method)&&t.body){let T=new Headers(t.headers);T.set(kt.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new St.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Ms.HeaderIncomingRequestProperties(t.headers),y=this.#s(t),h=new bI.ZuploRequest(y,{params:d.params}),m=new Ms.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=Ms.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===Sy.notFoundRouteConfiguration&&_i.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof Py.UserRouteConfiguration)}try{if(EI.SystemLogMap.addLogger(m,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,_i.invokeOnRequestExtensions)(h,m);if(j instanceof Response)return j;{let C=Ms.ZuploContextExtensions.getContextExtensions(m);h=j,C.latestRequest=h}}[...vI,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;SI(S,d,t),Tt("Gateway.handleRequest - call user handler");let k=await S(h,m);if(Tt("Gateway.handleRequest - user handler"),!(k instanceof Response))throw new St.RuntimeError(`Invalid Response type from the request handler: ${typeof k}`);if(k.bodyUsed)throw new St.RuntimeError("The response object has already been used. Return a new response instead.");if(k.headers.get(kt.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(kt.REQUEST_ID_HEADER,n),new Response(k.body,{status:k.status,statusText:k.statusText,headers:j,cf:k.cf})}else return k}catch(T){return Tt("Gateway - error executing handler",T),T instanceof St.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,m,T)}}};ks.Gateway=ld;function SI(e,t,r){if(Tt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new St.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new St.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(SI,"checkHandler")});var xy=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.invokeInboundPolicy=void 0;var II=L(),AI=fn(),PI=Jr(),RI=o(async(e,t,r)=>{let n=AI.Gateway.instance.routeData.policies,i=(0,PI.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new II.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let s=i[0];return s.handler(t,r,s.options,e)},"invokeInboundPolicy");Hs.invokeInboundPolicy=RI});var Sr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Zn(),OI=L(),xI=xy(),dd=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=dd;var pd=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=pd;var hd=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=hd;var Ei=class e{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new OI.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let s of this.#r)i=await s(t,r,n);return i}};Xe.ZuploContextExtensions=Ei;var fd=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,xI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ei.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ei.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=fd});var Ny=g(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.ContextData=void 0;var md=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};Fs.ContextData=md});var yd=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var NI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Cy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!NI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(Cy,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=Cy;function Ly(e){return!!e.startsWith("ZUPLO_")}o(Ly,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=Ly;var CI=new Proxy({},{get(e,t){if(Cy(String(t))&&!Ly(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=CI});var gd=g(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.externalServiceHandler=mn.externalServiceTunnelConfig=void 0;var LI=Tr(),Dr=L(),DI=bd(),wi=ee(),ut=(0,LI.debug)("zuplo:runtime:external-service");function Uy(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=wi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(Uy,"getServiceAuth");async function UI(e){let t=Uy();if(!t)throw ut("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let s;if(t.customServiceMapping&&t.customServiceMapping[n])s=`https://${t.customServiceMapping[n]}`;else if(wi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=wi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await My(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(UI,"externalServiceTunnelConfig");mn.externalServiceTunnelConfig=UI;async function MI(e,t){let r=Uy();if(r)if(ut(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,s=t??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(wi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=wi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await My(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`Calling external service: ${u.toString()}`);let l=await(0,DI.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Dr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.")}o(MI,"externalServiceHandler");mn.externalServiceHandler=MI;async function My(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=kI(n);ut(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await Dy(`${s}-${i}`),l=await Dy(`${s}-${a}-${c}`);return`${u}.${l}`}o(My,"hashServiceName");async function Dy(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(Dy,"hashSegment");function kI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(kI,"sanitizeEnvironmentType")});var bd=g(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.originalFetch=void 0;var HI=gd(),ky=new Map;ky.set("service:",HI.externalServiceHandler);yn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=FI(t);if(typeof e=="string"){let n=new URL(e),i=ky.get(n.protocol);return i?i(e,r):(0,yn.originalFetch)(e,r)}else return(0,yn.originalFetch)(e,r)};var FI=o(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var qy=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.Handler=gn.purgeGatewayCache=void 0;var qI=L(),Fy=fn(),Hy=ee(),$I=o(()=>{Fy.Gateway.purgeGatewayCache()},"purgeGatewayCache");gn.purgeGatewayCache=$I;var _d=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeData=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Hy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Fy.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof qI.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Hy.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};gn.Handler=_d});var Gy=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function jI(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",s=r+1;s<e.length;){var a=e.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(e[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;){if(e[s]==="\\"){u+=e[s++]+e[s++];continue}if(e[s]===")"){if(c--,c===0){s++;break}}else if(e[s]==="("&&(c++,e[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=e[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}o(jI,"lexer");function Ed(e,t){t===void 0&&(t={});for(var r=jI(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(bn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var me=d(ne);if(me!==void 0)return me;var Ge=r[u],E=Ge.type,H=Ge.index;throw new TypeError("Unexpected ".concat(E," at ").concat(H,", expected ").concat(ne))},"mustConsume"),y=o(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),v=d("PATTERN");if(m||v){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=y(),j=d("NAME")||"",C=d("PATTERN")||"",re=y();p("CLOSE"),a.push({name:j||(C?c++:""),pattern:j&&!C?s:C,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(Ed,"parse");Re.parse=Ed;function VI(e,t){return $y(Ed(e,t),t)}o(VI,"compile");Re.compile=VI;function $y(e,t){t===void 0&&(t={});var r=wd(t),n=t.encode,i=n===void 0?function(u){return u}:n,s=t.validate,a=s===void 0?!0:s,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var y=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(y)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(y.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<y.length;v++){var T=i(y[v],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof y=="string"||typeof y=="number"){var T=i(String(y),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o($y,"tokensToFunction");Re.tokensToFunction=$y;function GI(e,t){var r=[],n=vd(e,r,t);return jy(n,r,t)}o(GI,"match");Re.match=GI;function jy(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=e.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(y){if(a[y]===void 0)return"continue";var h=t[y-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[y].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[y],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(jy,"regexpToFunction");Re.regexpToFunction=jy;function bn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(bn,"escapeString");function wd(e){return e&&e.sensitive?"":"i"}o(wd,"flags");function BI(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}o(BI,"regexpToRegexp");function KI(e,t,r){var n=e.map(function(i){return vd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),wd(r))}o(KI,"arrayToRegexp");function JI(e,t,r){return Vy(Ed(e,r),t,r)}o(JI,"stringToRegexp");function Vy(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,y=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,v="[".concat(bn(m),"]|$"),T="[".concat(bn(y),"]"),S=a?"^":"",k=0,j=e;k<j.length;k++){var C=j[k];if(typeof C=="string")S+=bn(d(C));else{var re=bn(d(C.prefix)),ne=bn(d(C.suffix));if(C.pattern)if(t&&t.push(C),re||ne)if(C.modifier==="+"||C.modifier==="*"){var me=C.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(C.pattern,")(?:").concat(ne).concat(re,"(?:").concat(C.pattern,"))*)").concat(ne,")").concat(me)}else S+="(?:".concat(re,"(").concat(C.pattern,")").concat(ne,")").concat(C.modifier);else C.modifier==="+"||C.modifier==="*"?S+="((?:".concat(C.pattern,")").concat(C.modifier,")"):S+="(".concat(C.pattern,")").concat(C.modifier);else S+="(?:".concat(re).concat(ne,")").concat(C.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(v,")"):"$";else{var Ge=e[e.length-1],E=typeof Ge=="string"?T.indexOf(Ge[Ge.length-1])>-1:Ge===void 0;i||(S+="(?:".concat(T,"(?=").concat(v,"))?")),E||(S+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(S,wd(r))}o(Vy,"tokensToRegexp");Re.tokensToRegexp=Vy;function vd(e,t,r){return e instanceof RegExp?BI(e,t):Array.isArray(e)?KI(e,t,r):JI(e,t,r)}o(vd,"pathToRegexp");Re.pathToRegexp=vd});var Ad=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.AwsV4Signer=_n.AwsClient=void 0;var zI=Tr(),zy=L(),WI=(0,zI.debug)("zuplo:runtime"),Sd=new TextEncoder,By={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},QI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Id=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new qs(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){WI("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(t,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new zy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};_n.AwsClient=Id;var qs=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:y,appendSessionToken:h,allHeaders:m,singleEncode:v}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=YI(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=y,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let k=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),k.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&k.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(C=>m||!QI.includes(C)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(C=>C+":"+(C==="host"?this.url.host:(this.headers.get(C)||"").replace(/\s+/g," "))).join(`
|
|
60
|
-
`),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!
|
|
59
|
+
-----END ${t}-----`},"default")});function Zf(e){let t=[],r=0;for(;r<e.length;){let n=im(e.subarray(r));t.push(n),r+=n.byteLength}return t}function im(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=t+n+2;return{byteLength:s,contents:e.subarray(t,t+n),raw:e.subarray(0,s)}}else{let s=e[t]&127;t++,n=0;for(let a=0;a<s;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function uS(e){let t=Zf(Zf(im(e).contents)[0].contents);return Jo(t[t[0].raw[0]===160?6:5].raw)}function lS(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=rl(t);return yl(uS(r),"PUBLIC KEY")}var Xf,em,tm,sr,Yf,rm,nm,gl,om,ns=I(()=>{Te();at();Ie();Qf();V();ct();Xf=o(async(e,t,r)=>{if(!se(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return yl(Jo(new Uint8Array(await U.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),em=o(e=>Xf("public","spki",e),"toSPKI"),tm=o(e=>Xf("private","pkcs8",e),"toPKCS8"),sr=o((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((s,a)=>s===t[a])||sr(e,t,n+1)},"findOid"),Yf=o(e=>{switch(!0){case sr(e,[42,134,72,206,61,3,1,7]):return"P-256";case sr(e,[43,129,4,0,34]):return"P-384";case sr(e,[43,129,4,0,35]):return"P-521";case sr(e,[43,101,110]):return"X25519";case sr(e,[43,101,111]):return"X448";case sr(e,[43,101,112]):return"Ed25519";case sr(e,[43,101,113]):return"Ed448";default:throw new k("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),rm=o(async(e,t,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Yf(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Yf(u)},c=l?["verify"]:["sign"];break;default:throw new k('Invalid or unsupported "alg" (Algorithm) value')}return U.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),nm=o((e,t,r)=>rm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),gl=o((e,t,r)=>rm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(Zf,"getElement");o(im,"parseElement");o(uS,"spkiFromX509");o(lS,"getSPKI");om=o((e,t,r)=>{let n;try{n=lS(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return gl(n,t,r)},"fromX509")});function dS(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new k(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new k('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var pS,bl,sm=I(()=>{Te();V();Ie();o(dS,"subtleMapping");pS=o(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=dS(e),s=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return U.subtle.importKey("raw",te(e.k),...s);let a={...e};return delete a.alg,delete a.use,U.subtle.importKey("jwk",a,...s)},"parse"),bl=pS});async function am(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return gl(e,t,r)}async function cm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return om(e,t,r)}async function um(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return nm(e,t,r)}async function ar(e,t,r){var n;if(!Q(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?bl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):te(e.k);case"RSA":if(e.oth!==void 0)throw new k('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return bl({...e,alg:t});default:throw new k('Unsupported "kty" (Key Type) Parameter value')}}var di=I(()=>{Ie();ns();sm();V();qe();o(am,"importSPKI");o(cm,"importX509");o(um,"importPKCS8");o(ar,"importJWK")});var hS,fS,mS,cr,pi=I(()=>{at();ct();hS=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!cl(t))throw new TypeError(al(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),fS=o((e,t,r)=>{if(!cl(t))throw new TypeError(al(e,t,...W));if(t.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),mS=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?hS(e,t):fS(e,t,r)},"checkKeyType"),cr=mS});async function yS(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(r,"Uint8Array"));let s=parseInt(e.slice(1,4),10),a=await U.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await U.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await U.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,Go(i.length<<3)),d=new Uint8Array((await U.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function gS(e,t,r,n,i){let s;r instanceof Uint8Array?s=await U.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Fe(r,e,"encrypt"),s=r);let a=new Uint8Array(await U.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var bS,hi,_l=I(()=>{ge();ol();sl();Te();or();at();V();ct();o(yS,"cbcEncrypt");o(gS,"gcmEncrypt");bS=o(async(e,t,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Qo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(-3),10)),yS(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(1,4),10)),gS(e,t,r,n,i);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),hi=bS});async function lm(e,t,r,n){let i=e.slice(0,7);n||(n=zo(i));let{ciphertext:s,tag:a}=await hi(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function dm(e,t,r,n,i){let s=e.slice(0,7);return Zo(s,t,r,n,i,new Uint8Array(0))}var El=I(()=>{_l();ul();Wo();Ie();o(lm,"wrap");o(dm,"unwrap")});async function _S(e,t,r,n,i){switch(cr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ts(t))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new A('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await es(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?ui(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new A("JWE Encrypted Key missing");return ci(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new A("JWE Encrypted Key missing");return Wf(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new A('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new A('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new A('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Kf(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");return ci(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new A('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new A('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return dm(e,t,r,s,a)}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var pm,hm=I(()=>{Xo();pl();fl();ml();Ie();V();li();di();pi();qe();El();o(_S,"decryptKeyManagement");pm=_S});function ES(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...t.entries()]):s=t;for(let a of n.crit){if(!s.has(a))throw new k(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var wt,nn=I(()=>{V();o(ES,"validateCrit");wt=ES});var wS,fi,wl=I(()=>{wS=o((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),fi=wS});async function on(e,t,r){var n;if(!Q(e))throw new A("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new A("JOSE Header missing");if(typeof e.iv!="string")throw new A("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new A("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new A("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new A("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new A("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new A("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let F=te(e.protected);i=JSON.parse(ce.decode(F))}catch{throw new A("JWE Protected Header is invalid")}if(!_t(i,e.header,e.unprotected))throw new A("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(wt(A,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new k('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new A("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new A("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&fi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&fi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new tr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let y;try{y=await pm(a,t,d,s,r)}catch(F){if(F instanceof TypeError||F instanceof A||F instanceof k)throw F;y=Et(c)}let h=te(e.iv),m=te(e.tag),w=Y.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(w,Y.encode("."),Y.encode(e.aad)):T=w;let S=await Zo(c,y,te(e.ciphertext),h,m,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||kf)(S));let L={plaintext:S};return e.protected!==void 0&&(L.protectedHeader=i),e.aad!==void 0&&(L.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(L.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(L.unprotectedHeader=e.header),p?{...L,key:t}:L}var is=I(()=>{Ie();ul();ll();V();en();qe();hm();ge();li();nn();wl();o(on,"flattenedDecrypt")});async function os(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new A("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new A("Invalid Compact JWE");let l=await on({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var vl=I(()=>{is();V();ge();o(os,"compactDecrypt")});async function fm(e,t,r){if(!Q(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new A("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new A("JWE Recipients has no members");for(let n of e.recipients)try{return await on({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new Ut}var mm=I(()=>{is();V();qe();o(fm,"generalDecrypt")});var vS,ym,gm=I(()=>{Te();at();Ie();ct();vS=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:Z(e)};if(!se(e))throw new TypeError(ie(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await U.subtle.exportKey("jwk",e);return s},"keyToJWK"),ym=vS});async function bm(e){return em(e)}async function _m(e){return tm(e)}async function ss(e){return ym(e)}var Tl=I(()=>{ns();ns();gm();o(bm,"exportSPKI");o(_m,"exportPKCS8");o(ss,"exportJWK")});async function TS(e,t,r,n,i={}){let s,a,c;switch(cr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ts(r))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await $f(r)).privateKey);let{x:p,y,crv:h,kty:m}=await ss(d),w=await es(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?ui(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:m}},m==="EC"&&(a.epk.y=y),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),e==="ECDH-ES"){c=w;break}c=n||Et(t);let T=e.slice(-6);s=await ai(T,w,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||Et(t),s=await zf(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||Et(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Bf(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||Et(t),s=await ai(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||Et(t);let{iv:u}=i;({encryptedKey:s,...a}=await lm(e,r,c,u));break}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var as,Sl=I(()=>{Xo();pl();fl();ml();Ie();li();V();Tl();pi();El();o(TS,"encryptKeyManagement");as=TS});var Il,Mt,cs=I(()=>{Ie();_l();ll();Wo();Sl();V();en();ge();nn();Il=Symbol(),Mt=class{static{o(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new A("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!_t(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(wt(A,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new k('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let m;({cek:c,encryptedKey:a,parameters:m}=await as(i,s,t,this._cek,this._keyManagementParameters)),m&&(r&&Il in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=zo(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Se(l,Y.encode("."),Y.encode(d))):u=l;let p,y;if(n.zip==="DEF"){let m=await(r?.deflateRaw||Hf)(this._plaintext);({ciphertext:p,tag:y}=await hi(s,m,c,this._iv,u))}else({ciphertext:p,tag:y}=await hi(s,this._plaintext,c,this._iv,u));let h={ciphertext:Z(p),iv:Z(this._iv),tag:Z(y)};return a&&(h.encrypted_key=Z(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Pl,us,Em=I(()=>{cs();V();li();en();Sl();Ie();nn();Pl=class{static{o(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},us=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Pl(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new A("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!_t(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new A('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(wt(A,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=Et(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let y={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let w=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:y}).encrypt(l.key,{...l.options,...t,[Il]:!0});c.ciphertext=w.ciphertext,c.iv=w.iv,c.tag=w.tag,w.aad&&(c.aad=w.aad),w.protected&&(c.protected=w.protected),w.unprotected&&(c.unprotected=w.unprotected),d.encrypted_key=w.encrypted_key,w.header&&(d.header=w.header);continue}let{encryptedKey:h,parameters:m}=await as(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:y});d.encrypted_key=Z(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}return c}}});function mi(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Al=I(()=>{V();o(mi,"subtleDsa")});function yi(e,t,r){if(se(t))return Uf(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(ie(t,...W));return U.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(t,...W,"Uint8Array"))}var Rl=I(()=>{Te();or();at();ct();o(yi,"getCryptoKey")});var SS,wm,vm=I(()=>{Al();Te();rs();Rl();SS=o(async(e,t,r,n)=>{let i=await yi(e,t,"verify");Cr(e,i);let s=mi(e,i.algorithm);try{return await U.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),wm=SS});async function sn(e,t,r){var n;if(!Q(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Q(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=te(e.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!_t(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=wt(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&fi("algorithms",r.algorithms);if(l&&!l.has(u))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),cr(u,t,"verify");let p=Se(Y.encode((n=e.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof e.payload=="string"?Y.encode(e.payload):e.payload),y=te(e.signature);if(!await wm(u,t,y,p))throw new Nr;let m;c?m=te(e.payload):typeof e.payload=="string"?m=Y.encode(e.payload):m=e.payload;let w={payload:m};return e.protected!==void 0&&(w.protectedHeader=i),e.header!==void 0&&(w.unprotectedHeader=e.header),d?{...w,key:t}:w}var ls=I(()=>{Ie();vm();V();ge();en();qe();pi();nn();wl();o(sn,"flattenedVerify")});async function ds(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await sn({payload:i,protected:n,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var Ol=I(()=>{ls();V();ge();o(ds,"compactVerify")});async function Tm(e,t,r){if(!Q(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await sn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Nr}var Sm=I(()=>{ls();V();qe();o(Tm,"generalVerify")});var an,xl=I(()=>{an=o(e=>Math.floor(e.getTime()/1e3),"default")});var IS,cn,Nl=I(()=>{IS=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,cn=o(e=>{let t=IS.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var Im,PS,un,ps=I(()=>{V();ge();xl();Nl();qe();Im=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),PS=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),un=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Im(e.typ)!==Im(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(t))}catch{}if(!Q(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!PS(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=cn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,y=an(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>y+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=y-d)throw new Zr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=y-i.iat,m=typeof l=="number"?l:cn(l);if(h-d>m)throw new Zr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Pm(e,t,r){var n;let i=await ds(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:un(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Am=I(()=>{Ol();ps();V();o(Pm,"jwtVerify")});async function Rm(e,t,r){let n=await os(e,t,r),i=un(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var Om=I(()=>{vl();ps();V();o(Rm,"jwtDecrypt")});var ln,Cl=I(()=>{cs();ln=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Mt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var AS,xm,Nm=I(()=>{Al();Te();rs();Rl();AS=o(async(e,t,r)=>{let n=await yi(e,t,"sign");Cr(e,n);let i=await U.subtle.sign(mi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),xm=AS});var ur,hs=I(()=>{Ie();Nm();en();V();ge();pi();nn();ur=class{static{o(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!_t(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=wt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;s&&(c=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Se(u,Y.encode("."),c),d=await xm(a,t,l),p={signature:Z(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var dn,Ll=I(()=>{hs();dn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new ur(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var Dl,fs,Cm=I(()=>{hs();V();Dl=class{static{o(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},fs=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Dl(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new ur(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=s;else if(t.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,ms=I(()=>{xl();qe();Nl();lr=class{static{o(this,"ProduceJWT")}constructor(t){if(!Q(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:an(new Date)+cn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:an(new Date)+cn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:an(new Date)}:this._payload={...this._payload,iat:t},this}}});var ys,Lm=I(()=>{Ll();V();ge();ms();ys=class extends lr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new dn(Y.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var gs,Dm=I(()=>{Cl();ge();ms();gs=class extends lr{static{o(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new ln(Y.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function Ul(e,t){if(!Q(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":dr(e.crv,'"crv" (Curve) Parameter'),dr(e.x,'"x" (X Coordinate) Parameter'),dr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":dr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),dr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":dr(e.e,'"e" (Exponent) Parameter'),dr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":dr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new k('"kty" (Key Type) Parameter missing or unsupported')}let n=Y.encode(JSON.stringify(r));return Z(await jo(t,n))}async function Um(e,t){t??(t="sha256");let r=await Ul(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,Mm=I(()=>{el();Ie();V();ge();qe();dr=o((e,t)=>{if(typeof e!="string"||!e)throw new ni(`${t} missing or invalid`)},"check");o(Ul,"calculateJwkThumbprint");o(Um,"calculateJwkThumbprintUri")});async function km(e,t){let r={...e,...t?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ar({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var Hm=I(()=>{di();qe();V();o(km,"EmbeddedJWK")});function RS(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new k('Unsupported "alg" value for a JSON Web Key Set')}}function Ml(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(OS)}function OS(e){return Q(e)}function xS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Fm(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ar({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new rr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function qm(e){let t=new gi(e);return async function(r,n){return t.getKey(r,n)}}var gi,kl=I(()=>{di();V();qe();o(RS,"getKtyFromAlg");o(Ml,"isJWKSLike");o(OS,"isJWKLike");o(xS,"clone");gi=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Ml(t))throw new rr("JSON Web Key Set malformed");this._jwks=xS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=RS(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new xr;if(u!==1){let l=new ii,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Fm(d,p,n)}catch{continue}},l}return Fm(this._cached,c,n)}};o(Fm,"importWithAlgCache");o(qm,"createLocalJWKSet")});var NS,$m,jm=I(()=>{V();NS=o(async(e,t,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new oi:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),$m=NS});function CS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Vm(e,t){let r=new Hl(e,t);return async function(n,i){return r.getKey(n,i)}}var Hl,Gm=I(()=>{jm();V();kl();o(CS,"isCloudflareWorkers");Hl=class extends gi{static{o(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof xr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&CS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=$m(this._url,this._timeoutDuration,this._options).then(t=>{if(!Ml(t))throw new rr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};o(Vm,"createRemoteJWKSet")});var bs,Bm=I(()=>{Ie();ge();V();ps();ms();bs=class extends lr{static{o(this,"UnsecuredJWT")}encode(){let t=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:un(c,te(i),r),header:c}}}});var Fl={};Yi(Fl,{decode:()=>bi,encode:()=>LS});var LS,bi,_s=I(()=>{Ie();LS=Z,bi=te});function Km(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ce.decode(bi(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Jm=I(()=>{_s();ge();qe();o(Km,"decodeProtectedHeader")});function zm(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=bi(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ce.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new le("Invalid JWT Claims Set");return i}var Wm=I(()=>{_s();ge();qe();V();o(zm,"decodeJwt")});async function Qm(e,t){var r;let n,i,s;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),nr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return U.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function ql(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new k("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Ym(e,t){var r,n,i;let s,a;switch(e){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:ql(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:ql(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:ql(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new k("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new k("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return U.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var $l=I(()=>{Te();V();si();o(Qm,"generateSecret");o(ql,"getModulusLengthOption");o(Ym,"generateKeyPair")});async function Zm(e,t){return Ym(e,t)}var Xm=I(()=>{$l();o(Zm,"generateKeyPair")});async function ey(e,t){return Qm(e,t)}var ty=I(()=>{$l();o(ey,"generateSecret")});var Es={};Yi(Es,{CompactEncrypt:()=>ln,CompactSign:()=>dn,EmbeddedJWK:()=>km,EncryptJWT:()=>gs,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>ur,GeneralEncrypt:()=>us,GeneralSign:()=>fs,SignJWT:()=>ys,UnsecuredJWT:()=>bs,base64url:()=>Fl,calculateJwkThumbprint:()=>Ul,calculateJwkThumbprintUri:()=>Um,compactDecrypt:()=>os,compactVerify:()=>ds,createLocalJWKSet:()=>qm,createRemoteJWKSet:()=>Vm,decodeJwt:()=>zm,decodeProtectedHeader:()=>Km,errors:()=>nl,exportJWK:()=>ss,exportPKCS8:()=>_m,exportSPKI:()=>bm,flattenedDecrypt:()=>on,flattenedVerify:()=>sn,generalDecrypt:()=>fm,generalVerify:()=>Tm,generateKeyPair:()=>Zm,generateSecret:()=>ey,importJWK:()=>ar,importPKCS8:()=>um,importSPKI:()=>am,importX509:()=>cm,jwtDecrypt:()=>Rm,jwtVerify:()=>Pm});var ws=I(()=>{vl();is();mm();Em();Ol();ls();Sm();Am();Om();Cl();cs();Ll();hs();Cm();Lm();Dm();Mm();Hm();kl();Gm();Bm();Tl();di();Jm();Wm();V();Xm();ty();_s()});var Ts=g(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.fetchRetry=void 0;var DS=D();async function US(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:s.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new DS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(US,"fetchRetry");vs.fetchRetry=US});var pn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var ry=(ws(),Zi(Es)),MS=D(),kS=Ts();async function HS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new ry.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(HS,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=HS;async function FS(e,t,r){return Vl(e,{token:t,returnSecureToken:!0},r)}o(FS,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=FS;async function qS(e,t,r){return Vl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(qS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=qS;async function Vl(e,t,r){let n=await(0,kS.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new MS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Vl,"fetchToken");Ze.fetchToken=Vl;var jl=class e{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,ry.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=jl});var Is=g(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.GoogleLogTransport=kt.ZuploToGCPMap=kt.GoogleCloudLoggingPlugin=void 0;var $S=ve(),Gl=X(),Bl=pn(),jS=Dt(),ny=bt(),Kl=class extends jS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ss(this.options)}};kt.GoogleCloudLoggingPlugin=Kl;var VS="https://logging.googleapis.com/v2/entries:write?alt=json";kt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ss=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Gl.Environment.instance.loggingEnvironmentType,this.#o=Gl.Environment.instance.loggingEnvironmentStage,this.#n=Gl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,ny.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await Bl.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:kt.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(s.labels.rayId=t.rayId);let a=(0,ny.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await Bl.GcpServiceAccount.init(this.#e));let r=await(0,Bl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(VS,{method:"POST",body:JSON.stringify({entries:t}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new $S.BatchDispatch("google-log-transport",1,this.dispatchFunction)};kt.GoogleLogTransport=Ss});var Jl=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.gcpLogFormat=hn.GCP_LOG_FORMAT=void 0;var iy=bt(),GS=Is();hn.GCP_LOG_FORMAT="gcp";function BS(e){let t={allMessages:(0,iy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,iy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:GS.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}o(BS,"gcpLogFormat");hn.gcpLogFormat=BS});var sy=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.ConsoleTransport=void 0;var oy=Jl(),zl=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===oy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,oy.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Ps.ConsoleTransport=zl});var ed=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.DataDogTransport=fn.DataDogLoggingPlugin=void 0;var KS=ve(),Wl=X(),JS=Dt(),ay=bt(),Xl=class extends JS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new As(this.options)}};fn.DataDogLoggingPlugin=Xl;var Ql="__ddtags",Yl="__ddattr",Zl=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),zS=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(Zl(n)):r.push(`${Zl(n)}:${Zl(i.toString())}`)}),r.join(",")},"formatTags"),As=class{static{o(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Wl.Environment.instance.loggingEnvironmentType,this.#i=Wl.Environment.instance.loggingEnvironmentStage,this.#r=Wl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[Ql];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[Ql]!==void 0);a>-1&&(Object.assign(n,s[a][Ql]),s.splice(a,1));let c={},u=r.custom[Yl];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[Yl]!==void 0);l>-1&&(Object.assign(c,s[l][Yl]),s.splice(l,1));let d=(0,ay.makeErrorsSerializable)(s),y={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,ay.extractBestMessage)(d),service:t.loggingId,ddtags:zS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(y,c),this.batcher.enqueue(y),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new KS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};fn.DataDogTransport=As});var uy=g(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.ProcessTransport=void 0;var cy=Jl(),td=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===cy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,cy.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};Rs.ProcessTransport=td});var dy=g(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.RemoteLogTransport=void 0;var WS=ve(),ly=X(),QS=bt(),YS=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,QS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":ly.Environment.instance.systemUserAgent,"zp-dn":ly.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Os,rd=class{static{o(this,"RemoteLogTransport")}constructor(t){Os||(Os=new WS.BatchDispatch("remote-log-transport",1,YS(t)))}async log(t,r){Os.enqueue(t),r.waitUntil(Os.waitUntilFlushed())}};xs.RemoteLogTransport=rd});var py=g(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.unifiedFormatter=Lr.SeverityNumberOpenTelemetryMap=void 0;Lr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var ZS=o((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Lr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Lr.unifiedFormatter=ZS});var fy=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.UnifiedLogTransport=void 0;var XS=ve(),hy=X(),eI=py(),tI=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,eI.unifiedFormatter)(r,n);fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":hy.Environment.instance.systemUserAgent,"zp-dn":hy.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ns,nd=class{static{o(this,"UnifiedLogTransport")}constructor(t){Ns||(Ns=new XS.BatchDispatch("unified-log-transport",1,tI(t)))}async log(t,r){Ns.enqueue(t),r.waitUntil(Ns.waitUntilFlushed())}};Cs.UnifiedLogTransport=nd});var wy=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.LogInitializer=void 0;var rI=Tr(),nI=yt(),my=Vu(),yy=X(),gy=_f(),iI=Dt(),oI=Ef(),by=wf(),_y=sy(),sI=ed(),aI=Is(),Ey=uy(),cI=dy(),uI=fy(),id=(0,rI.debug)("zuplo:logging"),od=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(yy.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(yy.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;id("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(my.SYSTEM_LOGGER);return i?n.push(new Ey.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new _y.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new uI.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new gy.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){id("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,s=this.serviceProvider.getService(my.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new Ey.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&r.push(new _y.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new cI.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new aI.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new sI.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return nI.plugins.forEach(a=>{a instanceof iI.LogPlugin&&r.push(a.getTransport())}),new gy.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,s){id("Gateway.createRequestLoggers");let a=new oI.LoggingContext(n,i,s),c=new by.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new by.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Ls.LogInitializer=od});var ad=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.UserRouteConfiguration=void 0;var sd=class{static{o(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ds.UserRouteConfiguration=sd});var ud=g(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.Router=vt.RouterError=vt.LookupResult=vt.RouterEntry=void 0;var vy=D(),lI=ot(),dI=ad(),Us=class{static{o(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};vt.RouterEntry=Us;var _i=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};vt.LookupResult=_i;var Ms=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};vt.RouterError=Ms;var cd=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof dI.UserRouteConfiguration||t instanceof lI.SystemRouteConfiguration))throw new vy.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let s=new URLPattern({pathname:i}),a=new Us(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Ms(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new vy.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new _i(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new _i(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};vt.Router=cd});var mn=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.Gateway=void 0;var pI=Tr(),Ty=Jh(),Sy=tf(),hI=rf(),Iy=nf(),Py=cf(),Ht=Xn(),ks=Sr(),Ay=bf(),St=D(),Ei=yt(),fI=wy(),mI=Nt(),yI=ue(),gI=$u(),bI=Qt(),_I=zr(),EI=ke(),wI=ud(),ld=ot(),Ry=ad(),vI=Be(),TI=No(),Oy=X(),xy=Or(),SI=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],Tt=(0,pI.debug)("zuplo:runtime"),II=o(e=>{let t=e.findIndex(r=>r.name===ld.systemNoVersion.name);return t>-1?[...e.splice(t),ld.systemNoVersion]:[...e,ld.systemNoVersion]},"setupSystemNoVersion"),dd=class e{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,Tt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new fI.LogInitializer(n)}static async initialize(t,r,n,i,s){if(Tt("Gateway.initialize"),!e.#e){await(0,Ei.initializeRuntime)(s);let a={...t,corsPolicies:(0,TI.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){Tt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new St.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[_I.policyProcessor,gI.corsProcessor,bI.metricsProcessor];#i;setupRoutes=()=>{Tt("Gateway.setupRoutes");let t=this.routeData,r=II(t.versions),n=new wI.Router(r);if(t.routes.length===0)return(0,Ty.registerBuildRoute)(n,this),(0,Py.registerPingRoute)(n,this),(0,Sy.registerCorsRoute)(n,this),(0,hI.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Ay.registerDevPortalLegacyRedirectRoute)(n,this),(0,Ay.registerDevPortalV3Route)(n,this)),(0,Ty.registerBuildRoute)(n,this),(0,Py.registerPingRoute)(n,this),(0,Sy.registerCorsRoute)(n,this);for(let s of Ei.plugins)s instanceof Ei.SystemRuntimePlugin&&s.registerRoutes(n,this);return t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new St.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new mI.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Ry.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Iy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new St.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return Tt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){Tt("Gateway.internalErrorResponse");let i={};if(Oy.Environment.instance.isDeno){if(n instanceof St.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,xy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,xy.cleanStack)(s.stack)),i={cause:s}}}return yI.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ht.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Oy.Environment.instance.isDeno&&Ht.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ht.REQUEST_ID_HEADER)??t.headers.get(Ht.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ht.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Ht.REQUEST_ID_HEADER,n),t=new Request(t,{headers:T})}if(["GET","HEAD"].includes(t.method)&&t.body){let T=new Headers(t.headers);T.set(Ht.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new St.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new ks.HeaderIncomingRequestProperties(t.headers),y=this.#s(t),h=new EI.ZuploRequest(y,{params:d.params}),m=new ks.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),w=ks.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===Iy.notFoundRouteConfiguration&&Ei.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);w.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof Ry.UserRouteConfiguration)}try{if(vI.SystemLogMap.addLogger(m,c),!u.pathname.startsWith("/__zuplo")){let F=await(0,Ei.invokeOnRequestExtensions)(h,m);if(F instanceof Response)return F;{let N=ks.ZuploContextExtensions.getContextExtensions(m);h=F,N.latestRequest=h}}[...SI,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(F=>new RegExp(F).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;PI(S,d,t),Tt("Gateway.handleRequest - call user handler");let L=await S(h,m);if(Tt("Gateway.handleRequest - user handler"),!(L instanceof Response))throw new St.RuntimeError(`Invalid Response type from the request handler: ${typeof L}`);if(L.bodyUsed)throw new St.RuntimeError("The response object has already been used. Return a new response instead.");if(L.headers.get(Ht.REQUEST_ID_HEADER)===null&&!L.webSocket){let F=new Headers(L.headers);return F.set(Ht.REQUEST_ID_HEADER,n),new Response(L.body,{status:L.status,statusText:L.statusText,headers:F,cf:L.cf})}else return L}catch(T){return Tt("Gateway - error executing handler",T),T instanceof St.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,m,T)}}};Hs.Gateway=dd;function PI(e,t,r){if(Tt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new St.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new St.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(PI,"checkHandler")});var Ny=g(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.invokeInboundPolicy=void 0;var AI=D(),RI=mn(),OI=zr(),xI=o(async(e,t,r)=>{let n=RI.Gateway.instance.routeData.policies,i=(0,OI.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new AI.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let s=i[0];return s.handler(t,r,s.options,e)},"invokeInboundPolicy");Fs.invokeInboundPolicy=xI});var Sr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Xn(),NI=D(),CI=Ny(),pd=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=pd;var hd=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=hd;var fd=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=fd;var wi=class e{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new NI.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let s of this.#r)i=await s(t,r,n);return i}};Xe.ZuploContextExtensions=wi;var md=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,CI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{wi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{wi.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=md});var Cy=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.ContextData=void 0;var yd=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};qs.ContextData=yd});var gd=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var LI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Ly(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!LI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(Ly,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=Ly;function Dy(e){return!!e.startsWith("ZUPLO_")}o(Dy,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=Dy;var DI=new Proxy({},{get(e,t){if(Ly(String(t))&&!Dy(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=DI});var bd=g(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.externalServiceHandler=yn.externalServiceTunnelConfig=void 0;var UI=Tr(),Dr=D(),MI=_d(),vi=X(),ut=(0,UI.debug)("zuplo:runtime:external-service");function My(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=vi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(My,"getServiceAuth");async function kI(e){let t=My();if(!t)throw ut("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let s;if(t.customServiceMapping&&t.customServiceMapping[n])s=`https://${t.customServiceMapping[n]}`;else if(vi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=vi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await ky(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(kI,"externalServiceTunnelConfig");yn.externalServiceTunnelConfig=kI;async function HI(e,t){let r=My();if(r)if(ut(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,s=t??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(vi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=vi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await ky(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`Calling external service: ${u.toString()}`);let l=await(0,MI.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Dr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.")}o(HI,"externalServiceHandler");yn.externalServiceHandler=HI;async function ky(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=FI(n);ut(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await Uy(`${s}-${i}`),l=await Uy(`${s}-${a}-${c}`);return`${u}.${l}`}o(ky,"hashServiceName");async function Uy(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(Uy,"hashSegment");function FI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(FI,"sanitizeEnvironmentType")});var _d=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.originalFetch=void 0;var qI=bd(),Hy=new Map;Hy.set("service:",qI.externalServiceHandler);gn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=$I(t);if(typeof e=="string"){let n=new URL(e),i=Hy.get(n.protocol);return i?i(e,r):(0,gn.originalFetch)(e,r)}else return(0,gn.originalFetch)(e,r)};var $I=o(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var $y=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.Handler=bn.purgeGatewayCache=void 0;var jI=D(),qy=mn(),Fy=X(),VI=o(()=>{qy.Gateway.purgeGatewayCache()},"purgeGatewayCache");bn.purgeGatewayCache=VI;var Ed=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeData=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Fy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await qy.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof jI.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Fy.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};bn.Handler=Ed});var By=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function GI(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",s=r+1;s<e.length;){var a=e.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(e[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;){if(e[s]==="\\"){u+=e[s++]+e[s++];continue}if(e[s]===")"){if(c--,c===0){s++;break}}else if(e[s]==="("&&(c++,e[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=e[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}o(GI,"lexer");function wd(e,t){t===void 0&&(t={});for(var r=GI(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(_n(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var me=d(ne);if(me!==void 0)return me;var Ge=r[u],E=Ge.type,H=Ge.index;throw new TypeError("Unexpected ".concat(E," at ").concat(H,", expected ").concat(ne))},"mustConsume"),y=o(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),w=d("PATTERN");if(m||w){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:T,suffix:"",pattern:w||s,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var L=d("OPEN");if(L){var T=y(),F=d("NAME")||"",N=d("PATTERN")||"",re=y();p("CLOSE"),a.push({name:F||(N?c++:""),pattern:F&&!N?s:N,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(wd,"parse");Re.parse=wd;function BI(e,t){return jy(wd(e,t),t)}o(BI,"compile");Re.compile=BI;function jy(e,t){t===void 0&&(t={});var r=vd(t),n=t.encode,i=n===void 0?function(u){return u}:n,s=t.validate,a=s===void 0?!0:s,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var y=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(y)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(y.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var w=0;w<y.length;w++){var T=i(y[w],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof y=="string"||typeof y=="number"){var T=i(String(y),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o(jy,"tokensToFunction");Re.tokensToFunction=jy;function KI(e,t){var r=[],n=Td(e,r,t);return Vy(n,r,t)}o(KI,"match");Re.match=KI;function Vy(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=e.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(y){if(a[y]===void 0)return"continue";var h=t[y-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[y].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[y],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Vy,"regexpToFunction");Re.regexpToFunction=Vy;function _n(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(_n,"escapeString");function vd(e){return e&&e.sensitive?"":"i"}o(vd,"flags");function JI(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}o(JI,"regexpToRegexp");function zI(e,t,r){var n=e.map(function(i){return Td(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),vd(r))}o(zI,"arrayToRegexp");function WI(e,t,r){return Gy(wd(e,r),t,r)}o(WI,"stringToRegexp");function Gy(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,y=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,w="[".concat(_n(m),"]|$"),T="[".concat(_n(y),"]"),S=a?"^":"",L=0,F=e;L<F.length;L++){var N=F[L];if(typeof N=="string")S+=_n(d(N));else{var re=_n(d(N.prefix)),ne=_n(d(N.suffix));if(N.pattern)if(t&&t.push(N),re||ne)if(N.modifier==="+"||N.modifier==="*"){var me=N.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(N.pattern,")(?:").concat(ne).concat(re,"(?:").concat(N.pattern,"))*)").concat(ne,")").concat(me)}else S+="(?:".concat(re,"(").concat(N.pattern,")").concat(ne,")").concat(N.modifier);else N.modifier==="+"||N.modifier==="*"?S+="((?:".concat(N.pattern,")").concat(N.modifier,")"):S+="(".concat(N.pattern,")").concat(N.modifier);else S+="(?:".concat(re).concat(ne,")").concat(N.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(w,")"):"$";else{var Ge=e[e.length-1],E=typeof Ge=="string"?T.indexOf(Ge[Ge.length-1])>-1:Ge===void 0;i||(S+="(?:".concat(T,"(?=").concat(w,"))?")),E||(S+="(?=".concat(T,"|").concat(w,")"))}return new RegExp(S,vd(r))}o(Gy,"tokensToRegexp");Re.tokensToRegexp=Gy;function Td(e,t,r){return e instanceof RegExp?JI(e,t):Array.isArray(e)?zI(e,t,r):WI(e,t,r)}o(Td,"pathToRegexp");Re.pathToRegexp=Td});var Ad=g(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.AwsV4Signer=En.AwsClient=void 0;var QI=Tr(),Wy=D(),YI=(0,QI.debug)("zuplo:runtime"),Id=new TextEncoder,Ky={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},ZI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Pd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new $s(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){YI("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(t,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Wy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};En.AwsClient=Pd;var $s=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:y,appendSessionToken:h,allHeaders:m,singleEncode:w}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=XI(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=y,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let L=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),L.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&L.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(N=>m||!ZI.includes(N)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(N=>N+":"+(N==="host"?this.url.host:(this.headers.get(N)||"").replace(/\s+/g," "))).join(`
|
|
60
|
+
`),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!L.has("X-Amz-Expires")&&L.set("X-Amz-Expires","86400"),L.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),L.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),L.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");w||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=zy(this.encodedPath);let F=new Set;this.encodedSearch=[...this.url.searchParams].filter(([N])=>{if(!N)return!1;if(this.service==="s3"){if(F.has(N))return!1;F.add(N)}return!0}).map(N=>N.map(re=>zy(encodeURIComponent(re)))).sort(([N,re],[ne,me])=>N<ne?-1:N>ne?1:re<me?-1:re>me?1:0).map(N=>N.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let t=this.datetime.slice(0,8),r=[this.secretAccessKey,t,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await Ti("AWS4"+this.secretAccessKey,t),s=await Ti(i,this.region),a=await Ti(s,this.service);n=await Ti(a,"aws4_request"),this.cache.set(r,n)}return Sd(await Ti(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Sd(await Jy(await this.canonicalString()))].join(`
|
|
61
61
|
`)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
|
|
62
62
|
`,this.signedHeaders,await this.hexBodyHash()].join(`
|
|
63
|
-
`)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new zy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Td(await Ky(this.body||""))}return t}};_n.AwsV4Signer=qs;async function vi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Sd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Sd.encode(t))}o(vi,"hmac");async function Ky(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Sd.encode(e):e)}o(Ky,"hash");function Td(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(Td,"buf2hex");function Jy(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Jy,"encodeRfc3986");function YI(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in By?[By[s],a]:[s,a]}o(YI,"guessServiceRegion")});var Wy=g(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.convertStringToUtf8Array=It.convertUtf8ArrayToString=It.base64Encode=It.base64Decode=void 0;function ZI(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}o(ZI,"b64ToUint6");function XI(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=ZI(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(XI,"base64Decode");It.base64Decode=XI;function $s(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o($s,"uint6ToB64");function eA(e){let t=2,r="",n=e.length,i=0;for(let s=0;s<n;s++)t=s%3,i|=e[s]<<(16>>>t&24),(t===2||e.length-s===1)&&(r+=String.fromCodePoint($s(i>>>18&63),$s(i>>>12&63),$s(i>>>6&63),$s(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(eA,"base64Encode");It.base64Encode=eA;function tA(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}o(tA,"convertUtf8ArrayToString");It.convertUtf8ArrayToString=tA;function rA(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)t=e.codePointAt(a),t<128?i[s++]=t:t<2048?(i[s++]=192+(t>>>6),i[s++]=128+(t&63)):t<65536?(i[s++]=224+(t>>>12),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63)):t<2097152?(i[s++]=240+(t>>>18),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):t<67108864?(i[s++]=248+(t>>>24),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):(i[s++]=252+(t>>>30),i[s++]=128+(t>>>24&63),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++),a++;return i}o(rA,"convertStringToUtf8Array");It.convertStringToUtf8Array=rA});var Qy=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.toCLFDate=void 0;function En(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(En,"numberToString");function nA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=En(Math.floor(r/60)),s=En(r%60);return`${n}${i}${s}`}o(nA,"getCLFOffset");function iA(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=En(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=En(e.getHours()),a=En(e.getMinutes()),c=En(e.getSeconds()),u=nA(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(iA,"toCLFDate");js.toCLFDate=iA});var ng=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var oA=Tr(),Yy=Gy(),Ti=L(),sA=Ct(),aA=Ad(),Xy=Wy(),eg=Qy(),Zy=(0,oA.debug)("zuplo:runtime"),cA="X-Amzn-Trace-Id",uA="x-amzn-errortype",tg=[],lA=o(async(e,t,r)=>{let n=r;for await(let i of tg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Ti.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(cA)??void 0,this.errorType=r.get(uA)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{tg.push(e)}};async function dA(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Ti.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ti.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ti.ConfigurationError("region is not set in the handler options");if(!s)throw new Ti.ConfigurationError("functionName is not set in the handler options");let l=new aA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Zy(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,y]=await fA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=hA(e,t):m=await pA(e,t,{useAwsResourcePathStyle:c}),Zy("Calling onSendingAwsLambdaEvent hook");let v=await lA(e,t,m);v.body=p,v.isBase64Encoded=y;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return rg(T)}catch(S){if(S instanceof Ke){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return sA.HttpProblems.internalServerError(e,t,void 0,k)}throw S}}o(dA,"awsLambdaHandler");hr.awsLambdaHandler=dA;async function rg(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Xy.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(rg,"getResponse");hr.getResponse=rg;async function pA(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=e.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,eg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:yA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(pA,"buildEventVersion1");function hA(e,t){let r={};e.headers.forEach((s,a)=>{r[a]=s});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,eg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(hA,"buildEventVersion2");async function fA(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&mA(t,i)){let s=await e.arrayBuffer();r=(0,Xy.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(fA,"getBodyResult");function mA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(mA,"matchesContentType");function yA(e,t=!1){if(!t)return e;let r=(0,Yy.parse)(e),n=(0,Yy.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(yA,"getResourcePath")});var vn=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.getHandlerUserLogFunction=wn.logBadGatewayResponses=void 0;var gA=Be(),bA=ee(),_A=[502,503,504];async function EA(e,t){if(_A.includes(e.status)){let r=gA.SystemLogMap.getLogger(t),i=await e.clone().text(),s={};for(let[a,c]of e.headers)s[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:s})}}o(EA,"logBadGatewayResponses");wn.logBadGatewayResponses=EA;var Pd;function wA(e){if(Pd===void 0){let r=bA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Pd=r}return e.log[Pd]}o(wA,"getHandlerUserLogFunction");wn.getHandlerUserLogFunction=wA});var og=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.openApiSpecHandler=void 0;var ig=L(),vA=ue(),Rd=ee(),TA=vn();async function SA(e,t){let r=Rd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Rd.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new ig.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=IA(s);if(!a.isValid)throw new ig.ConfigurationError(a.error);let c;Rd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return vA.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,TA.logBadGatewayResponses)(l,t),l}o(SA,"openApiSpecHandler");Vs.openApiSpecHandler=SA;var IA=o(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var sg=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.redirectHandler=void 0;var AA=L();async function PA(e,t){let r=t.route.handler.options;if(!r.location)throw new AA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(PA,"redirectHandler");Gs.redirectHandler=PA});var cg=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.urlForwardHandler=void 0;var RA=L(),ag=vn();function OA(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}o(OA,"join");async function xA(e,t){let r=(0,ag.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new RA.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,s),u=OA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),y=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${y}ms`),(0,ag.logBadGatewayResponses)(p,t),p}o(xA,"urlForwardHandler");Bs.urlForwardHandler=xA});var lg=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.urlRewriteHandler=void 0;var NA=L(),ug=vn(),CA=o((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function LA(e,t){let r=(0,ug.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new NA.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?CA(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,ug.logBadGatewayResponses)(d,t),d}o(LA,"urlRewriteHandler");Ks.urlRewriteHandler=LA});var pg=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.webSocketHandler=void 0;var dg=L(),DA=gd(),UA=Ct(),MA=ee(),kA=vn();async function HA(e,t){let r=MA.Environment.instance,n=t.route.handler.options,i=(0,kA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new dg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return UA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new dg.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,DA.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let y=JSON.stringify({url:c});return new Response(y,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(y)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(HA,"webSocketHandler");Js.webSocketHandler=HA});var hg=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.webSocketPolicyProcessor=Tn.getWebSocketPolicyFunctions=void 0;var FA=L(),qA=o((e,t)=>e.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new FA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Tn.getWebSocketPolicyFunctions=qA;var $A=o(async(e,t,r,n,i,s)=>{let a=e.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");Tn.webSocketPolicyProcessor=$A});var mg=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.webSocketPipelineHandler=void 0;var Od=L(),jA=Ct(),VA=ee(),GA=vn(),xd=hg();function fg(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),t.send(JSON.stringify(s))}),e.addEventListener("message",s=>{try{o(async c=>{let u=await(0,xd.webSocketPolicyProcessor)(c,e,t,r,n,i);u!==void 0&&t.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(fg,"wireUpListeners");async function BA(e,t){let r=VA.Environment.instance,n=t.route.handler.options,i=(0,GA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Od.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return jA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Od.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new Od.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let S=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(k)}let d=new WebSocketPair,[p,y]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),y.accept();let v=n.policies&&n.policies.inbound?(0,xd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,xd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return fg(y,m,e,t,v),fg(m,y,e,t,T),new Response(null,{status:101,webSocket:p})}o(BA,"webSocketPipelineHandler");zs.webSocketPipelineHandler=BA});var yg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.DynaTraceLoggingPlugin=void 0;var KA=ve(),Nd=ee(),JA=Or(),zA=Lt(),WA=bt(),Cd=class extends zA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ld(this.options)}};Ws.DynaTraceLoggingPlugin=Cd;var Ld=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Nd.Environment.instance.loggingEnvironmentType,this.#i=Nd.Environment.instance.loggingEnvironmentStage,this.#r=Nd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,WA.stringifyNonString)((0,JA.serializeError)(n)),severity:t.level,"log.source":t.logSource,requestId:t.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":t.loggingId,"custom.rayId":t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async t=>{t.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new KA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var gg=g(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.LokiLoggingPlugin=void 0;var QA=ve(),Dd=ee(),YA=Or(),ZA=Lt(),XA=bt(),Ud=class extends ZA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new kd(this.options)}};Qs.LokiLoggingPlugin=Ud;var Md=class{static{o(this,"LokiStream")}constructor(t,r,n,i,s){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function eP(e,t){return btoa(`${e}:${t}`)}o(eP,"createBasicDigest");var kd=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=eP(t.username,t.password),this.#n=Dd.Environment.instance.loggingEnvironmentType,this.#i=Dd.Environment.instance.loggingEnvironmentStage,this.#r=Dd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new Md(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,XA.stringifyNonString)((0,YA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new QA.BatchDispatch("loki-log-transport",10,this.#s)}});var bg=g(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.SumoLogicLoggingPlugin=void 0;var tP=ve(),Hd=ee(),rP=Or(),nP=Lt(),iP=bt(),Fd=class extends nP.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new qd(this.options)}};Ys.SumoLogicLoggingPlugin=Fd;var qd=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Hd.Environment.instance.loggingEnvironmentType,this.#n=Hd.Environment.instance.loggingEnvironmentStage,this.#t=Hd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,iP.stringifyNonString)((0,rP.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
|
|
64
|
-
`),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new
|
|
65
|
-
`),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new
|
|
63
|
+
`)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Wy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Sd(await Jy(this.body||""))}return t}};En.AwsV4Signer=$s;async function Ti(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Id.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Id.encode(t))}o(Ti,"hmac");async function Jy(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Id.encode(e):e)}o(Jy,"hash");function Sd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(Sd,"buf2hex");function zy(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(zy,"encodeRfc3986");function XI(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in Ky?[Ky[s],a]:[s,a]}o(XI,"guessServiceRegion")});var Qy=g(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.convertStringToUtf8Array=It.convertUtf8ArrayToString=It.base64Encode=It.base64Decode=void 0;function eP(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}o(eP,"b64ToUint6");function tP(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=eP(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(tP,"base64Decode");It.base64Decode=tP;function js(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(js,"uint6ToB64");function rP(e){let t=2,r="",n=e.length,i=0;for(let s=0;s<n;s++)t=s%3,i|=e[s]<<(16>>>t&24),(t===2||e.length-s===1)&&(r+=String.fromCodePoint(js(i>>>18&63),js(i>>>12&63),js(i>>>6&63),js(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(rP,"base64Encode");It.base64Encode=rP;function nP(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}o(nP,"convertUtf8ArrayToString");It.convertUtf8ArrayToString=nP;function iP(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)t=e.codePointAt(a),t<128?i[s++]=t:t<2048?(i[s++]=192+(t>>>6),i[s++]=128+(t&63)):t<65536?(i[s++]=224+(t>>>12),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63)):t<2097152?(i[s++]=240+(t>>>18),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):t<67108864?(i[s++]=248+(t>>>24),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):(i[s++]=252+(t>>>30),i[s++]=128+(t>>>24&63),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++),a++;return i}o(iP,"convertStringToUtf8Array");It.convertStringToUtf8Array=iP});var Yy=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.toCLFDate=void 0;function wn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(wn,"numberToString");function oP(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=wn(Math.floor(r/60)),s=wn(r%60);return`${n}${i}${s}`}o(oP,"getCLFOffset");function sP(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=wn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=wn(e.getHours()),a=wn(e.getMinutes()),c=wn(e.getSeconds()),u=oP(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(sP,"toCLFDate");Vs.toCLFDate=sP});var ig=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var aP=Tr(),Zy=By(),Si=D(),cP=Ct(),uP=Ad(),eg=Qy(),tg=Yy(),Xy=(0,aP.debug)("zuplo:runtime"),lP="X-Amzn-Trace-Id",dP="x-amzn-errortype",rg=[],pP=o(async(e,t,r)=>{let n=r;for await(let i of rg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Si.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(lP)??void 0,this.errorType=r.get(dP)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{rg.push(e)}};async function hP(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Si.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Si.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Si.ConfigurationError("region is not set in the handler options");if(!s)throw new Si.ConfigurationError("functionName is not set in the handler options");let l=new uP.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Xy(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,y]=await yP(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=mP(e,t):m=await fP(e,t,{useAwsResourcePathStyle:c}),Xy("Calling onSendingAwsLambdaEvent hook");let w=await pP(e,t,m);w.body=p,w.isBase64Encoded=y;let T=await l.fetch(d,{body:JSON.stringify(w)});try{return ng(T)}catch(S){if(S instanceof Ke){let L=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return cP.HttpProblems.internalServerError(e,t,void 0,L)}throw S}}o(hP,"awsLambdaHandler");hr.awsLambdaHandler=hP;async function ng(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,eg.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(ng,"getResponse");hr.getResponse=ng;async function fP(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=e.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,tg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:bP(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(fP,"buildEventVersion1");function mP(e,t){let r={};e.headers.forEach((s,a)=>{r[a]=s});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,tg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(mP,"buildEventVersion2");async function yP(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&gP(t,i)){let s=await e.arrayBuffer();r=(0,eg.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(yP,"getBodyResult");function gP(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(gP,"matchesContentType");function bP(e,t=!1){if(!t)return e;let r=(0,Zy.parse)(e),n=(0,Zy.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(bP,"getResourcePath")});var Tn=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.getHandlerUserLogFunction=vn.logBadGatewayResponses=void 0;var _P=Be(),EP=X(),wP=[502,503,504];async function vP(e,t){if(wP.includes(e.status)){let r=_P.SystemLogMap.getLogger(t),i=await e.clone().text(),s={};for(let[a,c]of e.headers)s[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:s})}}o(vP,"logBadGatewayResponses");vn.logBadGatewayResponses=vP;var Rd;function TP(e){if(Rd===void 0){let r=EP.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Rd=r}return e.log[Rd]}o(TP,"getHandlerUserLogFunction");vn.getHandlerUserLogFunction=TP});var sg=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.openApiSpecHandler=void 0;var og=D(),SP=ue(),Od=X(),IP=Tn();async function PP(e,t){let r=Od.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Od.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new og.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=AP(s);if(!a.isValid)throw new og.ConfigurationError(a.error);let c;Od.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return SP.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,IP.logBadGatewayResponses)(l,t),l}o(PP,"openApiSpecHandler");Gs.openApiSpecHandler=PP;var AP=o(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var ag=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.redirectHandler=void 0;var RP=D();async function OP(e,t){let r=t.route.handler.options;if(!r.location)throw new RP.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(OP,"redirectHandler");Bs.redirectHandler=OP});var ug=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.urlForwardHandler=void 0;var xP=D(),cg=Tn();function NP(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}o(NP,"join");async function CP(e,t){let r=(0,cg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new xP.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,s),u=NP(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),y=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${y}ms`),(0,cg.logBadGatewayResponses)(p,t),p}o(CP,"urlForwardHandler");Ks.urlForwardHandler=CP});var dg=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.urlRewriteHandler=void 0;var LP=D(),lg=Tn(),DP=o((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function UP(e,t){let r=(0,lg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new LP.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?DP(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,lg.logBadGatewayResponses)(d,t),d}o(UP,"urlRewriteHandler");Js.urlRewriteHandler=UP});var hg=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.webSocketHandler=void 0;var pg=D(),MP=bd(),kP=Ct(),HP=X(),FP=Tn();async function qP(e,t){let r=HP.Environment.instance,n=t.route.handler.options,i=(0,FP.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new pg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return kP.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new pg.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,MP.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let y=JSON.stringify({url:c});return new Response(y,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(y)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(qP,"webSocketHandler");zs.webSocketHandler=qP});var fg=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.webSocketPolicyProcessor=Sn.getWebSocketPolicyFunctions=void 0;var $P=D(),jP=o((e,t)=>e.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new $P.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Sn.getWebSocketPolicyFunctions=jP;var VP=o(async(e,t,r,n,i,s)=>{let a=e.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");Sn.webSocketPolicyProcessor=VP});var yg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.webSocketPipelineHandler=void 0;var xd=D(),GP=Ct(),BP=X(),KP=Tn(),Nd=fg();function mg(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),t.send(JSON.stringify(s))}),e.addEventListener("message",s=>{try{o(async c=>{let u=await(0,Nd.webSocketPolicyProcessor)(c,e,t,r,n,i);u!==void 0&&t.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(mg,"wireUpListeners");async function JP(e,t){let r=BP.Environment.instance,n=t.route.handler.options,i=(0,KP.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new xd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return GP.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new xd.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new xd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let S=await l.text(),L=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(L)}let d=new WebSocketPair,[p,y]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),y.accept();let w=n.policies&&n.policies.inbound?(0,Nd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,Nd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return mg(y,m,e,t,w),mg(m,y,e,t,T),new Response(null,{status:101,webSocket:p})}o(JP,"webSocketPipelineHandler");Ws.webSocketPipelineHandler=JP});var gg=g(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.DynaTraceLoggingPlugin=void 0;var zP=ve(),Cd=X(),WP=Or(),QP=Dt(),YP=bt(),Ld=class extends QP.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Dd(this.options)}};Qs.DynaTraceLoggingPlugin=Ld;var Dd=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Cd.Environment.instance.loggingEnvironmentType,this.#i=Cd.Environment.instance.loggingEnvironmentStage,this.#r=Cd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,YP.stringifyNonString)((0,WP.serializeError)(n)),severity:t.level,"log.source":t.logSource,requestId:t.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":t.loggingId,"custom.rayId":t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async t=>{t.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new zP.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var bg=g(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.LokiLoggingPlugin=void 0;var ZP=ve(),Ud=X(),XP=Or(),eA=Dt(),tA=bt(),Md=class extends eA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Hd(this.options)}};Ys.LokiLoggingPlugin=Md;var kd=class{static{o(this,"LokiStream")}constructor(t,r,n,i,s){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function rA(e,t){return btoa(`${e}:${t}`)}o(rA,"createBasicDigest");var Hd=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=rA(t.username,t.password),this.#n=Ud.Environment.instance.loggingEnvironmentType,this.#i=Ud.Environment.instance.loggingEnvironmentStage,this.#r=Ud.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new kd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,tA.stringifyNonString)((0,XP.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new ZP.BatchDispatch("loki-log-transport",10,this.#s)}});var _g=g(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.SumoLogicLoggingPlugin=void 0;var nA=ve(),Fd=X(),iA=Or(),oA=Dt(),sA=bt(),qd=class extends oA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new $d(this.options)}};Zs.SumoLogicLoggingPlugin=qd;var $d=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Fd.Environment.instance.loggingEnvironmentType,this.#n=Fd.Environment.instance.loggingEnvironmentStage,this.#t=Fd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,sA.stringifyNonString)((0,iA.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
|
|
64
|
+
`),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new nA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var wg=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.VMWareLogInsightTransport=In.VMWareLogInsightLoggingPlugin=void 0;var aA=D(),cA=ve(),jd=X(),uA=Dt(),Eg=bt(),lA="d3a5b78f-8236-48f5-b1df-4fe269d41172",Vd=class extends uA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Xs(this.options)}};In.VMWareLogInsightLoggingPlugin=Vd;var Xs=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new aA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=jd.Environment.instance.loggingEnvironmentType,this.#n=jd.Environment.instance.loggingEnvironmentStage,this.#t=jd.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;async log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,Eg.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,Eg.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${lA}`,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8"}});if(r.status!==200)try{let n=await r.text();console.error("Error logging to Log Insight",n)}catch(n){console.error(n)}};batcher=new cA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};In.VMWareLogInsightTransport=Xs});var Tg=g(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.AWSLogTransport=Pn.AWSLoggingPlugin=void 0;var dA=ve(),vg=X(),pA=Or(),hA=Dt(),fA=bt(),mA=Ad(),Gd=class extends hA.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ea(this.options)}};Pn.AWSLoggingPlugin=Gd;var ea=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new dA.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new mA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=vg.Environment.instance.loggingEnvironmentType,this.environment=vg.Environment.instance.deploymentName}async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,fA.stringifyNonString)((0,pA.serializeError)(n)),severity:t.level,source:t.logSource,environment:this.environment,requestId:t.requestId,environmentType:this.environmentType,rayId:t.rayId===null?void 0:t.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};Pn.AWSLogTransport=ea});var Sg=g(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var yA=ed();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return yA.DataDogLoggingPlugin}});var gA=gg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return gA.DynaTraceLoggingPlugin}});var bA=Is();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return bA.GoogleCloudLoggingPlugin}});var _A=bg();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return _A.LokiLoggingPlugin}});var EA=_g();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return EA.SumoLogicLoggingPlugin}});var wA=wg();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return wA.VMWareLogInsightLoggingPlugin}});var vA=Tg();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return vA.AWSLoggingPlugin}})});var Ig=g(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.DataDogMetricsError=fr.DataDogMetricsTransport=fr.DataDogMetricsPlugin=void 0;var TA=Be(),SA=ve(),IA=wo(),Bd=new WeakMap,PA={tags:[]},Kd=class extends IA.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ta(this.options)}static setContext(t,r){let n=Bd.get(t);n||(n=PA);let i=Object.assign({...n},r);Bd.set(t,i)}};fr.DataDogMetricsPlugin=Kd;var ta=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new SA.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,TA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(Bd.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let s=t.systemRouteName||t.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new ra(await n.text())}};fr.DataDogMetricsTransport=ta;var ra=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};fr.DataDogMetricsError=ra});var Pg=g(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DynaTraceMetricsError=mr.DynaTraceMetricsTransport=mr.DynatraceMetricsPlugin=void 0;var AA=Be(),RA=ve(),OA=wo(),Jd=new WeakMap,xA={dimensions:[]},zd=class extends OA.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new na(this.options)}static setContext(t,r){let n=Jd.get(t);n||(n=xA);let i=Object.assign({...n},r);Jd.set(t,i)}};mr.DynatraceMetricsPlugin=zd;var na=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new RA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,AA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(Jd.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
|
|
65
|
+
`),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new ia(await n.text())}};mr.DynaTraceMetricsTransport=na;var ia=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=ia});var Ag=g(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.DynatraceMetricsPlugin=An.DataDogMetricsPlugin=void 0;var NA=Ig();Object.defineProperty(An,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return NA.DataDogMetricsPlugin}});var CA=Pg();Object.defineProperty(An,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return CA.DynatraceMetricsPlugin}})});var Rg=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.AuditLogDataStaxProvider=void 0;var Wd=class{static{o(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};oa.AuditLogDataStaxProvider=Wd});var xg=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.AuditLogPlugin=void 0;var LA=yt(),DA=ve(),Qd=class extends LA.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new Yd(t,this.#e,this.#t)}};sa.AuditLogPlugin=Qd;var Og=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),UA={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Yd=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...UA};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,t.addRequestHook(this.#o),this.#r=new DA.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?Og(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:t.status,statusText:t.statusText,headers:this.#e.include?.response?.headers?Og(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,s=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(y=>{r.log.error(y)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var Ng=g(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.StripeSignatureVerificationError=Rn.StripeError=void 0;var aa=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(t={}){super(t.message),this.type=this.constructor.name,this.raw=t,this.rawType=t.type,this.code=t.code,this.doc_url=t.doc_url,this.param=t.param,this.detail=t.detail,this.headers=t.headers,this.requestId=t.requestId,this.statusCode=t.statusCode,this.message=t.message,this.charge=t.charge,this.decline_code=t.decline_code,this.payment_intent=t.payment_intent,this.payment_method=t.payment_method,this.payment_method_type=t.payment_method_type,this.setup_intent=t.setup_intent,this.source=t.source}};Rn.StripeError=aa;var Zd=class extends aa{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Rn.StripeSignatureVerificationError=Zd});var Lg=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.computeHMACSignatureAsync=On.constructEventAsync=void 0;var Ur=Ng(),MA="v1",kA=300;async function HA(e,t,r,n=kA,i){return await qA(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}o(HA,"constructEventAsync");On.constructEventAsync=HA;function FA(e,t){return`${t.timestamp}.${e}`}o(FA,"makeHMACContent");async function qA(e,t,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=$A(e,t,MA),l=/\s/.test(r),d=await Cg(FA(a,c),r);return jA(a,s,c,d,n,u,l,i)}o(qA,"verifyHeaderAsync");function $A(e,t,r){if(!e)throw new Ur.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),s=e instanceof Uint8Array?i.decode(e):e;if(Array.isArray(t))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(t==null||t=="")throw new Ur.StripeSignatureVerificationError(t,e,{message:"No stripe-signature header value was provided."});let a=t instanceof Uint8Array?i.decode(t):t,c=VA(a,r);if(!c||c.timestamp===-1)throw new Ur.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new Ur.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o($A,"parseEventDetails");function jA(e,t,r,n,i,s,a,c){let u=!!r.signatures.filter(y=>GA(y,n)).length,l=`
|
|
66
66
|
Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
|
|
67
67
|
|
|
68
68
|
Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw s?new Ur.StripeSignatureVerificationError(t,e,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
|
|
@@ -71,17 +71,17 @@ Signature verification is impossible without access to the original signed mater
|
|
|
71
71
|
`+d}):new Ur.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
|
|
72
72
|
If a webhook request is being forwarded by a third-party tool, ensure that the exact request body, including JSON formatting and new line style, is preserved.
|
|
73
73
|
`+l+`
|
|
74
|
-
`+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new Ur.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}o(qP,"validateComputedSignature");function $P(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o($P,"parseHeader");function jP(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}o(jP,"secureCompare");async function Ng(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=Zd[s[c]];return a.join("")}o(Ng,"computeHMACSignatureAsync");Rn.computeHMACSignatureAsync=Ng;var Zd=new Array(256);for(let e=0;e<Zd.length;e++)Zd[e]=e.toString(16).padStart(2,"0")});var Ht=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.optionValidator=void 0;var Si=L();function VP(e,t){let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new Si.ConfigurationError(`Value of '${String(s)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new Si.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Si.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Si.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new Si.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(VP,"optionValidator");aa.optionValidator=VP});var Xd=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.StripeWebhookInboundPolicy=void 0;var GP=ue(),BP=Cg(),KP=Ht(),JP=o(async(e,t,r,n)=>{(0,KP.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let s=await e.clone().text();await(0,BP.constructEventAsync)(s,i,r.signingSecret)}catch(s){return t.log.error("Error validating stripe webhook",s),GP.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:s.message})}return e},"StripeWebhookInboundPolicy");ca.StripeWebhookInboundPolicy=JP});var Lg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.MeteringPlugin=void 0;var zP=yt(),ep=class extends zP.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};ua.MeteringPlugin=ep});var Dg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.StripeMeteringPlugin=void 0;var WP=Nt(),QP=Xd(),YP=ue(),ZP=Wt(),XP=Jr(),eR=Ru(),tR=ot(),rR=Lg(),tp=class extends rR.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=o(async(c,u)=>this.options.testMode?"success":YP.HttpProblems.ok(c,u),"stripeWebhookHandler"),i=(0,XP.createInternalPolicyProcessor)({inboundPolicies:[{handler:QP.StripeWebhookInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),s=new WP.Pipeline({processors:[ZP.metricsProcessor,i],handler:n,gateway:r}),a=new tR.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["POST"],path:"/__zuplo/stripe-webhooks",systemRouteName:eR.SystemRouteName.StripePlugin});t.addRoute(a,s.execute)}};la.StripeMeteringPlugin=tp});var Fg=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.AmberfloMeteringInboundPolicy=On.AmberfloMeteringPolicy=void 0;var Ug=L(),nR=ve(),Mg=ti(),Hg=new WeakMap,kg={},rp=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Hg.set(t,r)}};On.AmberfloMeteringPolicy=rp;async function iR(e,t,r,n){if(!r.statusCodes)throw new Ug.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Mg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=Hg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new Ug.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Mg.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},y=kg[r.apiKey];if(!y){let h=r.apiKey,m=e.headers.get("zm-test-id")??"";y=new nR.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),kg[h]=y}y.enqueue(p),t.waitUntil(y.waitUntilFlushed())}}),e}o(iR,"AmberfloMeteringInboundPolicy");On.AmberfloMeteringInboundPolicy=iR});var np=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.sha256=void 0;async function oR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(oR,"sha256");da.sha256=oR});var Ft=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.getPolicyCacheName=void 0;var sR=np(),qg=new Map;async function aR(e,t){let r,n=qg.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,sR.sha256)(JSON.stringify({policyName:e,options:t}))}`,qg.set(e,r)),r}o(aR,"getPolicyCacheName");pa.getPolicyCacheName=aR});var ap=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.ApiKeyInboundPolicy=void 0;var cR=Ft(),uR=Bt(),$g=yd(),ip=L(),lR=Ct(),op=Be(),sp=ee(),dR=vs(),jg="key-metadata-cache-type";function pR(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(pR,"getKeyValue");async function hR(e,t,r,n){if(!r.bucketName)if($g.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=$g.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new ip.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new ip.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?e:lR.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=pR(a,i);if(!c||c==="")return s("No key present");let u=await fR(c),l=await(0,cR.getPolicyCacheName)(n,i),d=new uR.MemoryZoneReadThroughCache(l,{logger:op.SystemLogMap.getLogger(t)}),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==jg&&op.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let y={key:c},h=await(0,dR.fetchRetry)({retryDelayMs:5,retries:2,logger:op.SystemLogMap.getLogger(t)},`${sp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":sp.Environment.instance.deploymentName??"unknown","User-Agent":sp.Environment.instance.systemUserAgent},body:JSON.stringify(y)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);t.log.error("Unexpected response from key service",S)}catch{t.log.error("Invalid response from key service")}throw new ip.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),v={isValid:!0,typeId:jg,user:{sub:m.name,data:m.metadata}};return e.user=v.user,d.put(u,v,i.cacheTtlSeconds),e}o(hR,"ApiKeyInboundPolicy");ha.ApiKeyInboundPolicy=hR;async function fR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(fR,"hashValue")});var Vg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.ApiAuthKeyInboundPolicy=void 0;var mR=ap();fa.ApiAuthKeyInboundPolicy=mR.ApiKeyInboundPolicy});var qt=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.OpenIdJwtInboundPolicy=void 0;var up=(Es(),Yi(_s)),lp=L(),yR=ue(),cp={},gR=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new lp.ConfigurationError("Invalid State - jwkUrl not set");cp[t.jwkUrl]||(cp[t.jwkUrl]=(0,up.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,up.jwtVerify)(e,cp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),bR=o(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let s=new TextEncoder().encode(t.secret);r=new Uint8Array(s)}else r=t.secret;let{payload:n}=await(0,up.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),_R=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(y=>yR.HttpProblems.unauthorized(e,t,{detail:y}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new lp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new lp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?gR:bR,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let y=i.substring(s.length);if(!y||y.length===0)return a("No bearer token on authorization header");try{return await c(y,r)}catch(h){let m=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${m.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${m.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");ma.OpenIdJwtInboundPolicy=_R});var Gg=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.Auth0JwtInboundPolicy=void 0;var ER=qt(),wR=o(async(e,t,r,n)=>(0,ER.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");ya.Auth0JwtInboundPolicy=wR});var Bg=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.BasicAuthInboundPolicy=void 0;var vR=ue(),TR=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>vR.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let y=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(v=>v.username===y&&v.password===h);return m||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");ga.BasicAuthInboundPolicy=TR});var Kg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.CachingInboundPolicy=void 0;var SR=Ft(),IR=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function AR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(AR,"digestMessage");var PR=o(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await AR(JSON.stringify(n)),s=new URL(e.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function RR(e,t,r,n){let i=await(0,SR.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await PR(e,r),u=await s.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let y=r?.expirationSecondsTtl??60,h=new Response(p.body,p);IR.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${y}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(RR,"CachingInboundPolicy");ba.CachingInboundPolicy=RR});var Jg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.ChangeMethodInboundPolicy=void 0;var OR=L(),xR=ke(),NR=o(async(e,t,r,n)=>{if(!r.method)throw new OR.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new xR.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");_a.ChangeMethodInboundPolicy=NR});var zg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.ClearHeadersInboundPolicy=void 0;var CR=ke(),LR=o(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new CR.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ea.ClearHeadersInboundPolicy=LR});var Wg=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.ClearHeadersOutboundPolicy=void 0;var DR=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");wa.ClearHeadersOutboundPolicy=DR});var Qg=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.ClerkJwtInboundPolicy=void 0;var UR=qt(),MR=o(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,UR.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");va.ClerkJwtInboundPolicy=MR});var Zg=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.CognitoJwtInboundPolicy=void 0;var Yg=L(),kR=qt(),HR=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new Yg.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Yg.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,kR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");Ta.CognitoJwtInboundPolicy=HR});var eb=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.CompositeInboundPolicy=void 0;var FR=L(),qR=fn(),Xg=Jr(),$R=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new FR.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=qR.Gateway.instance,s=(0,Xg.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Xg.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");Sa.CompositeInboundPolicy=$R});var rb=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.CreditsMeteringInboundPolicy=void 0;var Ii=ue(),tb=ee(),jR=o(async(e,t,r)=>{let n=e.user;if(!n)return Ii.HttpProblems.unauthorized(e,t,{title:"Unable to check subscription for anonymous user",detail:"No user data on request"});let{sub:i}=n;if(!r.bucketId)return Ii.HttpProblems.unauthorized(e,t,{title:"Metering bucket not configured",detail:"Specify one using the bucketId option on the policy"});let s=r.bucketId,a=await VR(s,i,t);if(!a)return Ii.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return Ii.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return Ii.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});return t.custom.subscription=a,t.addResponseSendingFinalHook(async()=>{let c=t.custom.meters,u={};for(let l of Object.keys(c))u[l]=c[l];await GR(s,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");Ia.CreditsMeteringInboundPolicy=jR;async function VR(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=tb.Environment.instance,s=new URL(`${i}/internal/v1/metering/${e}/subscriptions`);s.search=new URLSearchParams({customerRef:t,status:"active"}).toString();let a=await fetch(s,{method:"GET",headers:{Authorization:`Bearer ${n}`}});if(!a.ok)throw new Error(`Error retrieving subscriptions for credits metering ': ${a.status} - ${await a.text()}`);let c=await a.json();if(c.data.length!==0)return c.data.length>1&&r.log.warn(`Found more than one active subscription for customer ${t} -- using the first one.`),c.data[0]}o(VR,"getSubscription");async function GR(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:s}=tb.Environment.instance,a=new URL(`${s}/internal/v1/metering/${e}/subscriptions/${t}/quotas/consume`),c=await fetch(a,{method:"POST",body:JSON.stringify({meters:r}),headers:{Authorization:`Bearer ${i}`}});c.ok||n.log.error(`Error consuming subscription quotas for credits metering ': ${c.status} - ${await c.text()}`)}o(GR,"consumeSubscription")});var nb=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.CurityPhantomTokenInboundPolicy=void 0;var BR=Ft(),KR=Bt(),Aa=ue(),JR=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Aa.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=zR(i);if(!s)return Aa.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,BR.getPolicyCacheName)(n,r),c=new KR.MemoryZoneReadThroughCache(a,t),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),Aa.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Aa.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Pa.CurityPhantomTokenInboundPolicy=JR;function zR(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(zR,"getToken")});var ib=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.FirebaseJwtInboundPolicy=void 0;var WR=Ht(),QR=qt(),YR=o(async(e,t,r,n)=>((0,WR.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,QR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");Ra.FirebaseJwtInboundPolicy=YR});var ob=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.FormDataToJsonInboundPolicy=void 0;var ZR=ke(),XR=o(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=e.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new ZR.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Oa.FormDataToJsonInboundPolicy=XR});var sb=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.GeoFilterInboundPolicy=void 0;var e0=L(),t0=ue(),xn="__unknown__",r0=o(async(e,t,r,n)=>{let i={allow:{countries:Cn(r.allow?.countries,"allow.countries",n),regionCodes:Cn(r.allow?.regionCodes,"allow.regionCode",n),asns:Cn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Cn(r.block?.countries,"block.countries",n),regionCodes:Cn(r.block?.regionCodes,"block.regionCode",n),asns:Cn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??xn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??xn,c=t.incomingRequestProperties.asn?.toString()??xn,u=i.ignoreUnknown&&s===xn,l=i.ignoreUnknown&&a===xn,d=i.ignoreUnknown&&c===xn,p=i.allow.countries,y=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||y.length>0&&!y.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Nn(e,t,n,s,a,c);let m=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return m.length>0&&m.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Nn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");xa.GeoFilterInboundPolicy=r0;function Nn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),t0.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Nn,"blockedResponse");function Cn(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new e0.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Cn,"toLowerStringArray")});var ab=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.JWTScopeValidationInboundPolicy=void 0;var n0=o(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Na.JWTScopeValidationInboundPolicy=n0});var ub=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.MockApiInboundPolicy=void 0;var i0=ue(),o0=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return dp(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return dp(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(y=>{a.push({responseName:c,contentName:l,exampleName:y,exampleValue:d[y]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return cb(a[c])}else return a.length>0?cb(a[0]):dp(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");Ca.MockApiInboundPolicy=o0;function cb(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}o(cb,"generateResponse");var dp=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return i0.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var fb=g(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.MoesifInboundPolicy=Ln.setMoesifContext=void 0;var s0=L(),a0=ve(),c0="Incoming",u0={logRequestBody:!0,logResponseBody:!0};function lb(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(lb,"headersToObject");function db(){return new Date().toISOString()}o(db,"timestamp");var pp=new WeakMap,l0={};function d0(e,t){let r=pp.get(e);r||(r=l0);let n=Object.assign({...r},t);pp.set(e,n)}o(d0,"setMoesifContext");Ln.setMoesifContext=d0;async function pb(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o(pb,"readBody");var p0={},hp;function hb(){if(!hp)throw new s0.RuntimeError("Invalid State - no _lastLogger");return hp}o(hb,"getLastLogger");function h0(e){let t=p0[e];return t||(t=new a0.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);hb().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":e},body:n});i.ok||hb().error({status:i.status,body:await i.text()})})),t}o(h0,"getDispatcher");async function f0(e,t,r,n){hp=t.log;let i=db(),s=Object.assign(u0,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await pb(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=h0(s.applicationId),d=e.headers.get("true-client-ip"),p=pp.get(t)??{},y={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:lb(e.headers)},h=s.logResponseBody?await pb(c,t):void 0,m={time:db(),status:c.status,headers:lb(c.headers),body:h},v={request:y,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:c0};l.enqueue(v),t.waitUntil(l.waitUntilFlushed())}),e}o(f0,"MoesifInboundPolicy");Ln.MoesifInboundPolicy=f0});var mb=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.OktaJwtInboundPolicy=void 0;var m0=qt(),y0=o(async(e,t,r,n)=>(0,m0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");La.OktaJwtInboundPolicy=y0});var yb=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.PropelAuthJwtInboundPolicy=void 0;var g0=(Es(),Yi(_s)),b0=qt(),fp,_0=o(async(e,t,r,n)=>{if(!fp)try{fp=await(0,g0.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,b0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:fp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Da.PropelAuthJwtInboundPolicy=_0});var gb=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var $e=Yt(),et=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var Ai=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Ai;var Pi=class extends et{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Pi;function E0(e,t){if((0,$e.isUndefined)(e))throw new Ai(t)}o(E0,"throwIfUndefined");G.throwIfUndefined=E0;function mp(e,t){if((0,$e.isUndefinedOrNull)(e))throw new Ai(t)}o(mp,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=mp;function w0(e,t){if(mp(e,t),!(0,$e.isString)(e))throw new Pi(t,"string")}o(w0,"throwIfNotString");G.throwIfNotString=w0;function v0(e,t){if(mp(e,t),!(0,$e.isNumber)(e))throw new Pi(t,"number")}o(v0,"throwIfNotNumber");G.throwIfNotNumber=v0;var Ri=class extends et{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Ri;var Dn=class extends et{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=Dn;function T0(e,t,r,n){if((0,$e.isUndefined)(n))throw new Ri(e,t,r)}o(T0,"throwIfOptionUndefined");G.throwIfOptionUndefined=T0;function Ua(e,t,r,n){if((0,$e.isUndefinedOrNull)(n))throw new Ri(e,t,r)}o(Ua,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Ua;function S0(e,t,r,n){if(Ua(e,t,r,n),!(0,$e.isString)(n))throw new Dn(e,t,r,"string")}o(S0,"throwIfOptionNotString");G.throwIfOptionNotString=S0;function I0(e,t,r,n){if(Ua(e,t,r,n),!(0,$e.isNumber)(n))throw new Dn(e,t,r,"number")}o(I0,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=I0;function A0(e,t,r,n){if(Ua(e,t,r,n),!(0,$e.isObject)(n))throw new Dn(e,t,r,"object")}o(A0,"throwIfOptionNotObject");G.throwIfOptionNotObject=A0;function P0(e,t){if((0,$e.isUndefined)(e))throw new et(t)}o(P0,"throwIfStateUndefined");G.throwIfStateUndefined=P0;function Ma(e,t){if((0,$e.isUndefinedOrNull)(e))throw new et(t)}o(Ma,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Ma;function R0(e,t){if(Ma(e,t),!(0,$e.isString)(e))throw new et(t);return!0}o(R0,"throwIfStateNotString");G.throwIfStateNotString=R0;function O0(e,t){if(Ma(e,t),!(0,$e.isNumber)(e))throw new et(t);return!0}o(O0,"throwIfStateNotNumber");G.throwIfStateNotNumber=O0;function x0(e,t){if(Ma(e,t),!(0,$e.isObject)(e))throw new et(t);return!0}o(x0,"throwIfStateNotObject");G.throwIfStateNotObject=x0});var bb=g(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.InMemoryRedisClient=Un.StandardRedisClient=void 0;var yp=L(),ka=gb(),gp=class e{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,ka.throwIfNotString)(t,"redisClientUrl"),(0,ka.throwIfNotString)(r,"clientAuthToken"),e.instance||(e.instance=new e(t,r,n,i)),e.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:t,body:r,method:n,requestId:i}){(0,ka.throwIfNotString)(t,"url");let s=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new yp.SystemError("Redis client failed with 401: Unauthorized"):new yp.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Un.StandardRedisClient=gp;var bp=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,ka.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new yp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Un.InMemoryRedisClient=bp});var Tb=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.RateLimitInboundPolicy=void 0;var N0=Tr(),C0=Ft(),L0=ro(),$t=L(),D0=ue(),_b=Be(),Oi=ee(),Eb=bb(),wb=Yt(),Ha=(0,N0.debug)("zuplo:policies:RateLimitInboundPolicy"),U0="strict",M0=o(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),k0=o(async e=>({key:`ip-${M0(e)}`}),"getIP"),H0=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),F0=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Fa;function q0(e,t){let r;if(Fa)return Fa;if(Oi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Eb.InMemoryRedisClient,Fa=r,r;let{authApiJWT:n,redisURL:i}=Oi.Environment.instance;if(!(0,wb.isString)(i))throw new $t.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,wb.isString)(n))throw new $t.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Eb.StandardRedisClient.initialize(i,n,Oi.Environment.instance.deploymentName??"unknown",Oi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new $t.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Fa=r,r}o(q0,"getRedisClient");async function vb(e,t,r,n,i){let s=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:e}),requestId:i})}o(vb,"getCountAndUpdateExpiry");function $0(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new $t.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new $t.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new $t.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new $t.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new $t.RuntimeError(u)}return c},"outerFunction")}o($0,"wrapUserFunction");var j0="Retry-After",V0=o(async(e,t,r,n)=>{let i=Date.now(),s=_b.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new $t.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[j0]=l.toString()),D0.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:$0(r,n),user:H0,ip:k0,all:F0}[r.rateLimitBy],d=await l(e,t,n),p=d.key,y=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",v=q0(n,s),S=`bucket/${Oi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??U0)==="async"){let C=await(0,C0.getPolicyCacheName)(n,r),re=new L0.ZoneCache(C,{logger:_b.SystemLogMap.getLogger(t)}),ne=vb(S,h,v,s,t.requestId),me=await re.get(S);if(me!==void 0&&me<=Date.now()){Ha(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Ge=Math.round((me-Date.now())/1e3);return c(m,Ge)}return t.addEventListener("responseSending",Ge=>{try{let E=Ge,H=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>y){let Zc=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,Zc,Ce.ttlSeconds).catch(oh=>{throw s.error(oh),oh}),Ha(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(m,Ce.ttlSeconds)}return H})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let j=await vb(S,h,v,s,t.requestId);return j.count>y?(Ha(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(m,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Ha(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");qa.RateLimitInboundPolicy=V0});var Pb=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.ReadmeMetricsInboundPolicy=void 0;var G0=ve(),_p=ee(),Sb=ti(),Ep;function Ib(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(Ib,"headersToNameValuePairs");function B0(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(B0,"queryToNameValueParis");function K0(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(K0,"parseIntOrUndefined");var Ab={};async function J0(e,t,r,n){let i=new Date,s=Date.now();return Ep||(Ep={name:"zuplo",version:_p.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${_p.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,Sb.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,Sb.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:_p.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Ep,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:Ib(e.headers),queryString:B0(e.query)},response:{status:a.status,statusText:a.statusText,headers:Ib(a.headers),content:{size:K0(e.headers.get("content-length"))}}}]}}},d=Ab[r.apiKey];if(!d){let p=r.apiKey;d=new G0.BatchDispatch("readme-metering-inbound-policy",10,async y=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(y),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),Ab[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(J0,"ReadmeMetricsInboundPolicy");$a.ReadmeMetricsInboundPolicy=J0});var Rb=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.RemoveHeadersInboundPolicy=void 0;var z0=L(),W0=ke(),Q0=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new z0.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(e.headers);return i.forEach(c=>{s.delete(c)}),new W0.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");ja.RemoveHeadersInboundPolicy=Q0});var Ob=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.RemoveHeadersOutboundPolicy=void 0;var Y0=L(),Z0=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new Y0.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return s.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Va.RemoveHeadersOutboundPolicy=Z0});var xb=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.RemoveQueryParamsInboundPolicy=void 0;var X0=L(),eO=ke(),tO=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new X0.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(e.url);return i.forEach(c=>{s.searchParams.delete(c)}),new eO.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");Ga.RemoveQueryParamsInboundPolicy=tO});var Nb=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.ReplaceStringOutboundPolicy=void 0;var rO=o(async(e,t,r,n)=>{let i=await e.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Ba.ReplaceStringOutboundPolicy=rO});var Lb=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.RequestSizeLimitInboundPolicy=void 0;var Cb=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),nO=o(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?Cb():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?Cb():e},"RequestSizeLimitInboundPolicy");Ka.RequestSizeLimitInboundPolicy=nO});var Ja=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function iO(e,t,r){return`_${Mr(e+"_"+t+"_"+r)}`}o(iO,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=iO;function oO(e,t,r,n){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(oO,"getIdForParameterSchema");tt.getIdForParameterSchema=oO;function sO(e,t,r){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Mr(r.toLowerCase())}`}o(sO,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=sO;function aO(e,t){return`_${Mr(e)}__${Mr(t)}`}o(aO,"getIdForRefSchema");tt.getIdForRefSchema=aO;function Mr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}o(Mr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Mr});var xi=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var cO=fn(),uO=Ja(),lO=o(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=lO;var dO=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{if(u.required&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,uO.getIdForParameterSchema)(r,n,i,u.name),d=cO.Gateway.instance.schemaValidator[l],p=d(t[u.name]),y=(0,Le.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${y.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Le.validateParameters=dO;var pO=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=pO;var hO=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=hO;var fO=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=fO;var mO=o(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=mO});var Db=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.handleBodyValidation=void 0;var yO=fn(),za=ue(),gO=Ja(),Je=xi();async function bO(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let m=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,v=za.HttpProblems.badRequest(t,e,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",m,[n],h),(0,Je.shouldReject)(r.validateBody))return v}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,m=za.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,gO.getIdForRequestBodySchema)(e.route.path,t.method,i),c=yO.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,m=za.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),y=za.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return y}o(bO,"handleBodyValidation");Wa.handleBodyValidation=bO});var Ub=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.handleHeadersValidation=void 0;var _O=ue(),Ni=xi();function EO(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ni.getParametersForOperation)(e),s=(0,Ni.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=_O.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Ni.shouldLog)(r.validateHeaders)&&(0,Ni.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Ni.shouldReject)(r.validateHeaders))return c}}o(EO,"handleHeadersValidation");Qa.handleHeadersValidation=EO});var Mb=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.handlePathParameterValidation=void 0;var wO=ue(),Ci=xi();function vO(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Ci.getParametersForOperation)(e),i=(0,Ci.validateParameters)(n.filter(s=>s.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=wO.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ci.shouldLog)(r.validatePathParameters)&&(0,Ci.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ci.shouldReject)(r.validatePathParameters))return a}}o(vO,"handlePathParameterValidation");Ya.handlePathParameterValidation=vO});var kb=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.handleQueryParameterValidation=void 0;var TO=ue(),Li=xi();function SO(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Li.getParametersForOperation)(e),i=(0,Li.validateParameters)(n.filter(s=>s.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=TO.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Li.shouldLog)(r.validateQueryParameters)&&(0,Li.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Li.shouldReject)(r.validateQueryParameters))return a}}o(SO,"handleQueryParameterValidation");Za.handleQueryParameterValidation=SO});var Hb=g(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.SchemaBasedRequestValidation=kr.RequestValidationInboundPolicy=void 0;var IO=Db(),AO=Ub(),PO=Mb(),RO=kb(),OO=o(async(e,t,r)=>{let n=(0,RO.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,PO.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,AO.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,IO.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");kr.RequestValidationInboundPolicy=OO;kr.SchemaBasedRequestValidation=kr.RequestValidationInboundPolicy});var Fb=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.RequireOriginInboundPolicy=void 0;var xO=L(),NO=ue(),CO=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new xO.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=e.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return NO.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");Xa.RequireOriginInboundPolicy=CO});var qb=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.SetBodyInboundPolicy=void 0;var LO=ke(),DO=o(async(e,t,r)=>new LO.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");ec.SetBodyInboundPolicy=DO});var jb=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.SetHeadersInboundPolicy=void 0;var $b=L(),UO=ke(),MO=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new $b.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new $b.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new UO.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");tc.SetHeadersInboundPolicy=MO});var Gb=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.SetHeadersOutboundPolicy=void 0;var Vb=L(),kO=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new Vb.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new Vb.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");rc.SetHeadersOutboundPolicy=kO});var Kb=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.SetQueryParamsInboundPolicy=void 0;var Bb=L(),HO=ke(),FO=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new Bb.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new Bb.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new HO.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");nc.SetQueryParamsInboundPolicy=FO});var Jb=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.SetStatusOutboundPolicy=void 0;var qO=o(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");ic.SetStatusOutboundPolicy=qO});var zb=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.SleepInboundPolicy=void 0;var $O=L(),jO=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),VO=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new $O.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await jO(r.sleepInMs),e},"SleepInboundPolicy");oc.SleepInboundPolicy=VO});var Qb=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.SupabaseJwtInboundPolicy=void 0;var Wb=L(),GO=ue(),BO=ke(),KO=Ht(),JO=qt(),zO=o(async(e,t,r,n)=>{(0,KO.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,JO.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof BO.ZuploRequest))throw new Wb.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=e.user?.data.app_metadata;if(!c)throw new Wb.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?GO.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");sc.SupabaseJwtInboundPolicy=zO});var Zb=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var WO=Ft(),QO=Bt(),Yb=L(),YO=Be(),ZO=vs(),XO=Ht(),ex=o(async(e,t,r,n)=>{(0,XO.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,WO.getPolicyCacheName)(n,r),s=new QO.MemoryZoneReadThroughCache(i,{logger:YO.SystemLogMap.getLogger(t)}),a=await s.get(n);if(!a){let c=await tx(r,t);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");ac.UpstreamAzureAdServiceAuthInboundPolicy=ex;async function tx(e,t){let r=new URLSearchParams({client_id:e.activeDirectoryClientId,scope:`${e.activeDirectoryClientId}/.default`,client_secret:e.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,ZO.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();t.log.error("Could not get token from Azure AD",s)}catch{}throw new Yb.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new Yb.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(tx,"getAccessToken")});var e_=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var rx=Ft(),nx=Bt(),ix=L(),ox=Be(),wp=dn(),sx=Ht(),Xb="https://accounts.google.com/o/oauth2/token",vp,ax=o(async(e,t,r,n)=>{(0,sx.optionValidator)(r,n).required("serviceAccountJson","string"),vp||(vp=await wp.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,rx.getPolicyCacheName)(n,r),a=new nx.MemoryZoneReadThroughCache(s,{logger:ox.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,wp.getTokenFromGcpServiceAccount)({serviceAccount:vp,audience:Xb,payload:i}),l=await(0,wp.exchangeGgpJwtForIdToken)(Xb,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new ix.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");cc.UpstreamFirebaseAdminAuthInboundPolicy=ax});var t_=g(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var cx=Ft(),ux=Bt(),Mn=L(),lx=Be(),dx=np(),Tp=dn(),px=ti(),hx=Ht(),fx="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",mx=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Sp,yx=o(async(e,t,r,n)=>{if((0,hx.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Mn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(mx.indexOf(p)!==-1)throw new Mn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Sp||(Sp=await Tp.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new Mn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Mn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,px.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Mn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,cx.getPolicyCacheName)(n,r),c=new ux.MemoryZoneReadThroughCache(a,{logger:lx.SystemLogMap.getLogger(t)}),u={uid:s,claims:i},l=await(0,dx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Tp.getTokenFromGcpServiceAccount)({serviceAccount:Sp,audience:fx,payload:u}),y=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Tp.exchangeFirebaseJwtForIdToken)(y,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Mn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");uc.UpstreamFirebaseUserAuthInboundPolicy=yx});var n_=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.UpstreamGcpJwtInboundPolicy=void 0;var r_=dn(),gx=Ht(),Ip,bx=o(async(e,t,r,n)=>{(0,gx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Ip||(Ip=await r_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,r_.getTokenFromGcpServiceAccount)({serviceAccount:Ip,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");lc.UpstreamGcpJwtInboundPolicy=bx});var o_=g(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.UpstreamGcpServiceAuthInboundPolicy=void 0;var _x=Ft(),Ex=ou(),wx=Bt(),vx=L(),Ap=dn(),Tx=Ht(),i_="https://www.googleapis.com/oauth2/v4/token",Pp,Sx=o(async(e,t,r,n)=>{(0,Tx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Pp||(Pp=await Ap.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,_x.getPolicyCacheName)(n,r),s;r.useMemoryCacheOnly?s=new Ex.MemoryCache(i):s=new wx.MemoryZoneReadThroughCache(i,t);let a=await s.get(n);if(!a){let c=await(0,Ap.getTokenFromGcpServiceAccount)({serviceAccount:Pp,audience:i_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,Ap.exchangeGgpJwtForIdToken)(i_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new vx.RuntimeError("Invalid token response from GCP");a=u,s.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");dc.UpstreamGcpServiceAuthInboundPolicy=Sx});var a_=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.ValidateJsonSchemaInbound=void 0;var Ix=L(),s_=ue(),Ax=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return s_.HttpProblems.badRequest(e,t,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return e;let{errors:a}=r.validator;if(!a)throw new Ix.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return s_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");pc.ValidateJsonSchemaInbound=Ax});var c_=g(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.ServiceProviderImpl=void 0;var Px=L(),Rp=class e{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return e.#e||(e.#e=new e),e.#e}setInstance(t){e.#e=t}addService(t,r){if(this.services.get(t))throw new Px.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};hc.ServiceProviderImpl=Rp});var __=g(f=>{"use strict";var Rx=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Op=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Rx(t,e,r)},Ox=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CreditsMeteringInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=void 0;dh();var xx=Bt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return xx.MemoryZoneReadThroughCache}});var Nx=ro();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return Nx.ZoneCache}});var u_=Sr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return u_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return u_.ResponseSentEvent}});var Cx=Ny();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return Cx.ContextData}});var xp=yd();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return xp.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return xp.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return xp.isZuploReadableEnvVariableName}});var Lx=L();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return Lx.ConfigurationError}});var Dx=bd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return Dx.originalFetch}});var l_=qy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return l_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return l_.purgeGatewayCache}});var d_=ng();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return d_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return d_.awsLambdaHandler}});var Ux=og();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return Ux.openApiSpecHandler}});var Mx=sg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return Mx.redirectHandler}});var kx=cg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return kx.urlForwardHandler}});var Hx=lg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return Hx.urlRewriteHandler}});var Fx=pg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return Fx.webSocketHandler}});var qx=mg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return qx.webSocketPipelineHandler}});var $x=Ou();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return $x.HttpStatusCode}});Op(Tg(),f);Op(Ag(),f);var jx=Pg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return jx.AuditLogDataStaxProvider}});var Vx=Og();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return Vx.AuditLogPlugin}});Op(Dg(),f);var p_=Fg();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return p_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return p_.AmberfloMeteringPolicy}});var Gx=Vg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Gx.ApiAuthKeyInboundPolicy}});var Bx=ap();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return Bx.ApiKeyInboundPolicy}});var Kx=Gg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return Kx.Auth0JwtInboundPolicy}});var Jx=Bg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Jx.BasicAuthInboundPolicy}});var zx=Kg();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return zx.CachingInboundPolicy}});var Wx=Jg();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return Wx.ChangeMethodInboundPolicy}});var Qx=zg();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return Qx.ClearHeadersInboundPolicy}});var Yx=Wg();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Yx.ClearHeadersOutboundPolicy}});var Zx=Qg();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return Zx.ClerkJwtInboundPolicy}});var Xx=Zg();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Xx.CognitoJwtInboundPolicy}});var eN=eb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return eN.CompositeInboundPolicy}});var tN=rb();Object.defineProperty(f,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return tN.CreditsMeteringInboundPolicy}});var rN=nb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return rN.CurityPhantomTokenInboundPolicy}});var nN=ib();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return nN.FirebaseJwtInboundPolicy}});var iN=ob();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return iN.FormDataToJsonInboundPolicy}});var oN=sb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return oN.GeoFilterInboundPolicy}});var sN=ab();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return sN.JWTScopeValidationInboundPolicy}});var aN=ub();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return aN.MockApiInboundPolicy}});var h_=fb();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return h_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return h_.setMoesifContext}});var cN=mb();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return cN.OktaJwtInboundPolicy}});var uN=qt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return uN.OpenIdJwtInboundPolicy}});var lN=yb();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return lN.PropelAuthJwtInboundPolicy}});var f_=Tb();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return f_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return f_.RateLimitInboundPolicy}});var dN=Pb();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return dN.ReadmeMetricsInboundPolicy}});var pN=Rb();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return pN.RemoveHeadersInboundPolicy}});var hN=Ob();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return hN.RemoveHeadersOutboundPolicy}});var fN=xb();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return fN.RemoveQueryParamsInboundPolicy}});var mN=Nb();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return mN.ReplaceStringOutboundPolicy}});var yN=Lb();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return yN.RequestSizeLimitInboundPolicy}});var m_=Hb();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return m_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return m_.SchemaBasedRequestValidation}});var gN=Fb();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return gN.RequireOriginInboundPolicy}});var bN=qb();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return bN.SetBodyInboundPolicy}});var _N=jb();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return _N.SetHeadersInboundPolicy}});var EN=Gb();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return EN.SetHeadersOutboundPolicy}});var wN=Kb();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return wN.SetQueryParamsInboundPolicy}});var vN=Jb();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return vN.SetStatusOutboundPolicy}});var TN=zb();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return TN.SleepInboundPolicy}});var SN=Xd();Object.defineProperty(f,"StripeWebhookInboundPolicy",{enumerable:!0,get:function(){return SN.StripeWebhookInboundPolicy}});var IN=Qb();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return IN.SupabaseJwtInboundPolicy}});var AN=Zb();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return AN.UpstreamAzureAdServiceAuthInboundPolicy}});var PN=e_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return PN.UpstreamFirebaseAdminAuthInboundPolicy}});var RN=t_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return RN.UpstreamFirebaseUserAuthInboundPolicy}});var ON=n_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return ON.UpstreamGcpJwtInboundPolicy}});var xN=o_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return xN.UpstreamGcpServiceAuthInboundPolicy}});var NN=a_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return NN.ValidateJsonSchemaInbound}});var CN=ue();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return CN.HttpProblems}});var LN=po();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return LN.ProblemResponseFormatter}});var DN=ke();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return DN.ZuploRequest}});var UN=Ar();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return UN.SystemRouteName}});var y_=cd();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return y_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return y_.Router}});var g_=Eu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return g_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return g_.serialize}});var MN=c_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return MN.ServiceProviderImpl}});var b_=ju();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return b_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return b_.SYSTEM_LOGGER}});var kN=Nu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return Ox(kN).default}});var HN=Be();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return HN.SystemLogMap}});var Di=Ja();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Di.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Di.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Di.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Di.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Di.sanitizedIdentifierName}})});var E_=g(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.BaseCryptoBeta=kn.supportedDigests=void 0;kn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Np=class{static{o(this,"BaseCryptoBeta")}};kn.BaseCryptoBeta=Np});var w_=g(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.WorkerCryptoBeta=void 0;var Cp=E_(),FN=L(),Lp=class extends Cp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!Cp.supportedDigests.includes(t.toLowerCase()))throw new FN.RuntimeError(`Algorithm ${t} is not supported. Try using ${Cp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};fc.WorkerCryptoBeta=Lp});var v_=g(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.BaseKeyValueStore=void 0;var Dp=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};mc.BaseKeyValueStore=Dp});var S_=g(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.WorkerKeyValueStore=void 0;var T_=L(),qN=v_(),Up=class extends qN.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new T_.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new T_.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};yc.WorkerKeyValueStore=Up});var Ct=g(lt=>{"use strict";var $N=lt&<.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),jN=lt&<.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&$N(t,e,r)};Object.defineProperty(lt,"__esModule",{value:!0});lt.KeyValueStore=lt.CryptoBeta=void 0;jN(__(),lt);var VN=w_();Object.defineProperty(lt,"CryptoBeta",{enumerable:!0,get:function(){return VN.WorkerCryptoBeta}});var GN=S_();Object.defineProperty(lt,"KeyValueStore",{enumerable:!0,get:function(){return GN.WorkerKeyValueStore}})});var YC={};Qi(YC,{GraphQLComplexityLimitInboundPolicy:()=>rE,GraphQLDisableIntrospectionInboundPolicy:()=>iE});module.exports=Yi(YC);var Wn=ah(Ct());function B(e,t){if(!!!e)throw new Error(t)}o(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}o(Ee,"isObjectLike");function At(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(At,"invariant");var BN=/\r\n|[\n\r]/g;function Hn(e,t){let r=0,n=1;for(let i of e.body.matchAll(BN)){if(typeof i.index=="number"||At(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(Hn,"getLocation");function Mp(e){return gc(e.source,Hn(e.source,e.start))}o(Mp,"printLocation");function gc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
75
|
-
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let y=Math.floor(u/80),h=u%80,m=[];for(let
|
|
76
|
-
`)}o(
|
|
74
|
+
`+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new Ur.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}o(jA,"validateComputedSignature");function VA(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(VA,"parseHeader");function GA(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}o(GA,"secureCompare");async function Cg(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=Xd[s[c]];return a.join("")}o(Cg,"computeHMACSignatureAsync");On.computeHMACSignatureAsync=Cg;var Xd=new Array(256);for(let e=0;e<Xd.length;e++)Xd[e]=e.toString(16).padStart(2,"0")});var Ft=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.optionValidator=void 0;var Ii=D();function BA(e,t){let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new Ii.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(BA,"optionValidator");ca.optionValidator=BA});var ep=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.StripeWebhookInboundPolicy=void 0;var KA=ue(),JA=Lg(),zA=Ft(),WA=o(async(e,t,r,n)=>{(0,zA.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let s=await e.clone().text();await(0,JA.constructEventAsync)(s,i,r.signingSecret)}catch(s){return t.log.error("Error validating stripe webhook",s),KA.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:s.message})}return e},"StripeWebhookInboundPolicy");ua.StripeWebhookInboundPolicy=WA});var Dg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.MeteringPlugin=void 0;var QA=yt(),tp=class extends QA.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};la.MeteringPlugin=tp});var Mg=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.StripeMeteringPlugin=void 0;var YA=D(),ZA=Nt(),XA=ep(),Mr=ue(),eR=Qt(),tR=zr(),rR=Ou(),nR=ot(),iR=X(),Ug=Lt(),oR=Dg(),sR=["customer.subscription.created","customer.subscription.deleted","customer.subscription.paused","customer.subscription.resumed","customer.subscription.updated"],rp=class extends oR.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=o(async(c,u)=>{if(this.options.testMode)return"success";let{bucketId:l}=this.options;if(!l)throw new YA.ConfigurationError("StripeMeteringPlugin - No bucketName property provided");let{authApiJWT:d,meteringServiceUrl:p}=iR.Environment.instance,y=await c.json();try{aR(y)}catch{return Mr.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."})}if(!sR.includes(y.type))return Mr.HttpProblems.ok(c,u,{detail:"Event was ignored by Stripe metering plugin webhook."});let h=y.data?.object?.id;if(!h)return Mr.HttpProblems.badRequest(c,u,{detail:"Invalid Stripe Webhook event. Expected '.data.object.id' to be the subscription ID."});let m=y.data?.object?.items?.data.find(L=>L.object==="subscription_item");if(!m||!m.id)return Mr.HttpProblems.badRequest(c,u,{detail:"Invalid Stripe Webhook event. Expected '.data.object.items.data[]' to contain a subscription_item."});let w=m.plan;if(!w||!w.product)return Mr.HttpProblems.badRequest(c,u,{detail:"Invalid Stripe Webhook event. Expected '.data.object.items.data[].plan'."});let T={status:"active",type:"periodic",renewalStrategy:"monthly",customerKey:"luis-tester",productKey:"routes.oas.json",planProviderKey:w.product,subscriptionProviderKey:h,region:this.options.bucketRegion??"us-central1"},S=await fetch(`${p}/internal/v1/metering/${l}/subscriptions`,{headers:{Authorization:`Bearer ${d}`,"Content-Type":"application/json"},method:"POST",body:JSON.stringify(T)});if(S.status!==200){let L="Unknown error creating subscription",F;try{F=await S.json(),L=F.detail??F.title??L}catch{}return u.log.error(L,F),Mr.HttpProblems.internalServerError(c,u,{detail:L})}return Mr.HttpProblems.ok(c,u)},"stripeWebhookHandler"),i=(0,tR.createInternalPolicyProcessor)({inboundPolicies:[{handler:XA.StripeWebhookInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),s=new ZA.Pipeline({processors:[eR.metricsProcessor,i],handler:n,gateway:r}),a=new nR.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__zuplo/stripe-webhooks",systemRouteName:rR.SystemRouteName.StripePlugin});t.addRoute(a,s.execute)}};da.StripeMeteringPlugin=rp;function aR(e){if(!(e!==null&&typeof e=="object"&&"id"in e&&(0,Ug.isString)(e.id)&&"type"in e&&(0,Ug.isString)(e.type)))throw new Error("Object is not a stripe webhook event")}o(aR,"assertsStripeWebhookEvent")});var $g=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.AmberfloMeteringInboundPolicy=xn.AmberfloMeteringPolicy=void 0;var kg=D(),cR=ve(),Hg=ri(),qg=new WeakMap,Fg={},np=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){qg.set(t,r)}};xn.AmberfloMeteringPolicy=np;async function uR(e,t,r,n){if(!r.statusCodes)throw new kg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Hg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=qg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new kg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Hg.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},y=Fg[r.apiKey];if(!y){let h=r.apiKey,m=e.headers.get("zm-test-id")??"";y=new cR.BatchDispatch("amberflo-ingest-meter",10,async w=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(w),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),Fg[h]=y}y.enqueue(p),t.waitUntil(y.waitUntilFlushed())}}),e}o(uR,"AmberfloMeteringInboundPolicy");xn.AmberfloMeteringInboundPolicy=uR});var ip=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.sha256=void 0;async function lR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(lR,"sha256");pa.sha256=lR});var qt=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.getPolicyCacheName=void 0;var dR=ip(),jg=new Map;async function pR(e,t){let r,n=jg.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,dR.sha256)(JSON.stringify({policyName:e,options:t}))}`,jg.set(e,r)),r}o(pR,"getPolicyCacheName");ha.getPolicyCacheName=pR});var cp=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.ApiKeyInboundPolicy=void 0;var hR=qt(),fR=Kt(),Vg=gd(),op=D(),mR=Ct(),sp=Be(),ap=X(),yR=Ts(),Gg="key-metadata-cache-type";function gR(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(gR,"getKeyValue");async function bR(e,t,r,n){if(!r.bucketName)if(Vg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Vg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new op.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new op.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?e:mR.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=gR(a,i);if(!c||c==="")return s("No key present");let u=await _R(c),l=await(0,hR.getPolicyCacheName)(n,i),d=new fR.MemoryZoneReadThroughCache(l,{logger:sp.SystemLogMap.getLogger(t)}),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Gg&&sp.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let y={key:c},h=await(0,yR.fetchRetry)({retryDelayMs:5,retries:2,logger:sp.SystemLogMap.getLogger(t)},`${ap.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":ap.Environment.instance.deploymentName??"unknown","User-Agent":ap.Environment.instance.systemUserAgent},body:JSON.stringify(y)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);t.log.error("Unexpected response from key service",S)}catch{t.log.error("Invalid response from key service")}throw new op.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),w={isValid:!0,typeId:Gg,user:{sub:m.name,data:m.metadata}};return e.user=w.user,d.put(u,w,i.cacheTtlSeconds),e}o(bR,"ApiKeyInboundPolicy");fa.ApiKeyInboundPolicy=bR;async function _R(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(_R,"hashValue")});var Bg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.ApiAuthKeyInboundPolicy=void 0;var ER=cp();ma.ApiAuthKeyInboundPolicy=ER.ApiKeyInboundPolicy});var $t=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.OpenIdJwtInboundPolicy=void 0;var lp=(ws(),Zi(Es)),dp=D(),wR=ue(),up={},vR=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new dp.ConfigurationError("Invalid State - jwkUrl not set");up[t.jwkUrl]||(up[t.jwkUrl]=(0,lp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,lp.jwtVerify)(e,up[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),TR=o(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let s=new TextEncoder().encode(t.secret);r=new Uint8Array(s)}else r=t.secret;let{payload:n}=await(0,lp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),SR=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(y=>wR.HttpProblems.unauthorized(e,t,{detail:y}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new dp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new dp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?vR:TR,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let y=i.substring(s.length);if(!y||y.length===0)return a("No bearer token on authorization header");try{return await c(y,r)}catch(h){let m=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${m.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${m.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");ya.OpenIdJwtInboundPolicy=SR});var Kg=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.Auth0JwtInboundPolicy=void 0;var IR=$t(),PR=o(async(e,t,r,n)=>(0,IR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");ga.Auth0JwtInboundPolicy=PR});var Jg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.BasicAuthInboundPolicy=void 0;var AR=ue(),RR=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>AR.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let y=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(w=>w.username===y&&w.password===h);return m||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");ba.BasicAuthInboundPolicy=RR});var zg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.CachingInboundPolicy=void 0;var OR=qt(),xR=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function NR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(NR,"digestMessage");var CR=o(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await NR(JSON.stringify(n)),s=new URL(e.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function LR(e,t,r,n){let i=await(0,OR.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await CR(e,r),u=await s.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let y=r?.expirationSecondsTtl??60,h=new Response(p.body,p);xR.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${y}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(LR,"CachingInboundPolicy");_a.CachingInboundPolicy=LR});var Wg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.ChangeMethodInboundPolicy=void 0;var DR=D(),UR=ke(),MR=o(async(e,t,r,n)=>{if(!r.method)throw new DR.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new UR.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Ea.ChangeMethodInboundPolicy=MR});var Qg=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.ClearHeadersInboundPolicy=void 0;var kR=ke(),HR=o(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new kR.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");wa.ClearHeadersInboundPolicy=HR});var Yg=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.ClearHeadersOutboundPolicy=void 0;var FR=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");va.ClearHeadersOutboundPolicy=FR});var Zg=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.ClerkJwtInboundPolicy=void 0;var qR=$t(),$R=o(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,qR.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Ta.ClerkJwtInboundPolicy=$R});var eb=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.CognitoJwtInboundPolicy=void 0;var Xg=D(),jR=$t(),VR=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new Xg.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Xg.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,jR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");Sa.CognitoJwtInboundPolicy=VR});var rb=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.CompositeInboundPolicy=void 0;var GR=D(),BR=mn(),tb=zr(),KR=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new GR.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=BR.Gateway.instance,s=(0,tb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,tb.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");Ia.CompositeInboundPolicy=KR});var ib=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.CreditsMeteringInboundPolicy=void 0;var Pi=ue(),nb=X(),JR=o(async(e,t,r)=>{let n=e.user;if(!n)return Pi.HttpProblems.unauthorized(e,t,{title:"Unable to check subscription for anonymous user",detail:"No user data on request"});let{sub:i}=n;if(!r.bucketId)return Pi.HttpProblems.unauthorized(e,t,{title:"Metering bucket not configured",detail:"Specify one using the bucketId option on the policy"});let s=r.bucketId,a=await zR(s,i,t);if(!a)return Pi.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return Pi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return Pi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});return t.custom.subscription=a,t.addResponseSendingFinalHook(async()=>{let c=t.custom.meters,u={};for(let l of Object.keys(c))u[l]=c[l];await WR(s,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");Pa.CreditsMeteringInboundPolicy=JR;async function zR(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=nb.Environment.instance,s=new URL(`${i}/internal/v1/metering/${e}/subscriptions`);s.search=new URLSearchParams({customerRef:t,status:"active"}).toString();let a=await fetch(s,{method:"GET",headers:{Authorization:`Bearer ${n}`}});if(!a.ok)throw new Error(`Error retrieving subscriptions for credits metering ': ${a.status} - ${await a.text()}`);let c=await a.json();if(c.data.length!==0)return c.data.length>1&&r.log.warn(`Found more than one active subscription for customer ${t} -- using the first one.`),c.data[0]}o(zR,"getSubscription");async function WR(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:s}=nb.Environment.instance,a=new URL(`${s}/internal/v1/metering/${e}/subscriptions/${t}/quotas/consume`),c=await fetch(a,{method:"POST",body:JSON.stringify({meters:r}),headers:{Authorization:`Bearer ${i}`}});c.ok||n.log.error(`Error consuming subscription quotas for credits metering ': ${c.status} - ${await c.text()}`)}o(WR,"consumeSubscription")});var ob=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.CurityPhantomTokenInboundPolicy=void 0;var QR=qt(),YR=Kt(),Aa=ue(),ZR=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Aa.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=XR(i);if(!s)return Aa.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,QR.getPolicyCacheName)(n,r),c=new YR.MemoryZoneReadThroughCache(a,t),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),Aa.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Aa.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Ra.CurityPhantomTokenInboundPolicy=ZR;function XR(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(XR,"getToken")});var sb=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.FirebaseJwtInboundPolicy=void 0;var e0=Ft(),t0=$t(),r0=o(async(e,t,r,n)=>((0,e0.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,t0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");Oa.FirebaseJwtInboundPolicy=r0});var ab=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.FormDataToJsonInboundPolicy=void 0;var n0=ke(),i0=o(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=e.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new n0.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");xa.FormDataToJsonInboundPolicy=i0});var cb=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.GeoFilterInboundPolicy=void 0;var o0=D(),s0=ue(),Nn="__unknown__",a0=o(async(e,t,r,n)=>{let i={allow:{countries:Ln(r.allow?.countries,"allow.countries",n),regionCodes:Ln(r.allow?.regionCodes,"allow.regionCode",n),asns:Ln(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Ln(r.block?.countries,"block.countries",n),regionCodes:Ln(r.block?.regionCodes,"block.regionCode",n),asns:Ln(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??Nn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Nn,c=t.incomingRequestProperties.asn?.toString()??Nn,u=i.ignoreUnknown&&s===Nn,l=i.ignoreUnknown&&a===Nn,d=i.ignoreUnknown&&c===Nn,p=i.allow.countries,y=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||y.length>0&&!y.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Cn(e,t,n,s,a,c);let m=i.block.countries,w=i.block.regionCodes,T=i.block.asns;return m.length>0&&m.includes(s)&&!u||w.length>0&&w.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Cn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");Na.GeoFilterInboundPolicy=a0;function Cn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),s0.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Cn,"blockedResponse");function Ln(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new o0.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Ln,"toLowerStringArray")});var ub=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.JWTScopeValidationInboundPolicy=void 0;var c0=o(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Ca.JWTScopeValidationInboundPolicy=c0});var db=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.MockApiInboundPolicy=void 0;var u0=ue(),l0=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return pp(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return pp(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(y=>{a.push({responseName:c,contentName:l,exampleName:y,exampleValue:d[y]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return lb(a[c])}else return a.length>0?lb(a[0]):pp(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");La.MockApiInboundPolicy=l0;function lb(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}o(lb,"generateResponse");var pp=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return u0.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var yb=g(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.MoesifInboundPolicy=Dn.setMoesifContext=void 0;var d0=D(),p0=ve(),h0="Incoming",f0={logRequestBody:!0,logResponseBody:!0};function pb(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(pb,"headersToObject");function hb(){return new Date().toISOString()}o(hb,"timestamp");var hp=new WeakMap,m0={};function y0(e,t){let r=hp.get(e);r||(r=m0);let n=Object.assign({...r},t);hp.set(e,n)}o(y0,"setMoesifContext");Dn.setMoesifContext=y0;async function fb(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o(fb,"readBody");var g0={},fp;function mb(){if(!fp)throw new d0.RuntimeError("Invalid State - no _lastLogger");return fp}o(mb,"getLastLogger");function b0(e){let t=g0[e];return t||(t=new p0.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);mb().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":e},body:n});i.ok||mb().error({status:i.status,body:await i.text()})})),t}o(b0,"getDispatcher");async function _0(e,t,r,n){fp=t.log;let i=hb(),s=Object.assign(f0,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await fb(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=b0(s.applicationId),d=e.headers.get("true-client-ip"),p=hp.get(t)??{},y={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:pb(e.headers)},h=s.logResponseBody?await fb(c,t):void 0,m={time:hb(),status:c.status,headers:pb(c.headers),body:h},w={request:y,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:h0};l.enqueue(w),t.waitUntil(l.waitUntilFlushed())}),e}o(_0,"MoesifInboundPolicy");Dn.MoesifInboundPolicy=_0});var gb=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.OktaJwtInboundPolicy=void 0;var E0=$t(),w0=o(async(e,t,r,n)=>(0,E0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Da.OktaJwtInboundPolicy=w0});var bb=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.PropelAuthJwtInboundPolicy=void 0;var v0=(ws(),Zi(Es)),T0=$t(),mp,S0=o(async(e,t,r,n)=>{if(!mp)try{mp=await(0,v0.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,T0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:mp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ua.PropelAuthJwtInboundPolicy=S0});var _b=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var $e=Lt(),et=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var Ai=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Ai;var Ri=class extends et{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ri;function I0(e,t){if((0,$e.isUndefined)(e))throw new Ai(t)}o(I0,"throwIfUndefined");G.throwIfUndefined=I0;function yp(e,t){if((0,$e.isUndefinedOrNull)(e))throw new Ai(t)}o(yp,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=yp;function P0(e,t){if(yp(e,t),!(0,$e.isString)(e))throw new Ri(t,"string")}o(P0,"throwIfNotString");G.throwIfNotString=P0;function A0(e,t){if(yp(e,t),!(0,$e.isNumber)(e))throw new Ri(t,"number")}o(A0,"throwIfNotNumber");G.throwIfNotNumber=A0;var Oi=class extends et{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Oi;var Un=class extends et{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=Un;function R0(e,t,r,n){if((0,$e.isUndefined)(n))throw new Oi(e,t,r)}o(R0,"throwIfOptionUndefined");G.throwIfOptionUndefined=R0;function Ma(e,t,r,n){if((0,$e.isUndefinedOrNull)(n))throw new Oi(e,t,r)}o(Ma,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Ma;function O0(e,t,r,n){if(Ma(e,t,r,n),!(0,$e.isString)(n))throw new Un(e,t,r,"string")}o(O0,"throwIfOptionNotString");G.throwIfOptionNotString=O0;function x0(e,t,r,n){if(Ma(e,t,r,n),!(0,$e.isNumber)(n))throw new Un(e,t,r,"number")}o(x0,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=x0;function N0(e,t,r,n){if(Ma(e,t,r,n),!(0,$e.isObject)(n))throw new Un(e,t,r,"object")}o(N0,"throwIfOptionNotObject");G.throwIfOptionNotObject=N0;function C0(e,t){if((0,$e.isUndefined)(e))throw new et(t)}o(C0,"throwIfStateUndefined");G.throwIfStateUndefined=C0;function ka(e,t){if((0,$e.isUndefinedOrNull)(e))throw new et(t)}o(ka,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=ka;function L0(e,t){if(ka(e,t),!(0,$e.isString)(e))throw new et(t);return!0}o(L0,"throwIfStateNotString");G.throwIfStateNotString=L0;function D0(e,t){if(ka(e,t),!(0,$e.isNumber)(e))throw new et(t);return!0}o(D0,"throwIfStateNotNumber");G.throwIfStateNotNumber=D0;function U0(e,t){if(ka(e,t),!(0,$e.isObject)(e))throw new et(t);return!0}o(U0,"throwIfStateNotObject");G.throwIfStateNotObject=U0});var Eb=g(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.InMemoryRedisClient=Mn.StandardRedisClient=void 0;var gp=D(),Ha=_b(),bp=class e{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,Ha.throwIfNotString)(t,"redisClientUrl"),(0,Ha.throwIfNotString)(r,"clientAuthToken"),e.instance||(e.instance=new e(t,r,n,i)),e.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:t,body:r,method:n,requestId:i}){(0,Ha.throwIfNotString)(t,"url");let s=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new gp.SystemError("Redis client failed with 401: Unauthorized"):new gp.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Mn.StandardRedisClient=bp;var _p=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Ha.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new gp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Mn.InMemoryRedisClient=_p});var Ib=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.RateLimitInboundPolicy=void 0;var M0=Tr(),k0=qt(),H0=no(),jt=D(),F0=ue(),wb=Be(),xi=X(),vb=Eb(),Tb=Lt(),Fa=(0,M0.debug)("zuplo:policies:RateLimitInboundPolicy"),q0="strict",$0=o(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),j0=o(async e=>({key:`ip-${$0(e)}`}),"getIP"),V0=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),G0=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),qa;function B0(e,t){let r;if(qa)return qa;if(xi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new vb.InMemoryRedisClient,qa=r,r;let{authApiJWT:n,redisURL:i}=xi.Environment.instance;if(!(0,Tb.isString)(i))throw new jt.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,Tb.isString)(n))throw new jt.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=vb.StandardRedisClient.initialize(i,n,xi.Environment.instance.deploymentName??"unknown",xi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new jt.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return qa=r,r}o(B0,"getRedisClient");async function Sb(e,t,r,n,i){let s=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:e}),requestId:i})}o(Sb,"getCountAndUpdateExpiry");function K0(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new jt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new jt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new jt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new jt.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new jt.RuntimeError(u)}return c},"outerFunction")}o(K0,"wrapUserFunction");var J0="Retry-After",z0=o(async(e,t,r,n)=>{let i=Date.now(),s=wb.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new jt.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[J0]=l.toString()),F0.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:K0(r,n),user:V0,ip:j0,all:G0}[r.rateLimitBy],d=await l(e,t,n),p=d.key,y=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",w=B0(n,s),S=`bucket/${xi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??q0)==="async"){let N=await(0,k0.getPolicyCacheName)(n,r),re=new H0.ZoneCache(N,{logger:wb.SystemLogMap.getLogger(t)}),ne=Sb(S,h,w,s,t.requestId),me=await re.get(S);if(me!==void 0&&me<=Date.now()){Fa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Ge=Math.round((me-Date.now())/1e3);return c(m,Ge)}return t.addEventListener("responseSending",Ge=>{try{let E=Ge,H=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>y){let Xc=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,Xc,Ce.ttlSeconds).catch(sh=>{throw s.error(sh),sh}),Fa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(m,Ce.ttlSeconds)}return H})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let F=await Sb(S,h,w,s,t.requestId);return F.count>y?(Fa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(m,F.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Fa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");$a.RateLimitInboundPolicy=z0});var Ob=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.ReadmeMetricsInboundPolicy=void 0;var W0=ve(),Ep=X(),Pb=ri(),wp;function Ab(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(Ab,"headersToNameValuePairs");function Q0(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(Q0,"queryToNameValueParis");function Y0(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(Y0,"parseIntOrUndefined");var Rb={};async function Z0(e,t,r,n){let i=new Date,s=Date.now();return wp||(wp={name:"zuplo",version:Ep.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Ep.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,Pb.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,Pb.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Ep.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:wp,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:Ab(e.headers),queryString:Q0(e.query)},response:{status:a.status,statusText:a.statusText,headers:Ab(a.headers),content:{size:Y0(e.headers.get("content-length"))}}}]}}},d=Rb[r.apiKey];if(!d){let p=r.apiKey;d=new W0.BatchDispatch("readme-metering-inbound-policy",10,async y=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(y),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),Rb[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(Z0,"ReadmeMetricsInboundPolicy");ja.ReadmeMetricsInboundPolicy=Z0});var xb=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.RemoveHeadersInboundPolicy=void 0;var X0=D(),eO=ke(),tO=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new X0.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(e.headers);return i.forEach(c=>{s.delete(c)}),new eO.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");Va.RemoveHeadersInboundPolicy=tO});var Nb=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.RemoveHeadersOutboundPolicy=void 0;var rO=D(),nO=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new rO.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return s.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Ga.RemoveHeadersOutboundPolicy=nO});var Cb=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.RemoveQueryParamsInboundPolicy=void 0;var iO=D(),oO=ke(),sO=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new iO.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(e.url);return i.forEach(c=>{s.searchParams.delete(c)}),new oO.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");Ba.RemoveQueryParamsInboundPolicy=sO});var Lb=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.ReplaceStringOutboundPolicy=void 0;var aO=o(async(e,t,r,n)=>{let i=await e.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Ka.ReplaceStringOutboundPolicy=aO});var Ub=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.RequestSizeLimitInboundPolicy=void 0;var Db=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),cO=o(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?Db():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?Db():e},"RequestSizeLimitInboundPolicy");Ja.RequestSizeLimitInboundPolicy=cO});var za=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function uO(e,t,r){return`_${kr(e+"_"+t+"_"+r)}`}o(uO,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=uO;function lO(e,t,r,n){return`_${kr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(lO,"getIdForParameterSchema");tt.getIdForParameterSchema=lO;function dO(e,t,r){return`_${kr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${kr(r.toLowerCase())}`}o(dO,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=dO;function pO(e,t){return`_${kr(e)}__${kr(t)}`}o(pO,"getIdForRefSchema");tt.getIdForRefSchema=pO;function kr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}o(kr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=kr});var Ni=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var hO=mn(),fO=za(),mO=o(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=mO;var yO=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{if(u.required&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,fO.getIdForParameterSchema)(r,n,i,u.name),d=hO.Gateway.instance.schemaValidator[l],p=d(t[u.name]),y=(0,Le.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${y.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Le.validateParameters=yO;var gO=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=gO;var bO=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=bO;var _O=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=_O;var EO=o(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=EO});var Mb=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.handleBodyValidation=void 0;var wO=mn(),Wa=ue(),vO=za(),Je=Ni();async function TO(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let m=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,w=Wa.HttpProblems.badRequest(t,e,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",m,[n],h),(0,Je.shouldReject)(r.validateBody))return w}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,m=Wa.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,vO.getIdForRequestBodySchema)(e.route.path,t.method,i),c=wO.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,m=Wa.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),y=Wa.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return y}o(TO,"handleBodyValidation");Qa.handleBodyValidation=TO});var kb=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.handleHeadersValidation=void 0;var SO=ue(),Ci=Ni();function IO(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ci.getParametersForOperation)(e),s=(0,Ci.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=SO.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Ci.shouldLog)(r.validateHeaders)&&(0,Ci.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Ci.shouldReject)(r.validateHeaders))return c}}o(IO,"handleHeadersValidation");Ya.handleHeadersValidation=IO});var Hb=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.handlePathParameterValidation=void 0;var PO=ue(),Li=Ni();function AO(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Li.getParametersForOperation)(e),i=(0,Li.validateParameters)(n.filter(s=>s.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=PO.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Li.shouldLog)(r.validatePathParameters)&&(0,Li.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Li.shouldReject)(r.validatePathParameters))return a}}o(AO,"handlePathParameterValidation");Za.handlePathParameterValidation=AO});var Fb=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.handleQueryParameterValidation=void 0;var RO=ue(),Di=Ni();function OO(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Di.getParametersForOperation)(e),i=(0,Di.validateParameters)(n.filter(s=>s.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=RO.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Di.shouldLog)(r.validateQueryParameters)&&(0,Di.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Di.shouldReject)(r.validateQueryParameters))return a}}o(OO,"handleQueryParameterValidation");Xa.handleQueryParameterValidation=OO});var qb=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy=void 0;var xO=Mb(),NO=kb(),CO=Hb(),LO=Fb(),DO=o(async(e,t,r)=>{let n=(0,LO.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,CO.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,NO.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,xO.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Hr.RequestValidationInboundPolicy=DO;Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy});var $b=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.RequireOriginInboundPolicy=void 0;var UO=D(),MO=ue(),kO=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new UO.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=e.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return MO.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");ec.RequireOriginInboundPolicy=kO});var jb=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.SetBodyInboundPolicy=void 0;var HO=ke(),FO=o(async(e,t,r)=>new HO.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");tc.SetBodyInboundPolicy=FO});var Gb=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.SetHeadersInboundPolicy=void 0;var Vb=D(),qO=ke(),$O=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new Vb.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new Vb.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new qO.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");rc.SetHeadersInboundPolicy=$O});var Kb=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.SetHeadersOutboundPolicy=void 0;var Bb=D(),jO=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new Bb.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new Bb.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");nc.SetHeadersOutboundPolicy=jO});var zb=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.SetQueryParamsInboundPolicy=void 0;var Jb=D(),VO=ke(),GO=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new Jb.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new Jb.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new VO.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");ic.SetQueryParamsInboundPolicy=GO});var Wb=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.SetStatusOutboundPolicy=void 0;var BO=o(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");oc.SetStatusOutboundPolicy=BO});var Qb=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.SleepInboundPolicy=void 0;var KO=D(),JO=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),zO=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new KO.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await JO(r.sleepInMs),e},"SleepInboundPolicy");sc.SleepInboundPolicy=zO});var Zb=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.SupabaseJwtInboundPolicy=void 0;var Yb=D(),WO=ue(),QO=ke(),YO=Ft(),ZO=$t(),XO=o(async(e,t,r,n)=>{(0,YO.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,ZO.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof QO.ZuploRequest))throw new Yb.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=e.user?.data.app_metadata;if(!c)throw new Yb.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?WO.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");ac.SupabaseJwtInboundPolicy=XO});var e_=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var ex=qt(),tx=Kt(),Xb=D(),rx=Be(),nx=Ts(),ix=Ft(),ox=o(async(e,t,r,n)=>{(0,ix.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,ex.getPolicyCacheName)(n,r),s=new tx.MemoryZoneReadThroughCache(i,{logger:rx.SystemLogMap.getLogger(t)}),a=await s.get(n);if(!a){let c=await sx(r,t);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");cc.UpstreamAzureAdServiceAuthInboundPolicy=ox;async function sx(e,t){let r=new URLSearchParams({client_id:e.activeDirectoryClientId,scope:`${e.activeDirectoryClientId}/.default`,client_secret:e.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,nx.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();t.log.error("Could not get token from Azure AD",s)}catch{}throw new Xb.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new Xb.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(sx,"getAccessToken")});var r_=g(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var ax=qt(),cx=Kt(),ux=D(),lx=Be(),vp=pn(),dx=Ft(),t_="https://accounts.google.com/o/oauth2/token",Tp,px=o(async(e,t,r,n)=>{(0,dx.optionValidator)(r,n).required("serviceAccountJson","string"),Tp||(Tp=await vp.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,ax.getPolicyCacheName)(n,r),a=new cx.MemoryZoneReadThroughCache(s,{logger:lx.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,vp.getTokenFromGcpServiceAccount)({serviceAccount:Tp,audience:t_,payload:i}),l=await(0,vp.exchangeGgpJwtForIdToken)(t_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new ux.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");uc.UpstreamFirebaseAdminAuthInboundPolicy=px});var n_=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var hx=qt(),fx=Kt(),kn=D(),mx=Be(),yx=ip(),Sp=pn(),gx=ri(),bx=Ft(),_x="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",Ex=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Ip,wx=o(async(e,t,r,n)=>{if((0,bx.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new kn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(Ex.indexOf(p)!==-1)throw new kn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Ip||(Ip=await Sp.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new kn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new kn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,gx.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new kn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,hx.getPolicyCacheName)(n,r),c=new fx.MemoryZoneReadThroughCache(a,{logger:mx.SystemLogMap.getLogger(t)}),u={uid:s,claims:i},l=await(0,yx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Sp.getTokenFromGcpServiceAccount)({serviceAccount:Ip,audience:_x,payload:u}),y=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Sp.exchangeFirebaseJwtForIdToken)(y,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new kn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");lc.UpstreamFirebaseUserAuthInboundPolicy=wx});var o_=g(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.UpstreamGcpJwtInboundPolicy=void 0;var i_=pn(),vx=Ft(),Pp,Tx=o(async(e,t,r,n)=>{(0,vx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Pp||(Pp=await i_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,i_.getTokenFromGcpServiceAccount)({serviceAccount:Pp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");dc.UpstreamGcpJwtInboundPolicy=Tx});var a_=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.UpstreamGcpServiceAuthInboundPolicy=void 0;var Sx=qt(),Ix=su(),Px=Kt(),Ax=D(),Ap=pn(),Rx=Ft(),s_="https://www.googleapis.com/oauth2/v4/token",Rp,Ox=o(async(e,t,r,n)=>{(0,Rx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Rp||(Rp=await Ap.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,Sx.getPolicyCacheName)(n,r),s;r.useMemoryCacheOnly?s=new Ix.MemoryCache(i):s=new Px.MemoryZoneReadThroughCache(i,t);let a=await s.get(n);if(!a){let c=await(0,Ap.getTokenFromGcpServiceAccount)({serviceAccount:Rp,audience:s_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,Ap.exchangeGgpJwtForIdToken)(s_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new Ax.RuntimeError("Invalid token response from GCP");a=u,s.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");pc.UpstreamGcpServiceAuthInboundPolicy=Ox});var u_=g(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.ValidateJsonSchemaInbound=void 0;var xx=D(),c_=ue(),Nx=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return c_.HttpProblems.badRequest(e,t,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return e;let{errors:a}=r.validator;if(!a)throw new xx.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return c_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");hc.ValidateJsonSchemaInbound=Nx});var l_=g(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.ServiceProviderImpl=void 0;var Cx=D(),Op=class e{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return e.#e||(e.#e=new e),e.#e}setInstance(t){e.#e=t}addService(t,r){if(this.services.get(t))throw new Cx.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};fc.ServiceProviderImpl=Op});var w_=g(f=>{"use strict";var Lx=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),xp=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Lx(t,e,r)},Dx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CreditsMeteringInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=void 0;ph();var Ux=Kt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return Ux.MemoryZoneReadThroughCache}});var Mx=no();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return Mx.ZoneCache}});var d_=Sr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return d_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return d_.ResponseSentEvent}});var kx=Cy();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return kx.ContextData}});var Np=gd();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return Np.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Np.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Np.isZuploReadableEnvVariableName}});var Hx=D();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return Hx.ConfigurationError}});var Fx=_d();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return Fx.originalFetch}});var p_=$y();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return p_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return p_.purgeGatewayCache}});var h_=ig();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return h_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return h_.awsLambdaHandler}});var qx=sg();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return qx.openApiSpecHandler}});var $x=ag();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return $x.redirectHandler}});var jx=ug();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return jx.urlForwardHandler}});var Vx=dg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return Vx.urlRewriteHandler}});var Gx=hg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return Gx.webSocketHandler}});var Bx=yg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return Bx.webSocketPipelineHandler}});var Kx=xu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return Kx.HttpStatusCode}});xp(Sg(),f);xp(Ag(),f);var Jx=Rg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return Jx.AuditLogDataStaxProvider}});var zx=xg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return zx.AuditLogPlugin}});xp(Mg(),f);var f_=$g();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return f_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return f_.AmberfloMeteringPolicy}});var Wx=Bg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Wx.ApiAuthKeyInboundPolicy}});var Qx=cp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return Qx.ApiKeyInboundPolicy}});var Yx=Kg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return Yx.Auth0JwtInboundPolicy}});var Zx=Jg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Zx.BasicAuthInboundPolicy}});var Xx=zg();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return Xx.CachingInboundPolicy}});var eN=Wg();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return eN.ChangeMethodInboundPolicy}});var tN=Qg();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return tN.ClearHeadersInboundPolicy}});var rN=Yg();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return rN.ClearHeadersOutboundPolicy}});var nN=Zg();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return nN.ClerkJwtInboundPolicy}});var iN=eb();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return iN.CognitoJwtInboundPolicy}});var oN=rb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return oN.CompositeInboundPolicy}});var sN=ib();Object.defineProperty(f,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return sN.CreditsMeteringInboundPolicy}});var aN=ob();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return aN.CurityPhantomTokenInboundPolicy}});var cN=sb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return cN.FirebaseJwtInboundPolicy}});var uN=ab();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return uN.FormDataToJsonInboundPolicy}});var lN=cb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return lN.GeoFilterInboundPolicy}});var dN=ub();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return dN.JWTScopeValidationInboundPolicy}});var pN=db();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return pN.MockApiInboundPolicy}});var m_=yb();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return m_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return m_.setMoesifContext}});var hN=gb();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return hN.OktaJwtInboundPolicy}});var fN=$t();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return fN.OpenIdJwtInboundPolicy}});var mN=bb();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return mN.PropelAuthJwtInboundPolicy}});var y_=Ib();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return y_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return y_.RateLimitInboundPolicy}});var yN=Ob();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return yN.ReadmeMetricsInboundPolicy}});var gN=xb();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return gN.RemoveHeadersInboundPolicy}});var bN=Nb();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return bN.RemoveHeadersOutboundPolicy}});var _N=Cb();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return _N.RemoveQueryParamsInboundPolicy}});var EN=Lb();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return EN.ReplaceStringOutboundPolicy}});var wN=Ub();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return wN.RequestSizeLimitInboundPolicy}});var g_=qb();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return g_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return g_.SchemaBasedRequestValidation}});var vN=$b();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return vN.RequireOriginInboundPolicy}});var TN=jb();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return TN.SetBodyInboundPolicy}});var SN=Gb();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return SN.SetHeadersInboundPolicy}});var IN=Kb();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return IN.SetHeadersOutboundPolicy}});var PN=zb();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return PN.SetQueryParamsInboundPolicy}});var AN=Wb();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return AN.SetStatusOutboundPolicy}});var RN=Qb();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return RN.SleepInboundPolicy}});var ON=ep();Object.defineProperty(f,"StripeWebhookInboundPolicy",{enumerable:!0,get:function(){return ON.StripeWebhookInboundPolicy}});var xN=Zb();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return xN.SupabaseJwtInboundPolicy}});var NN=e_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return NN.UpstreamAzureAdServiceAuthInboundPolicy}});var CN=r_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return CN.UpstreamFirebaseAdminAuthInboundPolicy}});var LN=n_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return LN.UpstreamFirebaseUserAuthInboundPolicy}});var DN=o_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return DN.UpstreamGcpJwtInboundPolicy}});var UN=a_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return UN.UpstreamGcpServiceAuthInboundPolicy}});var MN=u_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return MN.ValidateJsonSchemaInbound}});var kN=ue();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return kN.HttpProblems}});var HN=ho();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return HN.ProblemResponseFormatter}});var FN=ke();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return FN.ZuploRequest}});var qN=Pr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return qN.SystemRouteName}});var b_=ud();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return b_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return b_.Router}});var __=wu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return __.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return __.serialize}});var $N=l_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return $N.ServiceProviderImpl}});var E_=Vu();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return E_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return E_.SYSTEM_LOGGER}});var jN=Cu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return Dx(jN).default}});var VN=Be();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return VN.SystemLogMap}});var Ui=za();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Ui.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Ui.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Ui.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Ui.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Ui.sanitizedIdentifierName}})});var v_=g(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.BaseCryptoBeta=Hn.supportedDigests=void 0;Hn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Cp=class{static{o(this,"BaseCryptoBeta")}};Hn.BaseCryptoBeta=Cp});var T_=g(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.WorkerCryptoBeta=void 0;var Lp=v_(),GN=D(),Dp=class extends Lp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!Lp.supportedDigests.includes(t.toLowerCase()))throw new GN.RuntimeError(`Algorithm ${t} is not supported. Try using ${Lp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};mc.WorkerCryptoBeta=Dp});var S_=g(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.BaseKeyValueStore=void 0;var Up=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};yc.BaseKeyValueStore=Up});var P_=g(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.WorkerKeyValueStore=void 0;var I_=D(),BN=S_(),Mp=class extends BN.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new I_.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new I_.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};gc.WorkerKeyValueStore=Mp});var Ct=g(lt=>{"use strict";var KN=lt&<.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),JN=lt&<.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&KN(t,e,r)};Object.defineProperty(lt,"__esModule",{value:!0});lt.KeyValueStore=lt.CryptoBeta=void 0;JN(w_(),lt);var zN=T_();Object.defineProperty(lt,"CryptoBeta",{enumerable:!0,get:function(){return zN.WorkerCryptoBeta}});var WN=P_();Object.defineProperty(lt,"KeyValueStore",{enumerable:!0,get:function(){return WN.WorkerKeyValueStore}})});var rL={};Yi(rL,{GraphQLComplexityLimitInboundPolicy:()=>iE,GraphQLDisableIntrospectionInboundPolicy:()=>sE});module.exports=Zi(rL);var Qn=ch(Ct());function B(e,t){if(!!!e)throw new Error(t)}o(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}o(Ee,"isObjectLike");function Pt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(Pt,"invariant");var QN=/\r\n|[\n\r]/g;function Fn(e,t){let r=0,n=1;for(let i of e.body.matchAll(QN)){if(typeof i.index=="number"||Pt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(Fn,"getLocation");function kp(e){return bc(e.source,Fn(e.source,e.start))}o(kp,"printLocation");function bc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
75
|
+
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let y=Math.floor(u/80),h=u%80,m=[];for(let w=0;w<p.length;w+=80)m.push(p.slice(w,w+80));return l+A_([[`${a} |`,m[0]],...m.slice(1,y+1).map(w=>["|",w]),["|","^".padStart(h)],["|",m[y+1]]])}return l+A_([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(bc,"printSourceLocation");function A_(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
|
|
76
|
+
`)}o(A_,"printPrefixedLines");function YN(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}o(YN,"toNormalizedOptions");var C=class e extends Error{static{o(this,"GraphQLError")}constructor(t,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=YN(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=R_(Array.isArray(a)?a:a?[a]:void 0);let y=R_((n=this.nodes)===null||n===void 0?void 0:n.map(m=>m.loc).filter(m=>m!=null));this.source=c??(y==null||(i=y[0])===null||i===void 0?void 0:i.source),this.positions=u??y?.map(m=>m.start),this.locations=u&&c?u.map(m=>Fn(c,m)):y?.map(m=>Fn(m.source,m.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
|
|
77
77
|
|
|
78
|
-
`+
|
|
78
|
+
`+kp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
|
|
79
79
|
|
|
80
|
-
`+
|
|
80
|
+
`+bc(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function R_(e){return e===void 0||e.length===0?void 0:e}o(R_,"undefinedIfEmpty");function de(e,t,r){return new C(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(de,"syntaxError");var Mi=class{static{o(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},qn=class{static{o(this,"Token")}constructor(t,r,n,i,s,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=s,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Hp={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},ZN=new Set(Object.keys(Hp));function ki(e){let t=e?.kind;return typeof t=="string"&&ZN.has(t)}o(ki,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var K;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var b;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(b||(b={}));function _c(e){return e===9||e===32}o(_c,"isWhiteSpace");function $n(e){return e>=48&&e<=57}o($n,"isDigit");function O_(e){return e>=97&&e<=122||e>=65&&e<=90}o(O_,"isLetter");function Hi(e){return O_(e)||e===95}o(Hi,"isNameStart");function Ec(e){return O_(e)||$n(e)||e===95}o(Ec,"isNameContinue");function x_(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var s;let c=e[a],u=XN(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}o(x_,"dedentBlockStringLines");function XN(e){let t=0;for(;t<e.length&&_c(e.charCodeAt(t));)++t;return t}o(XN,"leadingWhitespace");function N_(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(h=>h.length===0||_c(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||s||a),p="",y=i&&_c(e.charCodeAt(0));return(d&&!y||s)&&(p+=`
|
|
81
81
|
`),p+=r,(d||l)&&(p+=`
|
|
82
|
-
`),'"""'+p+'"""'}o(
|
|
83
|
-
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(
|
|
84
|
-
`));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(
|
|
82
|
+
`),'"""'+p+'"""'}o(N_,"printBlockString");var _;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(_||(_={}));var qi=class{static{o(this,"Lexer")}constructor(t){let r=new qn(_.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==_.EOF)do if(t.next)t=t.next;else{let r=eC(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===_.COMMENT);return t}};function L_(e){return e===_.BANG||e===_.DOLLAR||e===_.AMP||e===_.PAREN_L||e===_.PAREN_R||e===_.SPREAD||e===_.COLON||e===_.EQUALS||e===_.AT||e===_.BRACKET_L||e===_.BRACKET_R||e===_.BRACE_L||e===_.PIPE||e===_.BRACE_R}o(L_,"isPunctuatorTokenKind");function jn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o(jn,"isUnicodeScalarValue");function wc(e,t){return D_(e.charCodeAt(t))&&U_(e.charCodeAt(t+1))}o(wc,"isSupplementaryCodePoint");function D_(e){return e>=55296&&e<=56319}o(D_,"isLeadingSurrogate");function U_(e){return e>=56320&&e<=57343}o(U_,"isTrailingSurrogate");function Fr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return _.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(Fr,"printCodePointAt");function fe(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new qn(t,r,n,s,a,i)}o(fe,"createToken");function eC(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return tC(e,i);case 33:return fe(e,_.BANG,i,i+1);case 36:return fe(e,_.DOLLAR,i,i+1);case 38:return fe(e,_.AMP,i,i+1);case 40:return fe(e,_.PAREN_L,i,i+1);case 41:return fe(e,_.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,_.SPREAD,i,i+3);break;case 58:return fe(e,_.COLON,i,i+1);case 61:return fe(e,_.EQUALS,i,i+1);case 64:return fe(e,_.AT,i,i+1);case 91:return fe(e,_.BRACKET_L,i,i+1);case 93:return fe(e,_.BRACKET_R,i,i+1);case 123:return fe(e,_.BRACE_L,i,i+1);case 124:return fe(e,_.PIPE,i,i+1);case 125:return fe(e,_.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?aC(e,i):nC(e,i)}if($n(s)||s===45)return rC(e,i,s);if(Hi(s))return cC(e,i);throw de(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:jn(s)||wc(r,i)?`Unexpected character: ${Fr(e,i)}.`:`Invalid character: ${Fr(e,i)}.`)}return fe(e,_.EOF,n,n)}o(eC,"readNextToken");function tC(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(jn(s))++i;else if(wc(r,i))i+=2;else break}return fe(e,_.COMMENT,t,i,r.slice(t+1,i))}o(tC,"readComment");function rC(e,t,r){let n=e.source.body,i=t,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),$n(s))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${Fr(e,i)}.`)}else i=Fp(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=Fp(e,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=Fp(e,i,s),s=n.charCodeAt(i)),s===46||Hi(s))throw de(e.source,i,`Invalid number, expected digit but got: ${Fr(e,i)}.`);return fe(e,a?_.FLOAT:_.INT,t,i,n.slice(t,i))}o(rC,"readNumber");function Fp(e,t,r){if(!$n(r))throw de(e.source,t,`Invalid number, expected digit but got: ${Fr(e,t)}.`);let n=e.source.body,i=t+1;for(;$n(n.charCodeAt(i));)++i;return i}o(Fp,"readDigits");function nC(e,t){let r=e.source.body,n=r.length,i=t+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),fe(e,_.STRING,t,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?iC(e,i):oC(e,i):sC(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(jn(c))++i;else if(wc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${Fr(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}o(nC,"readString");function iC(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(t+i++);if(s===125){if(i<5||!jn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Fi(s),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(iC,"readEscapedUnicodeVariableWidth");function oC(e,t){let r=e.source.body,n=C_(r,t+2);if(jn(n))return{value:String.fromCodePoint(n),size:6};if(D_(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=C_(r,t+8);if(U_(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(oC,"readEscapedUnicodeFixedWidth");function C_(e,t){return Fi(e.charCodeAt(t))<<12|Fi(e.charCodeAt(t+1))<<8|Fi(e.charCodeAt(t+2))<<4|Fi(e.charCodeAt(t+3))}o(C_,"read16BitHexCode");function Fi(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(Fi,"readHexDigit");function sC(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
|
|
83
|
+
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(sC,"readEscapedCharacter");function aC(e,t){let r=e.source.body,n=r.length,i=e.lineStart,s=t+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=fe(e,_.BLOCK_STRING,t,s+3,x_(u).join(`
|
|
84
|
+
`));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(jn(l))++s;else if(wc(r,s))s+=2;else throw de(e.source,s,`Invalid character within String: ${Fr(e,s)}.`)}throw de(e.source,s,"Unterminated string.")}o(aC,"readBlockString");function cC(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(Ec(s))++i;else break}return fe(e,_.NAME,t,i,r.slice(t,i))}o(cC,"readName");function P(e){return vc(e,[])}o(P,"inspect");function vc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return uC(e,t);default:return String(e)}}o(vc,"formatValue");function uC(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(lC(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:vc(n,r)}else if(Array.isArray(e))return pC(e,r);return dC(e,r)}o(uC,"formatObjectValue");function lC(e){return typeof e.toJSON=="function"}o(lC,"isJSONable");function dC(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+hC(e)+"]":"{ "+r.map(([i,s])=>i+": "+vc(s,t)).join(", ")+" }"}o(dC,"formatObject");function pC(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let s=0;s<r;++s)i.push(vc(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(pC,"formatArray");function hC(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}o(hC,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(t,r){return t instanceof r},"instanceOf"):o(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=P(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
|
|
85
85
|
|
|
86
86
|
Ensure that there is only one instance of "graphql" in the node_modules
|
|
87
87
|
directory. If different versions of "graphql" are the dependencies of other
|
|
@@ -92,17 +92,17 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
|
|
|
92
92
|
Duplicate "graphql" modules cannot be used at the same time since different
|
|
93
93
|
versions may have different capabilities and behavior. The data from one
|
|
94
94
|
version used in the function from another could produce confusing and
|
|
95
|
-
spurious results.`)}}return!1},"instanceOf");var jn=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${A(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function D_(e){return ze(e,jn)}o(D_,"isSource");function Sc(e,t){return new Tc(e,t).parseDocument()}o(Sc,"parse");function Ic(e,t){let r=new Tc(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}o(Ic,"parseValue");var Tc=class{static{o(this,"Parser")}constructor(t,r={}){let n=D_(t)?t:new jn(t);this._lexer=new Fi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(_.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(_.SOF,this.parseDefinition,_.EOF)})}parseDefinition(){if(this.peek(_.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===_.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(_.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(_.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(_.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(_.PAREN_L,this.parseVariableDefinition,_.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(_.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(_.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(_.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(_.BRACE_L,this.parseSelection,_.BRACE_R)})}parseSelection(){return this.peek(_.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(_.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(_.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(_.PAREN_L,r,_.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(_.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(_.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case _.BRACKET_L:return this.parseList(t);case _.BRACE_L:return this.parseObject(t);case _.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case _.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case _.STRING:case _.BLOCK_STRING:return this.parseStringLiteral();case _.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case _.DOLLAR:if(t)if(this.expectToken(_.DOLLAR),this._lexer.token.kind===_.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===_.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(_.BRACKET_L,r,_.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(_.BRACE_L,r,_.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(_.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(_.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(_.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(_.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(_.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(_.STRING)||this.peek(_.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(_.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(_.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseFieldDefinition,_.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(_.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(_.PAREN_L,this.parseInputValueDef,_.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(_.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(_.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(_.EQUALS)?this.delimitedMany(_.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(_.BRACE_L,this.parseEnumValueDefinition,_.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${vc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseInputValueDef,_.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===_.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(_.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(_.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Ui(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${U_(t)}, found ${vc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===_.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${vc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===_.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${vc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==_.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function vc(e){let t=e.value;return U_(e.kind)+(t!=null?` "${t}"`:"")}o(vc,"getTokenDesc");function U_(e){return N_(e)?`"${e}"`:e}o(U_,"getTokenKindDesc");function Ac(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(Ac,"didYouMean");function Fp(e){return e}o(Fp,"identityFunc");function Vn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(Vn,"keyMap");function Pt(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(Pt,"keyValMap");function qi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(qi,"mapValue");function M_(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(Pc(i)&&Pc(s)){let a=0;do++r,a=a*10+i-qp,i=e.charCodeAt(r);while(Pc(i)&&a>0);let c=0;do++n,c=c*10+s-qp,s=t.charCodeAt(n);while(Pc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return e.length-t.length}o(M_,"naturalCompare");var qp=48,uC=57;function Pc(e){return!isNaN(e)&&qp<=e&&e<=uC}o(Pc,"isDigit");function Rc(e,t){let r=Object.create(null),n=new $p(e),i=Math.floor(e.length*.4)+1;for(let s of t){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:M_(s,a)})}o(Rc,"suggestionList");var $p=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=k_(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;let n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let i=k_(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],y=u[d%3],h=y[0]=d;for(let m=1;m<=c;m++){let v=i[d-1]===s[m-1]?0:1,T=Math.min(p[m]+1,y[m-1]+1,p[m-1]+v);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let S=u[(d-2)%3][m-2];T=Math.min(T,S+1)}T<h&&(h=T),y[m]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function k_(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(k_,"stringToArray");function De(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(De,"toObjMap");function H_(e){return`"${e.replace(lC,dC)}"`}o(H_,"printString");var lC=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function dC(e){return pC[e.charCodeAt(0)]}o(dC,"escapedReplacer");var pC=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var jp=Object.freeze({});function yr(e,t,r=kp){let n=new Map;for(let S of Object.values(b))n.set(S,Gn(t,S));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,y=[],h=[];do{c++;let S=c===a.length,k=S&&u.length!==0;if(S){if(d=h.length===0?void 0:y[y.length-1],l=p,p=h.pop(),k)if(s){l=l.slice();let C=0;for(let[re,ne]of u){let me=re-C;ne===null?(l.splice(me,1),C++):l[me]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[C,re]of u)l[C]=re}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;y.push(d)}let j;if(!Array.isArray(l)){var m,v;Mi(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let C=S?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=C?.call(t,l,d,p,y,h),j===jp)break;if(j===!1){if(!S){y.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(Mi(j))l=j;else{y.pop();continue}}if(j===void 0&&k&&u.push([d,l]),S)y.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(yr,"visit");function Gn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}o(Gn,"getEnterLeaveForKind");function Ue(e){return yr(e,fC)}o(Ue,"print");var hC=80,fC={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
|
|
95
|
+
spurious results.`)}}return!1},"instanceOf");var Vn=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function M_(e){return ze(e,Vn)}o(M_,"isSource");function Ic(e,t){return new Sc(e,t).parseDocument()}o(Ic,"parse");function Pc(e,t){let r=new Sc(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}o(Pc,"parseValue");var Sc=class{static{o(this,"Parser")}constructor(t,r={}){let n=M_(t)?t:new Vn(t);this._lexer=new qi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(_.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(_.SOF,this.parseDefinition,_.EOF)})}parseDefinition(){if(this.peek(_.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===_.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(_.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(_.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(_.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(_.PAREN_L,this.parseVariableDefinition,_.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(_.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(_.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(_.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(_.BRACE_L,this.parseSelection,_.BRACE_R)})}parseSelection(){return this.peek(_.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(_.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(_.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(_.PAREN_L,r,_.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(_.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(_.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case _.BRACKET_L:return this.parseList(t);case _.BRACE_L:return this.parseObject(t);case _.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case _.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case _.STRING:case _.BLOCK_STRING:return this.parseStringLiteral();case _.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case _.DOLLAR:if(t)if(this.expectToken(_.DOLLAR),this._lexer.token.kind===_.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===_.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(_.BRACKET_L,r,_.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(_.BRACE_L,r,_.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(_.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(_.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(_.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(_.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(_.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(_.STRING)||this.peek(_.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(_.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(_.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseFieldDefinition,_.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(_.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(_.PAREN_L,this.parseInputValueDef,_.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(_.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(_.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(_.EQUALS)?this.delimitedMany(_.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(_.BRACE_L,this.parseEnumValueDefinition,_.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${Tc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseInputValueDef,_.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===_.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(_.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(_.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Mi(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${k_(t)}, found ${Tc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===_.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${Tc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===_.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${Tc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==_.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Tc(e){let t=e.value;return k_(e.kind)+(t!=null?` "${t}"`:"")}o(Tc,"getTokenDesc");function k_(e){return L_(e)?`"${e}"`:e}o(k_,"getTokenKindDesc");function Ac(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(Ac,"didYouMean");function qp(e){return e}o(qp,"identityFunc");function Gn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(Gn,"keyMap");function At(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(At,"keyValMap");function $i(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o($i,"mapValue");function H_(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(Rc(i)&&Rc(s)){let a=0;do++r,a=a*10+i-$p,i=e.charCodeAt(r);while(Rc(i)&&a>0);let c=0;do++n,c=c*10+s-$p,s=t.charCodeAt(n);while(Rc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return e.length-t.length}o(H_,"naturalCompare");var $p=48,fC=57;function Rc(e){return!isNaN(e)&&$p<=e&&e<=fC}o(Rc,"isDigit");function Oc(e,t){let r=Object.create(null),n=new jp(e),i=Math.floor(e.length*.4)+1;for(let s of t){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:H_(s,a)})}o(Oc,"suggestionList");var jp=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=F_(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;let n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let i=F_(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],y=u[d%3],h=y[0]=d;for(let m=1;m<=c;m++){let w=i[d-1]===s[m-1]?0:1,T=Math.min(p[m]+1,y[m-1]+1,p[m-1]+w);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let S=u[(d-2)%3][m-2];T=Math.min(T,S+1)}T<h&&(h=T),y[m]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function F_(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(F_,"stringToArray");function De(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(De,"toObjMap");function q_(e){return`"${e.replace(mC,yC)}"`}o(q_,"printString");var mC=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function yC(e){return gC[e.charCodeAt(0)]}o(yC,"escapedReplacer");var gC=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var Vp=Object.freeze({});function yr(e,t,r=Hp){let n=new Map;for(let S of Object.values(b))n.set(S,Bn(t,S));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,y=[],h=[];do{c++;let S=c===a.length,L=S&&u.length!==0;if(S){if(d=h.length===0?void 0:y[y.length-1],l=p,p=h.pop(),L)if(s){l=l.slice();let N=0;for(let[re,ne]of u){let me=re-N;ne===null?(l.splice(me,1),N++):l[me]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[N,re]of u)l[N]=re}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;y.push(d)}let F;if(!Array.isArray(l)){var m,w;ki(l)||B(!1,`Invalid AST Node: ${P(l)}.`);let N=S?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(w=n.get(l.kind))===null||w===void 0?void 0:w.enter;if(F=N?.call(t,l,d,p,y,h),F===Vp)break;if(F===!1){if(!S){y.pop();continue}}else if(F!==void 0&&(u.push([d,F]),!S))if(ki(F))l=F;else{y.pop();continue}}if(F===void 0&&L&&u.push([d,l]),S)y.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(yr,"visit");function Bn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}o(Bn,"getEnterLeaveForKind");function Ue(e){return yr(e,_C)}o(Ue,"print");var bC=80,_C={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
|
|
96
96
|
|
|
97
|
-
`)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>dt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=J("",e,": ")+t,a=s+J("(",x(r,", "),")");return a.length>
|
|
98
|
-
`,
|
|
97
|
+
`)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>dt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=J("",e,": ")+t,a=s+J("(",x(r,", "),")");return a.length>bC&&(a=s+J(`(
|
|
98
|
+
`,xc(x(r,`
|
|
99
99
|
`)),`
|
|
100
|
-
)`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?
|
|
100
|
+
)`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?N_(e):q_(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+x(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+x(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",x(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
|
|
101
101
|
`)+x(["schema",x(t," "),dt(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
102
102
|
`)+x(["scalar",t,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
103
103
|
`)+x(["type",t,J("implements ",x(r," & ")),x(n," "),dt(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
|
|
104
|
-
`)+t+(
|
|
105
|
-
`,
|
|
104
|
+
`)+t+($_(r)?J(`(
|
|
105
|
+
`,xc(x(r,`
|
|
106
106
|
`)),`
|
|
107
107
|
)`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
|
|
108
108
|
`)+x([t+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
@@ -111,17 +111,17 @@ spurious results.`)}}return!1},"instanceOf");var jn=class{static{o(this,"Source"
|
|
|
111
111
|
`)+x(["enum",t,x(r," "),dt(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
112
112
|
`)+x([t,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
|
|
113
113
|
`)+x(["input",t,x(r," "),dt(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
|
|
114
|
-
`)+"directive @"+t+(
|
|
115
|
-
`,
|
|
114
|
+
`)+"directive @"+t+($_(r)?J(`(
|
|
115
|
+
`,xc(x(r,`
|
|
116
116
|
`)),`
|
|
117
117
|
)`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),dt(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>x(["extend scalar",e,x(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend type",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>x(["extend union",e,x(t," "),J("= ",x(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>x(["extend enum",e,x(t," "),dt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),dt(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}o(x,"join");function dt(e){return J(`{
|
|
118
|
-
`,
|
|
118
|
+
`,xc(x(e,`
|
|
119
119
|
`)),`
|
|
120
|
-
}`)}o(dt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function
|
|
121
|
-
`))}o(
|
|
122
|
-
`)))!==null&&t!==void 0?t:!1}o(F_,"hasMultilineItems");function $i(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>$i(r,t));case b.OBJECT:return Pt(e.fields,r=>r.name.value,r=>$i(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}o($i,"valueFromASTUntyped");function je(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new N("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!_c(e.charCodeAt(t)))throw new N(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!ki(e.charCodeAt(0)))throw new N(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(je,"assertName");function Vp(e){if(e==="true"||e==="false"||e==="null")throw new N(`Enum values cannot be named: ${e}`);return je(e)}o(Vp,"assertEnumValueName");function Nc(e){return gr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Pe(e)||Ve(e)||ae(e)}o(Nc,"isType");function gr(e){return ze(e,We)}o(gr,"isScalarType");function Ne(e){return ze(e,xe)}o(Ne,"isObjectType");function Cc(e){if(!Ne(e))throw new Error(`Expected ${A(e)} to be a GraphQL Object type.`);return e}o(Cc,"assertObjectType");function we(e){return ze(e,jt)}o(we,"isInterfaceType");function Lc(e){if(!we(e))throw new Error(`Expected ${A(e)} to be a GraphQL Interface type.`);return e}o(Lc,"assertInterfaceType");function nt(e){return ze(e,Fr)}o(nt,"isUnionType");function Qe(e){return ze(e,Rt)}o(Qe,"isEnumType");function Pe(e){return ze(e,qr)}o(Pe,"isInputObjectType");function Ve(e){return ze(e,pe)}o(Ve,"isListType");function ae(e){return ze(e,$)}o(ae,"isNonNullType");function Ye(e){return gr(e)||Qe(e)||Pe(e)||ji(e)&&Ye(e.ofType)}o(Ye,"isInputType");function Vt(e){return gr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||ji(e)&&Vt(e.ofType)}o(Vt,"isOutputType");function br(e){return gr(e)||Qe(e)}o(br,"isLeafType");function Ot(e){return Ne(e)||we(e)||nt(e)}o(Ot,"isCompositeType");function _r(e){return we(e)||nt(e)}o(_r,"isAbstractType");var pe=class{static{o(this,"GraphQLList")}constructor(t){Nc(t)||B(!1,`Expected ${A(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(t){Dc(t)||B(!1,`Expected ${A(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function ji(e){return Ve(e)||ae(e)}o(ji,"isWrappingType");function Dc(e){return Nc(e)&&!ae(e)}o(Dc,"isNullableType");function Uc(e){if(!Dc(e))throw new Error(`Expected ${A(e)} to be a GraphQL nullable type.`);return e}o(Uc,"assertNullableType");function Mc(e){if(e)return ae(e)?e.ofType:e}o(Mc,"getNullableType");function pt(e){if(e){let t=e;for(;ji(t);)t=t.ofType;return t}}o(pt,"getNamedType");function kc(e){return typeof e=="function"?e():e}o(kc,"resolveReadonlyArrayThunk");function Hc(e){return typeof e=="function"?e():e}o(Hc,"resolveObjMapThunk");var We=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:Fp;this.name=je(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:Fp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a($i(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>$_(t),this._interfaces=()=>q_(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:j_(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function q_(e){var t;let r=kc((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(q_,"defineInterfaces");function $_(e){let t=Hc(e.fields);return Bn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),qi(t,(r,n)=>{var i;Bn(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return Bn(s)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:je(n),description:r.description,type:r.type,args:Gp(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}o($_,"defineFieldMap");function Gp(e){return Object.entries(e).map(([t,r])=>({name:je(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(Gp,"defineArguments");function Bn(e){return Ee(e)&&!Array.isArray(e)}o(Bn,"isPlainObj");function j_(e){return qi(e,t=>({description:t.description,type:t.type,args:Bp(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(j_,"fieldsToFieldsConfig");function Bp(e){return Pt(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Bp,"argsToArgsConfig");var jt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=$_.bind(void 0,t),this._interfaces=q_.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:j_(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Fr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=mC.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function mC(e){let t=kc(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(mC,"defineTypes");var Rt=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=yC(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Vn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new N(`Enum "${this.name}" cannot represent value: ${A(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=A(t);throw new N(`Enum "${this.name}" cannot represent non-string value: ${n}.`+xc(this,n))}let r=this.getValue(t);if(r==null)throw new N(`Value "${t}" does not exist in "${this.name}" enum.`+xc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Ue(t);throw new N(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+xc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new N(`Value "${i}" does not exist in "${this.name}" enum.`+xc(this,i),{nodes:t})}return n.value}toConfig(){let t=Pt(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function xc(e,t){let r=e.getValues().map(i=>i.name),n=Rc(t,r);return Ac("the enum value",n)}o(xc,"didYouMeanEnumValue");function yC(e,t){return Bn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Bn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:Vp(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}o(yC,"defineEnumValues");var qr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=gC.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=qi(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function gC(e){let t=Hc(e.fields);return Bn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),qi(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:je(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(gC,"defineInputFieldMap");var Fc=2147483647,qc=-2147483648,Kp=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=Vi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new N(`Int cannot represent non-integer value: ${A(t)}`);if(r>Fc||r<qc)throw new N("Int cannot represent non 32-bit signed integer value: "+A(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new N(`Int cannot represent non-integer value: ${A(e)}`);if(e>Fc||e<qc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new N(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Fc||t<qc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),V_=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=Vi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new N(`Float cannot represent non numeric value: ${A(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new N(`Float cannot represent non numeric value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new N(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),oe=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Vi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new N(`String cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e!="string")throw new N(`String cannot represent a non string value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new N(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Vi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new N(`Boolean cannot represent a non boolean value: ${A(t)}`)},parseValue(e){if(typeof e!="boolean")throw new N(`Boolean cannot represent a non boolean value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new N(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),$c=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=Vi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new N(`ID cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new N(`ID cannot represent value: ${A(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new N("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),Jp=Object.freeze([oe,Kp,V_,Me,$c]);function Vi(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(Vi,"serializeObject");function zp(e){return ze(e,ht)}o(zp,"isDirective");var ht=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=je(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Gp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Bp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},G_=new ht({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Included when true."}}}),B_=new ht({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Skipped when true."}}}),K_="No longer supported",J_=new ht({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:oe,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:K_}}}),z_=new ht({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(oe),description:"The URL that specifies the behavior of this scalar."}}}),Wp=Object.freeze([G_,B_,J_,z_]);function jc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(jc,"isIterableObject");function $r(e,t){if(ae(t)){let r=$r(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ve(t)){let r=t.ofType;if(jc(e)){let n=[];for(let i of e){let s=$r(i,r);s!=null&&n.push(s)}return{kind:b.LIST,values:n}}return $r(e,r)}if(Pe(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=$r(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(br(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return W_.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:b.ENUM,value:r}:t===$c&&W_.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}At(!1,"Unexpected input type: "+A(t))}o($r,"astFromValue");var W_=/^-?(?:0|[1-9][0-9]*)$/;var Gi=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:oe,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(Qp))),resolve:e=>e.getDirectives()}})}),Qp=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
120
|
+
}`)}o(dt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function xc(e){return J(" ",e.replace(/\n/g,`
|
|
121
|
+
`))}o(xc,"indent");function $_(e){var t;return(t=e?.some(r=>r.includes(`
|
|
122
|
+
`)))!==null&&t!==void 0?t:!1}o($_,"hasMultilineItems");function ji(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>ji(r,t));case b.OBJECT:return At(e.fields,r=>r.name.value,r=>ji(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}o(ji,"valueFromASTUntyped");function je(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new C("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Ec(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Hi(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(je,"assertName");function Gp(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return je(e)}o(Gp,"assertEnumValueName");function Cc(e){return gr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ve(e)||ae(e)}o(Cc,"isType");function gr(e){return ze(e,We)}o(gr,"isScalarType");function Ne(e){return ze(e,xe)}o(Ne,"isObjectType");function Lc(e){if(!Ne(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}o(Lc,"assertObjectType");function we(e){return ze(e,Vt)}o(we,"isInterfaceType");function Dc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}o(Dc,"assertInterfaceType");function nt(e){return ze(e,qr)}o(nt,"isUnionType");function Qe(e){return ze(e,Rt)}o(Qe,"isEnumType");function Ae(e){return ze(e,$r)}o(Ae,"isInputObjectType");function Ve(e){return ze(e,pe)}o(Ve,"isListType");function ae(e){return ze(e,j)}o(ae,"isNonNullType");function Ye(e){return gr(e)||Qe(e)||Ae(e)||Vi(e)&&Ye(e.ofType)}o(Ye,"isInputType");function Gt(e){return gr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Vi(e)&&Gt(e.ofType)}o(Gt,"isOutputType");function br(e){return gr(e)||Qe(e)}o(br,"isLeafType");function Ot(e){return Ne(e)||we(e)||nt(e)}o(Ot,"isCompositeType");function _r(e){return we(e)||nt(e)}o(_r,"isAbstractType");var pe=class{static{o(this,"GraphQLList")}constructor(t){Cc(t)||B(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},j=class{static{o(this,"GraphQLNonNull")}constructor(t){Uc(t)||B(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Vi(e){return Ve(e)||ae(e)}o(Vi,"isWrappingType");function Uc(e){return Cc(e)&&!ae(e)}o(Uc,"isNullableType");function Mc(e){if(!Uc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}o(Mc,"assertNullableType");function kc(e){if(e)return ae(e)?e.ofType:e}o(kc,"getNullableType");function pt(e){if(e){let t=e;for(;Vi(t);)t=t.ofType;return t}}o(pt,"getNamedType");function Hc(e){return typeof e=="function"?e():e}o(Hc,"resolveReadonlyArrayThunk");function Fc(e){return typeof e=="function"?e():e}o(Fc,"resolveObjMapThunk");var We=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:qp;this.name=je(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:qp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(ji(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>V_(t),this._interfaces=()=>j_(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:G_(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function j_(e){var t;let r=Hc((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(j_,"defineInterfaces");function V_(e){let t=Fc(e.fields);return Kn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),$i(t,(r,n)=>{var i;Kn(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return Kn(s)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:je(n),description:r.description,type:r.type,args:Bp(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}o(V_,"defineFieldMap");function Bp(e){return Object.entries(e).map(([t,r])=>({name:je(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(Bp,"defineArguments");function Kn(e){return Ee(e)&&!Array.isArray(e)}o(Kn,"isPlainObj");function G_(e){return $i(e,t=>({description:t.description,type:t.type,args:Kp(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(G_,"fieldsToFieldsConfig");function Kp(e){return At(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Kp,"argsToArgsConfig");var Vt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=V_.bind(void 0,t),this._interfaces=j_.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:G_(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},qr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=EC.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function EC(e){let t=Hc(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(EC,"defineTypes");var Rt=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=wC(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Gn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Nc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+Nc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Ue(t);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Nc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+Nc(this,i),{nodes:t})}return n.value}toConfig(){let t=At(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Nc(e,t){let r=e.getValues().map(i=>i.name),n=Oc(t,r);return Ac("the enum value",n)}o(Nc,"didYouMeanEnumValue");function wC(e,t){return Kn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Kn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:Gp(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}o(wC,"defineEnumValues");var $r=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=vC.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=$i(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function vC(e){let t=Fc(e.fields);return Kn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),$i(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:je(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(vC,"defineInputFieldMap");var qc=2147483647,$c=-2147483648,Jp=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=Gi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${P(t)}`);if(r>qc||r<$c)throw new C("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new C(`Int cannot represent non-integer value: ${P(e)}`);if(e>qc||e<$c)throw new C(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new C(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>qc||t<$c)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),B_=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=Gi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new C(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new C(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),oe=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Gi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new C(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new C(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new C(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Gi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new C(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),jc=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=Gi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new C(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new C(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new C("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),zp=Object.freeze([oe,Jp,B_,Me,jc]);function Gi(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(Gi,"serializeObject");function Wp(e){return ze(e,ht)}o(Wp,"isDirective");var ht=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=je(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Bp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Kp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},K_=new ht({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new j(Me),description:"Included when true."}}}),J_=new ht({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new j(Me),description:"Skipped when true."}}}),z_="No longer supported",W_=new ht({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:oe,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:z_}}}),Q_=new ht({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new j(oe),description:"The URL that specifies the behavior of this scalar."}}}),Qp=Object.freeze([K_,J_,W_,Q_]);function Vc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(Vc,"isIterableObject");function jr(e,t){if(ae(t)){let r=jr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ve(t)){let r=t.ofType;if(Vc(e)){let n=[];for(let i of e){let s=jr(i,r);s!=null&&n.push(s)}return{kind:b.LIST,values:n}}return jr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=jr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(br(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Y_.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:b.ENUM,value:r}:t===jc&&Y_.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Pt(!1,"Unexpected input type: "+P(t))}o(jr,"astFromValue");var Y_=/^-?(?:0|[1-9][0-9]*)$/;var Bi=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:oe,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new j(new pe(new j(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new j(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new j(new pe(new j(Yp))),resolve:e=>e.getDirectives()}})}),Yp=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
123
123
|
|
|
124
|
-
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isRepeatable:{type:new $(Me),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(Yp))),resolve:e=>e.locations},args:{type:new $(new pe(new $(Bi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Yp=new Rt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(eh),resolve(e){if(gr(e))return X.SCALAR;if(Ne(e))return X.OBJECT;if(we(e))return X.INTERFACE;if(nt(e))return X.UNION;if(Qe(e))return X.ENUM;if(Pe(e))return X.INPUT_OBJECT;if(Ve(e))return X.LIST;if(ae(e))return X.NON_NULL;At(!1,`Unexpected type: "${A(e)}".`)}},name:{type:oe,resolve:e=>"name"in e?e.name:void 0},description:{type:oe,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:oe,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(Zp)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ne(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(Ne(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(_r(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Xp)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new $(Bi)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Pe(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),Zp=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},args:{type:new $(new pe(new $(Bi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:e=>e.type},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Bi=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=$r(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Xp=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),X;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(X||(X={}));var eh=new Rt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:X.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:X.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:X.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:X.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:X.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:X.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:X.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:X.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Vc={name:"__schema",type:new $(Gi),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Gc={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(oe),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Bc={name:"__typename",type:new $(oe),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},th=Object.freeze([Gi,Qp,Yp,it,Zp,Bi,Xp,eh]);var Ki=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${A(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${A(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Wp;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),ft(s,i);this._queryType!=null&&ft(this._queryType,i),this._mutationType!=null&&ft(this._mutationType,i),this._subscriptionType!=null&&ft(this._subscriptionType,i);for(let s of this._directives)if(zp(s))for(let a of s.args)ft(a.type,i);ft(Gi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,we(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ne(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function ft(e,t){let r=pt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())ft(n,t);else if(Ne(r)||we(r)){for(let n of r.getInterfaces())ft(n,t);for(let n of Object.values(r.getFields())){ft(n.type,t);for(let i of n.args)ft(i.type,t)}}else if(Pe(r))for(let n of Object.values(r.getFields()))ft(n.type,t)}return t}o(ft,"collectReferencedTypes");function Er(e,t){switch(t.kind){case b.LIST_TYPE:{let r=Er(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=Er(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}o(Er,"typeFromAST");var wr=class{static{o(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??bC,r&&(Ye(r)&&this._inputTypeStack.push(r),Ot(r)&&this._parentTypeStack.push(r),Vt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=pt(this.getType());this._parentTypeStack.push(Ot(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(Vt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ne(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?Er(r,i):pt(this.getType());this._typeStack.push(Vt(s)?s:void 0);break}case b.VARIABLE_DEFINITION:{let i=Er(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.LIST:{let i=Mc(this.getInputType()),s=Ve(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.OBJECT_FIELD:{let i=pt(this.getInputType()),s,a;Pe(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.ENUM:{let i=pt(this.getInputType()),s;Qe(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function bC(e,t,r){let n=r.name.value;if(n===Vc.name&&e.getQueryType()===t)return Vc;if(n===Gc.name&&e.getQueryType()===t)return Gc;if(n===Bc.name&&Ot(t))return Bc;if(Ne(t)||we(t))return t.getFields()[n]}o(bC,"getFieldDef");function Kn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Gn(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),Mi(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=Gn(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(Kn,"visitWithTypeInfo");function Kc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(Kc,"printPathArray");function rh(e,t,r){return{prev:e,key:t,typename:r}}o(rh,"addPath");function Gt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(Gt,"pathToArray");function nh(e,t,r=_C){return Ji(e,t,r,void 0)}o(nh,"coerceInputValue");function _C(e,t,r){let n="Invalid value "+A(t);throw e.length>0&&(n+=` at "value${Kc(e)}"`),r.message=n+": "+r.message,r}o(_C,"defaultOnError");function Ji(e,t,r,n){if(ae(t)){if(e!=null)return Ji(e,t.ofType,r,n);r(Gt(n),e,new N(`Expected non-nullable type "${A(t)}" not to be null.`));return}if(e==null)return null;if(Ve(t)){let i=t.ofType;return jc(e)?Array.from(e,(s,a)=>{let c=rh(n,a,void 0);return Ji(s,i,r,c)}):[Ji(e,i,r,n)]}if(Pe(t)){if(!Ee(e)){r(Gt(n),e,new N(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let a of Object.values(s)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ae(a.type)){let u=A(a.type);r(Gt(n),e,new N(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Ji(c,a.type,r,rh(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=Rc(a,Object.keys(t.getFields()));r(Gt(n),e,new N(`Field "${a}" is not defined by type "${t.name}".`+Ac(c)))}return i}if(br(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof N?r(Gt(n),e,s):r(Gt(n),e,new N(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(Gt(n),e,new N(`Expected type "${t.name}".`)),i}At(!1,"Unexpected input type: "+A(t))}o(Ji,"coerceInputValueImpl");function xt(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(t)?void 0:i}if(ae(t))return e.kind===b.NULL?void 0:xt(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ve(t)){let n=t.ofType;if(e.kind===b.LIST){let s=[];for(let a of e.values)if(Q_(a,r)){if(ae(n))return;s.push(null)}else{let c=xt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=xt(e,n,r);return i===void 0?void 0:[i]}if(Pe(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Vn(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||Q_(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ae(s.type))return;continue}let c=xt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(br(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}At(!1,"Unexpected input type: "+A(t))}}o(xt,"valueFromAST");function Q_(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(Q_,"isMissingVariable");function Jc(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=EC(e,t,r,c=>{if(s!=null&&i.length>=s)throw new N("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(Jc,"getVariableValues");function EC(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=Er(e,s.type);if(!Ye(c)){let l=Ue(s.type);n(new N(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Y_(r,a)){if(s.defaultValue)i[a]=xt(s.defaultValue,c);else if(ae(c)){let l=A(c);n(new N(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ae(c)){let l=A(c);n(new N(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=nh(u,c,(l,d,p)=>{let y=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(y+=` at "${a}${Kc(l)}"`),n(new N(y+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(EC,"coerceVariableValues");function zi(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=Vn(s,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:t});continue}let p=d.value,y=p.kind===b.NULL;if(p.kind===b.VARIABLE){let m=p.name.value;if(r==null||!Y_(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}y=r[m]==null}if(y&&ae(l))throw new N(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let h=xt(p,l,r);if(h===void 0)throw new N(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}o(zi,"getArgumentValues");function Wi(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(i)return zi(e,i,r)}o(Wi,"getDirectiveValues");function Y_(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(Y_,"hasOwnProperty");var zc=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===b.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},Z_=class extends zc{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Jn=class extends zc{static{o(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new wr(this._schema);yr(t,Kn(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function Wc(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
|
|
124
|
+
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new j(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isRepeatable:{type:new j(Me),resolve:e=>e.isRepeatable},locations:{type:new j(new pe(new j(Zp))),resolve:e=>e.locations},args:{type:new j(new pe(new j(Ki))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Zp=new Rt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new j(th),resolve(e){if(gr(e))return ee.SCALAR;if(Ne(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ve(e))return ee.LIST;if(ae(e))return ee.NON_NULL;Pt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:oe,resolve:e=>"name"in e?e.name:void 0},description:{type:oe,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:oe,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new j(Xp)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ne(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new j(it)),resolve(e){if(Ne(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new j(it)),resolve(e,t,r,{schema:n}){if(_r(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new j(eh)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new j(Ki)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ae(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),Xp=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new j(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},args:{type:new j(new pe(new j(Ki))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new j(it),resolve:e=>e.type},isDeprecated:{type:new j(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Ki=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new j(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},type:{type:new j(it),resolve:e=>e.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=jr(r,t);return n?Ue(n):null}},isDeprecated:{type:new j(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),eh=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new j(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isDeprecated:{type:new j(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),ee;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(ee||(ee={}));var th=new Rt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Gc={name:"__schema",type:new j(Bi),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Bc={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new j(oe),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Kc={name:"__typename",type:new j(oe),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},rh=Object.freeze([Bi,Yp,Zp,it,Xp,Ki,eh,th]);var Ji=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Qp;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),ft(s,i);this._queryType!=null&&ft(this._queryType,i),this._mutationType!=null&&ft(this._mutationType,i),this._subscriptionType!=null&&ft(this._subscriptionType,i);for(let s of this._directives)if(Wp(s))for(let a of s.args)ft(a.type,i);ft(Bi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,we(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ne(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function ft(e,t){let r=pt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())ft(n,t);else if(Ne(r)||we(r)){for(let n of r.getInterfaces())ft(n,t);for(let n of Object.values(r.getFields())){ft(n.type,t);for(let i of n.args)ft(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))ft(n.type,t)}return t}o(ft,"collectReferencedTypes");function Er(e,t){switch(t.kind){case b.LIST_TYPE:{let r=Er(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=Er(e,t.type);return r&&new j(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}o(Er,"typeFromAST");var wr=class{static{o(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??TC,r&&(Ye(r)&&this._inputTypeStack.push(r),Ot(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=pt(this.getType());this._parentTypeStack.push(Ot(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ne(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?Er(r,i):pt(this.getType());this._typeStack.push(Gt(s)?s:void 0);break}case b.VARIABLE_DEFINITION:{let i=Er(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.LIST:{let i=kc(this.getInputType()),s=Ve(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.OBJECT_FIELD:{let i=pt(this.getInputType()),s,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.ENUM:{let i=pt(this.getInputType()),s;Qe(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function TC(e,t,r){let n=r.name.value;if(n===Gc.name&&e.getQueryType()===t)return Gc;if(n===Bc.name&&e.getQueryType()===t)return Bc;if(n===Kc.name&&Ot(t))return Kc;if(Ne(t)||we(t))return t.getFields()[n]}o(TC,"getFieldDef");function Jn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Bn(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),ki(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=Bn(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(Jn,"visitWithTypeInfo");function Jc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(Jc,"printPathArray");function nh(e,t,r){return{prev:e,key:t,typename:r}}o(nh,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(Bt,"pathToArray");function ih(e,t,r=SC){return zi(e,t,r,void 0)}o(ih,"coerceInputValue");function SC(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${Jc(e)}"`),r.message=n+": "+r.message,r}o(SC,"defaultOnError");function zi(e,t,r,n){if(ae(t)){if(e!=null)return zi(e,t.ofType,r,n);r(Bt(n),e,new C(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ve(t)){let i=t.ofType;return Vc(e)?Array.from(e,(s,a)=>{let c=nh(n,a,void 0);return zi(s,i,r,c)}):[zi(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new C(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let a of Object.values(s)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ae(a.type)){let u=P(a.type);r(Bt(n),e,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=zi(c,a.type,r,nh(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=Oc(a,Object.keys(t.getFields()));r(Bt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+Ac(c)))}return i}if(br(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof C?r(Bt(n),e,s):r(Bt(n),e,new C(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(Bt(n),e,new C(`Expected type "${t.name}".`)),i}Pt(!1,"Unexpected input type: "+P(t))}o(zi,"coerceInputValueImpl");function xt(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(t)?void 0:i}if(ae(t))return e.kind===b.NULL?void 0:xt(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ve(t)){let n=t.ofType;if(e.kind===b.LIST){let s=[];for(let a of e.values)if(Z_(a,r)){if(ae(n))return;s.push(null)}else{let c=xt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=xt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Gn(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||Z_(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ae(s.type))return;continue}let c=xt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(br(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Pt(!1,"Unexpected input type: "+P(t))}}o(xt,"valueFromAST");function Z_(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(Z_,"isMissingVariable");function zc(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=IC(e,t,r,c=>{if(s!=null&&i.length>=s)throw new C("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(zc,"getVariableValues");function IC(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=Er(e,s.type);if(!Ye(c)){let l=Ue(s.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!X_(r,a)){if(s.defaultValue)i[a]=xt(s.defaultValue,c);else if(ae(c)){let l=P(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ae(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=ih(u,c,(l,d,p)=>{let y=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(y+=` at "${a}${Jc(l)}"`),n(new C(y+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(IC,"coerceVariableValues");function Wi(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=Gn(s,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,y=p.kind===b.NULL;if(p.kind===b.VARIABLE){let m=p.name.value;if(r==null||!X_(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new C(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}y=r[m]==null}if(y&&ae(l))throw new C(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=xt(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}o(Wi,"getArgumentValues");function Qi(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(i)return Wi(e,i,r)}o(Qi,"getDirectiveValues");function X_(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(X_,"hasOwnProperty");var Wc=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===b.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},eE=class extends Wc{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},zn=class extends Wc{static{o(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new wr(this._schema);yr(t,Jn(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function Qc(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
|
|
125
125
|
query IntrospectionQuery {
|
|
126
126
|
__schema {
|
|
127
127
|
${s}
|
|
@@ -226,5 +226,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
`}o(Wc,"getIntrospectionQuery");function Qc(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${A(e)}.`);let r=e.__schema,n=Pt(r.types,E=>E.name,E=>y(E));for(let E of[...Jp,...th])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Ge):[];return new Ki({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===X.LIST){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(E.kind===X.NON_NULL){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ce=u(H);return new $(Uc(Ce))}return l(E)}function l(E){let H=E.name;if(!H)throw new Error(`Unknown type reference: ${A(E)}.`);let Ce=n[H];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(E){return Cc(l(E))}function p(E){return Lc(l(E))}function y(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return h(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return S(E);case X.ENUM:return k(E);case X.INPUT_OBJECT:return j(E)}let H=A(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(E){return new We({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function m(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let H=A(E);throw new Error(`Introspection result missing interfaces: ${H}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function T(E){return new jt({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function S(E){if(!E.possibleTypes){let H=A(E);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new Fr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let H=A(E);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Rt({name:E.name,description:E.description,values:Pt(E.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function j(E){if(!E.inputFields){let H=A(E);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new qr({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function C(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return Pt(E.fields,H=>H.name,re)}function re(E){let H=u(E.type);if(!Vt(H)){let Ce=A(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=A(E);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:H,args:ne(E.args)}}function ne(E){return Pt(E,H=>H.name,me)}function me(E){let H=u(E.type);if(!Ye(H)){let Zc=A(H);throw new Error(`Introspection must provide input type for arguments, but received: ${Zc}.`)}let Ce=E.defaultValue!=null?xt(Ic(E.defaultValue),H):void 0;return{description:E.description,type:H,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Ge(E){if(!E.args){let H=A(E);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!E.locations){let H=A(E);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ht({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}o(Qc,"buildClientSchema");function GC(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(GC,"queryComplexityMessage");function X_(e){let t=new wr(e.schema),r=[],n=new Jn(e.schema,e.query,t,s=>r.push(s)),i=new ih(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(yr(e.query,Kn(t,i)),r.length)throw r.pop();return i.complexity}o(X_,"getComplexity");var ih=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=Jc(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof xe||r instanceof jt)&&(n=r.getFields());let i;_r(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&Wi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Wi(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let y=pt(p.type),h;try{h=zi(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let m=0;Ot(y)&&(m=this.nodeComplexity(c,y));let v={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let k=S(v);return typeof k=="number"&&!isNaN(k)?(u=zn(k,a,i),!0):!1}))return this.context.reportError(new N(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let y=this.context.getSchema().getType(p.typeCondition.name.value);if(!Ot(y))break;let h=this.nodeComplexity(p,y);_r(y)?u=zn(h,a,this.context.getSchema().getPossibleTypes(y).map(m=>m.name)):u=zn(h,a,[y.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Ot(p)))break;let y=this.nodeComplexity(c,p);_r(p)?u=zn(y,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=zn(y,a,[p.name]);break}default:{u=zn(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new N(GC(this.options.maximumComplexity,this.complexity))}};function zn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(zn,"addComplexities");function eE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(eE,"simpleEstimator");var tE=o((e,t,r={})=>{let{definitions:n}=e,i=BC(n),s=KC(n);return Object.entries(s).map(([a,c])=>Yc(c,i,0,t,a,r))},"depthLimit");function BC(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(BC,"getFragments");function KC(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(KC,"getQueriesAndMutations");function Yc(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new N(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case b.FIELD:return JC(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>Yc(c,t,r+1,n,i,s)));case b.FRAGMENT_SPREAD:return Yc(t[e.name.value],t,r,n,i,s);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>Yc(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(Yc,"determineDepth");var JC=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var zC=o(async(e,t)=>{if(!t.complexityLimit)throw new Wn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Wn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=Wc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new N("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Qc(c,{assumeValid:!0}),l=X_({estimators:[eE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new N(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),WC=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Wn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...tE(e,r))},"applyDepthLimitPolicy"),rE=o(async(e,t,r)=>{let n=Wn.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=Sc(s.query);r.useDepthLimit&&await WC(a,r.useDepthLimit),r.useComplexityLimit&&await zC(a,r.useComplexityLimit)}catch(i){if(i instanceof N)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var nE=ah(Ct());function QC(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(QC,"isIntrospectionQuery");var iE=o(async(e,t)=>{let n=await e.clone().json();return QC(n.query)?nE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
229
|
+
`}o(Qc,"getIntrospectionQuery");function Yc(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=At(r.types,E=>E.name,E=>y(E));for(let E of[...zp,...rh])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Ge):[];return new Ji({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===ee.LIST){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(E.kind===ee.NON_NULL){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ce=u(H);return new j(Mc(Ce))}return l(E)}function l(E){let H=E.name;if(!H)throw new Error(`Unknown type reference: ${P(E)}.`);let Ce=n[H];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(E){return Lc(l(E))}function p(E){return Dc(l(E))}function y(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ee.SCALAR:return h(E);case ee.OBJECT:return w(E);case ee.INTERFACE:return T(E);case ee.UNION:return S(E);case ee.ENUM:return L(E);case ee.INPUT_OBJECT:return F(E)}let H=P(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(E){return new We({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function m(E){if(E.interfaces===null&&E.kind===ee.INTERFACE)return[];if(!E.interfaces){let H=P(E);throw new Error(`Introspection result missing interfaces: ${H}.`)}return E.interfaces.map(p)}function w(E){return new xe({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>N(E)})}function T(E){return new Vt({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>N(E)})}function S(E){if(!E.possibleTypes){let H=P(E);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new qr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function L(E){if(!E.enumValues){let H=P(E);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Rt({name:E.name,description:E.description,values:At(E.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function F(E){if(!E.inputFields){let H=P(E);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new $r({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function N(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${P(E)}.`);return At(E.fields,H=>H.name,re)}function re(E){let H=u(E.type);if(!Gt(H)){let Ce=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=P(E);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:H,args:ne(E.args)}}function ne(E){return At(E,H=>H.name,me)}function me(E){let H=u(E.type);if(!Ye(H)){let Xc=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${Xc}.`)}let Ce=E.defaultValue!=null?xt(Pc(E.defaultValue),H):void 0;return{description:E.description,type:H,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Ge(E){if(!E.args){let H=P(E);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!E.locations){let H=P(E);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ht({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}o(Yc,"buildClientSchema");function WC(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(WC,"queryComplexityMessage");function tE(e){let t=new wr(e.schema),r=[],n=new zn(e.schema,e.query,t,s=>r.push(s)),i=new oh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(yr(e.query,Jn(t,i)),r.length)throw r.pop();return i.complexity}o(tE,"getComplexity");var oh=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=zc(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof xe||r instanceof Vt)&&(n=r.getFields());let i;_r(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&Qi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Qi(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let y=pt(p.type),h;try{h=Wi(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let m=0;Ot(y)&&(m=this.nodeComplexity(c,y));let w={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let L=S(w);return typeof L=="number"&&!isNaN(L)?(u=Wn(L,a,i),!0):!1}))return this.context.reportError(new C(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let y=this.context.getSchema().getType(p.typeCondition.name.value);if(!Ot(y))break;let h=this.nodeComplexity(p,y);_r(y)?u=Wn(h,a,this.context.getSchema().getPossibleTypes(y).map(m=>m.name)):u=Wn(h,a,[y.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Ot(p)))break;let y=this.nodeComplexity(c,p);_r(p)?u=Wn(y,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Wn(y,a,[p.name]);break}default:{u=Wn(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(WC(this.options.maximumComplexity,this.complexity))}};function Wn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(Wn,"addComplexities");function rE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(rE,"simpleEstimator");var nE=o((e,t,r={})=>{let{definitions:n}=e,i=QC(n),s=YC(n);return Object.entries(s).map(([a,c])=>Zc(c,i,0,t,a,r))},"depthLimit");function QC(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(QC,"getFragments");function YC(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(YC,"getQueriesAndMutations");function Zc(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case b.FIELD:return ZC(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>Zc(c,t,r+1,n,i,s)));case b.FRAGMENT_SPREAD:return Zc(t[e.name.value],t,r,n,i,s);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>Zc(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(Zc,"determineDepth");var ZC=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var XC=o(async(e,t)=>{if(!t.complexityLimit)throw new Qn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Qn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=Qc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new C("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Yc(c,{assumeValid:!0}),l=tE({estimators:[rE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new C(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),eL=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Qn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...nE(e,r))},"applyDepthLimitPolicy"),iE=o(async(e,t,r)=>{let n=Qn.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=Ic(s.query);r.useDepthLimit&&await eL(a,r.useDepthLimit),r.useComplexityLimit&&await XC(a,r.useComplexityLimit)}catch(i){if(i instanceof C)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var oE=ch(Ct());function tL(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(tL,"isIntrospectionQuery");var sE=o(async(e,t)=>{let n=await e.clone().json();return tL(n.query)?oE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
230
230
|
/*! For license information please see index.minified.js.LEGAL.txt */
|