@zuplo/graphql 5.1762.0 → 5.1766.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.
Files changed (2) hide show
  1. package/index.minified.js +39 -39
  2. 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 VE=Object.create;var ei=Object.defineProperty;var GE=Object.getOwnPropertyDescriptor;var BE=Object.getOwnPropertyNames;var KE=Object.getPrototypeOf,JE=Object.prototype.hasOwnProperty;var s=(e,t)=>ei(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ro=(e,t)=>{for(var r in t)ei(e,r,{get:t[r],enumerable:!0})},vh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of BE(t))!JE.call(e,i)&&i!==r&&ei(e,i,{get:()=>t[i],enumerable:!(n=GE(t,i))||n.enumerable});return e};var Th=(e,t,r)=>(r=e!=null?VE(KE(e)):{},vh(t||!e||!e.__esModule?ei(r,"default",{value:e,enumerable:!0}):r,e)),no=e=>vh(ei({},"__esModule",{value:!0}),e);var O=y(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.FeatureNotEnabledError=yt.ConfigurationError=yt.RuntimeError=yt.SystemError=void 0;var lu=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};yt.SystemError=lu;var ti=class extends Error{static{s(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};yt.RuntimeError=ti;var du=class extends ti{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};yt.ConfigurationError=du;var pu=class extends ti{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};yt.FeatureNotEnabledError=pu});var W=y(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.Environment=void 0;var zE=O(),hu=class e{static{s(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 zE.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.config.metering_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"}};io.Environment=hu});var Ah=y(Ph=>{"use strict";Object.defineProperty(Ph,"__esModule",{value:!0});var Sh=W();Function.prototype.toString=function(){return"[native code]"};var oo=globalThis,Ih=oo.caches;if(Ih){let e=Ih.open;oo.caches.open=function(t){let r=Sh.Environment.instance.deploymentName??Sh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete oo.caches.default,Object.freeze(oo.caches)}});var yu=y(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.MemoryCache=void 0;var WE=1e4,QE=1e3,Rh=new Map,fu=class{static{s(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(),o={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,o)}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+WE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},mu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:QE}){this.name=t;let n=Rh.get(t);n||(n=new fu(r),Rh.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()}};so.MemoryCache=mu});var ri=y(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.ZoneCache=void 0;var gu="__zuplo-expiry-header",bu=class{static{s(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 o=i.headers.get(gu);if(!o){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(o);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(gu,`${Date.now()+n*1e3}`);let o=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await o.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(gu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),o=new Response("",{headers:r});await n.put(i,o)}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)}};ao.ZoneCache=bu});var Kt=y(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.MemoryZoneReadThroughCache=void 0;var YE=yu(),ZE=ri(),_u=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new YE.MemoryCache(n),this.#r=new ZE.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},o=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(o)}};co.MemoryZoneReadThroughCache=_u});var ni=y(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 kh=y(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 Oh=!0,Eu=!Oh;function XE(e){Oh||(Eu=e)}s(XE,"setColorEnabled");v.setColorEnabled=XE;function ew(){return Eu}s(ew,"getColorEnabled");v.getColorEnabled=ew;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}s(F,"code");function q(e,t){return Eu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function tw(e){return q(e,F([0],0))}s(tw,"reset");v.reset=tw;function rw(e){return q(e,F([1],22))}s(rw,"bold");v.bold=rw;function nw(e){return q(e,F([2],22))}s(nw,"dim");v.dim=nw;function iw(e){return q(e,F([3],23))}s(iw,"italic");v.italic=iw;function ow(e){return q(e,F([4],24))}s(ow,"underline");v.underline=ow;function sw(e){return q(e,F([7],27))}s(sw,"inverse");v.inverse=sw;function aw(e){return q(e,F([8],28))}s(aw,"hidden");v.hidden=aw;function cw(e){return q(e,F([9],29))}s(cw,"strikethrough");v.strikethrough=cw;function uw(e){return q(e,F([30],39))}s(uw,"black");v.black=uw;function Nh(e){return q(e,F([31],39))}s(Nh,"red");v.red=Nh;function xh(e){return q(e,F([32],39))}s(xh,"green");v.green=xh;function Ch(e){return q(e,F([33],39))}s(Ch,"yellow");v.yellow=Ch;function Lh(e){return q(e,F([34],39))}s(Lh,"blue");v.blue=Lh;function Dh(e){return q(e,F([35],39))}s(Dh,"magenta");v.magenta=Dh;function Uh(e){return q(e,F([36],39))}s(Uh,"cyan");v.cyan=Uh;function lw(e){return q(e,F([37],39))}s(lw,"white");v.white=lw;function dw(e){return Mh(e)}s(dw,"gray");v.gray=dw;function Mh(e){return q(e,F([90],39))}s(Mh,"brightBlack");v.brightBlack=Mh;function pw(e){return q(e,F([91],39))}s(pw,"brightRed");v.brightRed=pw;function hw(e){return q(e,F([92],39))}s(hw,"brightGreen");v.brightGreen=hw;function fw(e){return q(e,F([93],39))}s(fw,"brightYellow");v.brightYellow=fw;function mw(e){return q(e,F([94],39))}s(mw,"brightBlue");v.brightBlue=mw;function yw(e){return q(e,F([95],39))}s(yw,"brightMagenta");v.brightMagenta=yw;function gw(e){return q(e,F([96],39))}s(gw,"brightCyan");v.brightCyan=gw;function bw(e){return q(e,F([97],39))}s(bw,"brightWhite");v.brightWhite=bw;function _w(e){return q(e,F([40],49))}s(_w,"bgBlack");v.bgBlack=_w;function Ew(e){return q(e,F([41],49))}s(Ew,"bgRed");v.bgRed=Ew;function ww(e){return q(e,F([42],49))}s(ww,"bgGreen");v.bgGreen=ww;function vw(e){return q(e,F([43],49))}s(vw,"bgYellow");v.bgYellow=vw;function Tw(e){return q(e,F([44],49))}s(Tw,"bgBlue");v.bgBlue=Tw;function Sw(e){return q(e,F([45],49))}s(Sw,"bgMagenta");v.bgMagenta=Sw;function Iw(e){return q(e,F([46],49))}s(Iw,"bgCyan");v.bgCyan=Iw;function Pw(e){return q(e,F([47],49))}s(Pw,"bgWhite");v.bgWhite=Pw;function Aw(e){return q(e,F([100],49))}s(Aw,"bgBrightBlack");v.bgBrightBlack=Aw;function Rw(e){return q(e,F([101],49))}s(Rw,"bgBrightRed");v.bgBrightRed=Rw;function Ow(e){return q(e,F([102],49))}s(Ow,"bgBrightGreen");v.bgBrightGreen=Ow;function Nw(e){return q(e,F([103],49))}s(Nw,"bgBrightYellow");v.bgBrightYellow=Nw;function xw(e){return q(e,F([104],49))}s(xw,"bgBrightBlue");v.bgBrightBlue=xw;function Cw(e){return q(e,F([105],49))}s(Cw,"bgBrightMagenta");v.bgBrightMagenta=Cw;function Lw(e){return q(e,F([106],49))}s(Lw,"bgBrightCyan");v.bgBrightCyan=Lw;function Dw(e){return q(e,F([107],49))}s(Dw,"bgBrightWhite");v.bgBrightWhite=Dw;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(Jt,"clampAndTruncate");function Uw(e,t){return q(e,F([38,5,Jt(t)],39))}s(Uw,"rgb8");v.rgb8=Uw;function Mw(e,t){return q(e,F([48,5,Jt(t)],49))}s(Mw,"bgRgb8");v.bgRgb8=Mw;function kw(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,Jt(t.r),Jt(t.g),Jt(t.b)],39))}s(kw,"rgb24");v.rgb24=kw;function Hw(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,Jt(t.r),Jt(t.g),Jt(t.b)],49))}s(Hw,"bgRgb24");v.bgRgb24=Hw;var Fw=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 qw(e){return e.replace(Fw,"")}s(qw,"stripColor");v.stripColor=qw;v.colorFunctions=[Nh,xh,Ch,Lh,Dh,Uh];function $w(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}s($w,"hashCode");function jw(e){let t=Math.abs($w(e));return v.colorFunctions[t%v.colorFunctions.length]}s(jw,"generateColor");v.generateColor=jw});var Hh=y(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.format=void 0;function Vw(e,t,...r){let n=0,i=r.length,o=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)?o+=" "+a:o+=" "+e(a);return o}s(Vw,"format");uo.format=Vw});var Gh=y(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.inspect=void 0;function Tr(e,t,r,n){let i={seen:[],stylize:Gw,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=Kw),lo(i,e,i.depth)}s(Tr,"inspect");po.inspect=Tr;Tr.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]};Tr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function Gw(e,t){return e}s(Gw,"stylizeNoColor");function Bw(e){return typeof e=="boolean"}s(Bw,"isBoolean");function qh(e){return e===void 0}s(qh,"isUndefined");function Kw(e,t){let r=Tr.styles[t];return r?"\x1B["+Tr.colors[r][0]+"m"+e+"\x1B["+Tr.colors[r][1]+"m":e}s(Kw,"stylizeWithColor");function wu(e){return typeof e=="function"}s(wu,"isFunction");function $h(e){return typeof e=="string"}s($h,"isString");function Jw(e){return typeof e=="number"}s(Jw,"isNumber");function jh(e){return e===null}s(jh,"isNull");function Vh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(Vh,"hasOwn");function vu(e){return Pu(e)&&Au(e)==="[object RegExp]"}s(vu,"isRegExp");function Pu(e){return typeof e=="object"&&e!==null}s(Pu,"isObject");function Tu(e){return Pu(e)&&(Au(e)==="[object Error]"||e instanceof Error)}s(Tu,"isError");function Fh(e){return Pu(e)&&Au(e)==="[object Date]"}s(Fh,"isDate");function Au(e){return Object.prototype.toString.call(e)}s(Au,"objectToString");function zw(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}s(zw,"arrayToHash");function Ww(e,t,r,n,i){let o=[];for(let a=0,c=t.length;a<c;++a)Vh(t,String(a))?o.push(Iu(e,t,r,n,String(a),!0)):o.push("");return i.forEach(function(a){a.match(/^\d+$/)||o.push(Iu(e,t,r,n,a,!0))}),o}s(Ww,"formatArray");function Su(e){return"["+Error.prototype.toString.call(e)+"]"}s(Su,"formatError");function lo(e,t,r){if(e.customInspect&&t&&wu(t.inspect)&&t.inspect!==Tr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return $h(d)||(d=lo(e,d,r)),d}let n=Qw(e,t);if(n)return n;let i=Object.keys(t),o=zw(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(Tu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Su(t);if(i.length===0){if(wu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(vu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Fh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Tu(t))return Su(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),wu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),vu(t)&&(a=" "+RegExp.prototype.toString.call(t)),Fh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),Tu(t)&&(a=" "+Su(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return vu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=Ww(e,t,r,o,i):l=i.map(function(d){return Iu(e,t,r,o,d,c)}),e.seen.pop(),Yw(l,a,u)}s(lo,"formatValue");function Iu(e,t,r,n,i,o){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")),Vh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(jh(r)?c=lo(e,u.value,null):c=lo(e,u.value,r-1),c.indexOf(`
25
+ "use strict";var BE=Object.create;var ti=Object.defineProperty;var KE=Object.getOwnPropertyDescriptor;var JE=Object.getOwnPropertyNames;var zE=Object.getPrototypeOf,WE=Object.prototype.hasOwnProperty;var s=(e,t)=>ti(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),io=(e,t)=>{for(var r in t)ti(e,r,{get:t[r],enumerable:!0})},Rh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of JE(t))!WE.call(e,i)&&i!==r&&ti(e,i,{get:()=>t[i],enumerable:!(n=KE(t,i))||n.enumerable});return e};var Oh=(e,t,r)=>(r=e!=null?BE(zE(e)):{},Rh(t||!e||!e.__esModule?ti(r,"default",{value:e,enumerable:!0}):r,e)),oo=e=>Rh(ti({},"__esModule",{value:!0}),e);var A=y(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.FeatureNotEnabledError=yt.ConfigurationError=yt.RuntimeError=yt.SystemError=void 0;var hu=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};yt.SystemError=hu;var ri=class extends Error{static{s(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};yt.RuntimeError=ri;var fu=class extends ri{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};yt.ConfigurationError=fu;var mu=class extends ri{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};yt.FeatureNotEnabledError=mu});var z=y(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.Environment=void 0;var QE=A(),yu=class e{static{s(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 QE.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.config.metering_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"}};so.Environment=yu});var Lh=y(Ch=>{"use strict";Object.defineProperty(Ch,"__esModule",{value:!0});var Nh=z();Function.prototype.toString=function(){return"[native code]"};var ao=globalThis,xh=ao.caches;if(xh){let e=xh.open;ao.caches.open=function(t){let r=Nh.Environment.instance.deploymentName??Nh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete ao.caches.default,Object.freeze(ao.caches)}});var _u=y(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.MemoryCache=void 0;var YE=1e4,ZE=1e3,Dh=new Map,gu=class{static{s(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(),o={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,o)}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+YE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},bu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:ZE}){this.name=t;let n=Dh.get(t);n||(n=new gu(r),Dh.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()}};co.MemoryCache=bu});var ni=y(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.ZoneCache=void 0;var Eu="__zuplo-expiry-header",wu=class{static{s(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 o=i.headers.get(Eu);if(!o){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(o);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(Eu,`${Date.now()+n*1e3}`);let o=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await o.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(Eu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),o=new Response("",{headers:r});await n.put(i,o)}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)}};uo.ZoneCache=wu});var Kt=y(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.MemoryZoneReadThroughCache=void 0;var XE=_u(),ew=ni(),vu=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new XE.MemoryCache(n),this.#r=new ew.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},o=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(o)}};lo.MemoryZoneReadThroughCache=vu});var ii=y(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.INTERNAL_HEADERS_TO_REMOVE=O.DISPATCH_HEADERS_TO_REMOVE=O.ZP_TIMEZONE_HEADER=O.ZP_REGION_CODE_HEADER=O.ZP_REGION_HEADER=O.ZP_METRO_CODE_HEADER=O.ZP_POSTAL_CODE_HEADER=O.ZP_COLO_HEADER=O.ZP_AS_ORG_HEADER=O.ZP_ASN_HEADER=O.TRUE_CLIENT_IP=O.ZP_IP_LATITUDE_HEADER=O.ZP_IP_LONGITUDE_HEADER=O.ZP_IP_COUNTRY_HEADER=O.ZP_IP_CONTINENT_HEADER=O.ZP_IP_CITY_HEADER=O.CF_IP_LATITUDE_HEADER=O.CF_IP_LONGITUDE_HEADER=O.CF_IP_COUNTRY_HEADER=O.CF_IP_CONTINENT_HEADER=O.CF_IP_CITY_HEADER=O.RAY_ID_HEADER=O.BODY_REMOVED_HEADER=O.REQUEST_ID_HEADER=O.LEGACY_REQUEST_ID_HEADER=void 0;O.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";O.REQUEST_ID_HEADER="zp-rid";O.BODY_REMOVED_HEADER="zp-body-removed";O.RAY_ID_HEADER="cf-ray";O.CF_IP_CITY_HEADER="cf-ipcity";O.CF_IP_CONTINENT_HEADER="cf-ipcontinent";O.CF_IP_COUNTRY_HEADER="cf-ipcountry";O.CF_IP_LONGITUDE_HEADER="cf-iplongitude";O.CF_IP_LATITUDE_HEADER="cf-iplatitude";O.ZP_IP_CITY_HEADER="zp-ipcity";O.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";O.ZP_IP_COUNTRY_HEADER="zp-ipcountry";O.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";O.ZP_IP_LATITUDE_HEADER="zp-iplatitude";O.TRUE_CLIENT_IP="true-client-ip";O.ZP_ASN_HEADER="zp-asn";O.ZP_AS_ORG_HEADER="zp-asorg";O.ZP_COLO_HEADER="zp-colo";O.ZP_POSTAL_CODE_HEADER="zp-postalcode";O.ZP_METRO_CODE_HEADER="zp-metrocode";O.ZP_REGION_HEADER="zp-region";O.ZP_REGION_CODE_HEADER="zp-regioncode";O.ZP_TIMEZONE_HEADER="zp-timezone";O.DISPATCH_HEADERS_TO_REMOVE=[O.CF_IP_CITY_HEADER,O.CF_IP_CONTINENT_HEADER,O.CF_IP_COUNTRY_HEADER,O.CF_IP_LONGITUDE_HEADER,O.CF_IP_LATITUDE_HEADER,O.ZP_ASN_HEADER,O.ZP_AS_ORG_HEADER,O.ZP_COLO_HEADER,O.ZP_POSTAL_CODE_HEADER,O.ZP_METRO_CODE_HEADER,O.ZP_REGION_HEADER,O.ZP_REGION_CODE_HEADER,O.ZP_TIMEZONE_HEADER];O.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=y(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 Uh=!0,Su=!Uh;function tw(e){Uh||(Su=e)}s(tw,"setColorEnabled");v.setColorEnabled=tw;function rw(){return Su}s(rw,"getColorEnabled");v.getColorEnabled=rw;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}s(F,"code");function q(e,t){return Su?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function nw(e){return q(e,F([0],0))}s(nw,"reset");v.reset=nw;function iw(e){return q(e,F([1],22))}s(iw,"bold");v.bold=iw;function ow(e){return q(e,F([2],22))}s(ow,"dim");v.dim=ow;function sw(e){return q(e,F([3],23))}s(sw,"italic");v.italic=sw;function aw(e){return q(e,F([4],24))}s(aw,"underline");v.underline=aw;function cw(e){return q(e,F([7],27))}s(cw,"inverse");v.inverse=cw;function uw(e){return q(e,F([8],28))}s(uw,"hidden");v.hidden=uw;function lw(e){return q(e,F([9],29))}s(lw,"strikethrough");v.strikethrough=lw;function dw(e){return q(e,F([30],39))}s(dw,"black");v.black=dw;function kh(e){return q(e,F([31],39))}s(kh,"red");v.red=kh;function Mh(e){return q(e,F([32],39))}s(Mh,"green");v.green=Mh;function Hh(e){return q(e,F([33],39))}s(Hh,"yellow");v.yellow=Hh;function Fh(e){return q(e,F([34],39))}s(Fh,"blue");v.blue=Fh;function qh(e){return q(e,F([35],39))}s(qh,"magenta");v.magenta=qh;function $h(e){return q(e,F([36],39))}s($h,"cyan");v.cyan=$h;function pw(e){return q(e,F([37],39))}s(pw,"white");v.white=pw;function hw(e){return jh(e)}s(hw,"gray");v.gray=hw;function jh(e){return q(e,F([90],39))}s(jh,"brightBlack");v.brightBlack=jh;function fw(e){return q(e,F([91],39))}s(fw,"brightRed");v.brightRed=fw;function mw(e){return q(e,F([92],39))}s(mw,"brightGreen");v.brightGreen=mw;function yw(e){return q(e,F([93],39))}s(yw,"brightYellow");v.brightYellow=yw;function gw(e){return q(e,F([94],39))}s(gw,"brightBlue");v.brightBlue=gw;function bw(e){return q(e,F([95],39))}s(bw,"brightMagenta");v.brightMagenta=bw;function _w(e){return q(e,F([96],39))}s(_w,"brightCyan");v.brightCyan=_w;function Ew(e){return q(e,F([97],39))}s(Ew,"brightWhite");v.brightWhite=Ew;function ww(e){return q(e,F([40],49))}s(ww,"bgBlack");v.bgBlack=ww;function vw(e){return q(e,F([41],49))}s(vw,"bgRed");v.bgRed=vw;function Sw(e){return q(e,F([42],49))}s(Sw,"bgGreen");v.bgGreen=Sw;function Tw(e){return q(e,F([43],49))}s(Tw,"bgYellow");v.bgYellow=Tw;function Iw(e){return q(e,F([44],49))}s(Iw,"bgBlue");v.bgBlue=Iw;function Pw(e){return q(e,F([45],49))}s(Pw,"bgMagenta");v.bgMagenta=Pw;function Aw(e){return q(e,F([46],49))}s(Aw,"bgCyan");v.bgCyan=Aw;function Rw(e){return q(e,F([47],49))}s(Rw,"bgWhite");v.bgWhite=Rw;function Ow(e){return q(e,F([100],49))}s(Ow,"bgBrightBlack");v.bgBrightBlack=Ow;function Nw(e){return q(e,F([101],49))}s(Nw,"bgBrightRed");v.bgBrightRed=Nw;function xw(e){return q(e,F([102],49))}s(xw,"bgBrightGreen");v.bgBrightGreen=xw;function Cw(e){return q(e,F([103],49))}s(Cw,"bgBrightYellow");v.bgBrightYellow=Cw;function Lw(e){return q(e,F([104],49))}s(Lw,"bgBrightBlue");v.bgBrightBlue=Lw;function Dw(e){return q(e,F([105],49))}s(Dw,"bgBrightMagenta");v.bgBrightMagenta=Dw;function Uw(e){return q(e,F([106],49))}s(Uw,"bgBrightCyan");v.bgBrightCyan=Uw;function kw(e){return q(e,F([107],49))}s(kw,"bgBrightWhite");v.bgBrightWhite=kw;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(Jt,"clampAndTruncate");function Mw(e,t){return q(e,F([38,5,Jt(t)],39))}s(Mw,"rgb8");v.rgb8=Mw;function Hw(e,t){return q(e,F([48,5,Jt(t)],49))}s(Hw,"bgRgb8");v.bgRgb8=Hw;function Fw(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,Jt(t.r),Jt(t.g),Jt(t.b)],39))}s(Fw,"rgb24");v.rgb24=Fw;function qw(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,Jt(t.r),Jt(t.g),Jt(t.b)],49))}s(qw,"bgRgb24");v.bgRgb24=qw;var $w=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 jw(e){return e.replace($w,"")}s(jw,"stripColor");v.stripColor=jw;v.colorFunctions=[kh,Mh,Hh,Fh,qh,$h];function Vw(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}s(Vw,"hashCode");function Gw(e){let t=Math.abs(Vw(e));return v.colorFunctions[t%v.colorFunctions.length]}s(Gw,"generateColor");v.generateColor=Gw});var Gh=y(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.format=void 0;function Bw(e,t,...r){let n=0,i=r.length,o=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)?o+=" "+a:o+=" "+e(a);return o}s(Bw,"format");po.format=Bw});var Qh=y(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.inspect=void 0;function Sr(e,t,r,n){let i={seen:[],stylize:Kw,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=zw),ho(i,e,i.depth)}s(Sr,"inspect");fo.inspect=Sr;Sr.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]};Sr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function Kw(e,t){return e}s(Kw,"stylizeNoColor");function Jw(e){return typeof e=="boolean"}s(Jw,"isBoolean");function Kh(e){return e===void 0}s(Kh,"isUndefined");function zw(e,t){let r=Sr.styles[t];return r?"\x1B["+Sr.colors[r][0]+"m"+e+"\x1B["+Sr.colors[r][1]+"m":e}s(zw,"stylizeWithColor");function Tu(e){return typeof e=="function"}s(Tu,"isFunction");function Jh(e){return typeof e=="string"}s(Jh,"isString");function Ww(e){return typeof e=="number"}s(Ww,"isNumber");function zh(e){return e===null}s(zh,"isNull");function Wh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(Wh,"hasOwn");function Iu(e){return Ou(e)&&Nu(e)==="[object RegExp]"}s(Iu,"isRegExp");function Ou(e){return typeof e=="object"&&e!==null}s(Ou,"isObject");function Pu(e){return Ou(e)&&(Nu(e)==="[object Error]"||e instanceof Error)}s(Pu,"isError");function Bh(e){return Ou(e)&&Nu(e)==="[object Date]"}s(Bh,"isDate");function Nu(e){return Object.prototype.toString.call(e)}s(Nu,"objectToString");function Qw(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}s(Qw,"arrayToHash");function Yw(e,t,r,n,i){let o=[];for(let a=0,c=t.length;a<c;++a)Wh(t,String(a))?o.push(Ru(e,t,r,n,String(a),!0)):o.push("");return i.forEach(function(a){a.match(/^\d+$/)||o.push(Ru(e,t,r,n,a,!0))}),o}s(Yw,"formatArray");function Au(e){return"["+Error.prototype.toString.call(e)+"]"}s(Au,"formatError");function ho(e,t,r){if(e.customInspect&&t&&Tu(t.inspect)&&t.inspect!==Sr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Jh(d)||(d=ho(e,d,r)),d}let n=Zw(e,t);if(n)return n;let i=Object.keys(t),o=Qw(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(Pu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Au(t);if(i.length===0){if(Tu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(Iu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Bh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Pu(t))return Au(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Tu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),Iu(t)&&(a=" "+RegExp.prototype.toString.call(t)),Bh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),Pu(t)&&(a=" "+Au(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return Iu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=Yw(e,t,r,o,i):l=i.map(function(d){return Ru(e,t,r,o,d,c)}),e.seen.pop(),Xw(l,a,u)}s(ho,"formatValue");function Ru(e,t,r,n,i,o){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")),Wh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(zh(r)?c=ho(e,u.value,null):c=ho(e,u.value,r-1),c.indexOf(`
27
27
  `)>-1&&(o?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")),qh(a)){if(o&&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}s(Iu,"formatProperty");function Qw(e,t){if(qh(t))return e.stylize("undefined","undefined");if($h(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Jw(t))return e.stylize(""+t,"number");if(Bw(t))return e.stylize(""+t,"boolean");if(jh(t))return e.stylize("null","null")}s(Qw,"formatPrimitive");function Yw(e,t,r){let n=0;return e.reduce(function(o,a){return n++,a.indexOf(`
32
+ `))):c=e.stylize("[Circular]","special")),Kh(a)){if(o&&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}s(Ru,"formatProperty");function Zw(e,t){if(Kh(t))return e.stylize("undefined","undefined");if(Jh(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Ww(t))return e.stylize(""+t,"number");if(Jw(t))return e.stylize(""+t,"boolean");if(zh(t))return e.stylize("null","null")}s(Zw,"formatPrimitive");function Xw(e,t,r){let n=0;return e.reduce(function(o,a){return n++,a.indexOf(`
33
33
  `)>=0&&n++,o+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]}s(Yw,"reduceToSingleString")});var Bh=y(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.format=void 0;var Zw=Hh(),Xw=Gh(),ev=s((e,...t)=>(0,Zw.format)(Xw.inspect,e,t),"format");ho.format=ev});var Sr=y(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var tv=kh(),rv=Bh(),fo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,tv.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,rv.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};zt.Debugger=fo;var mo=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function Kh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(Kh,"extract");var ii;function nv(e){e||(e=[]),typeof e=="string"&&(e=Kh(e)),ii=new mo(e)}s(nv,"withoutEnv");zt.withoutEnv=nv;function iv(e){let t=globalThis.DEBUG;ii||(ii=new mo(Kh(t)));let r=new fo(ii,e);return ii.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(iv,"debug");zt.debug=iv});var go=y(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.ProblemResponseFormatter=Gr.InternalProblemResponseFormatter=void 0;var ov=O(),yo=class e{static{s(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(o){throw new ov.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Gr.InternalProblemResponseFormatter=yo;var Ru=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await yo.problemResponseFormat(t,r,n)}};Gr.ProblemResponseFormatter=Ru});var zh=y(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.deepFreeze=void 0;function Jh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Jh(r)}return Object.freeze(e)}s(Jh,"deepFreeze");bo.deepFreeze=Jh});var ke=y(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.ZuploRequest=void 0;var Wh=zh(),Ou=class e extends Request{static{s(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,Wh.deepFreeze)(this.#e)}get params(){return(0,Wh.deepFreeze)(this.#t)}user};_o.ZuploRequest=Ou});var gt=y(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 Qh=O(),sv=go(),av=ke(),wo=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=wo;var vo=class extends wo{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=vo;ye.runtimeExtensions={};var Nu=[];ye.plugins=Nu;var Yh=[],Zh=[],Xh=[],Eo={addPlugin(e){Nu.push(e)},addRequestHook(e){Yh.push(e)},addResponseSendingHook(e){Zh.push(e)},addResponseSendingFinalHook(e){Xh.push(e)}},cv=s(async(e,t)=>{let r=e;for(let n of Yh){let i=await n(r,t);if(i instanceof av.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Qh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=cv;var uv=s(async(e,t,r)=>{let n=e;for(let i of Zh){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new Qh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=uv;var lv=s(async(e,t,r)=>{for(let n of Xh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=lv;async function dv(e=()=>Promise.resolve()){await e(Eo),ye.runtimeExtensions.value=Eo;for(let t of Nu)t instanceof vo&&await t.initialize(Eo);sv.InternalProblemResponseFormatter.setProblemResponseFormat(Eo.problemResponseFormat)}s(dv,"initializeRuntime");ye.initializeRuntime=dv});var xu=y(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 pv(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}s(pv,"serialize");Wt.serialize=pv});var Cu=y(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.isSystemRoute=void 0;var ef=Ir();function hv(e){return ef.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(ef.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}s(hv,"isSystemRoute");To.isSystemRoute=hv});var Lt=y(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.Pipeline=void 0;var Lu=Pr(),tf=gt(),fv=xu(),mv=W(),yv=Cu(),Du=class{static{s(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(o){return i.log.error("Error executing request handler.",o),r.errorHandler(n,i,o)}};#t=({processors:t,gateway:r,handler:n})=>async(i,o)=>{let a=[...t],c=s(async _=>{let T=a.pop();return T?T(i,o,r,c):await this.#e(async H=>{let K=await n(H,o);return gv(K)},r)(_,o)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,yv.isSystemRoute)(d)&&mv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new Lu.ResponseSendingEvent(i,l);o.dispatchEvent(p);let f=Lu.ZuploContextExtensions.getContextExtensions(o),h=f.latestRequest,g;try{g=await p.mutableResponse}catch(_){return o.log.error(_),r.errorHandler(i,o,_)}try{g=await f.onResponseSending(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}try{g=await(0,tf.invokeOnResponseSendingExtensions)(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}o.dispatchEvent(new Lu.ResponseSentEvent(i,g));try{await f.onResponseSendingFinal(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,tf.invokeOnResponseSendingFinalExtensions)(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};So.Pipeline=Du;function gv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,fv.serialize)(e),{headers:{"content-type":"application/json"}})}s(gv,"resultToResponse")});var Po=y(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.MetricsPlugin=void 0;var bv=gt(),Uu=class extends bv.RuntimePlugin{static{s(this,"MetricsPlugin")}};Io.MetricsPlugin=Uu});var He=y(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.SystemLogMap=void 0;var _v=O(),Mu=class e{static{s(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 _v.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Ao.SystemLogMap=Mu});var ve=y(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.BatchDispatch=void 0;var ku=class{static{s(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}};Ro.BatchDispatch=ku});var nf=y(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.EllieMetricsTransport=void 0;var rf=He(),Ev=ve(),Oo=W(),Hu=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Oo.Environment.instance.loggingId,this.#e=t,this.#t=new Ev.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,rf.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:o}=Oo.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&o&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(o)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":Oo.Environment.instance.deploymentName??"unknown","user-agent":Oo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();rf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};No.EllieMetricsTransport=Hu});var ot=y(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.systemNoVersion=Ar.SystemRouteConfiguration=void 0;var Fu=class{static{s(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:o="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=o,this.version=Ar.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Ar.SystemRouteConfiguration=Fu;Ar.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=y(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.metricsProcessor=void 0;var of=ni(),wv=Pr(),vv=gt(),Tv=Po(),Sv=nf(),Iv=ot(),Pv=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(of.RAY_ID_HEADER)??void 0,u=e.headers.get(of.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof Iv.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=wv.ZuploContextExtensions.getContextExtensions(t).latestRequest,f={timestamp:i,statusCode:a.status,durationMs:Date.now()-o,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 Sv.EllieMetricsTransport(t)),vv.plugins.forEach(g=>{if(g instanceof Tv.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(f,t)}),a},"metricsProcessor");xo.metricsProcessor=Pv});var qu=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.SystemRouteName=void 0;var sf;(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"})(sf||(Co.SystemRouteName=sf={}))});var cf=y(af=>{"use strict";Object.defineProperty(af,"__esModule",{value:!0})});var Rr=y(Yt=>{"use strict";var Av=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]}),uf=Yt&&Yt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Av(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});uf(qu(),Yt);uf(cf(),Yt)});var lf=y(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.registerBuildRoute=void 0;var Rv=Dt(),Ov=Lt(),Nv=Qt(),xv=Rr(),Cv=ot(),Lv=He(),Dv=W(),Uv=s((e,t)=>{let r=s(async(o,a)=>{let u=new URL(o.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return Rv.HttpProblems.notFound(o,a);let l=Dv.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=o.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&Lv.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 Ov.Pipeline({processors:[Nv.metricsProcessor],handler:r,gateway:t}),i=new Cv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:xv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Lo.registerBuildRoute=Uv});var $u=y(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.HTTP_STATUS_TITLES=Br.HttpStatusCode=void 0;var df;(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"})(df||(Br.HttpStatusCode=df={}));Br.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 Vu=y(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});var Mv={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"};ju.default=Mv});var te=y(Kr=>{"use strict";var kv=Kr&&Kr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Kr,"__esModule",{value:!0});Kr.HttpProblems=void 0;var Hv=ni(),N=$u(),Fv=kv(Vu()),qv=W(),Gu=go();function $v(e){return`${new URL(e.url).pathname}`}s($v,"instance");function jv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:qv.Environment.instance.build.BUILD_ID},n=e.headers.get(Hv.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(jv,"trace");var Vv=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:$v(t),trace:jv(t,r),...n},additionalHeaders:i,statusText:Fv.default[e.status]}),"merge"),Bu=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Gu.ProblemResponseFormatter.format(t,r,n):Gu.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},Ku=class extends Bu{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=Vv(this.getProblemFromStatus(t),r,n,i,o);return Gu.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Kr.HttpProblems=Ku});var st=y(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:Gv}=Object.prototype,{propertyIsEnumerable:Bv}=Object.prototype;function pf(e){return Gv.call(e)}s(pf,"toString");U.toString=pf;function Do(e){return typeof e=="string"}s(Do,"isString");U.isString=Do;function Kv(e){return Do(e)&&e!==""}s(Kv,"isNonEmptyString");U.isNonEmptyString=Kv;function Jv(e){return Array.isArray(e)&&e.every(t=>Do(t))}s(Jv,"isStringArray");U.isStringArray=Jv;function zv(e){return pf(e)==="[object RegExp]"}s(zv,"isRegexp");U.isRegexp=zv;function Wv(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Bv.call(e,t))]}s(Wv,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=Wv;function Ju(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(Ju,"isObject");U.isObject=Ju;function Qv(e){return Ju(e)&&Array.isArray(e)}s(Qv,"isArray");U.isArray=Qv;function Yv(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(Yv,"isTypedArray");U.isTypedArray=Yv;function Zv(e){return typeof e=="number"&&!isNaN(e)}s(Zv,"isNumber");U.isNumber=Zv;function Xv(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(Xv,"isIterable");U.isIterable=Xv;function eT(e){return e===!0||e===!1}s(eT,"isBoolean");U.isBoolean=eT;function hf(e){return typeof e>"u"}s(hf,"isUndefined");U.isUndefined=hf;function tT(e){return!oi(e)}s(tT,"isDefined");U.isDefined=tT;function oi(e){return hf(e)||e===null}s(oi,"isUndefinedOrNull");U.isUndefinedOrNull=oi;function rT(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(rT,"assertType");U.assertType=rT;function nT(e){if(oi(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(nT,"assertIsDefined");U.assertIsDefined=nT;function iT(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(oi(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(iT,"assertAllDefined");U.assertAllDefined=iT;var oT=Object.prototype.hasOwnProperty;function sT(e){if(!Ju(e))return!1;for(let t in e)if(oT.call(e,t))return!1;return!0}s(sT,"isEmptyObject");U.isEmptyObject=sT;function zu(e){return typeof e=="function"}s(zu,"isFunction");U.isFunction=zu;function aT(...e){return e.length>0&&e.every(zu)}s(aT,"areFunctions");U.areFunctions=aT;function cT(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)ff(e[n],t[n])}s(cT,"validateConstraints");U.validateConstraints=cT;function ff(e,t){if(Do(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(zu(t)){try{if(e instanceof t)return}catch{}if(!oi(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")}}s(ff,"validateConstraint");U.validateConstraint=ff;function uT(e){return e===null?void 0:e}s(uT,"withNullAsUndefined");U.withNullAsUndefined=uT;function lT(e){return typeof e>"u"?null:e}s(lT,"withUndefinedAsNull");U.withUndefinedAsNull=lT;function dT(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(dT,"isErrorLike");U.isErrorLike=dT});var si=y(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.parseValueToBoolean=bt.parseValueToStringArray=bt.getValueFromRequestUser=bt.statusCodesStringToNumberArray=void 0;var Jr=O(),Wu=st(),mf=new Map;function pT(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=mf.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let o=i.split("-");if(o.length===2){let a=parseInt(o[0],10),c=parseInt(o[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return mf.set(e,n),n}s(pT,"statusCodesStringToNumberArray");bt.statusCodesStringToNumberArray=pT;function hT(e,t,r){if(!t.startsWith("."))throw new Jr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(o=>{if(i===void 0)throw new Jr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(hT,"getValueFromRequestUser");bt.getValueFromRequestUser=hT;function fT(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Jr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Wu.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Jr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(fT,"parseValueToStringArray");bt.parseValueToStringArray=fT;function mT(e){if((0,Wu.isBoolean)(e))return e;if((0,Wu.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Jr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Jr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(mT,"parseValueToBoolean");bt.parseValueToBoolean=mT});var Mo=y(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Or=O(),yf=si(),Uo=st();function yT(e){if(e==null)return[];if(!Array.isArray(e))throw new Or.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Uo.isObject)(r))throw new Or.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Uo.isNonEmptyString)(r.name))throw new Or.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Uo.isNumber)(r.maxAge))throw new Or.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,Uo.isBoolean)(r.allowCredentials))throw new Or.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=Qu(r,"allowedHeaders"),i=Qu(r,"allowedMethods"),o=Qu(r,"exposeHeaders"),a;try{a=(0,yf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Or.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:o?o.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}s(yT,"parseCorsPolicies");Zt.parseCorsPolicies=yT;function Qu(e,t){let r;if(e[t]!==void 0)try{r=(0,yf.parseValueToStringArray)(e[t])}catch(n){throw new Or.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}s(Qu,"parseOptionalProperty");var gT=s((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=gT;var bT=s((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=bT});var bf=y(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.registerCorsRoute=void 0;var _T=O(),ET=Lt(),Yu=te(),wT=Qt(),vT=Rr(),TT=ot(),gf=Mo(),ST=s((e,t)=>{let r=t.routeData.corsPolicies,n=s(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 Yu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let f=e.lookup(l,u);if(!f)return Yu.HttpProblems.notFound(a,c);let h=f.routeConfiguration,g=IT(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),Yu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new ET.Pipeline({processors:[wT.metricsProcessor],handler:n,gateway:t}),o=new TT.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:vT.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");ko.registerCorsRoute=ST;var IT=s((e,t,r,n,i)=>{let o={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{...o,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new _T.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,gf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,gf.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var _f=y(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.registerNoRoutes=void 0;var PT=Lt(),AT=Qt(),RT=Rr(),OT=ot(),NT=s((e,t)=>{let r=s(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new PT.Pipeline({processors:[AT.metricsProcessor],handler:r,gateway:t}),i=new OT.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:RT.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Ho.registerNoRoutes=NT});var Ef=y(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.registerNotMatchedHandler=Nr.notFoundRouteConfiguration=void 0;var xT=Pr(),CT=gt(),LT=Lt(),DT=te(),UT=Qt(),MT=Rr(),kT=ot();Nr.notFoundRouteConfiguration=new kT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:MT.SystemRouteName.UnmatchedPath});var HT=s((e,t)=>{let r=s(async(i,o)=>{let a=CT.runtimeExtensions.value?.notFoundHandler;if(a){let c=xT.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return DT.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new LT.Pipeline({processors:[UT.metricsProcessor],handler:r,gateway:t});e.addRoute(Nr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Nr.registerNotMatchedHandler=HT});var Zu=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.corsProcessor=void 0;var Tf=O(),wf=Mo(),FT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],vf=s(e=>{FT.forEach(t=>e.delete(t))},"stripCorsHeaders"),qT=s(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 vf(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let o=await n(e);if(!(o instanceof Response))throw new Tf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=$T(i,r.routeData.corsPolicies),c=jT(e,a),u=new Headers(o.headers);return vf(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(o.body,{status:o.status,statusText:o.statusText,headers:u,webSocket:o.webSocket})},"corsProcessor");Fo.corsProcessor=qT;var $T=s((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 Tf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),jT=s((e,t)=>{let r=(0,wf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,wf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Sf=y(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.registerPingRoute=void 0;var VT=Lt(),GT=Zu(),BT=Rr(),KT=ot(),JT=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new VT.Pipeline({processors:[GT.corsProcessor],handler:r,gateway:t}),i=new KT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:BT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");qo.registerPingRoute=JT});var Wr=y(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.createInternalPolicyProcessor=at.policyProcessor=at.toStackedInboundHandler=at.getInboundPolicyHandlerAndOptions=void 0;var zT=Pr(),zr=O(),If=ke(),WT=W();function Pf(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(o=>{let a=t?.find(u=>u.name===o);if(!a)throw new zr.ConfigurationError(`Invalid state - no Policy with the name '${o}' ${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 zr.ConfigurationError(`Invalid state - invalid handler on policy '${o}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}s(Pf,"getInboundPolicyHandlerAndOptions");at.getInboundPolicyHandlerAndOptions=Pf;function QT(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new zr.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 o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new zr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:o.handler.export,handler:a,options:o.handler.options,policyName:o.name}})}s(QT,"getOutboundPolicyHandlerAndOptions");var YT=s(e=>async(t,r)=>{let n=zT.ZuploContextExtensions.getContextExtensions(r),i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,a.options,a.policyName);if(c instanceof If.ZuploRequest)o=c;else if(c instanceof Request)o=new If.ZuploRequest(c);else{if(c instanceof Response)return c;throw new zr.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=o}return o},"toStackedInboundHandler");at.toStackedInboundHandler=YT;var ZT=s(e=>async(t,r,n)=>{let i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new zr.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.`);o=c}return o},"toStackedOutboundHandler"),XT=s(async(e,t,r,n)=>{let i=Pf(t.route,r.routeData.policies),o=QT(t.route,r.routeData.policies);return Af({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");at.policyProcessor=XT;function eS({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>Af({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:o,next:a}),"policyProcessor")}s(eS,"createInternalPolicyProcessor");at.createInternalPolicyProcessor=eS;async function Af({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:o}){let a=(0,at.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await o(c),l=ZT(n),d;return WT.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)}}s(Af,"executePolicyProcessor")});var Rf=y(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.serialize=Qr.parse=void 0;var tS=Object.prototype.toString,$o=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function rS(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||iS,o=0;for(;o<e.length;){let a=e.indexOf("=",o);if(a===-1)break;let c=e.indexOf(";",o);if(c===-1)c=e.length;else if(c<a){o=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(o,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]=aS(l,i)}o=c+1}return r}s(rS,"parse");Qr.parse=rS;function nS(e,t,r){let n=r||{},i=n.encode||oS;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!$o.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!$o.test(o))throw new TypeError("argument val is invalid");let a=e+"="+o;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(!$o.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!$o.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!sS(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}s(nS,"serialize");Qr.serialize=nS;function iS(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(iS,"decode");function oS(e){return encodeURIComponent(e)}s(oS,"encode");function sS(e){return tS.call(e)==="[object Date]"||e instanceof Date}s(sS,"isDate");function aS(e,t){try{return t(e)}catch{return e}}s(aS,"tryDecode")});var Of=y(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.devPortalBaseURL=void 0;var cS=Rf();function uS(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,cS.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}s(uS,"devPortalBaseURL");jo.devPortalBaseURL=uS});var Df=y(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.registerDevPortalLegacyRedirectRoute=Yr.registerDevPortalV3Route=void 0;var Xu=Dt(),xf=Lt(),Cf=Qt(),lS=Wr(),Lf=ot(),dS=Of(),Xt=W(),Nf="/__zuplo/dev-portal",pS="dev-portal-id",hS="dev-portal-host",fS="zp-account",mS="zp-project",yS="dev-portal-build",gS=`
35
+ `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}s(Xw,"reduceToSingleString")});var Yh=y(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.format=void 0;var ev=Gh(),tv=Qh(),rv=s((e,...t)=>(0,ev.format)(tv.inspect,e,t),"format");mo.format=rv});var Tr=y(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var nv=Vh(),iv=Yh(),yo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,nv.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,iv.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};zt.Debugger=yo;var go=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function Zh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(Zh,"extract");var oi;function ov(e){e||(e=[]),typeof e=="string"&&(e=Zh(e)),oi=new go(e)}s(ov,"withoutEnv");zt.withoutEnv=ov;function sv(e){let t=globalThis.DEBUG;oi||(oi=new go(Zh(t)));let r=new yo(oi,e);return oi.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(sv,"debug");zt.debug=sv});var _o=y(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.ProblemResponseFormatter=Gr.InternalProblemResponseFormatter=void 0;var av=A(),bo=class e{static{s(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(o){throw new av.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Gr.InternalProblemResponseFormatter=bo;var xu=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await bo.problemResponseFormat(t,r,n)}};Gr.ProblemResponseFormatter=xu});var ef=y(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.deepFreeze=void 0;function Xh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Xh(r)}return Object.freeze(e)}s(Xh,"deepFreeze");Eo.deepFreeze=Xh});var He=y(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.ZuploRequest=void 0;var tf=ef(),Cu=class e extends Request{static{s(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,tf.deepFreeze)(this.#e)}get params(){return(0,tf.deepFreeze)(this.#t)}user};wo.ZuploRequest=Cu});var gt=y(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 rf=A(),cv=_o(),uv=He(),So=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=So;var To=class extends So{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=To;ye.runtimeExtensions={};var Lu=[];ye.plugins=Lu;var nf=[],of=[],sf=[],vo={addPlugin(e){Lu.push(e)},addRequestHook(e){nf.push(e)},addResponseSendingHook(e){of.push(e)},addResponseSendingFinalHook(e){sf.push(e)}},lv=s(async(e,t)=>{let r=e;for(let n of nf){let i=await n(r,t);if(i instanceof uv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new rf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=lv;var dv=s(async(e,t,r)=>{let n=e;for(let i of of){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new rf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=dv;var pv=s(async(e,t,r)=>{for(let n of sf)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=pv;async function hv(e=()=>Promise.resolve()){await e(vo),ye.runtimeExtensions.value=vo;for(let t of Lu)t instanceof To&&await t.initialize(vo);cv.InternalProblemResponseFormatter.setProblemResponseFormat(vo.problemResponseFormat)}s(hv,"initializeRuntime");ye.initializeRuntime=hv});var Du=y(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 fv(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}s(fv,"serialize");Wt.serialize=fv});var Uu=y(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.isSystemRoute=void 0;var af=Ir();function mv(e){return af.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(af.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}s(mv,"isSystemRoute");Io.isSystemRoute=mv});var Lt=y(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.Pipeline=void 0;var ku=Pr(),cf=gt(),yv=Du(),gv=z(),bv=Uu(),Mu=class{static{s(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(o){return i.log.error("Error executing request handler.",o),r.errorHandler(n,i,o)}};#t=({processors:t,gateway:r,handler:n})=>async(i,o)=>{let a=[...t],c=s(async _=>{let S=a.pop();return S?S(i,o,r,c):await this.#e(async H=>{let K=await n(H,o);return _v(K)},r)(_,o)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,bv.isSystemRoute)(d)&&gv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new ku.ResponseSendingEvent(i,l);o.dispatchEvent(p);let f=ku.ZuploContextExtensions.getContextExtensions(o),h=f.latestRequest,g;try{g=await p.mutableResponse}catch(_){return o.log.error(_),r.errorHandler(i,o,_)}try{g=await f.onResponseSending(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}try{g=await(0,cf.invokeOnResponseSendingExtensions)(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}o.dispatchEvent(new ku.ResponseSentEvent(i,g));try{await f.onResponseSendingFinal(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,cf.invokeOnResponseSendingFinalExtensions)(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Po.Pipeline=Mu;function _v(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,yv.serialize)(e),{headers:{"content-type":"application/json"}})}s(_v,"resultToResponse")});var Ro=y(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.MetricsPlugin=void 0;var Ev=gt(),Hu=class extends Ev.RuntimePlugin{static{s(this,"MetricsPlugin")}};Ao.MetricsPlugin=Hu});var Re=y(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.SystemLogMap=void 0;var wv=A(),Fu=class e{static{s(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 wv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Oo.SystemLogMap=Fu});var ve=y(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.BatchDispatch=void 0;var qu=class{static{s(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}};No.BatchDispatch=qu});var lf=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.EllieMetricsTransport=void 0;var uf=Re(),vv=ve(),xo=z(),$u=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=xo.Environment.instance.loggingId,this.#e=t,this.#t=new vv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,uf.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:o}=xo.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&o&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(o)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":xo.Environment.instance.deploymentName??"unknown","user-agent":xo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();uf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Co.EllieMetricsTransport=$u});var ot=y(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.systemNoVersion=Ar.SystemRouteConfiguration=void 0;var ju=class{static{s(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:o="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=o,this.version=Ar.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Ar.SystemRouteConfiguration=ju;Ar.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=y(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.metricsProcessor=void 0;var df=ii(),Sv=Pr(),Tv=gt(),Iv=Ro(),Pv=lf(),Av=ot(),Rv=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(df.RAY_ID_HEADER)??void 0,u=e.headers.get(df.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof Av.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Sv.ZuploContextExtensions.getContextExtensions(t).latestRequest,f={timestamp:i,statusCode:a.status,durationMs:Date.now()-o,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 Pv.EllieMetricsTransport(t)),Tv.plugins.forEach(g=>{if(g instanceof Iv.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(f,t)}),a},"metricsProcessor");Lo.metricsProcessor=Rv});var Vu=y(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.SystemRouteName=void 0;var pf;(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"})(pf||(Do.SystemRouteName=pf={}))});var ff=y(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0})});var Rr=y(Yt=>{"use strict";var Ov=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]}),mf=Yt&&Yt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Ov(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});mf(Vu(),Yt);mf(ff(),Yt)});var yf=y(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.registerBuildRoute=void 0;var Nv=Dt(),xv=Lt(),Cv=Qt(),Lv=Rr(),Dv=ot(),Uv=Re(),kv=z(),Mv=s((e,t)=>{let r=s(async(o,a)=>{let u=new URL(o.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return Nv.HttpProblems.notFound(o,a);let l=kv.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=o.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&Uv.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 xv.Pipeline({processors:[Cv.metricsProcessor],handler:r,gateway:t}),i=new Dv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Lv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Uo.registerBuildRoute=Mv});var Gu=y(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.HTTP_STATUS_TITLES=Br.HttpStatusCode=void 0;var gf;(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"})(gf||(Br.HttpStatusCode=gf={}));Br.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 Ku=y(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});var Hv={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"};Bu.default=Hv});var te=y(Kr=>{"use strict";var Fv=Kr&&Kr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Kr,"__esModule",{value:!0});Kr.HttpProblems=void 0;var qv=ii(),N=Gu(),$v=Fv(Ku()),jv=z(),Ju=_o();function Vv(e){return`${new URL(e.url).pathname}`}s(Vv,"instance");function Gv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:jv.Environment.instance.build.BUILD_ID},n=e.headers.get(qv.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(Gv,"trace");var Bv=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:Vv(t),trace:Gv(t,r),...n},additionalHeaders:i,statusText:$v.default[e.status]}),"merge"),zu=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Ju.ProblemResponseFormatter.format(t,r,n):Ju.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},Wu=class extends zu{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=Bv(this.getProblemFromStatus(t),r,n,i,o);return Ju.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Kr.HttpProblems=Wu});var st=y(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:Kv}=Object.prototype,{propertyIsEnumerable:Jv}=Object.prototype;function bf(e){return Kv.call(e)}s(bf,"toString");U.toString=bf;function ko(e){return typeof e=="string"}s(ko,"isString");U.isString=ko;function zv(e){return ko(e)&&e!==""}s(zv,"isNonEmptyString");U.isNonEmptyString=zv;function Wv(e){return Array.isArray(e)&&e.every(t=>ko(t))}s(Wv,"isStringArray");U.isStringArray=Wv;function Qv(e){return bf(e)==="[object RegExp]"}s(Qv,"isRegexp");U.isRegexp=Qv;function Yv(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Jv.call(e,t))]}s(Yv,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=Yv;function Qu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(Qu,"isObject");U.isObject=Qu;function Zv(e){return Qu(e)&&Array.isArray(e)}s(Zv,"isArray");U.isArray=Zv;function Xv(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(Xv,"isTypedArray");U.isTypedArray=Xv;function eS(e){return typeof e=="number"&&!isNaN(e)}s(eS,"isNumber");U.isNumber=eS;function tS(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(tS,"isIterable");U.isIterable=tS;function rS(e){return e===!0||e===!1}s(rS,"isBoolean");U.isBoolean=rS;function _f(e){return typeof e>"u"}s(_f,"isUndefined");U.isUndefined=_f;function nS(e){return!si(e)}s(nS,"isDefined");U.isDefined=nS;function si(e){return _f(e)||e===null}s(si,"isUndefinedOrNull");U.isUndefinedOrNull=si;function iS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(iS,"assertType");U.assertType=iS;function oS(e){if(si(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(oS,"assertIsDefined");U.assertIsDefined=oS;function sS(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(si(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(sS,"assertAllDefined");U.assertAllDefined=sS;var aS=Object.prototype.hasOwnProperty;function cS(e){if(!Qu(e))return!1;for(let t in e)if(aS.call(e,t))return!1;return!0}s(cS,"isEmptyObject");U.isEmptyObject=cS;function Yu(e){return typeof e=="function"}s(Yu,"isFunction");U.isFunction=Yu;function uS(...e){return e.length>0&&e.every(Yu)}s(uS,"areFunctions");U.areFunctions=uS;function lS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Ef(e[n],t[n])}s(lS,"validateConstraints");U.validateConstraints=lS;function Ef(e,t){if(ko(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Yu(t)){try{if(e instanceof t)return}catch{}if(!si(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")}}s(Ef,"validateConstraint");U.validateConstraint=Ef;function dS(e){return e===null?void 0:e}s(dS,"withNullAsUndefined");U.withNullAsUndefined=dS;function pS(e){return typeof e>"u"?null:e}s(pS,"withUndefinedAsNull");U.withUndefinedAsNull=pS;function hS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(hS,"isErrorLike");U.isErrorLike=hS});var ai=y(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.parseValueToBoolean=bt.parseValueToStringArray=bt.getValueFromRequestUser=bt.statusCodesStringToNumberArray=void 0;var Jr=A(),Zu=st(),wf=new Map;function fS(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=wf.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let o=i.split("-");if(o.length===2){let a=parseInt(o[0],10),c=parseInt(o[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return wf.set(e,n),n}s(fS,"statusCodesStringToNumberArray");bt.statusCodesStringToNumberArray=fS;function mS(e,t,r){if(!t.startsWith("."))throw new Jr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(o=>{if(i===void 0)throw new Jr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(mS,"getValueFromRequestUser");bt.getValueFromRequestUser=mS;function yS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Jr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Zu.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Jr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(yS,"parseValueToStringArray");bt.parseValueToStringArray=yS;function gS(e){if((0,Zu.isBoolean)(e))return e;if((0,Zu.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Jr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Jr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(gS,"parseValueToBoolean");bt.parseValueToBoolean=gS});var Ho=y(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Or=A(),vf=ai(),Mo=st();function bS(e){if(e==null)return[];if(!Array.isArray(e))throw new Or.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Mo.isObject)(r))throw new Or.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Mo.isNonEmptyString)(r.name))throw new Or.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Mo.isNumber)(r.maxAge))throw new Or.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,Mo.isBoolean)(r.allowCredentials))throw new Or.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=Xu(r,"allowedHeaders"),i=Xu(r,"allowedMethods"),o=Xu(r,"exposeHeaders"),a;try{a=(0,vf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Or.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:o?o.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}s(bS,"parseCorsPolicies");Zt.parseCorsPolicies=bS;function Xu(e,t){let r;if(e[t]!==void 0)try{r=(0,vf.parseValueToStringArray)(e[t])}catch(n){throw new Or.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}s(Xu,"parseOptionalProperty");var _S=s((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=_S;var ES=s((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=ES});var Tf=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.registerCorsRoute=void 0;var wS=A(),vS=Lt(),el=te(),SS=Qt(),TS=Rr(),IS=ot(),Sf=Ho(),PS=s((e,t)=>{let r=t.routeData.corsPolicies,n=s(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 el.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let f=e.lookup(l,u);if(!f)return el.HttpProblems.notFound(a,c);let h=f.routeConfiguration,g=AS(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),el.HttpProblems.notFound(a,c))},"optionsHandler"),i=new vS.Pipeline({processors:[SS.metricsProcessor],handler:n,gateway:t}),o=new IS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:TS.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");Fo.registerCorsRoute=PS;var AS=s((e,t,r,n,i)=>{let o={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{...o,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new wS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Sf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Sf.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var If=y(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.registerNoRoutes=void 0;var RS=Lt(),OS=Qt(),NS=Rr(),xS=ot(),CS=s((e,t)=>{let r=s(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new RS.Pipeline({processors:[OS.metricsProcessor],handler:r,gateway:t}),i=new xS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:NS.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");qo.registerNoRoutes=CS});var Pf=y(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.registerNotMatchedHandler=Nr.notFoundRouteConfiguration=void 0;var LS=Pr(),DS=gt(),US=Lt(),kS=te(),MS=Qt(),HS=Rr(),FS=ot();Nr.notFoundRouteConfiguration=new FS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:HS.SystemRouteName.UnmatchedPath});var qS=s((e,t)=>{let r=s(async(i,o)=>{let a=DS.runtimeExtensions.value?.notFoundHandler;if(a){let c=LS.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return kS.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new US.Pipeline({processors:[MS.metricsProcessor],handler:r,gateway:t});e.addRoute(Nr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Nr.registerNotMatchedHandler=qS});var tl=y($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.corsProcessor=void 0;var Of=A(),Af=Ho(),$S=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Rf=s(e=>{$S.forEach(t=>e.delete(t))},"stripCorsHeaders"),jS=s(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 Rf(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let o=await n(e);if(!(o instanceof Response))throw new Of.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=VS(i,r.routeData.corsPolicies),c=GS(e,a),u=new Headers(o.headers);return Rf(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(o.body,{status:o.status,statusText:o.statusText,headers:u,webSocket:o.webSocket})},"corsProcessor");$o.corsProcessor=jS;var VS=s((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 Of.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),GS=s((e,t)=>{let r=(0,Af.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,Af.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Nf=y(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.registerPingRoute=void 0;var BS=Lt(),KS=tl(),JS=Rr(),zS=ot(),WS=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new BS.Pipeline({processors:[KS.corsProcessor],handler:r,gateway:t}),i=new zS.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:JS.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");jo.registerPingRoute=WS});var Wr=y(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.createInternalPolicyProcessor=at.policyProcessor=at.toStackedInboundHandler=at.getInboundPolicyHandlerAndOptions=void 0;var QS=Pr(),zr=A(),xf=He(),YS=z();function Cf(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(o=>{let a=t?.find(u=>u.name===o);if(!a)throw new zr.ConfigurationError(`Invalid state - no Policy with the name '${o}' ${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 zr.ConfigurationError(`Invalid state - invalid handler on policy '${o}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}s(Cf,"getInboundPolicyHandlerAndOptions");at.getInboundPolicyHandlerAndOptions=Cf;function ZS(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new zr.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 o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new zr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:o.handler.export,handler:a,options:o.handler.options,policyName:o.name}})}s(ZS,"getOutboundPolicyHandlerAndOptions");var XS=s(e=>async(t,r)=>{let n=QS.ZuploContextExtensions.getContextExtensions(r),i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,a.options,a.policyName);if(c instanceof xf.ZuploRequest)o=c;else if(c instanceof Request)o=new xf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new zr.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=o}return o},"toStackedInboundHandler");at.toStackedInboundHandler=XS;var eT=s(e=>async(t,r,n)=>{let i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new zr.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.`);o=c}return o},"toStackedOutboundHandler"),tT=s(async(e,t,r,n)=>{let i=Cf(t.route,r.routeData.policies),o=ZS(t.route,r.routeData.policies);return Lf({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");at.policyProcessor=tT;function rT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,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:o,next:a}),"policyProcessor")}s(rT,"createInternalPolicyProcessor");at.createInternalPolicyProcessor=rT;async function Lf({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:o}){let a=(0,at.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await o(c),l=eT(n),d;return YS.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)}}s(Lf,"executePolicyProcessor")});var Df=y(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.serialize=Qr.parse=void 0;var nT=Object.prototype.toString,Vo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function iT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||sT,o=0;for(;o<e.length;){let a=e.indexOf("=",o);if(a===-1)break;let c=e.indexOf(";",o);if(c===-1)c=e.length;else if(c<a){o=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(o,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]=uT(l,i)}o=c+1}return r}s(iT,"parse");Qr.parse=iT;function oT(e,t,r){let n=r||{},i=n.encode||aT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Vo.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!Vo.test(o))throw new TypeError("argument val is invalid");let a=e+"="+o;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(!Vo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Vo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!cT(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}s(oT,"serialize");Qr.serialize=oT;function sT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(sT,"decode");function aT(e){return encodeURIComponent(e)}s(aT,"encode");function cT(e){return nT.call(e)==="[object Date]"||e instanceof Date}s(cT,"isDate");function uT(e,t){try{return t(e)}catch{return e}}s(uT,"tryDecode")});var Uf=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.devPortalBaseURL=void 0;var lT=Df();function dT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,lT.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}s(dT,"devPortalBaseURL");Go.devPortalBaseURL=dT});var qf=y(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.registerDevPortalLegacyRedirectRoute=Yr.registerDevPortalV3Route=void 0;var rl=Dt(),Mf=Lt(),Hf=Qt(),pT=Wr(),Ff=ot(),hT=Uf(),Xt=z(),kf="/__zuplo/dev-portal",fT="dev-portal-id",mT="dev-portal-host",yT="zp-account",gT="zp-project",bT="dev-portal-build",_T=`
36
36
  <!DOCTYPE html>
37
37
  <html lang="en">
38
38
  <head>
@@ -46,42 +46,42 @@
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
- `,bS=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Xt.Environment.instance.deploymentName,i=Xt.Environment.instance.devPortalBaseUrl,o=s(async(u,l)=>{if(Xt.Environment.instance.isLocalDevelopment)return new Response(gS,{headers:{"content-type":"text/html"}});if(!n)return Xu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,dS.devPortalBaseURL)(i,u.headers),f=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:g,body:_}=u;return Xt.Environment.instance.build.ACCOUNT_NAME&&h.set(fS,Xt.Environment.instance.build.ACCOUNT_NAME),Xt.Environment.instance.build.PROJECT_NAME&&h.set(mS,Xt.Environment.instance.build.PROJECT_NAME),h.set(pS,n),h.set(hS,d.host),h.set(yS,Xt.Environment.instance.build.BUILD_ID),await fetch(f.toString(),{headers:h,method:g,body:_,redirect:"manual"})},"devPortalRoute"),a=new xf.Pipeline({processors:[Cf.metricsProcessor,lS.policyProcessor],handler:o,gateway:t}),c=new Lf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Xu.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Yr.registerDevPortalV3Route=bS;var _S=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=s(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(Nf.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new xf.Pipeline({processors:[Cf.metricsProcessor],handler:n,gateway:t}),o=new Lf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Nf}(.*)`,systemRouteName:Xu.SystemRouteName.DeveloperPortalLegacy});e.addRoute(o,i.execute)},"registerDevPortalLegacyRedirectRoute");Yr.registerDevPortalLegacyRedirectRoute=_S});var el=y(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.API_KEY=Zr.SYSTEM_LOGGER=void 0;Zr.SYSTEM_LOGGER="system-logger";Zr.API_KEY="api-key"});var Uf=y(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.CoreLogger=void 0;var tl=0,rl=class{static{s(this,"CoreLogger")}constructor(t,r,n,i,o){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=o,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=s(()=>{},"emptyFunction"),o=s((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:o,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,o,a){tl>=Number.MAX_SAFE_INTEGER&&(tl=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:o,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:tl++};this.#t[t](c,a)}};Vo.CoreLogger=rl});var Ut=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.LogPlugin=void 0;var ES=gt(),nl=class extends ES.RuntimePlugin{static{s(this,"LogPlugin")}};Go.LogPlugin=nl});var Mf=y(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.LoggingContext=void 0;var il=class{static{s(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};Bo.LoggingContext=il});var kf=y(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.RequestLogger=void 0;var ol=class{static{s(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)}};Ko.RequestLogger=ol});var xr=y(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.cleanStack=er.serializeError=er.NonError=void 0;var Hf=st(),wS=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),vS=new Map(wS),sl=class e extends Error{static{s(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};er.NonError=sl;var TS=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],al=Symbol(".toJSON was called"),SS=s(e=>{e[al]=!0;let t=e.toJSON();return delete e[al],t},"toJSON"),IS=s(e=>vS.get(e)??Error,"getErrorConstructor"),Ff=s(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:o,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,Hf.isErrorLike)(e)){let l=IS(e.name);r=new l}else r={};if(t.push(e),o>=i)return r;if(a&&typeof e.toJSON=="function"&&e[al]!==!0)return SS(e);let u=s(l=>Ff({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:o,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])){o++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of TS)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,Hf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function PS(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?Ff({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}s(PS,"serializeError");er.serializeError=PS;var AS=/file:\/\/\/(.*?)\/dist\//g,RS=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,OS="at async Event.respondWith";function NS(e){return typeof e!="string"?e:e.split(`
50
- `).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(AS,"").replaceAll(RS,"").replaceAll(OS,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
51
- `)}s(NS,"cleanStack");er.cleanStack=NS});var qf=y(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});var cl=st();function xS(e,t,r=""){let n=[],i=t?.maxDepth??3;return s(function o(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
49
+ `,ET=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Xt.Environment.instance.deploymentName,i=Xt.Environment.instance.devPortalBaseUrl,o=s(async(u,l)=>{if(Xt.Environment.instance.isLocalDevelopment)return new Response(_T,{headers:{"content-type":"text/html"}});if(!n)return rl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,hT.devPortalBaseURL)(i,u.headers),f=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:g,body:_}=u;return Xt.Environment.instance.build.ACCOUNT_NAME&&h.set(yT,Xt.Environment.instance.build.ACCOUNT_NAME),Xt.Environment.instance.build.PROJECT_NAME&&h.set(gT,Xt.Environment.instance.build.PROJECT_NAME),h.set(fT,n),h.set(mT,d.host),h.set(bT,Xt.Environment.instance.build.BUILD_ID),await fetch(f.toString(),{headers:h,method:g,body:_,redirect:"manual"})},"devPortalRoute"),a=new Mf.Pipeline({processors:[Hf.metricsProcessor,pT.policyProcessor],handler:o,gateway:t}),c=new Ff.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:rl.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Yr.registerDevPortalV3Route=ET;var wT=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=s(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(kf.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Mf.Pipeline({processors:[Hf.metricsProcessor],handler:n,gateway:t}),o=new Ff.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${kf}(.*)`,systemRouteName:rl.SystemRouteName.DeveloperPortalLegacy});e.addRoute(o,i.execute)},"registerDevPortalLegacyRedirectRoute");Yr.registerDevPortalLegacyRedirectRoute=wT});var nl=y(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.API_KEY=Zr.SYSTEM_LOGGER=void 0;Zr.SYSTEM_LOGGER="system-logger";Zr.API_KEY="api-key"});var $f=y(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.CoreLogger=void 0;var il=0,ol=class{static{s(this,"CoreLogger")}constructor(t,r,n,i,o){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=o,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=s(()=>{},"emptyFunction"),o=s((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:o,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,o,a){il>=Number.MAX_SAFE_INTEGER&&(il=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:o,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:il++};this.#t[t](c,a)}};Bo.CoreLogger=ol});var Ut=y(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.LogPlugin=void 0;var vT=gt(),sl=class extends vT.RuntimePlugin{static{s(this,"LogPlugin")}};Ko.LogPlugin=sl});var jf=y(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.LoggingContext=void 0;var al=class{static{s(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};Jo.LoggingContext=al});var Vf=y(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.RequestLogger=void 0;var cl=class{static{s(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)}};zo.RequestLogger=cl});var xr=y(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.cleanStack=er.serializeError=er.NonError=void 0;var Gf=st(),ST=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),TT=new Map(ST),ul=class e extends Error{static{s(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};er.NonError=ul;var IT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],ll=Symbol(".toJSON was called"),PT=s(e=>{e[ll]=!0;let t=e.toJSON();return delete e[ll],t},"toJSON"),AT=s(e=>TT.get(e)??Error,"getErrorConstructor"),Bf=s(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:o,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,Gf.isErrorLike)(e)){let l=AT(e.name);r=new l}else r={};if(t.push(e),o>=i)return r;if(a&&typeof e.toJSON=="function"&&e[ll]!==!0)return PT(e);let u=s(l=>Bf({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:o,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])){o++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of IT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,Gf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function RT(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?Bf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}s(RT,"serializeError");er.serializeError=RT;var OT=/file:\/\/\/(.*?)\/dist\//g,NT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,xT="at async Event.respondWith";function CT(e){return typeof e!="string"?e:e.split(`
50
+ `).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(OT,"").replaceAll(NT,"").replaceAll(xT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
51
+ `)}s(CT,"cleanStack");er.cleanStack=CT});var Kf=y(pl=>{"use strict";Object.defineProperty(pl,"__esModule",{value:!0});var dl=st();function LT(e,t,r=""){let n=[],i=t?.maxDepth??3;return s(function o(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 f=s(h=>{if(c.inlineCharacterLimit===void 0)return h;let g=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return g.length<=c.inlineCharacterLimit?g: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,cl.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((g,_)=>{let T=a.length-1===_?p.newline:","+p.newlineOrSpace,S=o(g,c,u+d,l+1);return c.transform&&(S=c.transform(a,_,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),f(h)}if((0,cl.isObject)(a)){let h=(0,cl.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(_=>c.filter?.(a,_))),h.length===0)return"{}";n.push(a);let g="{"+p.newline+h.map((_,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,H=typeof _=="symbol",K=!H&&/^[a-z$_][$\w]*$/i.test(_),L=H||K?_:o(_,c,"",l+1),ne=o(a[_],c,u+d,l+1);return c.transform&&(ne=c.transform(a,_,ne)),p.indent+String(L)+": "+ne+S}).join("")+p.pad+"}";return n.pop(),f(g)}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)}s(xS,"stringifyObject");ul.default=xS});var _t=y(Fe=>{"use strict";var CS=Fe&&Fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var ll=xr(),$f=CS(qf()),jf=st();function LS(e){return e.map(t=>(0,ll.serializeError)(t))}s(LS,"makeErrorsSerializable");Fe.makeErrorsSerializable=LS;function DS(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:Vf((0,ll.serializeError)(t))}s(DS,"extractBestMessage");Fe.extractBestMessage=DS;function US(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,jf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,$f.default)((0,ll.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,$f.default)(r);t.push(n)}else{let n=Gf(r);t.push(n)}}),t.join(`
56
- `)}s(US,"messagesToMultilineText");Fe.messagesToMultilineText=US;function Vf(e){return typeof e=="string"?e:JSON.stringify(e)}s(Vf,"stringifyNonString");Fe.stringifyNonString=Vf;function Gf(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,jf.toString)(e):"unknown"}s(Gf,"stringifyNonStringToText");Fe.stringifyNonStringToText=Gf});var D,ae,Te=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var MS,Jo,dl=I(()=>{Te();MS=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Jo=MS});function Se(...e){let t=e.reduce((i,{length:o})=>i+o,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function Bf(e,t){return Se(Z.encode(e),new Uint8Array([0]),t)}function pl(e,t,r){if(t<0||t>=zo)throw new RangeError(`value must be >= 0 and <= ${zo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Wo(e){let t=Math.floor(e/zo),r=e%zo,n=new Uint8Array(8);return pl(n,t,0),pl(n,r,4),n}function Qo(e){let t=new Uint8Array(4);return pl(t,e),t}function Yo(e){return Se(Qo(e.length),e)}async function Kf(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let o=0;o<n;o++){let a=new Uint8Array(4+e.length+r.length);a.set(Qo(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Jo("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,zo,ge=I(()=>{dl();Z=new TextEncoder,ue=new TextDecoder,zo=2**32;s(Se,"concat");s(Bf,"p2s");s(pl,"writeUInt32BE");s(Wo,"uint64be");s(Qo,"uint32be");s(Yo,"lengthAndInput");s(Kf,"concatKdf")});var Zo,X,hl,re,Ie=I(()=>{ge();Zo=s(e=>{let t=e;typeof t=="string"&&(t=Z.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"),X=s(e=>Zo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),hl=s(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"),re=s(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return hl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var fl={};ro(fl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Mt,JWEInvalid:()=>A,JWKInvalid:()=>ai,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>ci,JWKSNoMatchingKey:()=>Cr,JWKSTimeout:()=>ui,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Lr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Xr,JWTInvalid:()=>le});var he,be,Xr,tr,M,Mt,A,z,le,ai,rr,Cr,ci,ui,Lr,j=I(()=>{he=class extends Error{static{s(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{s(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}},Xr=class extends he{static{s(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{s(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{s(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Mt=class extends he{static{s(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{s(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{s(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{s(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ai=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Cr=class extends he{static{s(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"}},ci=class extends he{static{s(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"}},ui=class extends he{static{s(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Lr=class extends he{static{s(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,li=I(()=>{Te();nr=D.getRandomValues.bind(D)});function ml(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 Xo,es=I(()=>{j();li();s(ml,"bitLength");Xo=s(e=>nr(new Uint8Array(ml(e)>>3)),"default")});var kS,ts,yl=I(()=>{j();es();kS=s((e,t)=>{if(t.length<<3!==ml(e))throw new A("Invalid Initialization Vector length")},"checkIvLength"),ts=kS});var HS,en,gl=I(()=>{j();HS=s((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"),en=HS});var FS,zf,Wf=I(()=>{FS=s((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"),zf=FS});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 rs(e){return parseInt(e.name.slice(4),10)}function qS(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Qf(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 Yf(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(rs(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(rs(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(rs(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=qS(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Qf(e,r)}function qe(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(rs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Qf(e,r)}var or=I(()=>{s(Pe,"unusable");s(ir,"isAlgorithm");s(rs,"getHashLength");s(qS,"getNamedCurve");s(Qf,"checkUsage");s(Yf,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function Zf(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 bl(e,t,...r){return Zf(`Key for the ${e} algorithm must be `,t,...r)}var oe,ct=I(()=>{s(Zf,"message");oe=s((e,...t)=>Zf("Key must be ",e,...t),"default");s(bl,"withAlg")});var _l,Q,ut=I(()=>{Te();_l=s(e=>ae(e),"default"),Q=["CryptoKey"]});async function $S(e,t,r,n,i,o){if(!(t instanceof Uint8Array))throw new TypeError(oe(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(o,n,r,Wo(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=zf(i,d)}catch{}if(!p)throw new Mt;let f;try{f=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!f)throw new Mt;return f}async function jS(e,t,r,n,i,o){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:o,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Mt}}var VS,ns,El=I(()=>{ge();yl();gl();Wf();j();Te();or();ct();ut();s($S,"cbcDecrypt");s(jS,"gcmDecrypt");VS=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(ts(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&en(t,parseInt(e.slice(-3),10)),$S(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&en(t,parseInt(e.slice(1,4),10)),jS(e,t,r,n,i,o);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),ns=VS});var Xf,em,wl=I(()=>{j();Xf=s(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"),em=s(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 GS,Et,tn=I(()=>{GS=s((...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 o of i){if(r.has(o))return!1;r.add(o)}}return!0},"isDisjoint"),Et=GS});function BS(e){return typeof e=="object"&&e!==null}function Y(e){if(!BS(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 $e=I(()=>{s(BS,"isObjectLike");s(Y,"isObject")});var KS,rn,vl=I(()=>{KS=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],rn=KS});function tm(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function rm(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(oe(e,...Q,"Uint8Array"))}var di,pi,is=I(()=>{vl();Te();or();ct();ut();s(tm,"checkKeySize");s(rm,"getCryptoKey");di=s(async(e,t,r)=>{let n=await rm(t,e,"wrapKey");tm(n,e);let i=await D.subtle.importKey("raw",r,...rn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),pi=s(async(e,t,r)=>{let n=await rm(t,e,"unwrapKey");tm(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...rn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function os(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Se(Yo(Z.encode(r)),Yo(i),Yo(o),Qo(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 Kf(u,n,a)}async function nm(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function ss(e){if(!ae(e))throw new TypeError(oe(e,...Q));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var Tl=I(()=>{ge();Te();or();ct();ut();s(os,"deriveKey");s(nm,"generateEpk");s(ss,"ecdhAllowed")});function Sl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}var om=I(()=>{j();s(Sl,"checkP2s")});function JS(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function sm(e,t,r,n){Sl(e);let i=Bf(t,e),o=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:o,name:"AES-KW"},u=await JS(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,o));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 am,cm,Il=I(()=>{li();ge();Ie();is();om();Te();or();ct();ut();s(JS,"getCryptoKey");s(sm,"deriveKey");am=s(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let o=await sm(i,e,n,t);return{encryptedKey:await di(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),cm=s(async(e,t,r,n,i)=>{let o=await sm(i,e,n,t);return pi(e.slice(-6),o,r)},"decrypt")});function nn(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 um=I(()=>{j();s(nn,"subtleRsaEs")});var Dr,as=I(()=>{Dr=s((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 lm,dm,Pl=I(()=>{um();vl();Te();or();as();ct();ut();lm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Dr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(nn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...rn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,nn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),dm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Dr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(nn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,nn(e),...rn);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 hi(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 wt,fi=I(()=>{j();li();s(hi,"bitLength");wt=s(e=>nr(new Uint8Array(hi(e)>>3)),"default")});var Al,pm=I(()=>{Al=s((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,dl.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((g,_)=>{let S=a.length-1===_?p.newline:","+p.newlineOrSpace,T=o(g,c,u+d,l+1);return c.transform&&(T=c.transform(a,_,T)),p.indent+T+S}).join("")+p.pad+"]";return n.pop(),f(h)}if((0,dl.isObject)(a)){let h=(0,dl.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(_=>c.filter?.(a,_))),h.length===0)return"{}";n.push(a);let g="{"+p.newline+h.map((_,S)=>{let T=h.length-1===S?p.newline:","+p.newlineOrSpace,H=typeof _=="symbol",K=!H&&/^[a-z$_][$\w]*$/i.test(_),L=H||K?_:o(_,c,"",l+1),ne=o(a[_],c,u+d,l+1);return c.transform&&(ne=c.transform(a,_,ne)),p.indent+String(L)+": "+ne+T}).join("")+p.pad+"}";return n.pop(),f(g)}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)}s(LT,"stringifyObject");pl.default=LT});var _t=y(Fe=>{"use strict";var DT=Fe&&Fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var hl=xr(),Jf=DT(Kf()),zf=st();function UT(e){return e.map(t=>(0,hl.serializeError)(t))}s(UT,"makeErrorsSerializable");Fe.makeErrorsSerializable=UT;function kT(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:Wf((0,hl.serializeError)(t))}s(kT,"extractBestMessage");Fe.extractBestMessage=kT;function MT(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,zf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,Jf.default)((0,hl.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,Jf.default)(r);t.push(n)}else{let n=Qf(r);t.push(n)}}),t.join(`
56
+ `)}s(MT,"messagesToMultilineText");Fe.messagesToMultilineText=MT;function Wf(e){return typeof e=="string"?e:JSON.stringify(e)}s(Wf,"stringifyNonString");Fe.stringifyNonString=Wf;function Qf(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,zf.toString)(e):"unknown"}s(Qf,"stringifyNonStringToText");Fe.stringifyNonStringToText=Qf});var D,ae,Se=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var HT,Wo,fl=I(()=>{Se();HT=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Wo=HT});function Te(...e){let t=e.reduce((i,{length:o})=>i+o,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function Yf(e,t){return Te(Z.encode(e),new Uint8Array([0]),t)}function ml(e,t,r){if(t<0||t>=Qo)throw new RangeError(`value must be >= 0 and <= ${Qo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Yo(e){let t=Math.floor(e/Qo),r=e%Qo,n=new Uint8Array(8);return ml(n,t,0),ml(n,r,4),n}function Zo(e){let t=new Uint8Array(4);return ml(t,e),t}function Xo(e){return Te(Zo(e.length),e)}async function Zf(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let o=0;o<n;o++){let a=new Uint8Array(4+e.length+r.length);a.set(Zo(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Wo("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,Qo,ge=I(()=>{fl();Z=new TextEncoder,ue=new TextDecoder,Qo=2**32;s(Te,"concat");s(Yf,"p2s");s(ml,"writeUInt32BE");s(Yo,"uint64be");s(Zo,"uint32be");s(Xo,"lengthAndInput");s(Zf,"concatKdf")});var es,X,yl,re,Ie=I(()=>{ge();es=s(e=>{let t=e;typeof t=="string"&&(t=Z.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"),X=s(e=>es(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),yl=s(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"),re=s(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return yl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var gl={};io(gl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>k,JWEDecryptionFailed:()=>kt,JWEInvalid:()=>R,JWKInvalid:()=>ci,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>ui,JWKSNoMatchingKey:()=>Cr,JWKSTimeout:()=>li,JWSInvalid:()=>W,JWSSignatureVerificationFailed:()=>Lr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Xr,JWTInvalid:()=>le});var he,be,Xr,tr,k,kt,R,W,le,ci,rr,Cr,ui,li,Lr,j=I(()=>{he=class extends Error{static{s(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{s(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}},Xr=class extends he{static{s(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{s(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{s(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},kt=class extends he{static{s(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},R=class extends he{static{s(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},W=class extends he{static{s(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{s(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ci=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Cr=class extends he{static{s(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"}},ui=class extends he{static{s(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"}},li=class extends he{static{s(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Lr=class extends he{static{s(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,di=I(()=>{Se();nr=D.getRandomValues.bind(D)});function bl(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 ts,rs=I(()=>{j();di();s(bl,"bitLength");ts=s(e=>nr(new Uint8Array(bl(e)>>3)),"default")});var FT,ns,_l=I(()=>{j();rs();FT=s((e,t)=>{if(t.length<<3!==bl(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),ns=FT});var qT,en,El=I(()=>{j();qT=s((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new R(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),en=qT});var $T,em,tm=I(()=>{$T=s((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"),em=$T});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 is(e){return parseInt(e.name.slice(4),10)}function jT(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function rm(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 nm(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(is(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(is(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(is(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=jT(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}rm(e,r)}function qe(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(is(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}rm(e,r)}var or=I(()=>{s(Pe,"unusable");s(ir,"isAlgorithm");s(is,"getHashLength");s(jT,"getNamedCurve");s(rm,"checkUsage");s(nm,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function im(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 wl(e,t,...r){return im(`Key for the ${e} algorithm must be `,t,...r)}var oe,ct=I(()=>{s(im,"message");oe=s((e,...t)=>im("Key must be ",e,...t),"default");s(wl,"withAlg")});var vl,Q,ut=I(()=>{Se();vl=s(e=>ae(e),"default"),Q=["CryptoKey"]});async function VT(e,t,r,n,i,o){if(!(t instanceof Uint8Array))throw new TypeError(oe(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=Te(o,n,r,Yo(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=em(i,d)}catch{}if(!p)throw new kt;let f;try{f=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!f)throw new kt;return f}async function GT(e,t,r,n,i,o){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:o,iv:n,name:"AES-GCM",tagLength:128},a,Te(r,i)))}catch{throw new kt}}var BT,os,Sl=I(()=>{ge();_l();El();tm();j();Se();or();ct();ut();s(VT,"cbcDecrypt");s(GT,"gcmDecrypt");BT=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(ns(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&en(t,parseInt(e.slice(-3),10)),VT(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&en(t,parseInt(e.slice(1,4),10)),GT(e,t,r,n,i,o);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),os=BT});var om,sm,Tl=I(()=>{j();om=s(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"),sm=s(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 KT,Et,tn=I(()=>{KT=s((...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 o of i){if(r.has(o))return!1;r.add(o)}}return!0},"isDisjoint"),Et=KT});function JT(e){return typeof e=="object"&&e!==null}function Y(e){if(!JT(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 $e=I(()=>{s(JT,"isObjectLike");s(Y,"isObject")});var zT,rn,Il=I(()=>{zT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],rn=zT});function am(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function cm(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(oe(e,...Q,"Uint8Array"))}var pi,hi,ss=I(()=>{Il();Se();or();ct();ut();s(am,"checkKeySize");s(cm,"getCryptoKey");pi=s(async(e,t,r)=>{let n=await cm(t,e,"wrapKey");am(n,e);let i=await D.subtle.importKey("raw",r,...rn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),hi=s(async(e,t,r)=>{let n=await cm(t,e,"unwrapKey");am(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...rn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function as(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Te(Xo(Z.encode(r)),Xo(i),Xo(o),Zo(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 Zf(u,n,a)}async function um(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function cs(e){if(!ae(e))throw new TypeError(oe(e,...Q));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var Pl=I(()=>{ge();Se();or();ct();ut();s(as,"deriveKey");s(um,"generateEpk");s(cs,"ecdhAllowed")});function Al(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var dm=I(()=>{j();s(Al,"checkP2s")});function WT(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function pm(e,t,r,n){Al(e);let i=Yf(t,e),o=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:o,name:"AES-KW"},u=await WT(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,o));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 hm,fm,Rl=I(()=>{di();ge();Ie();ss();dm();Se();or();ct();ut();s(WT,"getCryptoKey");s(pm,"deriveKey");hm=s(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let o=await pm(i,e,n,t);return{encryptedKey:await pi(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),fm=s(async(e,t,r,n,i)=>{let o=await pm(i,e,n,t);return hi(e.slice(-6),o,r)},"decrypt")});function nn(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 mm=I(()=>{j();s(nn,"subtleRsaEs")});var Dr,us=I(()=>{Dr=s((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 ym,gm,Ol=I(()=>{mm();Il();Se();or();us();ct();ut();ym=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Dr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(nn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...rn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,nn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),gm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Dr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(nn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,nn(e),...rn);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 fi(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 wt,mi=I(()=>{j();di();s(fi,"bitLength");wt=s(e=>nr(new Uint8Array(fi(e)>>3)),"default")});var Nl,bm=I(()=>{Nl=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
57
57
  `);return`-----BEGIN ${t}-----
58
58
  ${r}
59
- -----END ${t}-----`},"default")});function fm(e){let t=[],r=0;for(;r<e.length;){let n=Em(e.subarray(r));t.push(n),r+=n.byteLength}return t}function Em(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 o=t+n+2;return{byteLength:o,contents:e.subarray(t,t+n),raw:e.subarray(0,o)}}else{let o=e[t]&127;t++,n=0;for(let a=0;a<o;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 zS(e){let t=fm(fm(Em(e).contents)[0].contents);return Zo(t[t[0].raw[0]===160?6:5].raw)}function WS(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=hl(t);return Al(zS(r),"PUBLIC KEY")}var mm,ym,gm,sr,hm,bm,_m,Rl,wm,cs=I(()=>{Te();ct();Ie();pm();j();ut();mm=s(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(r,...Q));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return Al(Zo(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),ym=s(e=>mm("public","spki",e),"toSPKI"),gm=s(e=>mm("private","pkcs8",e),"toPKCS8"),sr=s((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((o,a)=>o===t[a])||sr(e,t,n+1)},"findOid"),hm=s(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"),bm=s(async(e,t,r,n,i)=>{var o;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=hm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:hm(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(o=i?.extractable)!==null&&o!==void 0?o:!1,c)},"genericImport"),_m=s((e,t,r)=>bm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Rl=s((e,t,r)=>bm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(fm,"getElement");s(Em,"parseElement");s(zS,"spkiFromX509");s(WS,"getSPKI");wm=s((e,t,r)=>{let n;try{n=WS(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Rl(n,t,r)},"fromX509")});function QS(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 YS,Ol,vm=I(()=>{Te();j();Ie();s(QS,"subtleMapping");YS=s(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}=QS(e),o=[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",re(e.k),...o);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...o)},"parse"),Ol=YS});async function Tm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Rl(e,t,r)}async function Sm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return wm(e,t,r)}async function Im(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return _m(e,t,r)}async function ar(e,t,r){var n;if(!Y(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?Ol({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(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 Ol({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var mi=I(()=>{Ie();cs();vm();j();$e();s(Tm,"importSPKI");s(Sm,"importX509");s(Im,"importPKCS8");s(ar,"importJWK")});var ZS,XS,eI,cr,yi=I(()=>{ct();ut();ZS=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!_l(t))throw new TypeError(bl(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),XS=s((e,t,r)=>{if(!_l(t))throw new TypeError(bl(e,t,...Q));if(t.type==="secret")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),eI=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?ZS(e,t):XS(e,t,r)},"checkKeyType"),cr=eI});async function tI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(r,"Uint8Array"));let o=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(o>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,Wo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function rI(e,t,r,n,i){let o;r instanceof Uint8Array?o=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(r,e,"encrypt"),o=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},o,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var nI,gi,Nl=I(()=>{ge();yl();gl();Te();or();ct();j();ut();s(tI,"cbcEncrypt");s(rI,"gcmEncrypt");nI=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(ts(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&en(r,parseInt(e.slice(-3),10)),tI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&en(r,parseInt(e.slice(1,4),10)),rI(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),gi=nI});async function Pm(e,t,r,n){let i=e.slice(0,7);n||(n=Xo(i));let{ciphertext:o,tag:a}=await gi(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function Am(e,t,r,n,i){let o=e.slice(0,7);return ns(o,t,r,n,i,new Uint8Array(0))}var xl=I(()=>{Nl();El();es();Ie();s(Pm,"wrap");s(Am,"unwrap")});async function iI(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(!Y(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ss(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=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=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await os(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?hi(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 pi(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 dm(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 o=i?.maxPBES2Count||1e4;if(n.p2c>o)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 cm(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");return pi(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 o=re(n.iv),a=re(n.tag);return Am(e,t,r,o,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Rm,Om=I(()=>{is();Tl();Il();Pl();Ie();j();fi();mi();yi();$e();xl();s(iI,"decryptKeyManagement");Rm=iI});function oI(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 o;r!==void 0?o=new Map([...Object.entries(r),...t.entries()]):o=t;for(let a of n.crit){if(!o.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(o.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var vt,on=I(()=>{j();s(oI,"validateCrit");vt=oI});var sI,bi,Cl=I(()=>{sI=s((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"),bi=sI});async function sn(e,t,r){var n;if(!Y(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&&!Y(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let K=re(e.protected);i=JSON.parse(ue.decode(K))}catch{throw new A("JWE Protected Header is invalid")}if(!Et(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 o={...i,...e.header,...e.unprotected};if(vt(A,new Map,r?.crit,i,o),o.zip!==void 0){if(!i||!i.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(o.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=o;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&&bi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&bi("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=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let f;try{f=await Rm(a,t,d,o,r)}catch(K){if(K instanceof TypeError||K instanceof A||K instanceof M)throw K;f=wt(c)}let h=re(e.iv),g=re(e.tag),_=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(_,Z.encode("."),Z.encode(e.aad)):T=_;let S=await ns(c,f,re(e.ciphertext),h,g,T);o.zip==="DEF"&&(S=await(r?.inflateRaw||Xf)(S));let H={plaintext:S};return e.protected!==void 0&&(H.protectedHeader=i),e.aad!==void 0&&(H.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(H.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(H.unprotectedHeader=e.header),p?{...H,key:t}:H}var us=I(()=>{Ie();El();wl();j();tn();$e();Om();ge();fi();on();Cl();s(sn,"flattenedDecrypt")});async function ls(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new A("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:o,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new A("Invalid Compact JWE");let l=await sn({ciphertext:a,iv:o||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 Ll=I(()=>{us();j();ge();s(ls,"compactDecrypt")});async function Nm(e,t,r){if(!Y(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))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 sn({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 Mt}var xm=I(()=>{us();j();$e();s(Nm,"generalDecrypt")});var aI,Cm,Lm=I(()=>{Te();ct();Ie();ut();aI=s(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(oe(e,...Q,"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,...o}=await D.subtle.exportKey("jwk",e);return o},"keyToJWK"),Cm=aI});async function Dm(e){return ym(e)}async function Um(e){return gm(e)}async function ds(e){return Cm(e)}var Dl=I(()=>{cs();cs();Lm();s(Dm,"exportSPKI");s(Um,"exportPKCS8");s(ds,"exportJWK")});async function cI(e,t,r,n,i={}){let o,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(!ss(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 nm(r)).privateKey);let{x:p,y:f,crv:h,kty:g}=await ds(d),_=await os(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?hi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=f),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=_;break}c=n||wt(t);let T=e.slice(-6);o=await di(T,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||wt(t),o=await lm(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||wt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await am(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||wt(t),o=await di(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||wt(t);let{iv:u}=i;({encryptedKey:o,...a}=await Pm(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:o,parameters:a}}var ps,Ul=I(()=>{is();Tl();Il();Pl();Ie();fi();j();Dl();yi();xl();s(cI,"encryptKeyManagement");ps=cI});var Ml,kt,hs=I(()=>{Ie();Nl();wl();es();Ul();j();tn();ge();on();Ml=Symbol(),kt=class{static{s(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(!Et(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(vt(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 M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:o}=n;if(typeof i!="string"||!i)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof o!="string"||!o)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 g;({cek:c,encryptedKey:a,parameters:g}=await ps(i,o,t,this._cek,this._keyManagementParameters)),g&&(r&&Ml in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=Xo(o));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Se(l,Z.encode("."),Z.encode(d))):u=l;let p,f;if(n.zip==="DEF"){let g=await(r?.deflateRaw||em)(this._plaintext);({ciphertext:p,tag:f}=await gi(o,g,c,this._iv,u))}else({ciphertext:p,tag:f}=await gi(o,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(f)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var kl,fs,Mm=I(()=>{hs();j();fi();tn();Ul();Ie();on();kl=class{static{s(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}},fs=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new kl(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 kt(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 o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!Et(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(!o)o=d.enc;else if(o!==d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(vt(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=wt(o),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 f={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new kt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:f}).encrypt(l.key,{...l.options,...t,[Ml]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await ps(((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),o,l.key,a,{p2c:f});d.encrypted_key=X(h),(l.unprotectedHeader||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function _i(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 Hl=I(()=>{j();s(_i,"subtleDsa")});function Ei(e,t,r){if(ae(t))return Yf(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(oe(t,...Q));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(oe(t,...Q,"Uint8Array"))}var Fl=I(()=>{Te();or();ct();ut();s(Ei,"getCryptoKey")});var uI,km,Hm=I(()=>{Hl();Te();as();Fl();uI=s(async(e,t,r,n)=>{let i=await Ei(e,t,"verify");Dr(e,i);let o=_i(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),km=uI});async function an(e,t,r){var n;if(!Y(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&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=re(e.protected);i=JSON.parse(ue.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!Et(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=vt(z,new Map([["b64",!0]]),r?.crit,i,o),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}=o;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&bi("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(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),f=re(e.signature);if(!await km(u,t,f,p))throw new Lr;let g;c?g=re(e.payload):typeof e.payload=="string"?g=Z.encode(e.payload):g=e.payload;let _={payload:g};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var ms=I(()=>{Ie();Hm();j();ge();tn();$e();yi();on();Cl();s(an,"flattenedVerify")});async function ys(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:o,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await an({payload:i,protected:n,signature:o},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var ql=I(()=>{ms();j();ge();s(ys,"compactVerify")});async function Fm(e,t,r){if(!Y(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Y))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await an({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Lr}var qm=I(()=>{ms();j();$e();s(Fm,"generalVerify")});var cn,$l=I(()=>{cn=s(e=>Math.floor(e.getTime()/1e3),"default")});var lI,un,jl=I(()=>{lI=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,un=s(e=>{let t=lI.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 $m,dI,ln,gs=I(()=>{j();ge();$l();jl();$e();$m=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),dI=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),ln=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||$m(e.typ)!==$m(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Y(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:o=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&o.push("iat"),u!==void 0&&o.push("aud"),c!==void 0&&o.push("sub"),a!==void 0&&o.push("iss");for(let h of new Set(o.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&&!dI(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=un(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,f=cn(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>f+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<=f-d)throw new Xr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=f-i.iat,g=typeof l=="number"?l:un(l);if(h-d>g)throw new Xr('"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 jm(e,t,r){var n;let i=await ys(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:ln(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Vm=I(()=>{ql();gs();j();s(jm,"jwtVerify")});async function Gm(e,t,r){let n=await ls(e,t,r),i=ln(n.protectedHeader,n.plaintext,r),{protectedHeader:o}=n;if(o.iss!==void 0&&o.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(o.sub!==void 0&&o.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(o.aud!==void 0&&JSON.stringify(o.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:o};return typeof t=="function"?{...a,key:n.key}:a}var Bm=I(()=>{Ll();gs();j();s(Gm,"jwtDecrypt")});var dn,Vl=I(()=>{hs();dn=class{static{s(this,"CompactEncrypt")}constructor(t){this._flattened=new kt(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 pI,Km,Jm=I(()=>{Hl();Te();as();Fl();pI=s(async(e,t,r)=>{let n=await Ei(e,t,"sign");Dr(e,n);let i=await D.subtle.sign(_i(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Km=pI});var ur,bs=I(()=>{Ie();Jm();tn();j();ge();yi();on();ur=class{static{s(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(!Et(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=vt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="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;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Se(u,Z.encode("."),c),d=await Km(a,t,l),p={signature:X(d),payload:""};return o&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var pn,Gl=I(()=>{bs();pn=class{static{s(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 Bl,_s,zm=I(()=>{bs();j();Bl=class{static{s(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}},_s=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Bl(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:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,Es=I(()=>{$l();$e();jl();lr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Y(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:cn(new Date)+un(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:cn(new Date)+un(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:cn(new Date)}:this._payload={...this._payload,iat:t},this}}});var ws,Wm=I(()=>{Gl();j();ge();Es();ws=class extends lr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new pn(Z.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 vs,Qm=I(()=>{Vl();ge();Es();vs=class extends lr{static{s(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 dn(Z.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 Kl(e,t){if(!Y(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=Z.encode(JSON.stringify(r));return X(await Jo(t,n))}async function Ym(e,t){t??(t="sha256");let r=await Kl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,Zm=I(()=>{dl();Ie();j();ge();$e();dr=s((e,t)=>{if(typeof e!="string"||!e)throw new ai(`${t} missing or invalid`)},"check");s(Kl,"calculateJwkThumbprint");s(Ym,"calculateJwkThumbprintUri")});async function Xm(e,t){let r={...e,...t?.header};if(!Y(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 ey=I(()=>{mi();$e();j();s(Xm,"EmbeddedJWK")});function hI(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 Jl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(fI)}function fI(e){return Y(e)}function mI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function ty(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 ry(e){let t=new wi(e);return async function(r,n){return t.getKey(r,n)}}var wi,zl=I(()=>{mi();j();$e();s(hI,"getKtyFromAlg");s(Jl,"isJWKSLike");s(fI,"isJWKLike");s(mI,"clone");wi=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Jl(t))throw new rr("JSON Web Key Set malformed");this._jwks=mI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=hI(n),a=this._jwks.keys.filter(l=>{let d=o===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 Cr;if(u!==1){let l=new ci,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await ty(d,p,n)}catch{continue}},l}return ty(this._cached,c,n)}};s(ty,"importWithAlgCache");s(ry,"createLocalJWKSet")});var yI,ny,iy=I(()=>{j();yI=s(async(e,t,r)=>{let n,i,o=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{o=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw o?new ui: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"),ny=yI});function gI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function oy(e,t){let r=new Wl(e,t);return async function(n,i){return r.getKey(n,i)}}var Wl,sy=I(()=>{iy();j();zl();s(gI,"isCloudflareWorkers");Wl=class extends wi{static{s(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 Cr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&gI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=ny(this._url,this._timeoutDuration,this._options).then(t=>{if(!Jl(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}};s(oy,"createRemoteJWKSet")});var Ts,ay=I(()=>{Ie();ge();j();gs();Es();Ts=class extends lr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(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:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:ln(c,re(i),r),header:c}}}});var Ql={};ro(Ql,{decode:()=>vi,encode:()=>bI});var bI,vi,Ss=I(()=>{Ie();bI=X,vi=re});function cy(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(ue.decode(vi(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var uy=I(()=>{Ss();ge();$e();s(cy,"decodeProtectedHeader")});function ly(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=vi(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Y(i))throw new le("Invalid JWT Claims Set");return i}var dy=I(()=>{Ss();ge();$e();j();s(ly,"decodeJwt")});async function py(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["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},o=["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},o=["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,o)}function Yl(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 hy(e,t){var r,n,i;let o,a;switch(e){case"PS256":case"PS384":case"PS512":o={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Yl(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":o={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Yl(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":o={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Yl(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":o={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":o={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":o={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":o={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":{o={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":o={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(o,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Zl=I(()=>{Te();j();li();s(py,"generateSecret");s(Yl,"getModulusLengthOption");s(hy,"generateKeyPair")});async function fy(e,t){return hy(e,t)}var my=I(()=>{Zl();s(fy,"generateKeyPair")});async function yy(e,t){return py(e,t)}var gy=I(()=>{Zl();s(yy,"generateSecret")});var Is={};ro(Is,{CompactEncrypt:()=>dn,CompactSign:()=>pn,EmbeddedJWK:()=>Xm,EncryptJWT:()=>vs,FlattenedEncrypt:()=>kt,FlattenedSign:()=>ur,GeneralEncrypt:()=>fs,GeneralSign:()=>_s,SignJWT:()=>ws,UnsecuredJWT:()=>Ts,base64url:()=>Ql,calculateJwkThumbprint:()=>Kl,calculateJwkThumbprintUri:()=>Ym,compactDecrypt:()=>ls,compactVerify:()=>ys,createLocalJWKSet:()=>ry,createRemoteJWKSet:()=>oy,decodeJwt:()=>ly,decodeProtectedHeader:()=>cy,errors:()=>fl,exportJWK:()=>ds,exportPKCS8:()=>Um,exportSPKI:()=>Dm,flattenedDecrypt:()=>sn,flattenedVerify:()=>an,generalDecrypt:()=>Nm,generalVerify:()=>Fm,generateKeyPair:()=>fy,generateSecret:()=>yy,importJWK:()=>ar,importPKCS8:()=>Im,importSPKI:()=>Tm,importX509:()=>Sm,jwtDecrypt:()=>Gm,jwtVerify:()=>jm});var Ps=I(()=>{Ll();us();xm();Mm();ql();ms();qm();Vm();Bm();Vl();hs();Gl();bs();zm();Wm();Qm();Zm();ey();zl();sy();ay();Dl();mi();uy();dy();j();my();gy();Ss()});var hn=y(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.fetchRetry=void 0;var _I=O();async function EI(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let o=await i;if(o.status<500&&o.status!==429)return o;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:o.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new _I.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(EI,"fetchRetry");As.fetchRetry=EI});var fn=y(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var by=(Ps(),no(Is)),wI=O(),vI=hn();async function TI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new by.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(TI,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=TI;async function SI(e,t,r){return ed(e,{token:t,returnSecureToken:!0},r)}s(SI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=SI;async function II(e,t,r){return ed(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(II,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=II;async function ed(e,t,r){let n=await(0,vI.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let o;try{let a=await n.text(),c=JSON.parse(a);o={cause:c.error??c}}catch{}throw new wI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(ed,"fetchToken");Ze.fetchToken=ed;var Xl=class e{static{s(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,by.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=Xl});var Os=y(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var PI=O(),AI=ve(),td=W(),rd=fn(),RI=Ut(),_y=_t(),nd=class extends RI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Rs(this.options)}};Ht.GoogleCloudLoggingPlugin=nd;var OI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Rs=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=td.Environment.instance.loggingEnvironmentType,this.#o=td.Environment.instance.loggingEnvironmentStage,this.#n=td.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await rd.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new PI.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,_y.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ht.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&&(o.labels.rayId=t.rayId);let a=(0,_y.extractBestMessage)(n.allMessages);o.jsonPayload={...n,message:a},this.batcher.enqueue(o),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await rd.GcpServiceAccount.init(this.#e));let r=await(0,rd.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(OI,{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 AI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=Rs});var id=y(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.gcpLogFormat=mn.GCP_LOG_FORMAT=void 0;var Ey=_t(),NI=Os();mn.GCP_LOG_FORMAT="gcp";function xI(e){let t={allMessages:(0,Ey.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,Ey.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:NI.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}s(xI,"gcpLogFormat");mn.gcpLogFormat=xI});var vy=y(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.ConsoleTransport=void 0;var wy=id(),od=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===wy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,wy.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}])}};Ns.ConsoleTransport=od});var dd=y(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.DataDogTransport=yn.DataDogLoggingPlugin=void 0;var CI=ve(),sd=W(),LI=Ut(),Ty=_t(),ld=class extends LI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new xs(this.options)}};yn.DataDogLoggingPlugin=ld;var ad="__ddtags",cd="__ddattr",ud=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),DI=s(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(ud(n)):r.push(`${ud(n)}:${ud(i.toString())}`)}),r.join(",")},"formatTags"),xs=class{static{s(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=sd.Environment.instance.loggingEnvironmentType,this.#i=sd.Environment.instance.loggingEnvironmentStage,this.#r=sd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[ad];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[ad]!==void 0);a>-1&&(Object.assign(n,o[a][ad]),o.splice(a,1));let c={},u=r.custom[cd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[cd]!==void 0);l>-1&&(Object.assign(c,o[l][cd]),o.splice(l,1));let d=(0,Ty.makeErrorsSerializable)(o),f={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Ty.extractBestMessage)(d),service:t.loggingId,ddtags:DI(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(f,c),this.batcher.enqueue(f),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 CI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};yn.DataDogTransport=xs});var Iy=y(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.ProcessTransport=void 0;var Sy=id(),pd=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===Sy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Sy.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}])}};Cs.ProcessTransport=pd});var Ay=y(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.RemoteLogTransport=void 0;var UI=ve(),Py=W(),MI=_t(),kI=s(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let o;if(n===!0?o=i.filter(a=>a.level==="error"):o=i,o.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:o.map(a=>({...a,messages:(0,MI.makeErrorsSerializable)(a.messages)}))}),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"),Ls,hd=class{static{s(this,"RemoteLogTransport")}constructor(t){Ls||(Ls=new UI.BatchDispatch("remote-log-transport",1,kI(t)))}log(t,r){Ls.enqueue(t),r.waitUntil(Ls.waitUntilFlushed())}};Ds.RemoteLogTransport=hd});var Ry=y(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.unifiedFormatter=Ur.SeverityNumberOpenTelemetryMap=void 0;Ur.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var HI=s((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:Ur.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Ur.unifiedFormatter=HI});var Ny=y(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.UnifiedLogTransport=void 0;var FI=ve(),Oy=W(),qI=Ry(),$I=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,qI.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(o)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Oy.Environment.instance.systemUserAgent,"zp-dn":Oy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Us,fd=class{static{s(this,"UnifiedLogTransport")}constructor(t){Us||(Us=new FI.BatchDispatch("unified-log-transport",1,$I(t)))}async log(t,r){Us.enqueue(t),r.waitUntil(Us.waitUntilFlushed())}};Ms.UnifiedLogTransport=fd});var ky=y(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.LogInitializer=void 0;var jI=Sr(),VI=gt(),xy=el(),Cy=W(),Ly=Uf(),GI=Ut(),BI=Mf(),Dy=kf(),Uy=vy(),KI=dd(),JI=Os(),My=Iy(),zI=Ay(),WI=Ny(),md=(0,jI.debug)("zuplo:logging"),yd=class e{static{s(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(Cy.Environment.instance,t),n=await e.setupUserCoreLogger(Cy.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;md("Gateway.setupSystemCoreLogger");let i=[],o=r.getService(xy.SYSTEM_LOGGER);return o?i.push(new My.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&i.push(new Uy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new WI.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new Ly.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){md("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:o}=t,a=r.getService(xy.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new My.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new Uy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new zI.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new JI.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new KI.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return VI.plugins.forEach(c=>{c instanceof GI.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Ly.CoreLogger(t.userLogLevel,"user",t.loggingId,o.BUILD_ID,n)}createRequestLoggers(t,r,n,i,o){md("Gateway.createRequestLoggers");let a=new BI.LoggingContext(n,i,o),c=new Dy.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Dy.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};ks.LogInitializer=yd});var bd=y(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.UserRouteConfiguration=void 0;var gd=class{static{s(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};Hs.UserRouteConfiguration=gd});var Ed=y(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Router=Tt.RouterError=Tt.LookupResult=Tt.RouterEntry=void 0;var Hy=O(),QI=ot(),YI=bd(),Fs=class{static{s(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Tt.RouterEntry=Fs;var Ti=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Tt.LookupResult=Ti;var qs=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};Tt.RouterError=qs;var _d=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof YI.UserRouteConfiguration||t instanceof QI.SystemRouteConfiguration))throw new Hy.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(o=>o.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let o=new URLPattern({pathname:i}),a=new Fs(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new qs(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new Hy.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 o=n[i],c=o.urlPattern.exec({pathname:r});if(c!==null)return new Ti(o.config,o.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 Ti(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Tt.Router=_d});var Ir=y(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.Gateway=void 0;var ZI=Sr(),Fy=lf(),qy=bf(),XI=_f(),$y=Ef(),jy=Sf(),Ft=ni(),$s=Pr(),Vy=Df(),It=O(),Si=gt(),eP=ky(),tP=Lt(),rP=te(),nP=Zu(),iP=Qt(),oP=Wr(),sP=ke(),aP=Ed(),wd=ot(),Gy=bd(),cP=He(),uP=Mo(),vd=W(),By=xr(),Ky=Cu(),St=(0,ZI.debug)("zuplo:runtime"),lP=s(e=>{let t=e.findIndex(r=>r.name===wd.systemNoVersion.name);return t>-1?[...e.splice(t),wd.systemNoVersion]:[...e,wd.systemNoVersion]},"setupSystemNoVersion"),Td=class e{static{s(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,St("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,o){if(St("Gateway.initialize"),!e.#e){await(0,Si.initializeRuntime)(o);let a=await eP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,uP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){St("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new It.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[oP.policyProcessor,nP.corsProcessor,iP.metricsProcessor];#i;setupRoutes=()=>{St("Gateway.setupRoutes");let t=this.routeData,r=lP(t.versions),n=new aP.Router(r);if(t.routes.length===0)return(0,Fy.registerBuildRoute)(n,this),(0,jy.registerPingRoute)(n,this),(0,qy.registerCorsRoute)(n,this),(0,XI.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Vy.registerDevPortalLegacyRedirectRoute)(n,this),(0,Vy.registerDevPortalV3Route)(n,this)),(0,Fy.registerBuildRoute)(n,this),(0,jy.registerPingRoute)(n,this),(0,qy.registerCorsRoute)(n,this);for(let o of Si.plugins)o instanceof Si.SystemRuntimePlugin&&o.registerRoutes(n,this);return t.routes.forEach(o=>{let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new It.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new tP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Gy.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,$y.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 It.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((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 St("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){St("Gateway.internalErrorResponse");let i={};if(vd.Environment.instance.isDeno){if(n instanceof It.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,By.serializeError)(n.cause);"stack"in o&&(o.stack=(0,By.cleanStack)(o.stack)),i={cause:o}}}return rP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ft.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),vd.Environment.instance.isDeno&&Ft.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ft.REQUEST_ID_HEADER)??t.headers.get(Ft.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ft.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Ft.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(Ft.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let o={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,o,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new It.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new $s.HeaderIncomingRequestProperties(t.headers),f=this.#s(t),h=new sP.ZuploRequest(f,{params:d.params}),g=new $s.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),_=$s.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===$y.notFoundRouteConfiguration&&Si.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof Gy.UserRouteConfiguration)}try{if(cP.SystemLogMap.addLogger(g,c),vd.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,Ky.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let H=await(0,Si.invokeOnRequestExtensions)(h,g);if(H instanceof Response)return H;{let K=$s.ZuploContextExtensions.getContextExtensions(g);h=H,K.latestRequest=h}}(0,Ky.isSystemRoute)(u)&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let T=d.executableHandler;dP(T,d,t),St("Gateway.handleRequest - call user handler");let S=await T(h,g);if(St("Gateway.handleRequest - user handler"),!(S instanceof Response))throw new It.RuntimeError(`Invalid Response type from the request handler: ${typeof S}`);if(S.bodyUsed)throw new It.RuntimeError("The response object has already been used. Return a new response instead.");if(S.headers.get(Ft.REQUEST_ID_HEADER)===null&&!S.webSocket){let H=new Headers(S.headers);return H.set(Ft.REQUEST_ID_HEADER,n),new Response(S.body,{status:S.status,statusText:S.statusText,headers:H,cf:S.cf})}else return S}catch(T){return St("Gateway - error executing handler",T),T instanceof It.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,g,T)}}};js.Gateway=Td;function dP(e,t,r){if(St("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new It.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new It.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(dP,"checkHandler")});var Jy=y(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.invokeInboundPolicy=void 0;var pP=O(),hP=Ir(),fP=Wr(),mP=s(async(e,t,r)=>{let n=hP.Gateway.instance.routeData.policies,i=(0,fP.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new pP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");Vs.invokeInboundPolicy=mP});var Pr=y(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=ni(),yP=O(),gP=Jy(),Sd=class{static{s(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=Sd;var Id=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Id;var Pd=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Pd;var Ii=class e{static{s(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 yP.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 o of this.#r)i=await o(t,r,n);return i}};Xe.ZuploContextExtensions=Ii;var Ad=class extends EventTarget{static{s(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:o,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=o,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,gP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ii.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ii.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=s(o=>{try{typeof r=="function"?r(o):r.handleEvent(o)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=Ad});var Bs=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.ContextData=void 0;var Rd=class e{static{s(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)}};Gs.ContextData=Rd});var gn=y(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var bP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function zy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!bP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(zy,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=zy;function Wy(e){return!!e.startsWith("ZUPLO_")}s(Wy,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=Wy;var _P=new Proxy({},{get(e,t){if(zy(String(t))&&!Wy(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=_P});var Od=y(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.externalServiceHandler=bn.externalServiceTunnelConfig=void 0;var EP=Sr(),Mr=O(),wP=Nd(),Pi=W(),lt=(0,EP.debug)("zuplo:runtime:external-service");function Yy(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Pi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(Yy,"getServiceAuth");async function vP(e){let t=Yy();if(!t)throw lt("There is no external service auth configured for this zup."),new Mr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw lt("Cannot call external service with Request object"),new Mr.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 o;if(t.customServiceMapping&&t.customServiceMapping[n])o=`https://${t.customServiceMapping[n]}`;else if(Pi.Environment.instance.useSha256ServiceRouting){lt("Using sha256 service routing");let a=Pi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await Zy(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw lt("Cannot use sha256 service routing, missing build variables"),new Mr.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(vP,"externalServiceTunnelConfig");bn.externalServiceTunnelConfig=vP;async function TP(e,t){let r=Yy();if(r)if(lt(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,o=t??{},a=new Headers(o.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),o.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(Pi.Environment.instance.useSha256ServiceRouting){lt("Using sha256 service routing");let d=Pi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Zy(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw lt("Cannot use sha256 service routing, missing build variables"),new Mr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);lt(`Calling external service: ${u.toString()}`);let l=await(0,wP.originalFetch)(u.toString(),o);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 Mr.RuntimeError("Could not connect to secure tunnel.");return l}else throw lt("Cannot call external service with Request object"),new Mr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw lt("There is no external service auth configured for this zup."),new Mr.RuntimeError("There are no external services configured for this zup.")}s(TP,"externalServiceHandler");bn.externalServiceHandler=TP;async function Zy(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=SP(n);lt(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await Qy(`${o}-${i}`),l=await Qy(`${o}-${a}-${c}`);return`${u}.${l}`}s(Zy,"hashServiceName");async function Qy(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("").slice(0,-1)}s(Qy,"hashSegment");function SP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(SP,"sanitizeEnvironmentType")});var Nd=y(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.originalFetch=void 0;var IP=Od(),Xy=new Map;Xy.set("service:",IP.externalServiceHandler);_n.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=PP(t);if(typeof e=="string"){let n=new URL(e),i=Xy.get(n.protocol);return i?i(e,r):(0,_n.originalFetch)(e,r)}else return(0,_n.originalFetch)(e,r)};var PP=s(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 rg=y(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.Handler=En.purgeGatewayCache=void 0;var AP=O(),tg=Ir(),eg=W(),RP=s(()=>{tg.Gateway.purgeGatewayCache()},"purgeGatewayCache");En.purgeGatewayCache=RP;var xd=class{static{s(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{eg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await tg.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let o="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof AP.ConfigurationError&&(o=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:o,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:eg.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)}};En.Handler=xd});var sg=y(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 OP(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="",o=r+1;o<e.length;){var a=e.charCodeAt(o);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[o++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=o;continue}if(n==="("){var c=1,u="",o=r+1;if(e[o]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(o));for(;o<e.length;){if(e[o]==="\\"){u+=e[o++]+e[o++];continue}if(e[o]===")"){if(c--,c===0){o++;break}}else if(e[o]==="("&&(c++,e[o+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(o));u+=e[o++]}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=o;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}s(OP,"lexer");function Cd(e,t){t===void 0&&(t={});for(var r=OP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(wn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=s(function(ie){if(u<r.length&&r[u].type===ie)return r[u++].value},"tryConsume"),p=s(function(ie){var me=d(ie);if(me!==void 0)return me;var Be=r[u],w=Be.type,k=Be.index;throw new TypeError("Unexpected ".concat(w," at ").concat(k,", expected ").concat(ie))},"mustConsume"),f=s(function(){for(var ie="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ie+=me;return ie},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:T,suffix:"",pattern:_||o,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var H=d("OPEN");if(H){var T=f(),K=d("NAME")||"",L=d("PATTERN")||"",ne=f();p("CLOSE"),a.push({name:K||(L?c++:""),pattern:K&&!L?o:L,prefix:T,suffix:ne,modifier:d("MODIFIER")||""});continue}p("END")}return a}s(Cd,"parse");Re.parse=Cd;function NP(e,t){return ng(Cd(e,t),t)}s(NP,"compile");Re.compile=NP;function ng(e,t){t===void 0&&(t={});var r=Ld(t),n=t.encode,i=n===void 0?function(u){return u}:n,o=t.validate,a=o===void 0?!0:o,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 f=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(f)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(f.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<f.length;_++){var T=i(f[_],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 f=="string"||typeof f=="number"){var T=i(String(f),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=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}s(ng,"tokensToFunction");Re.tokensToFunction=ng;function xP(e,t){var r=[],n=Dd(e,r,t);return ig(n,r,t)}s(xP,"match");Re.match=xP;function ig(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(o){return o}:n;return function(o){var a=e.exec(o);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=s(function(f){if(a[f]===void 0)return"continue";var h=t[f-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[f].split(h.prefix+h.suffix).map(function(g){return i(g,h)}):l[h.name]=i(a[f],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(ig,"regexpToFunction");Re.regexpToFunction=ig;function wn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(wn,"escapeString");function Ld(e){return e&&e.sensitive?"":"i"}s(Ld,"flags");function CP(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}s(CP,"regexpToRegexp");function LP(e,t,r){var n=e.map(function(i){return Dd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Ld(r))}s(LP,"arrayToRegexp");function DP(e,t,r){return og(Cd(e,r),t,r)}s(DP,"stringToRegexp");function og(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,o=r.start,a=o===void 0?!0:o,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(k){return k}:l,p=r.delimiter,f=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(wn(g),"]|$"),T="[".concat(wn(f),"]"),S=a?"^":"",H=0,K=e;H<K.length;H++){var L=K[H];if(typeof L=="string")S+=wn(d(L));else{var ne=wn(d(L.prefix)),ie=wn(d(L.suffix));if(L.pattern)if(t&&t.push(L),ne||ie)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";S+="(?:".concat(ne,"((?:").concat(L.pattern,")(?:").concat(ie).concat(ne,"(?:").concat(L.pattern,"))*)").concat(ie,")").concat(me)}else S+="(?:".concat(ne,"(").concat(L.pattern,")").concat(ie,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?S+="((?:".concat(L.pattern,")").concat(L.modifier,")"):S+="(".concat(L.pattern,")").concat(L.modifier);else S+="(?:".concat(ne).concat(ie,")").concat(L.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(_,")"):"$";else{var Be=e[e.length-1],w=typeof Be=="string"?T.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(S+="(?:".concat(T,"(?=").concat(_,"))?")),w||(S+="(?=".concat(T,"|").concat(_,")"))}return new RegExp(S,Ld(r))}s(og,"tokensToRegexp");Re.tokensToRegexp=og;function Dd(e,t,r){return e instanceof RegExp?CP(e,t):Array.isArray(e)?LP(e,t,r):DP(e,t,r)}s(Dd,"pathToRegexp");Re.pathToRegexp=Dd});var Hd=y(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.AwsV4Signer=vn.AwsClient=void 0;var UP=Sr(),lg=O(),MP=(0,UP.debug)("zuplo:runtime"),Md=new TextEncoder,ag={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"},kP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],kd=class{static{s(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:o,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=o,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Ks(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){MP("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:o}=await this.sign(t,r),a=fetch(i,o);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 lg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};vn.AwsClient=kd;var Ks=class{static{s(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:o,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:f,appendSessionToken:h,allHeaders:g,singleEncode:_}){if(r==null)throw new TypeError("url is a required option");if(o==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=o,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=HP(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=f,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let H=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"),H.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&H.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>g||!kP.includes(L)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(L=>L+":"+(L==="host"?this.url.host:(this.headers.get(L)||"").replace(/\s+/g," "))).join(`
60
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!H.has("X-Amz-Expires")&&H.set("X-Amz-Expires","86400"),H.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),H.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),H.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,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=ug(this.encodedPath);let K=new Set;this.encodedSearch=[...this.url.searchParams].filter(([L])=>{if(!L)return!1;if(this.service==="s3"){if(K.has(L))return!1;K.add(L)}return!0}).map(L=>L.map(ne=>ug(encodeURIComponent(ne)))).sort(([L,ne],[ie,me])=>L<ie?-1:L>ie?1:ne<me?-1:ne>me?1:0).map(L=>L.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 Ai("AWS4"+this.secretAccessKey,t),o=await Ai(i,this.region),a=await Ai(o,this.service);n=await Ai(a,"aws4_request"),this.cache.set(r,n)}return Ud(await Ai(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Ud(await cg(await this.canonicalString()))].join(`
59
+ -----END ${t}-----`},"default")});function Em(e){let t=[],r=0;for(;r<e.length;){let n=Pm(e.subarray(r));t.push(n),r+=n.byteLength}return t}function Pm(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 o=t+n+2;return{byteLength:o,contents:e.subarray(t,t+n),raw:e.subarray(0,o)}}else{let o=e[t]&127;t++,n=0;for(let a=0;a<o;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 QT(e){let t=Em(Em(Pm(e).contents)[0].contents);return es(t[t[0].raw[0]===160?6:5].raw)}function YT(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=yl(t);return Nl(QT(r),"PUBLIC KEY")}var wm,vm,Sm,sr,_m,Tm,Im,xl,Am,ls=I(()=>{Se();ct();Ie();bm();j();ut();wm=s(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(r,...Q));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return Nl(es(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),vm=s(e=>wm("public","spki",e),"toSPKI"),Sm=s(e=>wm("private","pkcs8",e),"toPKCS8"),sr=s((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((o,a)=>o===t[a])||sr(e,t,n+1)},"findOid"),_m=s(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"),Tm=s(async(e,t,r,n,i)=>{var o;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=_m(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:_m(u)},c=l?["verify"]:["sign"];break;default:throw new k('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(o=i?.extractable)!==null&&o!==void 0?o:!1,c)},"genericImport"),Im=s((e,t,r)=>Tm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),xl=s((e,t,r)=>Tm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(Em,"getElement");s(Pm,"parseElement");s(QT,"spkiFromX509");s(YT,"getSPKI");Am=s((e,t,r)=>{let n;try{n=YT(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return xl(n,t,r)},"fromX509")});function ZT(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 XT,Cl,Rm=I(()=>{Se();j();Ie();s(ZT,"subtleMapping");XT=s(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}=ZT(e),o=[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",re(e.k),...o);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...o)},"parse"),Cl=XT});async function Om(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return xl(e,t,r)}async function Nm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Am(e,t,r)}async function xm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Im(e,t,r)}async function ar(e,t,r){var n;if(!Y(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?Cl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(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 Cl({...e,alg:t});default:throw new k('Unsupported "kty" (Key Type) Parameter value')}}var yi=I(()=>{Ie();ls();Rm();j();$e();s(Om,"importSPKI");s(Nm,"importX509");s(xm,"importPKCS8");s(ar,"importJWK")});var eI,tI,rI,cr,gi=I(()=>{ct();ut();eI=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!vl(t))throw new TypeError(wl(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),tI=s((e,t,r)=>{if(!vl(t))throw new TypeError(wl(e,t,...Q));if(t.type==="secret")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),rI=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?eI(e,t):tI(e,t,r)},"checkKeyType"),cr=rI});async function nI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(r,"Uint8Array"));let o=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(o>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Te(i,n,u,Yo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function iI(e,t,r,n,i){let o;r instanceof Uint8Array?o=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(r,e,"encrypt"),o=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},o,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var oI,bi,Ll=I(()=>{ge();_l();El();Se();or();ct();j();ut();s(nI,"cbcEncrypt");s(iI,"gcmEncrypt");oI=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(ns(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&en(r,parseInt(e.slice(-3),10)),nI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&en(r,parseInt(e.slice(1,4),10)),iI(e,t,r,n,i);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),bi=oI});async function Cm(e,t,r,n){let i=e.slice(0,7);n||(n=ts(i));let{ciphertext:o,tag:a}=await bi(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function Lm(e,t,r,n,i){let o=e.slice(0,7);return os(o,t,r,n,i,new Uint8Array(0))}var Dl=I(()=>{Ll();Sl();rs();Ie();s(Cm,"wrap");s(Lm,"unwrap")});async function sI(e,t,r,n,i){switch(cr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new R('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!cs(t))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new R('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new R('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await as(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?fi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new R("JWE Encrypted Key missing");return hi(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 R("JWE Encrypted Key missing");return gm(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new R('JOSE Header "p2c" (PBES2 Count) missing or invalid');let o=i?.maxPBES2Count||1e4;if(n.p2c>o)throw new R('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new R('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return fm(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return hi(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new R('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new R('JOSE Header "tag" (Authentication Tag) missing or invalid');let o=re(n.iv),a=re(n.tag);return Lm(e,t,r,o,a)}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Dm,Um=I(()=>{ss();Pl();Rl();Ol();Ie();j();mi();yi();gi();$e();Dl();s(sI,"decryptKeyManagement");Dm=sI});function aI(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 o;r!==void 0?o=new Map([...Object.entries(r),...t.entries()]):o=t;for(let a of n.crit){if(!o.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(o.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var vt,on=I(()=>{j();s(aI,"validateCrit");vt=aI});var cI,_i,Ul=I(()=>{cI=s((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"),_i=cI});async function sn(e,t,r){var n;if(!Y(e))throw new R("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new R("JOSE Header missing");if(typeof e.iv!="string")throw new R("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new R("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new R("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new R("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new R("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new R("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new R("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new R("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let K=re(e.protected);i=JSON.parse(ue.decode(K))}catch{throw new R("JWE Protected Header is invalid")}if(!Et(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let o={...i,...e.header,...e.unprotected};if(vt(R,new Map,r?.crit,i,o),o.zip!==void 0){if(!i||!i.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(o.zip!=="DEF")throw new k('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=o;if(typeof a!="string"||!a)throw new R("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new R("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&_i("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&_i("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=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let f;try{f=await Dm(a,t,d,o,r)}catch(K){if(K instanceof TypeError||K instanceof R||K instanceof k)throw K;f=wt(c)}let h=re(e.iv),g=re(e.tag),_=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),S;e.aad!==void 0?S=Te(_,Z.encode("."),Z.encode(e.aad)):S=_;let T=await os(c,f,re(e.ciphertext),h,g,S);o.zip==="DEF"&&(T=await(r?.inflateRaw||om)(T));let H={plaintext:T};return e.protected!==void 0&&(H.protectedHeader=i),e.aad!==void 0&&(H.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(H.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(H.unprotectedHeader=e.header),p?{...H,key:t}:H}var ds=I(()=>{Ie();Sl();Tl();j();tn();$e();Um();ge();mi();on();Ul();s(sn,"flattenedDecrypt")});async function ps(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new R("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:o,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new R("Invalid Compact JWE");let l=await sn({ciphertext:a,iv:o||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 kl=I(()=>{ds();j();ge();s(ps,"compactDecrypt")});async function km(e,t,r){if(!Y(e))throw new R("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new R("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new R("JWE Recipients has no members");for(let n of e.recipients)try{return await sn({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 kt}var Mm=I(()=>{ds();j();$e();s(km,"generalDecrypt")});var uI,Hm,Fm=I(()=>{Se();ct();Ie();ut();uI=s(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(oe(e,...Q,"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,...o}=await D.subtle.exportKey("jwk",e);return o},"keyToJWK"),Hm=uI});async function qm(e){return vm(e)}async function $m(e){return Sm(e)}async function hs(e){return Hm(e)}var Ml=I(()=>{ls();ls();Fm();s(qm,"exportSPKI");s($m,"exportPKCS8");s(hs,"exportJWK")});async function lI(e,t,r,n,i={}){let o,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(!cs(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 um(r)).privateKey);let{x:p,y:f,crv:h,kty:g}=await hs(d),_=await as(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?fi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=f),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=_;break}c=n||wt(t);let S=e.slice(-6);o=await pi(S,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||wt(t),o=await ym(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||wt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await hm(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||wt(t),o=await pi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||wt(t);let{iv:u}=i;({encryptedKey:o,...a}=await Cm(e,r,c,u));break}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:o,parameters:a}}var fs,Hl=I(()=>{ss();Pl();Rl();Ol();Ie();mi();j();Ml();gi();Dl();s(lI,"encryptKeyManagement");fs=lI});var Fl,Mt,ms=I(()=>{Ie();Ll();Tl();rs();Hl();j();tn();ge();on();Fl=Symbol(),Mt=class{static{s(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 R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Et(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(vt(R,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new R('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:o}=n;if(typeof i!="string"||!i)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof o!="string"||!o)throw new R('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 g;({cek:c,encryptedKey:a,parameters:g}=await fs(i,o,t,this._cek,this._keyManagementParameters)),g&&(r&&Fl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=ts(o));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Te(l,Z.encode("."),Z.encode(d))):u=l;let p,f;if(n.zip==="DEF"){let g=await(r?.deflateRaw||sm)(this._plaintext);({ciphertext:p,tag:f}=await bi(o,g,c,this._iv,u))}else({ciphertext:p,tag:f}=await bi(o,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(f)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var ql,ys,jm=I(()=>{ms();j();mi();tn();Hl();Ie();on();ql=class{static{s(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}},ys=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new ql(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 R("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 o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!Et(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new R("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 R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new R('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!o)o=d.enc;else if(o!==d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(vt(R,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=wt(o),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 f={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:f}).encrypt(l.key,{...l.options,...t,[Fl]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await fs(((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),o,l.key,a,{p2c:f});d.encrypted_key=X(h),(l.unprotectedHeader||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function Ei(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 $l=I(()=>{j();s(Ei,"subtleDsa")});function wi(e,t,r){if(ae(t))return nm(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(oe(t,...Q));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(oe(t,...Q,"Uint8Array"))}var jl=I(()=>{Se();or();ct();ut();s(wi,"getCryptoKey")});var dI,Vm,Gm=I(()=>{$l();Se();us();jl();dI=s(async(e,t,r,n)=>{let i=await wi(e,t,"verify");Dr(e,i);let o=Ei(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),Vm=dI});async function an(e,t,r){var n;if(!Y(e))throw new W("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new W('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new W("JWS Protected Header incorrect type");if(e.payload===void 0)throw new W("JWS Payload missing");if(typeof e.signature!="string")throw new W("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new W("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let S=re(e.protected);i=JSON.parse(ue.decode(S))}catch{throw new W("JWS Protected Header is invalid")}if(!Et(i,e.header))throw new W("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=vt(W,new Map([["b64",!0]]),r?.crit,i,o),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new W('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=o;if(typeof u!="string"||!u)throw new W('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&_i("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 W("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new W("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=Te(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),f=re(e.signature);if(!await Vm(u,t,f,p))throw new Lr;let g;c?g=re(e.payload):typeof e.payload=="string"?g=Z.encode(e.payload):g=e.payload;let _={payload:g};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var gs=I(()=>{Ie();Gm();j();ge();tn();$e();gi();on();Ul();s(an,"flattenedVerify")});async function bs(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new W("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:o,length:a}=e.split(".");if(a!==3)throw new W("Invalid Compact JWS");let c=await an({payload:i,protected:n,signature:o},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var Vl=I(()=>{gs();j();ge();s(bs,"compactVerify")});async function Bm(e,t,r){if(!Y(e))throw new W("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Y))throw new W("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await an({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Lr}var Km=I(()=>{gs();j();$e();s(Bm,"generalVerify")});var cn,Gl=I(()=>{cn=s(e=>Math.floor(e.getTime()/1e3),"default")});var pI,un,Bl=I(()=>{pI=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,un=s(e=>{let t=pI.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 Jm,hI,ln,_s=I(()=>{j();ge();Gl();Bl();$e();Jm=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),hI=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),ln=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Jm(e.typ)!==Jm(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Y(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:o=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&o.push("iat"),u!==void 0&&o.push("aud"),c!==void 0&&o.push("sub"),a!==void 0&&o.push("iss");for(let h of new Set(o.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&&!hI(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=un(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,f=cn(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>f+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<=f-d)throw new Xr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=f-i.iat,g=typeof l=="number"?l:un(l);if(h-d>g)throw new Xr('"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 zm(e,t,r){var n;let i=await bs(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:ln(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Wm=I(()=>{Vl();_s();j();s(zm,"jwtVerify")});async function Qm(e,t,r){let n=await ps(e,t,r),i=ln(n.protectedHeader,n.plaintext,r),{protectedHeader:o}=n;if(o.iss!==void 0&&o.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(o.sub!==void 0&&o.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(o.aud!==void 0&&JSON.stringify(o.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:o};return typeof t=="function"?{...a,key:n.key}:a}var Ym=I(()=>{kl();_s();j();s(Qm,"jwtDecrypt")});var dn,Kl=I(()=>{ms();dn=class{static{s(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 fI,Zm,Xm=I(()=>{$l();Se();us();jl();fI=s(async(e,t,r)=>{let n=await wi(e,t,"sign");Dr(e,n);let i=await D.subtle.sign(Ei(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Zm=fI});var ur,Es=I(()=>{Ie();Xm();tn();j();ge();gi();on();ur=class{static{s(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 W("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Et(this._protectedHeader,this._unprotectedHeader))throw new W("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=vt(W,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="boolean"))throw new W('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new W('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Te(u,Z.encode("."),c),d=await Zm(a,t,l),p={signature:X(d),payload:""};return o&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var pn,Jl=I(()=>{Es();pn=class{static{s(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 zl,ws,ey=I(()=>{Es();j();zl=class{static{s(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}},ws=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new zl(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new W("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:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new W("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,vs=I(()=>{Gl();$e();Bl();lr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Y(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:cn(new Date)+un(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:cn(new Date)+un(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:cn(new Date)}:this._payload={...this._payload,iat:t},this}}});var Ss,ty=I(()=>{Jl();j();ge();vs();Ss=class extends lr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new pn(Z.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 Ts,ry=I(()=>{Kl();ge();vs();Ts=class extends lr{static{s(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 dn(Z.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 Wl(e,t){if(!Y(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=Z.encode(JSON.stringify(r));return X(await Wo(t,n))}async function ny(e,t){t??(t="sha256");let r=await Wl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,iy=I(()=>{fl();Ie();j();ge();$e();dr=s((e,t)=>{if(typeof e!="string"||!e)throw new ci(`${t} missing or invalid`)},"check");s(Wl,"calculateJwkThumbprint");s(ny,"calculateJwkThumbprintUri")});async function oy(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new W('"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 W('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var sy=I(()=>{yi();$e();j();s(oy,"EmbeddedJWK")});function mI(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 Ql(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(yI)}function yI(e){return Y(e)}function gI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function ay(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 cy(e){let t=new vi(e);return async function(r,n){return t.getKey(r,n)}}var vi,Yl=I(()=>{yi();j();$e();s(mI,"getKtyFromAlg");s(Ql,"isJWKSLike");s(yI,"isJWKLike");s(gI,"clone");vi=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Ql(t))throw new rr("JSON Web Key Set malformed");this._jwks=gI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=mI(n),a=this._jwks.keys.filter(l=>{let d=o===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 Cr;if(u!==1){let l=new ui,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await ay(d,p,n)}catch{continue}},l}return ay(this._cached,c,n)}};s(ay,"importWithAlgCache");s(cy,"createLocalJWKSet")});var bI,uy,ly=I(()=>{j();bI=s(async(e,t,r)=>{let n,i,o=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{o=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw o?new li: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"),uy=bI});function _I(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function dy(e,t){let r=new Zl(e,t);return async function(n,i){return r.getKey(n,i)}}var Zl,py=I(()=>{ly();j();Yl();s(_I,"isCloudflareWorkers");Zl=class extends vi{static{s(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 Cr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&_I()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=uy(this._url,this._timeoutDuration,this._options).then(t=>{if(!Ql(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}};s(dy,"createRemoteJWKSet")});var Is,hy=I(()=>{Ie();ge();j();_s();vs();Is=class extends lr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(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:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:ln(c,re(i),r),header:c}}}});var Xl={};io(Xl,{decode:()=>Si,encode:()=>EI});var EI,Si,Ps=I(()=>{Ie();EI=X,Si=re});function fy(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(ue.decode(Si(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var my=I(()=>{Ps();ge();$e();s(fy,"decodeProtectedHeader")});function yy(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=Si(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Y(i))throw new le("Invalid JWT Claims Set");return i}var gy=I(()=>{Ps();ge();$e();j();s(yy,"decodeJwt")});async function by(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["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},o=["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},o=["encrypt","decrypt"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,o)}function ed(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 _y(e,t){var r,n,i;let o,a;switch(e){case"PS256":case"PS384":case"PS512":o={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:ed(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":o={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:ed(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":o={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:ed(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":o={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":o={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":o={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":o={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":{o={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":o={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 D.subtle.generateKey(o,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var td=I(()=>{Se();j();di();s(by,"generateSecret");s(ed,"getModulusLengthOption");s(_y,"generateKeyPair")});async function Ey(e,t){return _y(e,t)}var wy=I(()=>{td();s(Ey,"generateKeyPair")});async function vy(e,t){return by(e,t)}var Sy=I(()=>{td();s(vy,"generateSecret")});var As={};io(As,{CompactEncrypt:()=>dn,CompactSign:()=>pn,EmbeddedJWK:()=>oy,EncryptJWT:()=>Ts,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>ur,GeneralEncrypt:()=>ys,GeneralSign:()=>ws,SignJWT:()=>Ss,UnsecuredJWT:()=>Is,base64url:()=>Xl,calculateJwkThumbprint:()=>Wl,calculateJwkThumbprintUri:()=>ny,compactDecrypt:()=>ps,compactVerify:()=>bs,createLocalJWKSet:()=>cy,createRemoteJWKSet:()=>dy,decodeJwt:()=>yy,decodeProtectedHeader:()=>fy,errors:()=>gl,exportJWK:()=>hs,exportPKCS8:()=>$m,exportSPKI:()=>qm,flattenedDecrypt:()=>sn,flattenedVerify:()=>an,generalDecrypt:()=>km,generalVerify:()=>Bm,generateKeyPair:()=>Ey,generateSecret:()=>vy,importJWK:()=>ar,importPKCS8:()=>xm,importSPKI:()=>Om,importX509:()=>Nm,jwtDecrypt:()=>Qm,jwtVerify:()=>zm});var Rs=I(()=>{kl();ds();Mm();jm();Vl();gs();Km();Wm();Ym();Kl();ms();Jl();Es();ey();ty();ry();iy();sy();Yl();py();hy();Ml();yi();my();gy();j();wy();Sy();Ps()});var pr=y(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.fetchRetry=void 0;var wI=A();async function vI(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let o=await i;if(o.status<500&&o.status!==429)return o;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:o.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new wI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(vI,"fetchRetry");Os.fetchRetry=vI});var hn=y(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Ty=(Rs(),oo(As)),SI=A(),TI=pr();async function II({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new Ty.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(II,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=II;async function PI(e,t,r){return nd(e,{token:t,returnSecureToken:!0},r)}s(PI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=PI;async function AI(e,t,r){return nd(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(AI,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=AI;async function nd(e,t,r){let n=await(0,TI.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let o;try{let a=await n.text(),c=JSON.parse(a);o={cause:c.error??c}}catch{}throw new SI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(nd,"fetchToken");Ze.fetchToken=nd;var rd=class e{static{s(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=rd});var xs=y(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var RI=A(),OI=ve(),id=z(),od=hn(),NI=Ut(),Iy=_t(),sd=class extends NI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ns(this.options)}};Ht.GoogleCloudLoggingPlugin=sd;var xI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ns=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=id.Environment.instance.loggingEnvironmentType,this.#o=id.Environment.instance.loggingEnvironmentStage,this.#n=id.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await od.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new RI.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,Iy.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ht.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&&(o.labels.rayId=t.rayId);let a=(0,Iy.extractBestMessage)(n.allMessages);o.jsonPayload={...n,message:a},this.batcher.enqueue(o),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await od.GcpServiceAccount.init(this.#e));let r=await(0,od.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(xI,{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 OI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=Ns});var ad=y(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.gcpLogFormat=fn.GCP_LOG_FORMAT=void 0;var Py=_t(),CI=xs();fn.GCP_LOG_FORMAT="gcp";function LI(e){let t={allMessages:(0,Py.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,Py.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:CI.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}s(LI,"gcpLogFormat");fn.gcpLogFormat=LI});var Ry=y(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.ConsoleTransport=void 0;var Ay=ad(),cd=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;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,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Cs.ConsoleTransport=cd});var fd=y(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.DataDogTransport=mn.DataDogLoggingPlugin=void 0;var DI=ve(),ud=z(),UI=Ut(),Oy=_t(),hd=class extends UI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ls(this.options)}};mn.DataDogLoggingPlugin=hd;var ld="__ddtags",dd="__ddattr",pd=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),kI=s(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(pd(n)):r.push(`${pd(n)}:${pd(i.toString())}`)}),r.join(",")},"formatTags"),Ls=class{static{s(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=ud.Environment.instance.loggingEnvironmentType,this.#i=ud.Environment.instance.loggingEnvironmentStage,this.#r=ud.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[ld];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[ld]!==void 0);a>-1&&(Object.assign(n,o[a][ld]),o.splice(a,1));let c={},u=r.custom[dd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[dd]!==void 0);l>-1&&(Object.assign(c,o[l][dd]),o.splice(l,1));let d=(0,Oy.makeErrorsSerializable)(o),f={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Oy.extractBestMessage)(d),service:t.loggingId,ddtags:kI(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(f,c),this.batcher.enqueue(f),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 DI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};mn.DataDogTransport=Ls});var xy=y(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.ProcessTransport=void 0;var Ny=ad(),md=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===Ny.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Ny.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}])}};Ds.ProcessTransport=md});var Ly=y(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.RemoteLogTransport=void 0;var MI=ve(),Cy=z(),HI=_t(),FI=s(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let o;if(n===!0?o=i.filter(a=>a.level==="error"):o=i,o.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:o.map(a=>({...a,messages:(0,HI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Cy.Environment.instance.systemUserAgent,"zp-dn":Cy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Us,yd=class{static{s(this,"RemoteLogTransport")}constructor(t){Us||(Us=new MI.BatchDispatch("remote-log-transport",1,FI(t)))}log(t,r){Us.enqueue(t),r.waitUntil(Us.waitUntilFlushed())}};ks.RemoteLogTransport=yd});var Dy=y(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.unifiedFormatter=Ur.SeverityNumberOpenTelemetryMap=void 0;Ur.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var qI=s((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:Ur.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Ur.unifiedFormatter=qI});var ky=y(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.UnifiedLogTransport=void 0;var $I=ve(),Uy=z(),jI=Dy(),VI=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,jI.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(o)}),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"),Ms,gd=class{static{s(this,"UnifiedLogTransport")}constructor(t){Ms||(Ms=new $I.BatchDispatch("unified-log-transport",1,VI(t)))}async log(t,r){Ms.enqueue(t),r.waitUntil(Ms.waitUntilFlushed())}};Hs.UnifiedLogTransport=gd});var Vy=y(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.LogInitializer=void 0;var GI=Tr(),BI=gt(),My=nl(),Hy=z(),Fy=$f(),KI=Ut(),JI=jf(),qy=Vf(),$y=Ry(),zI=fd(),WI=xs(),jy=xy(),QI=Ly(),YI=ky(),bd=(0,GI.debug)("zuplo:logging"),_d=class e{static{s(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(Hy.Environment.instance,t),n=await e.setupUserCoreLogger(Hy.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;bd("Gateway.setupSystemCoreLogger");let i=[],o=r.getService(My.SYSTEM_LOGGER);return o?i.push(new jy.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&i.push(new $y.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new YI.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new Fy.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){bd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:o}=t,a=r.getService(My.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new jy.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new $y.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new QI.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new WI.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new zI.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return BI.plugins.forEach(c=>{c instanceof KI.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Fy.CoreLogger(t.userLogLevel,"user",t.loggingId,o.BUILD_ID,n)}createRequestLoggers(t,r,n,i,o){bd("Gateway.createRequestLoggers");let a=new JI.LoggingContext(n,i,o),c=new qy.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new qy.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Fs.LogInitializer=_d});var wd=y(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.UserRouteConfiguration=void 0;var Ed=class{static{s(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};qs.UserRouteConfiguration=Ed});var Sd=y(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.Router=St.RouterError=St.LookupResult=St.RouterEntry=void 0;var Gy=A(),ZI=ot(),XI=wd(),$s=class{static{s(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};St.RouterEntry=$s;var Ti=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};St.LookupResult=Ti;var js=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};St.RouterError=js;var vd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof XI.UserRouteConfiguration||t instanceof ZI.SystemRouteConfiguration))throw new Gy.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(o=>o.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let o=new URLPattern({pathname:i}),a=new $s(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new js(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new Gy.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 o=n[i],c=o.urlPattern.exec({pathname:r});if(c!==null)return new Ti(o.config,o.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 Ti(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};St.Router=vd});var Ir=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.Gateway=void 0;var eP=Tr(),By=yf(),Ky=Tf(),tP=If(),Jy=Pf(),zy=Nf(),Ft=ii(),Vs=Pr(),Wy=qf(),It=A(),Ii=gt(),rP=Vy(),nP=Lt(),iP=te(),oP=tl(),sP=Qt(),aP=Wr(),cP=He(),uP=Sd(),Td=ot(),Qy=wd(),lP=Re(),dP=Ho(),Id=z(),Yy=xr(),Zy=Uu(),Tt=(0,eP.debug)("zuplo:runtime"),pP=s(e=>{let t=e.findIndex(r=>r.name===Td.systemNoVersion.name);return t>-1?[...e.splice(t),Td.systemNoVersion]:[...e,Td.systemNoVersion]},"setupSystemNoVersion"),Pd=class e{static{s(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=n}static async initialize(t,r,n,i,o){if(Tt("Gateway.initialize"),!e.#e){await(0,Ii.initializeRuntime)(o);let a=await rP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,dP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){Tt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new It.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[aP.policyProcessor,oP.corsProcessor,sP.metricsProcessor];#i;setupRoutes=()=>{Tt("Gateway.setupRoutes");let t=this.routeData,r=pP(t.versions),n=new uP.Router(r);if(t.routes.length===0)return(0,By.registerBuildRoute)(n,this),(0,zy.registerPingRoute)(n,this),(0,Ky.registerCorsRoute)(n,this),(0,tP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Wy.registerDevPortalLegacyRedirectRoute)(n,this),(0,Wy.registerDevPortalV3Route)(n,this)),(0,By.registerBuildRoute)(n,this),(0,zy.registerPingRoute)(n,this),(0,Ky.registerCorsRoute)(n,this);for(let o of Ii.plugins)o instanceof Ii.SystemRuntimePlugin&&o.registerRoutes(n,this);return t.routes.forEach(o=>{let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new It.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new nP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Qy.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,Jy.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 It.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((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(Id.Environment.instance.isDeno){if(n instanceof It.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,Yy.serializeError)(n.cause);"stack"in o&&(o.stack=(0,Yy.cleanStack)(o.stack)),i={cause:o}}}return iP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ft.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Id.Environment.instance.isDeno&&Ft.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ft.REQUEST_ID_HEADER)??t.headers.get(Ft.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ft.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set(Ft.REQUEST_ID_HEADER,n),t=new Request(t,{headers:S})}if(["GET","HEAD"].includes(t.method)&&t.body){let S=new Headers(t.headers);S.set(Ft.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:S,body:null})}let o={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,o,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new It.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Vs.HeaderIncomingRequestProperties(t.headers),f=this.#s(t),h=new cP.ZuploRequest(f,{params:d.params}),g=new Vs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),_=Vs.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===Jy.notFoundRouteConfiguration&&Ii.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof Qy.UserRouteConfiguration)}try{if(lP.SystemLogMap.addLogger(g,c),Id.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,Zy.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let H=await(0,Ii.invokeOnRequestExtensions)(h,g);if(H instanceof Response)return H;{let K=Vs.ZuploContextExtensions.getContextExtensions(g);h=H,K.latestRequest=h}}(0,Zy.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;hP(S,d,t),Tt("Gateway.handleRequest - call user handler");let T=await S(h,g);if(Tt("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new It.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new It.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get(Ft.REQUEST_ID_HEADER)===null&&!T.webSocket){let H=new Headers(T.headers);return H.set(Ft.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:H,cf:T.cf})}else return T}catch(S){return Tt("Gateway - error executing handler",S),S instanceof It.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};Gs.Gateway=Pd;function hP(e,t,r){if(Tt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new It.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new It.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(hP,"checkHandler")});var Xy=y(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.invokeInboundPolicy=void 0;var fP=A(),mP=Ir(),yP=Wr(),gP=s(async(e,t,r)=>{let n=mP.Gateway.instance.routeData.policies,i=(0,yP.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new fP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");Bs.invokeInboundPolicy=gP});var Pr=y(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=ii(),bP=A(),_P=Xy(),Ad=class{static{s(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=Ad;var Rd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Rd;var Od=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Od;var Pi=class e{static{s(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 bP.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 o of this.#r)i=await o(t,r,n);return i}};Xe.ZuploContextExtensions=Pi;var Nd=class extends EventTarget{static{s(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:o,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=o,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,_P.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Pi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Pi.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=s(o=>{try{typeof r=="function"?r(o):r.handleEvent(o)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=Nd});var Js=y(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.ContextData=void 0;var xd=class e{static{s(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)}};Ks.ContextData=xd});var yn=y(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.environment=hr.isZuploReadableEnvVariableName=hr.isRestrictedEnvVariableName=void 0;var EP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function eg(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!EP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(eg,"isRestrictedEnvVariableName");hr.isRestrictedEnvVariableName=eg;function tg(e){return!!e.startsWith("ZUPLO_")}s(tg,"isZuploReadableEnvVariableName");hr.isZuploReadableEnvVariableName=tg;var wP=new Proxy({},{get(e,t){if(eg(String(t))&&!tg(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});hr.environment=wP});var Cd=y(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.externalServiceHandler=gn.externalServiceTunnelConfig=void 0;var vP=Tr(),kr=A(),SP=Ld(),Ai=z(),lt=(0,vP.debug)("zuplo:runtime:external-service");function ng(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Ai.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(ng,"getServiceAuth");async function TP(e){let t=ng();if(!t)throw lt("There is no external service auth configured for this zup."),new kr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw lt("Cannot call external service with Request object"),new kr.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 o;if(t.customServiceMapping&&t.customServiceMapping[n])o=`https://${t.customServiceMapping[n]}`;else if(Ai.Environment.instance.useSha256ServiceRouting){lt("Using sha256 service routing");let a=Ai.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await ig(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw lt("Cannot use sha256 service routing, missing build variables"),new kr.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(TP,"externalServiceTunnelConfig");gn.externalServiceTunnelConfig=TP;async function IP(e,t){let r=ng();if(r)if(lt(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,o=t??{},a=new Headers(o.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),o.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(Ai.Environment.instance.useSha256ServiceRouting){lt("Using sha256 service routing");let d=Ai.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await ig(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw lt("Cannot use sha256 service routing, missing build variables"),new kr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);lt(`Calling external service: ${u.toString()}`);let l=await(0,SP.originalFetch)(u.toString(),o);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 kr.RuntimeError("Could not connect to secure tunnel.");return l}else throw lt("Cannot call external service with Request object"),new kr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw lt("There is no external service auth configured for this zup."),new kr.RuntimeError("There are no external services configured for this zup.")}s(IP,"externalServiceHandler");gn.externalServiceHandler=IP;async function ig(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=PP(n);lt(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await rg(`${o}-${i}`),l=await rg(`${o}-${a}-${c}`);return`${u}.${l}`}s(ig,"hashServiceName");async function rg(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("").slice(0,-1)}s(rg,"hashSegment");function PP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(PP,"sanitizeEnvironmentType")});var Ld=y(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.originalFetch=void 0;var AP=Cd(),og=new Map;og.set("service:",AP.externalServiceHandler);bn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=RP(t);if(typeof e=="string"){let n=new URL(e),i=og.get(n.protocol);return i?i(e,r):(0,bn.originalFetch)(e,r)}else return(0,bn.originalFetch)(e,r)};var RP=s(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 cg=y(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.Handler=_n.purgeGatewayCache=void 0;var OP=A(),ag=Ir(),sg=z(),NP=s(()=>{ag.Gateway.purgeGatewayCache()},"purgeGatewayCache");_n.purgeGatewayCache=NP;var Dd=class{static{s(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{sg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await ag.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let o="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof OP.ConfigurationError&&(o=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:o,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:sg.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)}};_n.Handler=Dd});var pg=y(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.pathToRegexp=Oe.tokensToRegexp=Oe.regexpToFunction=Oe.match=Oe.tokensToFunction=Oe.compile=Oe.parse=void 0;function xP(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="",o=r+1;o<e.length;){var a=e.charCodeAt(o);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[o++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=o;continue}if(n==="("){var c=1,u="",o=r+1;if(e[o]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(o));for(;o<e.length;){if(e[o]==="\\"){u+=e[o++]+e[o++];continue}if(e[o]===")"){if(c--,c===0){o++;break}}else if(e[o]==="("&&(c++,e[o+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(o));u+=e[o++]}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=o;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}s(xP,"lexer");function Ud(e,t){t===void 0&&(t={});for(var r=xP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(En(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=s(function(ie){if(u<r.length&&r[u].type===ie)return r[u++].value},"tryConsume"),p=s(function(ie){var me=d(ie);if(me!==void 0)return me;var Be=r[u],w=Be.type,M=Be.index;throw new TypeError("Unexpected ".concat(w," at ").concat(M,", expected ").concat(ie))},"mustConsume"),f=s(function(){for(var ie="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ie+=me;return ie},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var S=h||"";i.indexOf(S)===-1&&(l+=S,S=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:S,suffix:"",pattern:_||o,modifier:d("MODIFIER")||""});continue}var T=h||d("ESCAPED_CHAR");if(T){l+=T;continue}l&&(a.push(l),l="");var H=d("OPEN");if(H){var S=f(),K=d("NAME")||"",L=d("PATTERN")||"",ne=f();p("CLOSE"),a.push({name:K||(L?c++:""),pattern:K&&!L?o:L,prefix:S,suffix:ne,modifier:d("MODIFIER")||""});continue}p("END")}return a}s(Ud,"parse");Oe.parse=Ud;function CP(e,t){return ug(Ud(e,t),t)}s(CP,"compile");Oe.compile=CP;function ug(e,t){t===void 0&&(t={});var r=kd(t),n=t.encode,i=n===void 0?function(u){return u}:n,o=t.validate,a=o===void 0?!0:o,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 f=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(f)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(f.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<f.length;_++){var S=i(f[_],p);if(a&&!c[d].test(S))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix}continue}if(typeof f=="string"||typeof f=="number"){var S=i(String(f),p);if(a&&!c[d].test(S))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix;continue}if(!h){var T=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(T))}}return l}}s(ug,"tokensToFunction");Oe.tokensToFunction=ug;function LP(e,t){var r=[],n=Md(e,r,t);return lg(n,r,t)}s(LP,"match");Oe.match=LP;function lg(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(o){return o}:n;return function(o){var a=e.exec(o);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=s(function(f){if(a[f]===void 0)return"continue";var h=t[f-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[f].split(h.prefix+h.suffix).map(function(g){return i(g,h)}):l[h.name]=i(a[f],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(lg,"regexpToFunction");Oe.regexpToFunction=lg;function En(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(En,"escapeString");function kd(e){return e&&e.sensitive?"":"i"}s(kd,"flags");function DP(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}s(DP,"regexpToRegexp");function UP(e,t,r){var n=e.map(function(i){return Md(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),kd(r))}s(UP,"arrayToRegexp");function kP(e,t,r){return dg(Ud(e,r),t,r)}s(kP,"stringToRegexp");function dg(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,o=r.start,a=o===void 0?!0:o,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(M){return M}:l,p=r.delimiter,f=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(En(g),"]|$"),S="[".concat(En(f),"]"),T=a?"^":"",H=0,K=e;H<K.length;H++){var L=K[H];if(typeof L=="string")T+=En(d(L));else{var ne=En(d(L.prefix)),ie=En(d(L.suffix));if(L.pattern)if(t&&t.push(L),ne||ie)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";T+="(?:".concat(ne,"((?:").concat(L.pattern,")(?:").concat(ie).concat(ne,"(?:").concat(L.pattern,"))*)").concat(ie,")").concat(me)}else T+="(?:".concat(ne,"(").concat(L.pattern,")").concat(ie,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?T+="((?:".concat(L.pattern,")").concat(L.modifier,")"):T+="(".concat(L.pattern,")").concat(L.modifier);else T+="(?:".concat(ne).concat(ie,")").concat(L.modifier)}}if(u)i||(T+="".concat(S,"?")),T+=r.endsWith?"(?=".concat(_,")"):"$";else{var Be=e[e.length-1],w=typeof Be=="string"?S.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(T+="(?:".concat(S,"(?=").concat(_,"))?")),w||(T+="(?=".concat(S,"|").concat(_,")"))}return new RegExp(T,kd(r))}s(dg,"tokensToRegexp");Oe.tokensToRegexp=dg;function Md(e,t,r){return e instanceof RegExp?DP(e,t):Array.isArray(e)?UP(e,t,r):kP(e,t,r)}s(Md,"pathToRegexp");Oe.pathToRegexp=Md});var $d=y(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.AwsV4Signer=wn.AwsClient=void 0;var MP=Tr(),yg=A(),HP=(0,MP.debug)("zuplo:runtime"),Fd=new TextEncoder,hg={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"},FP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],qd=class{static{s(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:o,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=o,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new zs(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){HP("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:o}=await this.sign(t,r),a=fetch(i,o);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 yg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};wn.AwsClient=qd;var zs=class{static{s(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:o,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:f,appendSessionToken:h,allHeaders:g,singleEncode:_}){if(r==null)throw new TypeError("url is a required option");if(o==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=o,this.secretAccessKey=a,this.sessionToken=c;let S,T;(!u||!l)&&([S,T]=qP(this.url,this.headers)),this.service=u||S||"",this.region=l||T||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=f,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let H=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"),H.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&H.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>g||!FP.includes(L)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(L=>L+":"+(L==="host"?this.url.host:(this.headers.get(L)||"").replace(/\s+/g," "))).join(`
60
+ `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!H.has("X-Amz-Expires")&&H.set("X-Amz-Expires","86400"),H.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),H.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),H.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,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=mg(this.encodedPath);let K=new Set;this.encodedSearch=[...this.url.searchParams].filter(([L])=>{if(!L)return!1;if(this.service==="s3"){if(K.has(L))return!1;K.add(L)}return!0}).map(L=>L.map(ne=>mg(encodeURIComponent(ne)))).sort(([L,ne],[ie,me])=>L<ie?-1:L>ie?1:ne<me?-1:ne>me?1:0).map(L=>L.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 Ri("AWS4"+this.secretAccessKey,t),o=await Ri(i,this.region),a=await Ri(o,this.service);n=await Ri(a,"aws4_request"),this.cache.set(r,n)}return Hd(await Ri(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Hd(await fg(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 lg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Ud(await cg(this.body||""))}return t}};vn.AwsV4Signer=Ks;async function Ai(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Md.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Md.encode(t))}s(Ai,"hmac");async function cg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Md.encode(e):e)}s(cg,"hash");function Ud(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(Ud,"buf2hex");function ug(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(ug,"encodeRfc3986");function HP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[o,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",o="s3";else if(o==="iot")r.startsWith("iot.")?o="execute-api":r.startsWith("data.jobs.iot.")?o="iot-jobs-data":o=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?o="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(o="autoscaling-plans")}else a==null&&o.startsWith("s3-")?(a=o.slice(3).replace(/^fips-|^external-1/,""),o="s3"):o.endsWith("-fips")?o=o.slice(0,-5):a&&/-\d$/.test(o)&&!/-\d$/.test(a)&&([o,a]=[a,o]);return o in ag?[ag[o],a]:[o,a]}s(HP,"guessServiceRegion")});var dg=y(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.convertStringToUtf8Array=Pt.convertUtf8ArrayToString=Pt.base64Encode=Pt.base64Decode=void 0;function FP(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}s(FP,"b64ToUint6");function qP(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,o=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=FP(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)o[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return o}s(qP,"base64Decode");Pt.base64Decode=qP;function Js(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Js,"uint6ToB64");function $P(e){let t=2,r="",n=e.length,i=0;for(let o=0;o<n;o++)t=o%3,i|=e[o]<<(16>>>t&24),(t===2||e.length-o===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?"=":"==")}s($P,"base64Encode");Pt.base64Encode=$P;function jP(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}s(jP,"convertUtf8ArrayToString");Pt.convertUtf8ArrayToString=jP;function VP(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),o=0,a=0;for(;o<n;)t=e.codePointAt(a),t<128?i[o++]=t:t<2048?(i[o++]=192+(t>>>6),i[o++]=128+(t&63)):t<65536?(i[o++]=224+(t>>>12),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63)):t<2097152?(i[o++]=240+(t>>>18),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):t<67108864?(i[o++]=248+(t>>>24),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):(i[o++]=252+(t>>>30),i[o++]=128+(t>>>24&63),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++),a++;return i}s(VP,"convertStringToUtf8Array");Pt.convertStringToUtf8Array=VP});var pg=y(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.toCLFDate=void 0;function Tn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(Tn,"numberToString");function GP(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=Tn(Math.floor(r/60)),o=Tn(r%60);return`${n}${i}${o}`}s(GP,"getCLFOffset");function BP(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=Tn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=Tn(e.getHours()),a=Tn(e.getMinutes()),c=Tn(e.getSeconds()),u=GP(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(BP,"toCLFDate");zs.toCLFDate=BP});var _g=y(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var KP=Sr(),hg=sg(),Ri=O(),JP=Dt(),zP=Hd(),mg=dg(),yg=pg(),fg=(0,KP.debug)("zuplo:runtime"),WP="X-Amzn-Trace-Id",QP="x-amzn-errortype",gg=[],YP=s(async(e,t,r)=>{let n=r;for await(let i of gg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Ri.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(WP)??void 0,this.errorType=r.get(QP)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{gg.push(e)}};async function ZP(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:o,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Ri.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ri.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ri.ConfigurationError("region is not set in the handler options");if(!o)throw new Ri.ConfigurationError("functionName is not set in the handler options");let l=new zP.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(fg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,f]=await tA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=eA(e,t):g=await XP(e,t,{useAwsResourcePathStyle:c}),fg("Calling onSendingAwsLambdaEvent hook");let _=await YP(e,t,g);_.body=p,_.isBase64Encoded=f;let T=await l.fetch(d,{body:JSON.stringify(_)});try{return bg(T)}catch(S){if(S instanceof Ke){let H=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return JP.HttpProblems.internalServerError(e,t,void 0,H)}throw S}}s(ZP,"awsLambdaHandler");hr.awsLambdaHandler=ZP;async function bg(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,o]of Object.entries(t.headers))r.set(i,o)}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,mg.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})}s(bg,"getResponse");hr.getResponse=bg;async function XP(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let o=e.query,a={};for(let[l,d]of Object.entries(o))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:o,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,yg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:nA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(XP,"buildEventVersion1");function eA(e,t){let r={};e.headers.forEach((o,a)=>{r[a]=o});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,yg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(eA,"buildEventVersion2");async function tA(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&&rA(t,i)){let o=await e.arrayBuffer();r=(0,mg.base64Encode)(new Uint8Array(o)),n=!0}else r=await e.clone().text();return[r,n]}s(tA,"getBodyResult");function rA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(rA,"matchesContentType");function nA(e,t=!1){if(!t)return e;let r=(0,hg.parse)(e),n=(0,hg.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(nA,"getResourcePath")});var In=y(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.getHandlerUserLogFunction=Sn.logBadGatewayResponses=void 0;var iA=He(),oA=W(),sA=[502,503,504];async function aA(e,t){if(sA.includes(e.status)){let r=iA.SystemLogMap.getLogger(t),i=await e.clone().text(),o={};for(let[a,c]of e.headers)o[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:o})}}s(aA,"logBadGatewayResponses");Sn.logBadGatewayResponses=aA;var Fd;function cA(e){if(Fd===void 0){let r=oA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Fd=r}return e.log[Fd]}s(cA,"getHandlerUserLogFunction");Sn.getHandlerUserLogFunction=cA});var wg=y(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.openApiSpecHandler=void 0;var Eg=O(),uA=te(),qd=W(),lA=In();async function dA(e,t){let r=qd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=qd.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new Eg.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=pA(o);if(!a.isValid)throw new Eg.ConfigurationError(a.error);let c;qd.Environment.instance.isLocalDevelopment?c=`${n}/${o.substring(1)}`:c=`${n}/${r}${o.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return uA.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,lA.logBadGatewayResponses)(l,t),l}s(dA,"openApiSpecHandler");Ws.openApiSpecHandler=dA;var pA=s(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 vg=y(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.redirectHandler=void 0;var hA=O();async function fA(e,t){let r=t.route.handler.options;if(!r.location)throw new hA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(fA,"redirectHandler");Qs.redirectHandler=fA});var Sg=y(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.urlForwardHandler=void 0;var mA=O(),Tg=In();function yA(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}`}s(yA,"join");async function gA(e,t){let r=(0,Tg.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 mA.ConfigurationError("Invalid options for this route");let o={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,o),u=yA(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}),f=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${f}ms`),(0,Tg.logBadGatewayResponses)(p,t),p}s(gA,"urlForwardHandler");Ys.urlForwardHandler=gA});var Pg=y(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.urlRewriteHandler=void 0;var bA=O(),Ig=In(),_A=s((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,o]of n.searchParams.entries())r.searchParams.append(i,o);return r.toString()},"addQuery");async function EA(e,t){let r=(0,Ig.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new bA.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?_A(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:o?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,Ig.logBadGatewayResponses)(d,t),d}s(EA,"urlRewriteHandler");Zs.urlRewriteHandler=EA});var Rg=y(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.webSocketHandler=void 0;var Ag=O(),wA=Od(),vA=Dt(),TA=W(),SA=In();async function IA(e,t){let r=TA.Environment.instance,n=t.route.handler.options,i=(0,SA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Ag.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return vA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Ag.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,wA.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.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 f=JSON.stringify({url:c});return new Response(f,{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(),f=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(f)}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})}s(IA,"webSocketHandler");Xs.webSocketHandler=IA});var Og=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.webSocketPolicyProcessor=Pn.getWebSocketPolicyFunctions=void 0;var PA=O(),AA=s((e,t)=>e.map((n,i)=>{let o;if(typeof n.module=="object"&&(o=n.module[n.export]),!o||typeof o!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new PA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");Pn.getWebSocketPolicyFunctions=AA;var RA=s(async(e,t,r,n,i,o)=>{let a=e.data;if(o&&o.length>0){let c=[...o];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");Pn.webSocketPolicyProcessor=RA});var xg=y(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.webSocketPipelineHandler=void 0;var $d=O(),OA=Dt(),NA=W(),xA=In(),jd=Og();function Ng(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",o=>{n.log.error("WebSocket error: ",o),t.send(JSON.stringify(o))}),e.addEventListener("message",o=>{try{let c=s(async u=>{let l=await(0,jd.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(o).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}s(Ng,"wireUpListeners");async function CA(e,t){let r=NA.Environment.instance,n=t.route.handler.options,i=(0,xA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new $d.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return OA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new $d.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 $d.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(),H=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(H)}let d=new WebSocketPair,[p,f]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),f.accept();let _=n.policies&&n.policies.inbound?(0,jd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,jd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Ng(f,g,e,t,_),Ng(g,f,e,t,T),new Response(null,{status:101,webSocket:p})}s(CA,"webSocketPipelineHandler");ea.webSocketPipelineHandler=CA});var Cg=y(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.DynaTraceLoggingPlugin=void 0;var LA=ve(),Vd=W(),DA=xr(),UA=Ut(),MA=_t(),Gd=class extends UA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Bd(this.options)}};ta.DynaTraceLoggingPlugin=Gd;var Bd=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Vd.Environment.instance.loggingEnvironmentType,this.#i=Vd.Environment.instance.loggingEnvironmentStage,this.#r=Vd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,MA.stringifyNonString)((0,DA.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 LA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Lg=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.LokiLoggingPlugin=void 0;var kA=ve(),Kd=W(),HA=xr(),FA=Ut(),qA=_t(),Jd=class extends FA.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Wd(this.options)}};ra.LokiLoggingPlugin=Jd;var zd=class{static{s(this,"LokiStream")}constructor(t,r,n,i,o){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=o}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function $A(e,t){return btoa(`${e}:${t}`)}s($A,"createBasicDigest");var Wd=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=$A(t.username,t.password),this.#n=Kd.Environment.instance.loggingEnvironmentType,this.#i=Kd.Environment.instance.loggingEnvironmentStage,this.#r=Kd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new zd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,qA.stringifyNonString)((0,HA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(o)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(o=>o.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 kA.BatchDispatch("loki-log-transport",10,this.#s)}});var Dg=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.SumoLogicLoggingPlugin=void 0;var jA=ve(),Qd=W(),VA=xr(),GA=Ut(),BA=_t(),Yd=class extends GA.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Zd(this.options)}};na.SumoLogicLoggingPlugin=Yd;var Zd=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Qd.Environment.instance.loggingEnvironmentType,this.#n=Qd.Environment.instance.loggingEnvironmentStage,this.#t=Qd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,BA.stringifyNonString)((0,VA.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 jA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Mg=y(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.VMWareLogInsightTransport=An.VMWareLogInsightLoggingPlugin=void 0;var KA=O(),JA=ve(),Xd=W(),zA=Ut(),Ug=_t(),WA="d3a5b78f-8236-48f5-b1df-4fe269d41172",ep=class extends zA.LogPlugin{static{s(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ia(this.options)}};An.VMWareLogInsightLoggingPlugin=ep;var ia=class{static{s(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new KA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Xd.Environment.instance.loggingEnvironmentType,this.#n=Xd.Environment.instance.loggingEnvironmentStage,this.#t=Xd.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;log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,Ug.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(([o,a])=>{let c=(0,Ug.stringifyNonStringToText)(a);c&&i.fields.push({name:o,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/${WA}`,{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 JA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};An.VMWareLogInsightTransport=ia});var Hg=y(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.AWSLogTransport=Rn.AWSLoggingPlugin=void 0;var QA=Hd(),YA=ve(),kg=W(),ZA=xr(),XA=Ut(),eR=_t(),tp=class extends XA.LogPlugin{static{s(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new oa(this.options)}};Rn.AWSLoggingPlugin=tp;var oa=class{static{s(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new YA.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:o}){this.awsClient=new QA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:o}),this.logGroupName=n,this.logStreamName=r,this.region=o,this.environmentType=kg.Environment.instance.loggingEnvironmentType,this.environment=kg.Environment.instance.deploymentName}log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,eR.stringifyNonString)((0,ZA.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())}};Rn.AWSLogTransport=oa});var Fg=y(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 tR=dd();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return tR.DataDogLoggingPlugin}});var rR=Cg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return rR.DynaTraceLoggingPlugin}});var nR=Os();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return nR.GoogleCloudLoggingPlugin}});var iR=Lg();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return iR.LokiLoggingPlugin}});var oR=Dg();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return oR.SumoLogicLoggingPlugin}});var sR=Mg();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return sR.VMWareLogInsightLoggingPlugin}});var aR=Hg();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return aR.AWSLoggingPlugin}})});var qg=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.DataDogMetricsError=fr.DataDogMetricsTransport=fr.DataDogMetricsPlugin=void 0;var cR=He(),uR=ve(),lR=Po(),rp=new WeakMap,dR={tags:[]},np=class extends lR.MetricsPlugin{static{s(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new sa(this.options)}static setContext(t,r){let n=rp.get(t);n||(n=dR);let i=Object.assign({...n},r);rp.set(t,i)}};fr.DataDogMetricsPlugin=np;var sa=class{static{s(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 uR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,cR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(rp.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 o=t.systemRouteName||t.routePath;i.push(`path:${o}`)}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 aa(await n.text())}};fr.DataDogMetricsTransport=sa;var aa=class e extends Error{static{s(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};fr.DataDogMetricsError=aa});var $g=y(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DynaTraceMetricsError=mr.DynaTraceMetricsTransport=mr.DynatraceMetricsPlugin=void 0;var pR=He(),hR=ve(),fR=Po(),ip=new WeakMap,mR={dimensions:[]},op=class extends fR.MetricsPlugin{static{s(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ca(this.options)}static setContext(t,r){let n=ip.get(t);n||(n=mR);let i=Object.assign({...n},r);ip.set(t,i)}};mr.DynatraceMetricsPlugin=op;var ca=class{static{s(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 hR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,pR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(ip.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 o=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${o} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${o} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${o} ${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 ua(await n.text())}};mr.DynaTraceMetricsTransport=ca;var ua=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=ua});var jg=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.DynatraceMetricsPlugin=On.DataDogMetricsPlugin=void 0;var yR=qg();Object.defineProperty(On,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return yR.DataDogMetricsPlugin}});var gR=$g();Object.defineProperty(On,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return gR.DynatraceMetricsPlugin}})});var Vg=y(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.AuditLogDataStaxProvider=void 0;var sp=class{static{s(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)})}))}};la.AuditLogDataStaxProvider=sp});var Bg=y(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.AuditLogPlugin=void 0;var bR=gt(),_R=ve(),ap=class extends bR.SystemRuntimePlugin{static{s(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new cp(t,this.#e,this.#t)}};da.AuditLogPlugin=ap;var Gg=s(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),ER={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},cp=class{static{s(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...ER};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 _R.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,o,a)=>{try{let c={timestamp:i,durationMs:o,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?Gg(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?Gg(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,o=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-o,u.user?.sub).catch(f=>{r.log.error(f)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var Kg=y(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.StripeSignatureVerificationError=Nn.StripeError=void 0;var pa=class extends Error{static{s(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}};Nn.StripeError=pa;var up=class extends pa{static{s(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Nn.StripeSignatureVerificationError=up});var zg=y(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.computeHMACSignatureAsync=xn.constructEventAsync=void 0;var kr=Kg(),wR="v1",vR=300;async function TR(e,t,r,n=vR,i){return await IR(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}s(TR,"constructEventAsync");xn.constructEventAsync=TR;function SR(e,t){return`${t.timestamp}.${e}`}s(SR,"makeHMACContent");async function IR(e,t,r,n,i){let{decodedHeader:o,decodedPayload:a,details:c,suspectPayloadType:u}=PR(e,t,wR),l=/\s/.test(r),d=await Jg(SR(a,c),r);return AR(a,o,c,d,n,u,l,i)}s(IR,"verifyHeaderAsync");function PR(e,t,r){if(!e)throw new kr.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),o=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 kr.StripeSignatureVerificationError(t,e,{message:"No stripe-signature header value was provided."});let a=t instanceof Uint8Array?i.decode(t):t,c=RR(a,r);if(!c||c.timestamp===-1)throw new kr.StripeSignatureVerificationError(a,o,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new kr.StripeSignatureVerificationError(a,o,{message:"No signatures found with expected scheme"});return{decodedPayload:o,decodedHeader:a,details:c,suspectPayloadType:n}}s(PR,"parseEventDetails");function AR(e,t,r,n,i,o,a,c){let u=!!r.signatures.filter(f=>OR(f,n)).length,l=`
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 yg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Hd(await fg(this.body||""))}return t}};wn.AwsV4Signer=zs;async function Ri(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Fd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Fd.encode(t))}s(Ri,"hmac");async function fg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Fd.encode(e):e)}s(fg,"hash");function Hd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(Hd,"buf2hex");function mg(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(mg,"encodeRfc3986");function qP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[o,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",o="s3";else if(o==="iot")r.startsWith("iot.")?o="execute-api":r.startsWith("data.jobs.iot.")?o="iot-jobs-data":o=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?o="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(o="autoscaling-plans")}else a==null&&o.startsWith("s3-")?(a=o.slice(3).replace(/^fips-|^external-1/,""),o="s3"):o.endsWith("-fips")?o=o.slice(0,-5):a&&/-\d$/.test(o)&&!/-\d$/.test(a)&&([o,a]=[a,o]);return o in hg?[hg[o],a]:[o,a]}s(qP,"guessServiceRegion")});var gg=y(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.convertStringToUtf8Array=Pt.convertUtf8ArrayToString=Pt.base64Encode=Pt.base64Decode=void 0;function $P(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}s($P,"b64ToUint6");function jP(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,o=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=$P(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)o[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return o}s(jP,"base64Decode");Pt.base64Decode=jP;function Ws(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Ws,"uint6ToB64");function VP(e){let t=2,r="",n=e.length,i=0;for(let o=0;o<n;o++)t=o%3,i|=e[o]<<(16>>>t&24),(t===2||e.length-o===1)&&(r+=String.fromCodePoint(Ws(i>>>18&63),Ws(i>>>12&63),Ws(i>>>6&63),Ws(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(VP,"base64Encode");Pt.base64Encode=VP;function GP(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}s(GP,"convertUtf8ArrayToString");Pt.convertUtf8ArrayToString=GP;function BP(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),o=0,a=0;for(;o<n;)t=e.codePointAt(a),t<128?i[o++]=t:t<2048?(i[o++]=192+(t>>>6),i[o++]=128+(t&63)):t<65536?(i[o++]=224+(t>>>12),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63)):t<2097152?(i[o++]=240+(t>>>18),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):t<67108864?(i[o++]=248+(t>>>24),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):(i[o++]=252+(t>>>30),i[o++]=128+(t>>>24&63),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++),a++;return i}s(BP,"convertStringToUtf8Array");Pt.convertStringToUtf8Array=BP});var bg=y(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.toCLFDate=void 0;function vn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(vn,"numberToString");function KP(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=vn(Math.floor(r/60)),o=vn(r%60);return`${n}${i}${o}`}s(KP,"getCLFOffset");function JP(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=vn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=vn(e.getHours()),a=vn(e.getMinutes()),c=vn(e.getSeconds()),u=KP(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(JP,"toCLFDate");Qs.toCLFDate=JP});var Ig=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.getResponse=fr.awsLambdaHandler=fr.AwsLambdaHandlerExtensions=void 0;var zP=Tr(),_g=pg(),Oi=A(),WP=Dt(),QP=$d(),wg=gg(),vg=bg(),Eg=(0,zP.debug)("zuplo:runtime"),YP="X-Amzn-Trace-Id",ZP="x-amzn-errortype",Sg=[],XP=s(async(e,t,r)=>{let n=r;for await(let i of Sg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Oi.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(YP)??void 0,this.errorType=r.get(ZP)??void 0}};fr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Sg.push(e)}};async function eA(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:o,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Oi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Oi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Oi.ConfigurationError("region is not set in the handler options");if(!o)throw new Oi.ConfigurationError("functionName is not set in the handler options");let l=new QP.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(Eg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,f]=await nA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=rA(e,t):g=await tA(e,t,{useAwsResourcePathStyle:c}),Eg("Calling onSendingAwsLambdaEvent hook");let _=await XP(e,t,g);_.body=p,_.isBase64Encoded=f;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return Tg(S)}catch(T){if(T instanceof Ke){let H=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&T.traceId?{AMZN_TRACE_ID_HEADER:T.traceId}:void 0;return WP.HttpProblems.internalServerError(e,t,void 0,H)}throw T}}s(eA,"awsLambdaHandler");fr.awsLambdaHandler=eA;async function Tg(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,o]of Object.entries(t.headers))r.set(i,o)}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,wg.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})}s(Tg,"getResponse");fr.getResponse=Tg;async function tA(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let o=e.query,a={};for(let[l,d]of Object.entries(o))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:o,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,vg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:oA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(tA,"buildEventVersion1");function rA(e,t){let r={};e.headers.forEach((o,a)=>{r[a]=o});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,vg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(rA,"buildEventVersion2");async function nA(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&&iA(t,i)){let o=await e.arrayBuffer();r=(0,wg.base64Encode)(new Uint8Array(o)),n=!0}else r=await e.clone().text();return[r,n]}s(nA,"getBodyResult");function iA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(iA,"matchesContentType");function oA(e,t=!1){if(!t)return e;let r=(0,_g.parse)(e),n=(0,_g.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(oA,"getResourcePath")});var Tn=y(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.getHandlerUserLogFunction=Sn.logBadGatewayResponses=void 0;var sA=Re(),aA=z(),cA=[502,503,504];async function uA(e,t){if(cA.includes(e.status)){let r=sA.SystemLogMap.getLogger(t),i=await e.clone().text(),o={};for(let[a,c]of e.headers)o[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:o})}}s(uA,"logBadGatewayResponses");Sn.logBadGatewayResponses=uA;var jd;function lA(e){if(jd===void 0){let r=aA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),jd=r}return e.log[jd]}s(lA,"getHandlerUserLogFunction");Sn.getHandlerUserLogFunction=lA});var Ag=y(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.openApiSpecHandler=void 0;var Pg=A(),dA=te(),Vd=z(),pA=Tn();async function hA(e,t){let r=Vd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Vd.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new Pg.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=fA(o);if(!a.isValid)throw new Pg.ConfigurationError(a.error);let c;Vd.Environment.instance.isLocalDevelopment?c=`${n}/${o.substring(1)}`:c=`${n}/${r}${o.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return dA.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,pA.logBadGatewayResponses)(l,t),l}s(hA,"openApiSpecHandler");Ys.openApiSpecHandler=hA;var fA=s(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 Rg=y(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.redirectHandler=void 0;var mA=A();async function yA(e,t){let r=t.route.handler.options;if(!r.location)throw new mA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(yA,"redirectHandler");Zs.redirectHandler=yA});var Ng=y(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.urlForwardHandler=void 0;var gA=A(),Og=Tn();function bA(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}`}s(bA,"join");async function _A(e,t){let r=(0,Og.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 gA.ConfigurationError("Invalid options for this route");let o={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,o),u=bA(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}),f=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${f}ms`),(0,Og.logBadGatewayResponses)(p,t),p}s(_A,"urlForwardHandler");Xs.urlForwardHandler=_A});var Cg=y(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.urlRewriteHandler=void 0;var EA=A(),xg=Tn(),wA=s((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,o]of n.searchParams.entries())r.searchParams.append(i,o);return r.toString()},"addQuery");async function vA(e,t){let r=(0,xg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new EA.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?wA(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:o?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,xg.logBadGatewayResponses)(d,t),d}s(vA,"urlRewriteHandler");ea.urlRewriteHandler=vA});var Dg=y(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.webSocketHandler=void 0;var Lg=A(),SA=Cd(),TA=Dt(),IA=z(),PA=Tn();async function AA(e,t){let r=IA.Environment.instance,n=t.route.handler.options,i=(0,PA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Lg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return TA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Lg.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,SA.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let S in h.tunnelHeaders)p.set(S,h.tunnelHeaders[S])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let f=JSON.stringify({url:c});return new Response(f,{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(),f=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(f)}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})}s(AA,"webSocketHandler");ta.webSocketHandler=AA});var Ug=y(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.webSocketPolicyProcessor=In.getWebSocketPolicyFunctions=void 0;var RA=A(),OA=s((e,t)=>e.map((n,i)=>{let o;if(typeof n.module=="object"&&(o=n.module[n.export]),!o||typeof o!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new RA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");In.getWebSocketPolicyFunctions=OA;var NA=s(async(e,t,r,n,i,o)=>{let a=e.data;if(o&&o.length>0){let c=[...o];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");In.webSocketPolicyProcessor=NA});var Mg=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.webSocketPipelineHandler=void 0;var Gd=A(),xA=Dt(),CA=z(),LA=Tn(),Bd=Ug();function kg(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",o=>{n.log.error("WebSocket error: ",o),t.send(JSON.stringify(o))}),e.addEventListener("message",o=>{try{let c=s(async u=>{let l=await(0,Bd.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(o).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}s(kg,"wireUpListeners");async function DA(e,t){let r=CA.Environment.instance,n=t.route.handler.options,i=(0,LA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Gd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return xA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Gd.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 Gd.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 T=await l.text(),H=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(H)}let d=new WebSocketPair,[p,f]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),f.accept();let _=n.policies&&n.policies.inbound?(0,Bd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,Bd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return kg(f,g,e,t,_),kg(g,f,e,t,S),new Response(null,{status:101,webSocket:p})}s(DA,"webSocketPipelineHandler");ra.webSocketPipelineHandler=DA});var Hg=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.DynaTraceLoggingPlugin=void 0;var UA=ve(),Kd=z(),kA=xr(),MA=Ut(),HA=_t(),Jd=class extends MA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new zd(this.options)}};na.DynaTraceLoggingPlugin=Jd;var zd=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Kd.Environment.instance.loggingEnvironmentType,this.#i=Kd.Environment.instance.loggingEnvironmentStage,this.#r=Kd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,HA.stringifyNonString)((0,kA.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 UA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Fg=y(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.LokiLoggingPlugin=void 0;var FA=ve(),Wd=z(),qA=xr(),$A=Ut(),jA=_t(),Qd=class extends $A.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Zd(this.options)}};ia.LokiLoggingPlugin=Qd;var Yd=class{static{s(this,"LokiStream")}constructor(t,r,n,i,o){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=o}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function VA(e,t){return btoa(`${e}:${t}`)}s(VA,"createBasicDigest");var Zd=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=VA(t.username,t.password),this.#n=Wd.Environment.instance.loggingEnvironmentType,this.#i=Wd.Environment.instance.loggingEnvironmentStage,this.#r=Wd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new Yd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,jA.stringifyNonString)((0,qA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(o)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(o=>o.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 FA.BatchDispatch("loki-log-transport",10,this.#s)}});var qg=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.SumoLogicLoggingPlugin=void 0;var GA=ve(),Xd=z(),BA=xr(),KA=Ut(),JA=_t(),ep=class extends KA.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new tp(this.options)}};oa.SumoLogicLoggingPlugin=ep;var tp=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Xd.Environment.instance.loggingEnvironmentType,this.#n=Xd.Environment.instance.loggingEnvironmentStage,this.#t=Xd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,JA.stringifyNonString)((0,BA.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 GA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var jg=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.VMWareLogInsightTransport=Pn.VMWareLogInsightLoggingPlugin=void 0;var zA=A(),WA=ve(),rp=z(),QA=Ut(),$g=_t(),YA="d3a5b78f-8236-48f5-b1df-4fe269d41172",np=class extends QA.LogPlugin{static{s(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new sa(this.options)}};Pn.VMWareLogInsightLoggingPlugin=np;var sa=class{static{s(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new zA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=rp.Environment.instance.loggingEnvironmentType,this.#n=rp.Environment.instance.loggingEnvironmentStage,this.#t=rp.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;log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,$g.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(([o,a])=>{let c=(0,$g.stringifyNonStringToText)(a);c&&i.fields.push({name:o,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/${YA}`,{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 WA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};Pn.VMWareLogInsightTransport=sa});var Gg=y(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.AWSLogTransport=An.AWSLoggingPlugin=void 0;var ZA=$d(),XA=ve(),Vg=z(),eR=xr(),tR=Ut(),rR=_t(),ip=class extends tR.LogPlugin{static{s(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new aa(this.options)}};An.AWSLoggingPlugin=ip;var aa=class{static{s(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new XA.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:o}){this.awsClient=new ZA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:o}),this.logGroupName=n,this.logStreamName=r,this.region=o,this.environmentType=Vg.Environment.instance.loggingEnvironmentType,this.environment=Vg.Environment.instance.deploymentName}log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,rR.stringifyNonString)((0,eR.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())}};An.AWSLogTransport=aa});var Bg=y(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.AWSLoggingPlugin=Ne.VMWareLogInsightLoggingPlugin=Ne.SumoLogicLoggingPlugin=Ne.LokiLoggingPlugin=Ne.GoogleCloudLoggingPlugin=Ne.DynaTraceLoggingPlugin=Ne.DataDogLoggingPlugin=void 0;var nR=fd();Object.defineProperty(Ne,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return nR.DataDogLoggingPlugin}});var iR=Hg();Object.defineProperty(Ne,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return iR.DynaTraceLoggingPlugin}});var oR=xs();Object.defineProperty(Ne,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return oR.GoogleCloudLoggingPlugin}});var sR=Fg();Object.defineProperty(Ne,"LokiLoggingPlugin",{enumerable:!0,get:function(){return sR.LokiLoggingPlugin}});var aR=qg();Object.defineProperty(Ne,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return aR.SumoLogicLoggingPlugin}});var cR=jg();Object.defineProperty(Ne,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return cR.VMWareLogInsightLoggingPlugin}});var uR=Gg();Object.defineProperty(Ne,"AWSLoggingPlugin",{enumerable:!0,get:function(){return uR.AWSLoggingPlugin}})});var Kg=y(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DataDogMetricsError=mr.DataDogMetricsTransport=mr.DataDogMetricsPlugin=void 0;var lR=Re(),dR=ve(),pR=Ro(),op=new WeakMap,hR={tags:[]},sp=class extends pR.MetricsPlugin{static{s(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ca(this.options)}static setContext(t,r){let n=op.get(t);n||(n=hR);let i=Object.assign({...n},r);op.set(t,i)}};mr.DataDogMetricsPlugin=sp;var ca=class{static{s(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 dR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,lR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(op.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 o=t.systemRouteName||t.routePath;i.push(`path:${o}`)}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 ua(await n.text())}};mr.DataDogMetricsTransport=ca;var ua=class e extends Error{static{s(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DataDogMetricsError=ua});var Jg=y(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.DynaTraceMetricsError=yr.DynaTraceMetricsTransport=yr.DynatraceMetricsPlugin=void 0;var fR=Re(),mR=ve(),yR=Ro(),ap=new WeakMap,gR={dimensions:[]},cp=class extends yR.MetricsPlugin{static{s(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new la(this.options)}static setContext(t,r){let n=ap.get(t);n||(n=gR);let i=Object.assign({...n},r);ap.set(t,i)}};yr.DynatraceMetricsPlugin=cp;var la=class{static{s(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 mR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,fR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(ap.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 o=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${o} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${o} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${o} ${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 da(await n.text())}};yr.DynaTraceMetricsTransport=la;var da=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};yr.DynaTraceMetricsError=da});var zg=y(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.DynatraceMetricsPlugin=Rn.DataDogMetricsPlugin=void 0;var bR=Kg();Object.defineProperty(Rn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return bR.DataDogMetricsPlugin}});var _R=Jg();Object.defineProperty(Rn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return _R.DynatraceMetricsPlugin}})});var Wg=y(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.AuditLogDataStaxProvider=void 0;var up=class{static{s(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)})}))}};pa.AuditLogDataStaxProvider=up});var Yg=y(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.AuditLogPlugin=void 0;var ER=gt(),wR=ve(),lp=class extends ER.SystemRuntimePlugin{static{s(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new dp(t,this.#e,this.#t)}};ha.AuditLogPlugin=lp;var Qg=s(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),vR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},dp=class{static{s(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...vR};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 wR.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,o,a)=>{try{let c={timestamp:i,durationMs:o,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?Qg(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?Qg(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,o=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-o,u.user?.sub).catch(f=>{r.log.error(f)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var Zg=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.StripeSignatureVerificationError=On.StripeError=void 0;var fa=class extends Error{static{s(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}};On.StripeError=fa;var pp=class extends fa{static{s(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};On.StripeSignatureVerificationError=pp});var eb=y(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.computeHMACSignatureAsync=Nn.constructEventAsync=void 0;var Mr=Zg(),SR="v1",TR=300;async function IR(e,t,r,n=TR,i){return await AR(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}s(IR,"constructEventAsync");Nn.constructEventAsync=IR;function PR(e,t){return`${t.timestamp}.${e}`}s(PR,"makeHMACContent");async function AR(e,t,r,n,i){let{decodedHeader:o,decodedPayload:a,details:c,suspectPayloadType:u}=RR(e,t,SR),l=/\s/.test(r),d=await Xg(PR(a,c),r);return OR(a,o,c,d,n,u,l,i)}s(AR,"verifyHeaderAsync");function RR(e,t,r){if(!e)throw new Mr.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),o=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 Mr.StripeSignatureVerificationError(t,e,{message:"No stripe-signature header value was provided."});let a=t instanceof Uint8Array?i.decode(t):t,c=NR(a,r);if(!c||c.timestamp===-1)throw new Mr.StripeSignatureVerificationError(a,o,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new Mr.StripeSignatureVerificationError(a,o,{message:"No signatures found with expected scheme"});return{decodedPayload:o,decodedHeader:a,details:c,suspectPayloadType:n}}s(RR,"parseEventDetails");function OR(e,t,r,n,i,o,a,c){let u=!!r.signatures.filter(f=>xR(f,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
- Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw o?new kr.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.
68
+ Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw o?new Mr.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.
69
69
  Signature verification is impossible without access to the original signed material.
70
70
  `+l+`
71
- `+d}):new kr.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
71
+ `+d}):new Mr.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 kr.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}s(AR,"validateComputedSignature");function RR(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:[]})}s(RR,"parseHeader");function OR(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}s(OR,"secureCompare");async function Jg(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)),o=new Uint8Array(i),a=new Array(o.length);for(let c=0;c<o.length;c++)a[c]=lp[o[c]];return a.join("")}s(Jg,"computeHMACSignatureAsync");xn.computeHMACSignatureAsync=Jg;var lp=new Array(256);for(let e=0;e<lp.length;e++)lp[e]=e.toString(16).padStart(2,"0")});var qt=y(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.optionValidator=void 0;var Oi=O();function NR(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new Oi.ConfigurationError(`Value of '${String(o)}' 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 Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Oi.ConfigurationError(`Value of '${String(o)}' 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 Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=s((o,a)=>(r(o,a,!0),{optional:n,required:i}),"optional"),i=s((o,a)=>(r(o,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}s(NR,"optionValidator");ha.optionValidator=NR});var dp=y(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.StripeWebhookVerificationInboundPolicy=void 0;var xR=te(),CR=zg(),LR=qt(),DR=s(async(e,t,r,n)=>{(0,LR.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let o=await e.clone().text();await(0,CR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),xR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");fa.StripeWebhookVerificationInboundPolicy=DR});var Qg=y(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.isStripeWebhookEvent=void 0;var Wg=st();function UR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,Wg.isString)(e.id)&&"type"in e&&(0,Wg.isString)(e.type)}s(UR,"isStripeWebhookEvent");ma.isStripeWebhookEvent=UR});var Yg=y(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.MeteringPlugin=void 0;var MR=gt(),pp=class extends MR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};ya.MeteringPlugin=pp});var Xg=y(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});var Zg=O(),kR={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving subscription from Stripe API.";throw r.error(o,i),new Zg.RuntimeError(o)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving customer from Stripe API.";throw r.error(o,i),new Zg.RuntimeError(o)}}};hp.default=kR});var nb=y(Ni=>{"use strict";var HR=Ni&&Ni.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ni,"__esModule",{value:!0});var yr=O(),fp=te(),eb=He(),tb=W(),rb=hn(),FR=HR(Xg()),qR=st();async function $R(e,t,r,n){let i=r.data?.object?.subscription;if(!i)throw new yr.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data?.object?.client_reference_id,a=r.data?.object?.customer_email;if(!o)throw new yr.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.client_reference_id' to be the customer sub.");if(!a)throw new yr.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer_email' to be the customer email.");let c=await FR.default.getSubscription({logger:t.log,stripeSecretKey:n.stripeSecretKey,subscriptionId:i}),u=c.id,l=c.customer,d=c.items?.data.find(_=>_.object==="subscription_item");if(!d||!d.id)throw new yr.RuntimeError("Invalid Stripe API result. Expected subscription to contain at least one subscription_item.");let p=d.plan;if(!p||!p.product)throw new yr.RuntimeError("Invalid Stripe API result. Expected subscription_item to have a plan.");let f=p.product,h=await jR({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:f,stripeSubscriptionId:u,stripeCustomerId:l,managerEmail:a,managerSub:o,context:t});if(!h)return fp.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});let g="routes.oas.json";try{await VR({context:t,stripeProductId:f,stripeSubscriptionId:u,customerKey:h,productKey:g,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:l})}catch(_){return fp.HttpProblems.internalServerError(e,t,{detail:_.message})}return fp.HttpProblems.ok(e,t)}s($R,"onCheckoutSessionCompleted");Ni.default=$R;async function jR({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:o,context:a}){let{authApiJWT:c}=tb.Environment.instance,u="https://api-key-management-service-eq7z4lly2a-ue.a.run.app",l=new URL(`/v1/buckets/${e}/consumers`,u);l.searchParams.set("with-api-key","true");let d=crypto.randomUUID(),p={name:d,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:o,email:i}]},f=await(0,rb.fetchRetry)({retryDelayMs:5,retries:2,logger:eb.SystemLogMap.getLogger(a)},l.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(p)}),h=await f.json();if(f.status!==200){let g="Error creating API Key Consumer";throw a.log.error(g,h),new yr.RuntimeError(g)}return a.log.info("Successfully created API Key Consumer",{consumerId:d,stripeSubscriptionId:t,stripeProductId:r}),d}s(jR,"createConsumer");async function VR({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,productKey:i,meteringBucketId:o,meteringBucketRegion:a,customerExternalId:c}){let u={status:"active",type:"periodic",renewalStrategy:"monthly",region:a,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,productKey:i,customerExternalId:c},{authApiJWT:l,meteringServiceUrl:d}=tb.Environment.instance;if(!(0,qR.isNonEmptyString)(l))throw new yr.SystemError("No Zuplo JWT token set.");let p=await(0,rb.fetchRetry)({retryDelayMs:5,retries:2,logger:eb.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${o}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let f="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw e.log.error(f,h),new yr.RuntimeError(f)}e.log.info("Successfully created/updated metering subscription.",u)}s(VR,"saveSubscription")});var ab=y(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});var mp=O(),ib=te(),ob=He(),GR=W(),sb=hn(),BR=st();async function KR(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:o}=GR.Environment.instance;if(!(0,BR.isNonEmptyString)(i))throw new mp.SystemError("No Zuplo JWT token set.");let a=r.data.object.id,c=await(0,sb.fetchRetry)({retryDelayMs:5,retries:2,logger:ob.SystemLogMap.getLogger(t)},`${o}/internal/v1/metering/${n.meteringBucketId}/subscriptions?subscriptionExternalId=${a}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":t.requestId},method:"GET"});if(!c.ok){let p="Error querying for metering subscription.",f;try{f=await c.json()}catch{f={status:c.status,statusText:c.statusText}}throw t.log.error(p,f),new mp.RuntimeError(p)}let l=(await c.json()).data.filter(p=>p.subscriptionExternalId&&p.subscriptionExternalId===a);if(l.length===0)return ib.HttpProblems.ok(e,t,{detail:"Subscription was not found and the event was ignored by Stripe metering plugin webhook."});let d=await(0,sb.fetchRetry)({retryDelayMs:5,retries:2,logger:ob.SystemLogMap.getLogger(t)},`${o}/internal/v1/metering/${n.meteringBucketId}/subscriptions/${l[0].id}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"PATCH",body:JSON.stringify({status:"canceled"})});if(!d.ok){let p="Error canceling metering subscription.",f;try{f=await d.json()}catch{f={status:d.status,statusText:d.statusText}}throw t.log.error(p,f),new mp.RuntimeError(p)}return t.log.info("Successfully canceled metering subscription."),ib.HttpProblems.ok(e,t)}s(KR,"onCustomerSubscriptionDeleted");yp.default=KR});var lb=y(Cn=>{"use strict";var ub=Cn&&Cn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.StripeMeteringPlugin=void 0;var ga=gn(),ba=O(),JR=Lt(),zR=dp(),cb=te(),WR=Qt(),QR=Wr(),YR=qu(),ZR=ot(),XR=W(),e0=Qg(),t0=Yg(),r0=ub(nb()),n0=ub(ab()),gp=class extends t0.MeteringPlugin{static{s(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=s(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(ga.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=ga.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new ba.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(ga.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=ga.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new ba.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!XR.Environment.instance.build.ACCOUNT_NAME)throw new ba.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!i0(p))throw new ba.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let f=await c.json();if(!(0,e0.isStripeWebhookEvent)(f))return cb.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${f.type}' with ID '${f.id}'.`),f.type){case"checkout.session.completed":return await(0,r0.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,n0.default)(c,u,f,{meteringBucketId:l});default:return cb.HttpProblems.ok(c,u,{detail:"Event was ignored by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,QR.createInternalPolicyProcessor)({inboundPolicies:[{handler:zR.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new JR.Pipeline({processors:[WR.metricsProcessor,i],handler:n,gateway:r}),a=new ZR.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:YR.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};Cn.StripeMeteringPlugin=gp;function i0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(i0,"isMetricsRegion")});var mb=y(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.AmberfloMeteringInboundPolicy=Ln.AmberfloMeteringPolicy=void 0;var db=O(),o0=ve(),pb=si(),fb=new WeakMap,hb={},bp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){fb.set(t,r)}};Ln.AmberfloMeteringPolicy=bp;async function s0(e,t,r,n){if(!r.statusCodes)throw new db.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,pb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async o=>{if(i.includes(o.status)){let a=fb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new db.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,pb.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)},f=hb[r.apiKey];if(!f){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";f=new o0.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});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}}),hb[h]=f}f.enqueue(p),t.waitUntil(f.waitUntilFlushed())}}),e}s(s0,"AmberfloMeteringInboundPolicy");Ln.AmberfloMeteringInboundPolicy=s0});var _p=y(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.sha256=void 0;async function a0(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("")}s(a0,"sha256");_a.sha256=a0});var $t=y(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.getPolicyCacheName=void 0;var c0=_p(),yb=new Map;async function u0(e,t){let r,n=yb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,c0.sha256)(JSON.stringify({policyName:e,options:t}))}`,yb.set(e,r)),r}s(u0,"getPolicyCacheName");Ea.getPolicyCacheName=u0});var vp=y(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.ApiKeyInboundPolicy=void 0;var l0=$t(),d0=Kt(),gb=gn(),Ep=O(),p0=Dt(),bb=He(),wp=W(),h0=hn(),_b="key-metadata-cache-type";function f0(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(f0,"getKeyValue");async function m0(e,t,r,n){if(!r.bucketName)if(gb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=gb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Ep.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 Ep.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(T=>i.allowUnauthenticatedRequests?e:p0.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return o("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return o("Invalid Authorization Scheme");let c=f0(a,i);if(!c||c==="")return o("No key present");let u=await y0(c),l=await(0,l0.getPolicyCacheName)(n,i),d=new d0.MemoryZoneReadThroughCache(l,t),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==_b&&bb.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let f={key:c},h=await(0,h0.fetchRetry)({retryDelayMs:5,retries:2,logger:bb.SystemLogMap.getLogger(t)},`${wp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":wp.Environment.instance.deploymentName??"unknown","User-Agent":wp.Environment.instance.systemUserAgent},body:JSON.stringify(f)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),o("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 Ep.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:_b,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}s(m0,"ApiKeyInboundPolicy");wa.ApiKeyInboundPolicy=m0;async function y0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(y0,"hashValue")});var Eb=y(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.ApiAuthKeyInboundPolicy=void 0;var g0=vp();va.ApiAuthKeyInboundPolicy=g0.ApiKeyInboundPolicy});var jt=y(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.OpenIdJwtInboundPolicy=void 0;var Sp=(Ps(),no(Is)),Ip=O(),b0=te(),Tp={},_0=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Ip.ConfigurationError("Invalid State - jwkUrl not set");Tp[t.jwkUrl]||(Tp[t.jwkUrl]=(0,Sp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Sp.jwtVerify)(e,Tp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),E0=s(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 o=new TextEncoder().encode(t.secret);r=new Uint8Array(o)}else r=t.secret;let{payload:n}=await(0,Sp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),w0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(f=>b0.HttpProblems.unauthorized(e,t,{detail:f}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Ip.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Ip.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?_0:E0,l=await s(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(o)!==0)return a("Invalid bearer token format for authorization header");let f=i.substring(o.length);if(!f||f.length===0)return a("No bearer token on authorization header");try{return await c(f,r)}catch(h){let g=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${g.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${g.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");Ta.OpenIdJwtInboundPolicy=w0});var wb=y(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.Auth0JwtInboundPolicy=void 0;var v0=jt(),T0=s(async(e,t,r,n)=>(0,v0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Sa.Auth0JwtInboundPolicy=T0});var vb=y(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.BasicAuthInboundPolicy=void 0;var S0=te(),I0=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>S0.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await s(async()=>{if(!n)return await o("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await o("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await o("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await o("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let f=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===f&&_.password===h);return g||await o("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");Ia.BasicAuthInboundPolicy=I0});var Tb=y(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.CachingInboundPolicy=void 0;var P0=$t(),A0=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function R0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(R0,"digestMessage");var O0=s(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 R0(JSON.stringify(n)),o=new URL(e.url),a=new URLSearchParams(o.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=`${o.origin}${o.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function N0(e,t,r,n){let i=await(0,P0.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await O0(e,r),u=await o.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 f=r?.expirationSecondsTtl??60,h=new Response(p.body,p);A0.forEach(g=>h.headers.delete(g)),h.headers.set("cache-control",`s-maxage=${f}`),t.waitUntil(o.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}s(N0,"CachingInboundPolicy");Pa.CachingInboundPolicy=N0});var Sb=y(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.ChangeMethodInboundPolicy=void 0;var x0=O(),C0=ke(),L0=s(async(e,t,r,n)=>{if(!r.method)throw new x0.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new C0.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Aa.ChangeMethodInboundPolicy=L0});var Ib=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.ClearHeadersInboundPolicy=void 0;var D0=ke(),U0=s(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 D0.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ra.ClearHeadersInboundPolicy=U0});var Pb=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ClearHeadersOutboundPolicy=void 0;var M0=s(async(e,t,r,n)=>{let i=[...n.exclude??[]],o=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&o.set(c,u)}),new Response(e.body,{headers:o,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");Oa.ClearHeadersOutboundPolicy=M0});var Ab=y(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ClerkJwtInboundPolicy=void 0;var k0=jt(),H0=s(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),o=new URL(i);return o.pathname="/.well-known/jwks.json",(0,k0.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Na.ClerkJwtInboundPolicy=H0});var Ob=y(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.CognitoJwtInboundPolicy=void 0;var Rb=O(),F0=jt(),q0=s(async(e,t,r,n)=>{if(!r.userPoolId)throw new Rb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Rb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,F0.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");xa.CognitoJwtInboundPolicy=q0});var xb=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.CompositeInboundPolicy=void 0;var $0=O(),j0=Ir(),Nb=Wr(),V0=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new $0.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=j0.Gateway.instance,o=(0,Nb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Nb.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");Ca.CompositeInboundPolicy=V0});var Lb=y(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.CreditsMeteringInboundPolicy=void 0;var xi=te(),Cb=W(),G0=s(async(e,t,r)=>{let n=e.user;if(!n)return xi.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 xi.HttpProblems.unauthorized(e,t,{title:"Metering bucket not configured",detail:"Specify one using the bucketId option on the policy"});let o=r.bucketId,a=await B0(o,i,t);if(!a)return xi.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return xi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return xi.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 K0(o,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");La.CreditsMeteringInboundPolicy=G0;async function B0(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=Cb.Environment.instance,o=new URL(`${i}/internal/v1/metering/${e}/subscriptions`);o.search=new URLSearchParams({customerKey:t,status:"active"}).toString();let a=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${n}`,"zp-rid":r.requestId}});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]}s(B0,"getSubscription");async function K0(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:o}=Cb.Environment.instance,a=new URL(`${o}/internal/v1/metering/${e}/subscriptions/${t}/quotas/consume`),c=await fetch(a,{method:"POST",body:JSON.stringify({meters:r}),headers:{Authorization:`Bearer ${i}`,"zp-rid":n.requestId}});c.ok||n.log.error(`Error consuming subscription quotas for credits metering ': ${c.status} - ${await c.text()}`)}s(K0,"consumeSubscription")});var Db=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.CurityPhantomTokenInboundPolicy=void 0;var J0=$t(),z0=Kt(),Da=te(),W0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Da.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=Q0(i);if(!o)return Da.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,J0.getPolicyCacheName)(n,r),c=new z0.MemoryZoneReadThroughCache(a,t),u=await c.get(o);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="+o+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(o,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),Da.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Da.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Ua.CurityPhantomTokenInboundPolicy=W0;function Q0(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(Q0,"getToken")});var Ub=y(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.FirebaseJwtInboundPolicy=void 0;var Y0=qt(),Z0=jt(),X0=s(async(e,t,r,n)=>((0,Y0.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,Z0.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");Ma.FirebaseJwtInboundPolicy=X0});var Mb=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.FormDataToJsonInboundPolicy=void 0;var eO=ke(),tO=s(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",o=e.headers.get("content-type")?.toLowerCase();if(!o||![i,n].includes(o))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 eO.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");ka.FormDataToJsonInboundPolicy=tO});var kb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.GeoFilterInboundPolicy=void 0;var rO=O(),nO=te(),Dn="__unknown__",iO=s(async(e,t,r,n)=>{let i={allow:{countries:Mn(r.allow?.countries,"allow.countries",n),regionCodes:Mn(r.allow?.regionCodes,"allow.regionCode",n),asns:Mn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Mn(r.block?.countries,"block.countries",n),regionCodes:Mn(r.block?.regionCodes,"block.regionCode",n),asns:Mn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Dn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Dn,c=t.incomingRequestProperties.asn?.toString()??Dn,u=i.ignoreUnknown&&o===Dn,l=i.ignoreUnknown&&a===Dn,d=i.ignoreUnknown&&c===Dn,p=i.allow.countries,f=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(o)&&!u||f.length>0&&!f.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Un(e,t,n,o,a,c);let g=i.block.countries,_=i.block.regionCodes,T=i.block.asns;return g.length>0&&g.includes(o)&&!u||_.length>0&&_.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Un(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");Ha.GeoFilterInboundPolicy=iO;function Un(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),nO.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(Un,"blockedResponse");function Mn(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 rO.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s(Mn,"toLowerStringArray")});var Hb=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.JWTScopeValidationInboundPolicy=void 0;var oO=s(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!s((o,a)=>a.every(c=>o.includes(c)),"scopeChecker")(n,r.scopes)){let o={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(o),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Fa.JWTScopeValidationInboundPolicy=oO});var qb=y(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.MockApiInboundPolicy=void 0;var sO=te(),aO=s(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 o=Object.keys(i),a=[];if(o.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(o.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(f=>{a.push({responseName:c,contentName:l,exampleName:f,exampleValue:d[f]})})})}),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 Fb(a[c])}else return a.length>0?Fb(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");qa.MockApiInboundPolicy=aO;function Fb(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})}}s(Fb,"generateResponse");var Pp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return sO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var Bb=y(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.MoesifInboundPolicy=kn.setMoesifContext=void 0;var cO=O(),uO=ve(),lO="Incoming",dO={logRequestBody:!0,logResponseBody:!0};function $b(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s($b,"headersToObject");function jb(){return new Date().toISOString()}s(jb,"timestamp");var Ap=new WeakMap,pO={};function hO(e,t){let r=Ap.get(e);r||(r=pO);let n=Object.assign({...r},t);Ap.set(e,n)}s(hO,"setMoesifContext");kn.setMoesifContext=hO;async function Vb(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}s(Vb,"readBody");var fO={},Rp;function Gb(){if(!Rp)throw new cO.RuntimeError("Invalid State - no _lastLogger");return Rp}s(Gb,"getLastLogger");function mO(e){let t=fO[e];return t||(t=new uO.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Gb().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||Gb().error({status:i.status,body:await i.text()})})),t}s(mO,"getDispatcher");async function yO(e,t,r,n){Rp=t.log;let i=jb(),o=Object.assign(dO,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await Vb(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=mO(o.applicationId),d=e.headers.get("true-client-ip"),p=Ap.get(t)??{},f={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:$b(e.headers)},h=o.logResponseBody?await Vb(c,t):void 0,g={time:jb(),status:c.status,headers:$b(c.headers),body:h},_={request:f,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:lO};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}s(yO,"MoesifInboundPolicy");kn.MoesifInboundPolicy=yO});var Kb=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.OktaJwtInboundPolicy=void 0;var gO=jt(),bO=s(async(e,t,r,n)=>(0,gO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");$a.OktaJwtInboundPolicy=bO});var Jb=y(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.PropelAuthJwtInboundPolicy=void 0;var _O=(Ps(),no(Is)),EO=jt(),Op,wO=s(async(e,t,r,n)=>{if(!Op)try{Op=await(0,_O.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,EO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Op,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");ja.PropelAuthJwtInboundPolicy=wO});var zb=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.throwIfStateNotObject=V.throwIfStateNotNumber=V.throwIfStateNotString=V.throwIfStateUndefinedOrNull=V.throwIfStateUndefined=V.throwIfOptionNotObject=V.throwIfOptionNotNumber=V.throwIfOptionNotString=V.throwIfOptionUndefinedOrNull=V.throwIfOptionUndefined=V.OptionTypeError=V.OptionUndefinedError=V.throwIfNotNumber=V.throwIfNotString=V.throwIfUndefinedOrNull=V.throwIfUndefined=V.ArgumentTypeError=V.ArgumentUndefinedError=V.ValidationError=void 0;var je=st(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=et;var Ci=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=Ci;var Li=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=Li;function vO(e,t){if((0,je.isUndefined)(e))throw new Ci(t)}s(vO,"throwIfUndefined");V.throwIfUndefined=vO;function Np(e,t){if((0,je.isUndefinedOrNull)(e))throw new Ci(t)}s(Np,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=Np;function TO(e,t){if(Np(e,t),!(0,je.isString)(e))throw new Li(t,"string")}s(TO,"throwIfNotString");V.throwIfNotString=TO;function SO(e,t){if(Np(e,t),!(0,je.isNumber)(e))throw new Li(t,"number")}s(SO,"throwIfNotNumber");V.throwIfNotNumber=SO;var Di=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=Di;var Hn=class extends et{static{s(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};V.OptionTypeError=Hn;function IO(e,t,r,n){if((0,je.isUndefined)(n))throw new Di(e,t,r)}s(IO,"throwIfOptionUndefined");V.throwIfOptionUndefined=IO;function Va(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Di(e,t,r)}s(Va,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=Va;function PO(e,t,r,n){if(Va(e,t,r,n),!(0,je.isString)(n))throw new Hn(e,t,r,"string")}s(PO,"throwIfOptionNotString");V.throwIfOptionNotString=PO;function AO(e,t,r,n){if(Va(e,t,r,n),!(0,je.isNumber)(n))throw new Hn(e,t,r,"number")}s(AO,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=AO;function RO(e,t,r,n){if(Va(e,t,r,n),!(0,je.isObject)(n))throw new Hn(e,t,r,"object")}s(RO,"throwIfOptionNotObject");V.throwIfOptionNotObject=RO;function OO(e,t){if((0,je.isUndefined)(e))throw new et(t)}s(OO,"throwIfStateUndefined");V.throwIfStateUndefined=OO;function Ga(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(Ga,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=Ga;function NO(e,t){if(Ga(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(NO,"throwIfStateNotString");V.throwIfStateNotString=NO;function xO(e,t){if(Ga(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(xO,"throwIfStateNotNumber");V.throwIfStateNotNumber=xO;function CO(e,t){if(Ga(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(CO,"throwIfStateNotObject");V.throwIfStateNotObject=CO});var Wb=y(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.InMemoryRedisClient=Fn.StandardRedisClient=void 0;var xp=O(),Ba=zb(),Cp=class e{static{s(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,Ba.throwIfNotString)(t,"redisClientUrl"),(0,Ba.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,Ba.throwIfNotString)(t,"url");let o=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=o.headers.get("Content-Type")?.includes("application/json")?await o.json():await o.text();if(o.ok)return a;throw o.status===401?new xp.SystemError("Redis client failed with 401: Unauthorized"):new xp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Fn.StandardRedisClient=Cp;var Lp=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Ba.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:o,key:a}=JSON.parse(r),c=Date.now()+o*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 xp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Fn.InMemoryRedisClient=Lp});var e_=y(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.RateLimitInboundPolicy=void 0;var LO=Sr(),DO=$t(),UO=ri(),At=O(),MO=te(),Qb=He(),Ui=W(),Yb=Wb(),Zb=st(),Ka=(0,LO.debug)("zuplo:policies:RateLimitInboundPolicy"),kO="strict",HO=s(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"),FO=s(async e=>({key:`ip-${HO(e)}`}),"getIP"),qO=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),$O=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ja;function jO(e,t){let r;if(Ja)return Ja;if(Ui.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Yb.InMemoryRedisClient,Ja=r,r;let{authApiJWT:n,redisURL:i}=Ui.Environment.instance;if(!(0,Zb.isString)(i))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,Zb.isString)(n))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Yb.StandardRedisClient.initialize(i,n,Ui.Environment.instance.deploymentName??"unknown",Ui.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new At.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ja=r,r}s(jO,"getRedisClient");async function Xb(e,t,r,n,i){let o=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:o,key:e}),requestId:i})}s(Xb,"getCountAndUpdateExpiry");function VO(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new At.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 At.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return s(async(i,o,a)=>{let c=await r(i,o,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw o.log.error(u),new At.RuntimeError(u)}return c},"outerFunction")}s(VO,"wrapUserFunction");var GO="Retry-After",BO=s(async(e,t,r,n)=>{let i=Date.now(),o=Qb.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new At.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[GO]=l.toString()),MO.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:VO(r,n),user:qO,ip:FO,all:$O}[r.rateLimitBy],d=await l(e,t,n),p=d.key,f=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=jO(n,o),S=`bucket/${Ui.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??kO)==="async"){let L=await(0,DO.getPolicyCacheName)(n,r),ne=new UO.ZoneCache(L,{logger:Qb.SystemLogMap.getLogger(t)}),ie=Xb(S,h,_,o,t.requestId),me=await ne.get(S);if(me!==void 0&&me<=Date.now()){Ka(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(g,Be)}return t.addEventListener("responseSending",Be=>{try{let w=Be,k=w.mutableResponse;w.mutableResponse=(async()=>{let Ce=await ie;if(Ce.count>f){let uu=Date.now()+Ce.ttlSeconds*1e3,jE=ne.put(S,uu,Ce.ttlSeconds).catch(wh=>{throw o.error(new At.SystemError("Error caching rate limit result.",{cause:wh})),wh});return t.waitUntil(jE),Ka(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(g,Ce.ttlSeconds)}return k})()}catch(w){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let K=await Xb(S,h,_,o,t.requestId);return K.count>f?(Ka(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(g,K.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Ka(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");za.RateLimitInboundPolicy=BO});var i_=y(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.ReadmeMetricsInboundPolicy=void 0;var KO=ve(),Dp=W(),t_=si(),Up;function r_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(r_,"headersToNameValuePairs");function JO(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(JO,"queryToNameValueParis");function zO(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(zO,"parseIntOrUndefined");var n_={};async function WO(e,t,r,n){let i=new Date,o=Date.now();return Up||(Up={name:"zuplo",version:Dp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Dp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,t_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,t_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Dp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Up,entries:[{startedDateTime:i.toISOString(),time:Date.now()-o,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:r_(e.headers),queryString:JO(e.query)},response:{status:a.status,statusText:a.statusText,headers:r_(a.headers),content:{size:zO(e.headers.get("content-length"))}}}]}}},d=n_[r.apiKey];if(!d){let p=r.apiKey;d=new KO.BatchDispatch("readme-metering-inbound-policy",10,async f=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(f),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),n_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(WO,"ReadmeMetricsInboundPolicy");Wa.ReadmeMetricsInboundPolicy=WO});var o_=y(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.RemoveHeadersInboundPolicy=void 0;var QO=O(),YO=ke(),ZO=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new QO.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let o=new Headers(e.headers);return i.forEach(c=>{o.delete(c)}),new YO.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");Qa.RemoveHeadersInboundPolicy=ZO});var s_=y(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.RemoveHeadersOutboundPolicy=void 0;var XO=O(),eN=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new XO.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return o.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Ya.RemoveHeadersOutboundPolicy=eN});var a_=y(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.RemoveQueryParamsInboundPolicy=void 0;var tN=O(),rN=ke(),nN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new tN.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let o=new URL(e.url);return i.forEach(c=>{o.searchParams.delete(c)}),new rN.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");Za.RemoveQueryParamsInboundPolicy=nN});var c_=y(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.ReplaceStringOutboundPolicy=void 0;var iN=s(async(e,t,r,n)=>{let i=await e.text(),o=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(o,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Xa.ReplaceStringOutboundPolicy=iN});var l_=y(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.RequestSizeLimitInboundPolicy=void 0;var u_=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),oN=s(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),o=i!==null?parseInt(i):void 0;return o&&!isNaN(o)&&o>r.maxSizeInBytes?u_():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?u_():e},"RequestSizeLimitInboundPolicy");ec.RequestSizeLimitInboundPolicy=oN});var tc=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function sN(e,t,r){return`_${Hr(e+"_"+t+"_"+r)}`}s(sN,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=sN;function aN(e,t,r,n){return`_${Hr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(aN,"getIdForParameterSchema");tt.getIdForParameterSchema=aN;function cN(e,t,r){return`_${Hr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Hr(r.toLowerCase())}`}s(cN,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=cN;function uN(e,t){return`_${Hr(e)}__${Hr(t)}`}s(uN,"getIdForRefSchema");tt.getIdForRefSchema=uN;function Hr(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("")}s(Hr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Hr});var Mi=y(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var lN=Ir(),dN=tc(),pN=s(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=pN;var hN=s((e,t,r,n,i)=>{let o=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,o.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,dN.getIdForParameterSchema)(r,n,i,u.name),p=lN.Gateway.instance.schemaValidator[d],f=p(t[u.name]),h=(0,Le.getErrorsFromValidator)(p.errors);f||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),o.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:o}},"validateParameters");Le.validateParameters=hN;var fN=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=fN;var mN=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=mN;var yN=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=yN;var gN=s(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=gN});var d_=y(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.handleBodyValidation=void 0;var bN=Ir(),rc=te(),_N=tc(),Je=Mi();async function EN(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let g=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=rc.HttpProblems.badRequest(t,e,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",g,[n],h),(0,Je.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,g=rc.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)?g:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,_N.getIdForRequestBodySchema)(e.route.path,t.method,i),c=bN.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")}`,g=rc.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)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),f=rc.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 f}s(EN,"handleBodyValidation");nc.handleBodyValidation=EN});var p_=y(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.handleHeadersValidation=void 0;var wN=te(),ki=Mi();function vN(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,ki.getParametersForOperation)(e),o=(0,ki.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=wN.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,ki.shouldLog)(r.validateHeaders)&&(0,ki.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,ki.shouldReject)(r.validateHeaders))return c}}s(vN,"handleHeadersValidation");ic.handleHeadersValidation=vN});var h_=y(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.handlePathParameterValidation=void 0;var TN=te(),Hi=Mi();function SN(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Hi.getParametersForOperation)(e),i=(0,Hi.validateParameters)(n.filter(o=>o.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let o="Path parameters validation failed",a=TN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Hi.shouldLog)(r.validatePathParameters)&&(0,Hi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Hi.shouldReject)(r.validatePathParameters))return a}}s(SN,"handlePathParameterValidation");oc.handlePathParameterValidation=SN});var f_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.handleQueryParameterValidation=void 0;var IN=te(),Fi=Mi();function PN(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Fi.getParametersForOperation)(e),i=(0,Fi.validateParameters)(n.filter(o=>o.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let o="Query parameters validation failed",a=IN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Fi.shouldLog)(r.validateQueryParameters)&&(0,Fi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Fi.shouldReject)(r.validateQueryParameters))return a}}s(PN,"handleQueryParameterValidation");sc.handleQueryParameterValidation=PN});var m_=y(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.SchemaBasedRequestValidation=Fr.RequestValidationInboundPolicy=void 0;var AN=d_(),RN=p_(),ON=h_(),NN=f_(),xN=s(async(e,t,r)=>{let n=(0,NN.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,ON.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,RN.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,AN.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Fr.RequestValidationInboundPolicy=xN;Fr.SchemaBasedRequestValidation=Fr.RequestValidationInboundPolicy});var y_=y(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.RequireOriginInboundPolicy=void 0;var CN=O(),LN=te(),DN=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new CN.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 o=e.headers.get("origin");if(!o||!i.includes(o)){let a=r.failureDetail??"Forbidden";return LN.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");ac.RequireOriginInboundPolicy=DN});var g_=y(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.SetBodyInboundPolicy=void 0;var UN=ke(),MN=s(async(e,t,r)=>new UN.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");cc.SetBodyInboundPolicy=MN});var __=y(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.SetHeadersInboundPolicy=void 0;var b_=O(),kN=ke(),HN=s(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 o=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;(!o.has(c.name)||u)&&o.set(c.name,c.value)}),new kN.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");uc.SetHeadersInboundPolicy=HN});var w_=y(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.SetHeadersOutboundPolicy=void 0;var E_=O(),FN=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new E_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return o.forEach(u=>{if(!u.name||u.name.length===0)throw new E_.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");lc.SetHeadersOutboundPolicy=FN});var T_=y(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.SetQueryParamsInboundPolicy=void 0;var v_=O(),qN=ke(),$N=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new v_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let o=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new v_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.searchParams.has(c.name)||u)&&o.searchParams.set(c.name,c.value)}),new qN.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");dc.SetQueryParamsInboundPolicy=$N});var S_=y(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.SetStatusOutboundPolicy=void 0;var jN=s(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");pc.SetStatusOutboundPolicy=jN});var I_=y(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.SleepInboundPolicy=void 0;var VN=O(),GN=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),BN=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new VN.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await GN(r.sleepInMs),e},"SleepInboundPolicy");hc.SleepInboundPolicy=BN});var A_=y(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.SupabaseJwtInboundPolicy=void 0;var P_=O(),KN=te(),JN=ke(),zN=qt(),WN=jt(),QN=s(async(e,t,r,n)=>{(0,zN.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,WN.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof JN.ZuploRequest))throw new P_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return o;let c=e.user?.data.app_metadata;if(!c)throw new P_.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?KN.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");fc.SupabaseJwtInboundPolicy=QN});var O_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var YN=$t(),ZN=Kt(),R_=O(),XN=hn(),ex=qt(),tx=s(async(e,t,r,n)=>{(0,ex.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,YN.getPolicyCacheName)(n,r),o=new ZN.MemoryZoneReadThroughCache(i,t),a=await o.get(n);if(!a){let c=await rx(r,t);o.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");mc.UpstreamAzureAdServiceAuthInboundPolicy=tx;async function rx(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,XN.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 o=await n.text();t.log.error("Could not get token from Azure AD",o)}catch{}throw new R_.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 R_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(rx,"getAccessToken")});var x_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var nx=$t(),ix=Kt(),ox=O(),Mp=fn(),sx=qt(),N_="https://accounts.google.com/o/oauth2/token",kp,ax=s(async(e,t,r,n)=>{(0,sx.optionValidator)(r,n).required("serviceAccountJson","string"),kp||(kp=await Mp.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(" ")},o=await(0,nx.getPolicyCacheName)(n,r),a=new ix.MemoryZoneReadThroughCache(o,t),c=await a.get(n);if(!c){let u=await(0,Mp.getTokenFromGcpServiceAccount)({serviceAccount:kp,audience:N_,payload:i}),l=await(0,Mp.exchangeGgpJwtForIdToken)(N_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new ox.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");yc.UpstreamFirebaseAdminAuthInboundPolicy=ax});var C_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var cx=$t(),ux=Kt(),qn=O(),lx=_p(),Hp=fn(),dx=si(),px=qt(),hx="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",fx=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Fp,mx=s(async(e,t,r,n)=>{if((0,px.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new qn.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(fx.indexOf(p)!==-1)throw new qn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Fp||(Fp=await Hp.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new qn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");o=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new qn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,dx.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new qn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,cx.getPolicyCacheName)(n,r),c=new ux.MemoryZoneReadThroughCache(a,t),u={uid:o,claims:i},l=await(0,lx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Hp.getTokenFromGcpServiceAccount)({serviceAccount:Fp,audience:hx,payload:u}),f=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Hp.exchangeFirebaseJwtForIdToken)(f,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new qn.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");gc.UpstreamFirebaseUserAuthInboundPolicy=mx});var D_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.UpstreamGcpJwtInboundPolicy=void 0;var L_=fn(),yx=qt(),qp,gx=s(async(e,t,r,n)=>{(0,yx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),qp||(qp=await L_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,L_.getTokenFromGcpServiceAccount)({serviceAccount:qp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");bc.UpstreamGcpJwtInboundPolicy=gx});var M_=y(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.UpstreamGcpServiceAuthInboundPolicy=void 0;var bx=$t(),_x=yu(),Ex=Kt(),wx=O(),$p=fn(),vx=qt(),U_="https://www.googleapis.com/oauth2/v4/token",jp,Tx=s(async(e,t,r,n)=>{(0,vx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),jp||(jp=await $p.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,bx.getPolicyCacheName)(n,r),o;r.useMemoryCacheOnly?o=new _x.MemoryCache(i):o=new Ex.MemoryZoneReadThroughCache(i,t);let a=await o.get(n);if(!a){let c=await(0,$p.getTokenFromGcpServiceAccount)({serviceAccount:jp,audience:U_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,$p.exchangeGgpJwtForIdToken)(U_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new wx.RuntimeError("Invalid token response from GCP");a=u,o.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");_c.UpstreamGcpServiceAuthInboundPolicy=Tx});var H_=y(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.ValidateJsonSchemaInbound=void 0;var Sx=O(),k_=te(),Ix=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return k_.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 Sx.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 k_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Ec.ValidateJsonSchemaInbound=Ix});var $_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.MeteringInboundPolicy=void 0;var F_=Bs(),q_=gn(),wc=O(),Px=te(),Ax=He(),Rx=W(),Ox=s(async(e,t,r,n)=>{let i=Ax.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,f)=>{let h=F_.ContextData.get(f,"subscription");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;if(!r.bucketId)if(q_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=q_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new wc.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:_,meteringServiceUrl:T}=Rx.Environment.instance;if(d.ok&&h&&r.meters)try{let S=await fetch(`${T}/internal/v1/metering/${r.bucketId}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${_}`,"zp-rid":f.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});S.ok||(f.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${S.status} - ${S.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${S.status} - ${S.statusText}`))}catch(S){f.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,S)}});let o=F_.ContextData.get(t,"subscription"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!o){if(a)return e;throw new wc.ConfigurationError("Subscription is not available for user")}if(o&&Object.keys(o.quotas).length===0)throw new wc.ConfigurationError("Quota is not set up for the user's subscription");let l=Object.keys(r.meters).filter(d=>!Object.keys(o.quotas).includes(d));if(l.length>0)throw new wc.ConfigurationError(`The following policy meters are not present in the subscription: ${l.join(", ")}`);for(let d of Object.keys(o.quotas))if(o.quotas[d]<=0&&!c)return Px.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");vc.MeteringInboundPolicy=Ox});var G_=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.LoadSubscriptionInboundPolicy=void 0;var Nx=ri(),xx=Bs(),j_=gn(),Cx=O(),Vp=te(),V_=He(),Lx=W(),Dx=s(async(e,t,r,n)=>{let i=V_.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=e.user;if(!a)return o?e:Vp.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(j_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=j_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Cx.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:c,meteringServiceUrl:u}=Lx.Environment.instance,{sub:l}=a,d;try{let f=`${r.bucketId}-${l}`,h=new Nx.ZoneCache(f,{logger:V_.SystemLogMap.getLogger(t)}),g=await h.get(f);if(g)d=g;else{let _=await fetch(`${u}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${l}&status=active`,{headers:{Authorization:`Bearer ${c}`,"zp-rid":t.requestId},method:"GET"});if(!_.ok)return t.log.error(await _.text()),Vp.HttpProblems.forbidden(e,t);d=await _.json(),h.put(f,d,15).catch(T=>{throw i.error(T),T})}}catch(f){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,f)}if((!d||!d.data||d.data.length===0)&&!o)return Vp.HttpProblems.unauthorized(e,t,{detail:"No valid, active subscription found"});if((!d||!d.data||d.data.length===0)&&o)return e;let p=d&&d.data?d.data[0]:void 0;return xx.ContextData.set(t,"subscription",p),e},"LoadSubscriptionInboundPolicy");Tc.LoadSubscriptionInboundPolicy=Dx});var B_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.ServiceProviderImpl=void 0;var Ux=O(),Gp=class{static{s(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new Ux.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)}};Sc.ServiceProviderImpl=Gp});var rE=y(m=>{"use strict";var Mx=m&&m.__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]}),Bp=m&&m.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Mx(t,e,r)},kx=m&&m.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(m,"__esModule",{value:!0});m.RateLimitInboundPolicy=m.BasicRateLimitInboundPolicy=m.PropelAuthJwtInboundPolicy=m.OpenIdJwtInboundPolicy=m.OktaJwtInboundPolicy=m.setMoesifContext=m.MoesifInboundPolicy=m.MockApiInboundPolicy=m.JWTScopeValidationInboundPolicy=m.GeoFilterInboundPolicy=m.FormDataToJsonInboundPolicy=m.FirebaseJwtInboundPolicy=m.CurityPhantomTokenInboundPolicy=m.CreditsMeteringInboundPolicy=m.CompositeInboundPolicy=m.CognitoJwtInboundPolicy=m.ClerkJwtInboundPolicy=m.ClearHeadersOutboundPolicy=m.ClearHeadersInboundPolicy=m.ChangeMethodInboundPolicy=m.CachingInboundPolicy=m.BasicAuthInboundPolicy=m.Auth0JwtInboundPolicy=m.ApiKeyInboundPolicy=m.ApiAuthKeyInboundPolicy=m.AmberfloMeteringPolicy=m.AmberfloMeteringInboundPolicy=m.AuditLogPlugin=m.AuditLogDataStaxProvider=m.HttpStatusCode=m.webSocketPipelineHandler=m.webSocketHandler=m.urlRewriteHandler=m.urlForwardHandler=m.redirectHandler=m.openApiSpecHandler=m.awsLambdaHandler=m.AwsLambdaHandlerExtensions=m.purgeGatewayCache=m.Handler=m.originalFetch=m.ConfigurationError=m.isZuploReadableEnvVariableName=m.isRestrictedEnvVariableName=m.environment=m.ContextData=m.ResponseSentEvent=m.ResponseSendingEvent=m.ZoneCache=m.MemoryZoneReadThroughCache=void 0;m.sanitizedIdentifierName=m.getRawOperationDataIdentifierName=m.getIdForRequestBodySchema=m.getIdForRefSchema=m.getIdForParameterSchema=m.SystemLogMap=m.httpStatuses=m.SYSTEM_LOGGER=m.API_KEY=m.ServiceProviderImpl=m.serialize=m.ContentTypes=m.Router=m.LookupResult=m.SystemRouteName=m.ZuploRequest=m.ProblemResponseFormatter=m.HttpProblems=m.LoadSubscriptionInboundPolicy=m.MeteringInboundPolicy=m.ValidateJsonSchemaInbound=m.UpstreamGcpServiceAuthInboundPolicy=m.UpstreamGcpJwtInboundPolicy=m.UpstreamFirebaseUserAuthInboundPolicy=m.UpstreamFirebaseAdminAuthInboundPolicy=m.UpstreamAzureAdServiceAuthInboundPolicy=m.SupabaseJwtInboundPolicy=m.StripeWebhookVerificationInboundPolicy=m.SleepInboundPolicy=m.SetStatusOutboundPolicy=m.SetQueryParamsInboundPolicy=m.SetHeadersOutboundPolicy=m.SetHeadersInboundPolicy=m.SetBodyInboundPolicy=m.RequireOriginInboundPolicy=m.SchemaBasedRequestValidation=m.RequestValidationInboundPolicy=m.RequestSizeLimitInboundPolicy=m.ReplaceStringOutboundPolicy=m.RemoveQueryParamsInboundPolicy=m.RemoveHeadersOutboundPolicy=m.RemoveHeadersInboundPolicy=m.ReadmeMetricsInboundPolicy=void 0;Ah();var Hx=Kt();Object.defineProperty(m,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return Hx.MemoryZoneReadThroughCache}});var Fx=ri();Object.defineProperty(m,"ZoneCache",{enumerable:!0,get:function(){return Fx.ZoneCache}});var K_=Pr();Object.defineProperty(m,"ResponseSendingEvent",{enumerable:!0,get:function(){return K_.ResponseSendingEvent}});Object.defineProperty(m,"ResponseSentEvent",{enumerable:!0,get:function(){return K_.ResponseSentEvent}});var qx=Bs();Object.defineProperty(m,"ContextData",{enumerable:!0,get:function(){return qx.ContextData}});var Kp=gn();Object.defineProperty(m,"environment",{enumerable:!0,get:function(){return Kp.environment}});Object.defineProperty(m,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Kp.isRestrictedEnvVariableName}});Object.defineProperty(m,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Kp.isZuploReadableEnvVariableName}});var $x=O();Object.defineProperty(m,"ConfigurationError",{enumerable:!0,get:function(){return $x.ConfigurationError}});var jx=Nd();Object.defineProperty(m,"originalFetch",{enumerable:!0,get:function(){return jx.originalFetch}});var J_=rg();Object.defineProperty(m,"Handler",{enumerable:!0,get:function(){return J_.Handler}});Object.defineProperty(m,"purgeGatewayCache",{enumerable:!0,get:function(){return J_.purgeGatewayCache}});var z_=_g();Object.defineProperty(m,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return z_.AwsLambdaHandlerExtensions}});Object.defineProperty(m,"awsLambdaHandler",{enumerable:!0,get:function(){return z_.awsLambdaHandler}});var Vx=wg();Object.defineProperty(m,"openApiSpecHandler",{enumerable:!0,get:function(){return Vx.openApiSpecHandler}});var Gx=vg();Object.defineProperty(m,"redirectHandler",{enumerable:!0,get:function(){return Gx.redirectHandler}});var Bx=Sg();Object.defineProperty(m,"urlForwardHandler",{enumerable:!0,get:function(){return Bx.urlForwardHandler}});var Kx=Pg();Object.defineProperty(m,"urlRewriteHandler",{enumerable:!0,get:function(){return Kx.urlRewriteHandler}});var Jx=Rg();Object.defineProperty(m,"webSocketHandler",{enumerable:!0,get:function(){return Jx.webSocketHandler}});var zx=xg();Object.defineProperty(m,"webSocketPipelineHandler",{enumerable:!0,get:function(){return zx.webSocketPipelineHandler}});var Wx=$u();Object.defineProperty(m,"HttpStatusCode",{enumerable:!0,get:function(){return Wx.HttpStatusCode}});Bp(Fg(),m);Bp(jg(),m);var Qx=Vg();Object.defineProperty(m,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return Qx.AuditLogDataStaxProvider}});var Yx=Bg();Object.defineProperty(m,"AuditLogPlugin",{enumerable:!0,get:function(){return Yx.AuditLogPlugin}});Bp(lb(),m);var W_=mb();Object.defineProperty(m,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return W_.AmberfloMeteringInboundPolicy}});Object.defineProperty(m,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return W_.AmberfloMeteringPolicy}});var Zx=Eb();Object.defineProperty(m,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Zx.ApiAuthKeyInboundPolicy}});var Xx=vp();Object.defineProperty(m,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return Xx.ApiKeyInboundPolicy}});var eC=wb();Object.defineProperty(m,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return eC.Auth0JwtInboundPolicy}});var tC=vb();Object.defineProperty(m,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return tC.BasicAuthInboundPolicy}});var rC=Tb();Object.defineProperty(m,"CachingInboundPolicy",{enumerable:!0,get:function(){return rC.CachingInboundPolicy}});var nC=Sb();Object.defineProperty(m,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return nC.ChangeMethodInboundPolicy}});var iC=Ib();Object.defineProperty(m,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return iC.ClearHeadersInboundPolicy}});var oC=Pb();Object.defineProperty(m,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return oC.ClearHeadersOutboundPolicy}});var sC=Ab();Object.defineProperty(m,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return sC.ClerkJwtInboundPolicy}});var aC=Ob();Object.defineProperty(m,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return aC.CognitoJwtInboundPolicy}});var cC=xb();Object.defineProperty(m,"CompositeInboundPolicy",{enumerable:!0,get:function(){return cC.CompositeInboundPolicy}});var uC=Lb();Object.defineProperty(m,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return uC.CreditsMeteringInboundPolicy}});var lC=Db();Object.defineProperty(m,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return lC.CurityPhantomTokenInboundPolicy}});var dC=Ub();Object.defineProperty(m,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return dC.FirebaseJwtInboundPolicy}});var pC=Mb();Object.defineProperty(m,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return pC.FormDataToJsonInboundPolicy}});var hC=kb();Object.defineProperty(m,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return hC.GeoFilterInboundPolicy}});var fC=Hb();Object.defineProperty(m,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return fC.JWTScopeValidationInboundPolicy}});var mC=qb();Object.defineProperty(m,"MockApiInboundPolicy",{enumerable:!0,get:function(){return mC.MockApiInboundPolicy}});var Q_=Bb();Object.defineProperty(m,"MoesifInboundPolicy",{enumerable:!0,get:function(){return Q_.MoesifInboundPolicy}});Object.defineProperty(m,"setMoesifContext",{enumerable:!0,get:function(){return Q_.setMoesifContext}});var yC=Kb();Object.defineProperty(m,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return yC.OktaJwtInboundPolicy}});var gC=jt();Object.defineProperty(m,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return gC.OpenIdJwtInboundPolicy}});var bC=Jb();Object.defineProperty(m,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return bC.PropelAuthJwtInboundPolicy}});var Y_=e_();Object.defineProperty(m,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return Y_.RateLimitInboundPolicy}});Object.defineProperty(m,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return Y_.RateLimitInboundPolicy}});var _C=i_();Object.defineProperty(m,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return _C.ReadmeMetricsInboundPolicy}});var EC=o_();Object.defineProperty(m,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return EC.RemoveHeadersInboundPolicy}});var wC=s_();Object.defineProperty(m,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return wC.RemoveHeadersOutboundPolicy}});var vC=a_();Object.defineProperty(m,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return vC.RemoveQueryParamsInboundPolicy}});var TC=c_();Object.defineProperty(m,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return TC.ReplaceStringOutboundPolicy}});var SC=l_();Object.defineProperty(m,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return SC.RequestSizeLimitInboundPolicy}});var Z_=m_();Object.defineProperty(m,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return Z_.RequestValidationInboundPolicy}});Object.defineProperty(m,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return Z_.SchemaBasedRequestValidation}});var IC=y_();Object.defineProperty(m,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return IC.RequireOriginInboundPolicy}});var PC=g_();Object.defineProperty(m,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return PC.SetBodyInboundPolicy}});var AC=__();Object.defineProperty(m,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return AC.SetHeadersInboundPolicy}});var RC=w_();Object.defineProperty(m,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return RC.SetHeadersOutboundPolicy}});var OC=T_();Object.defineProperty(m,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return OC.SetQueryParamsInboundPolicy}});var NC=S_();Object.defineProperty(m,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return NC.SetStatusOutboundPolicy}});var xC=I_();Object.defineProperty(m,"SleepInboundPolicy",{enumerable:!0,get:function(){return xC.SleepInboundPolicy}});var CC=dp();Object.defineProperty(m,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return CC.StripeWebhookVerificationInboundPolicy}});var LC=A_();Object.defineProperty(m,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return LC.SupabaseJwtInboundPolicy}});var DC=O_();Object.defineProperty(m,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return DC.UpstreamAzureAdServiceAuthInboundPolicy}});var UC=x_();Object.defineProperty(m,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return UC.UpstreamFirebaseAdminAuthInboundPolicy}});var MC=C_();Object.defineProperty(m,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return MC.UpstreamFirebaseUserAuthInboundPolicy}});var kC=D_();Object.defineProperty(m,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return kC.UpstreamGcpJwtInboundPolicy}});var HC=M_();Object.defineProperty(m,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return HC.UpstreamGcpServiceAuthInboundPolicy}});var FC=H_();Object.defineProperty(m,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return FC.ValidateJsonSchemaInbound}});var qC=$_();Object.defineProperty(m,"MeteringInboundPolicy",{enumerable:!0,get:function(){return qC.MeteringInboundPolicy}});var $C=G_();Object.defineProperty(m,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return $C.LoadSubscriptionInboundPolicy}});var jC=te();Object.defineProperty(m,"HttpProblems",{enumerable:!0,get:function(){return jC.HttpProblems}});var VC=go();Object.defineProperty(m,"ProblemResponseFormatter",{enumerable:!0,get:function(){return VC.ProblemResponseFormatter}});var GC=ke();Object.defineProperty(m,"ZuploRequest",{enumerable:!0,get:function(){return GC.ZuploRequest}});var BC=Rr();Object.defineProperty(m,"SystemRouteName",{enumerable:!0,get:function(){return BC.SystemRouteName}});var X_=Ed();Object.defineProperty(m,"LookupResult",{enumerable:!0,get:function(){return X_.LookupResult}});Object.defineProperty(m,"Router",{enumerable:!0,get:function(){return X_.Router}});var eE=xu();Object.defineProperty(m,"ContentTypes",{enumerable:!0,get:function(){return eE.ContentTypes}});Object.defineProperty(m,"serialize",{enumerable:!0,get:function(){return eE.serialize}});var KC=B_();Object.defineProperty(m,"ServiceProviderImpl",{enumerable:!0,get:function(){return KC.ServiceProviderImpl}});var tE=el();Object.defineProperty(m,"API_KEY",{enumerable:!0,get:function(){return tE.API_KEY}});Object.defineProperty(m,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return tE.SYSTEM_LOGGER}});var JC=Vu();Object.defineProperty(m,"httpStatuses",{enumerable:!0,get:function(){return kx(JC).default}});var zC=He();Object.defineProperty(m,"SystemLogMap",{enumerable:!0,get:function(){return zC.SystemLogMap}});var qi=tc();Object.defineProperty(m,"getIdForParameterSchema",{enumerable:!0,get:function(){return qi.getIdForParameterSchema}});Object.defineProperty(m,"getIdForRefSchema",{enumerable:!0,get:function(){return qi.getIdForRefSchema}});Object.defineProperty(m,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return qi.getIdForRequestBodySchema}});Object.defineProperty(m,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return qi.getRawOperationDataIdentifierName}});Object.defineProperty(m,"sanitizedIdentifierName",{enumerable:!0,get:function(){return qi.sanitizedIdentifierName}})});var nE=y($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.BaseCryptoBeta=$n.supportedDigests=void 0;$n.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Jp=class{static{s(this,"BaseCryptoBeta")}};$n.BaseCryptoBeta=Jp});var iE=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.WorkerCryptoBeta=void 0;var zp=nE(),WC=O(),Wp=class extends zp.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!zp.supportedDigests.includes(t.toLowerCase()))throw new WC.RuntimeError(`Algorithm ${t} is not supported. Try using ${zp.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("")}};Ic.WorkerCryptoBeta=Wp});var oE=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.BaseKeyValueStore=void 0;var Qp=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Pc.BaseKeyValueStore=Qp});var aE=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.WorkerKeyValueStore=void 0;var sE=O(),QC=oE(),Yp=class extends QC.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new sE.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 sE.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)}};Ac.WorkerKeyValueStore=Yp});var Dt=y(dt=>{"use strict";var YC=dt&&dt.__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]}),ZC=dt&&dt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&YC(t,e,r)};Object.defineProperty(dt,"__esModule",{value:!0});dt.KeyValueStore=dt.CryptoBeta=void 0;ZC(rE(),dt);var XC=iE();Object.defineProperty(dt,"CryptoBeta",{enumerable:!0,get:function(){return XC.WorkerCryptoBeta}});var eL=aE();Object.defineProperty(dt,"KeyValueStore",{enumerable:!0,get:function(){return eL.WorkerKeyValueStore}})});var aD={};ro(aD,{GraphQLComplexityLimitInboundPolicy:()=>FE,GraphQLDisableIntrospectionInboundPolicy:()=>$E});module.exports=no(aD);var Xn=Th(Dt());function G(e,t){if(!!!e)throw new Error(t)}s(G,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}s(Ee,"isObjectLike");function Rt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(Rt,"invariant");var tL=/\r\n|[\n\r]/g;function jn(e,t){let r=0,n=1;for(let i of e.body.matchAll(tL)){if(typeof i.index=="number"||Rt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s(jn,"getLocation");function Zp(e){return Rc(e.source,jn(e.source,e.start))}s(Zp,"printLocation");function Rc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,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 f=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+cE([[`${a} |`,g[0]],...g.slice(1,f+1).map(_=>["|",_]),["|","^".padStart(h)],["|",g[f+1]]])}return l+cE([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}s(Rc,"printSourceLocation");function cE(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
- `)}s(cE,"printPrefixedLines");function rL(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}s(rL,"toNormalizedOptions");var C=class e extends Error{static{s(this,"GraphQLError")}constructor(t,...r){var n,i,o;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=rL(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=uE(Array.isArray(a)?a:a?[a]:void 0);let f=uE((n=this.nodes)===null||n===void 0?void 0:n.map(g=>g.loc).filter(g=>g!=null));this.source=c??(f==null||(i=f[0])===null||i===void 0?void 0:i.source),this.positions=u??f?.map(g=>g.start),this.locations=u&&c?u.map(g=>jn(c,g)):f?.map(g=>jn(g.source,g.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(o=p??h)!==null&&o!==void 0?o: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+=`
74
+ `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new Mr.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}s(OR,"validateComputedSignature");function NR(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:[]})}s(NR,"parseHeader");function xR(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}s(xR,"secureCompare");async function Xg(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)),o=new Uint8Array(i),a=new Array(o.length);for(let c=0;c<o.length;c++)a[c]=hp[o[c]];return a.join("")}s(Xg,"computeHMACSignatureAsync");Nn.computeHMACSignatureAsync=Xg;var hp=new Array(256);for(let e=0;e<hp.length;e++)hp[e]=e.toString(16).padStart(2,"0")});var qt=y(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.optionValidator=void 0;var Ni=A();function CR(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new Ni.ConfigurationError(`Value of '${String(o)}' 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 Ni.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ni.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Ni.ConfigurationError(`Value of '${String(o)}' 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 Ni.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=s((o,a)=>(r(o,a,!0),{optional:n,required:i}),"optional"),i=s((o,a)=>(r(o,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}s(CR,"optionValidator");ma.optionValidator=CR});var fp=y(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.StripeWebhookVerificationInboundPolicy=void 0;var LR=te(),DR=eb(),UR=qt(),kR=s(async(e,t,r,n)=>{(0,UR.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let o=await e.clone().text();await(0,DR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),LR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");ya.StripeWebhookVerificationInboundPolicy=kR});var rb=y(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.isStripeWebhookEvent=void 0;var tb=st();function MR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,tb.isString)(e.id)&&"type"in e&&(0,tb.isString)(e.type)}s(MR,"isStripeWebhookEvent");ga.isStripeWebhookEvent=MR});var nb=y(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.MeteringPlugin=void 0;var HR=gt(),mp=class extends HR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};ba.MeteringPlugin=mp});var gp=y(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});var ib=A(),FR={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving subscription from Stripe API.";throw r.error(o,i),new ib.RuntimeError(o)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving customer from Stripe API.";throw r.error(o,i),new ib.RuntimeError(o)}return i}};yp.default=FR});var Ea=y(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.updateSubscription=xn.saveSubscription=void 0;var _a=A(),ob=Re(),sb=z(),ab=pr(),cb=st();async function qR({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:o,customerExternalId:a}){let c={status:"active",type:"periodic",renewalStrategy:"monthly",region:o,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:u,meteringServiceUrl:l}=sb.Environment.instance;if(!(0,cb.isNonEmptyString)(u))throw new _a.SystemError("No Zuplo JWT token set.");let d=await(0,ab.fetchRetry)({retryDelayMs:5,retries:2,logger:ob.SystemLogMap.getLogger(e)},`${l}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${u}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(c)});if(!d.ok){let p="Error creating metering subscription.",f;try{f=await d.json()}catch{f={status:d.status,statusText:d.statusText}}throw e.log.error(p,f),new _a.RuntimeError(p)}e.log.info("Successfully created/updated metering subscription.",c)}s(qR,"saveSubscription");xn.saveSubscription=qR;async function $R({context:e,meteringSubscriptionId:t,meteringBucketId:r,newStatus:n}){let{authApiJWT:i,meteringServiceUrl:o}=sb.Environment.instance;if(!(0,cb.isNonEmptyString)(i))throw new _a.SystemError("No Zuplo JWT token set.");let a={status:n},c=await(0,ab.fetchRetry)({retryDelayMs:5,retries:2,logger:ob.SystemLogMap.getLogger(e)},`${o}/internal/v1/metering/${r}/subscriptions/${t}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"PATCH",body:JSON.stringify(a)});if(!c.ok){let u=`Error updating metering subscription to '${n}'.`,l;try{l=await c.json()}catch{l={status:c.status,statusText:c.statusText}}throw e.log.error(u,l),new _a.RuntimeError(u)}e.log.info(`Successfully update metering subscription to '${n}'.`)}s($R,"updateSubscription");xn.updateSubscription=$R});var ub=y(xi=>{"use strict";var jR=xi&&xi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xi,"__esModule",{value:!0});var Cn=A(),bp=te(),VR=Re(),GR=z(),BR=pr(),KR=jR(gp()),JR=Ea();async function zR(e,t,r,n){let i=r.data?.object?.subscription;if(!i)throw new Cn.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data?.object?.client_reference_id,a=r.data?.object?.customer_email;if(!o)throw new Cn.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.client_reference_id' to be the customer sub.");if(!a)throw new Cn.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer_email' to be the customer email.");let c=await KR.default.getSubscription({logger:t.log,stripeSecretKey:n.stripeSecretKey,subscriptionId:i}),u=c.id,l=c.customer,d=c.items?.data.find(g=>g.object==="subscription_item");if(!d||!d.id)throw new Cn.RuntimeError("Invalid Stripe API result. Expected subscription to contain at least one subscription_item.");let p=d.plan;if(!p||!p.product)throw new Cn.RuntimeError("Invalid Stripe API result. Expected subscription_item to have a plan.");let f=p.product,h=await WR({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:f,stripeSubscriptionId:u,stripeCustomerId:l,managerEmail:a,managerSub:o,context:t});if(!h)return bp.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{await(0,JR.saveSubscription)({context:t,stripeProductId:f,stripeSubscriptionId:u,customerKey:h,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:l})}catch(g){return bp.HttpProblems.internalServerError(e,t,{detail:g.message})}return bp.HttpProblems.ok(e,t)}s(zR,"onCheckoutSessionCompleted");xi.default=zR;async function WR({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:o,context:a}){let{authApiJWT:c}=GR.Environment.instance,u="https://api-key-management-service-eq7z4lly2a-ue.a.run.app",l=new URL(`/v1/buckets/${e}/consumers`,u);l.searchParams.set("with-api-key","true");let d=crypto.randomUUID(),p={name:d,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:o,email:i}]},f=await(0,BR.fetchRetry)({retryDelayMs:5,retries:2,logger:VR.SystemLogMap.getLogger(a)},l.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(p)}),h=await f.json();if(f.status!==200){let g="Error creating API Key Consumer";throw a.log.error(g,h),new Cn.RuntimeError(g)}return a.log.info("Successfully created API Key Consumer",{consumerId:d,stripeSubscriptionId:t,stripeProductId:r}),d}s(WR,"createConsumer")});var lb=y(Li=>{"use strict";var QR=Li&&Li.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Li,"__esModule",{value:!0});var Ci=A(),_p=te(),YR=Re(),ZR=z(),XR=pr(),e0=QR(gp()),t0=Ea();async function r0(e,t,r,n){let i=r.data.object.id;if(!i)throw new Ci.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data.object.plan;if(!o||!o.product)throw new Ci.RuntimeError("Invalid Stripe API result. Expected event to have a plan data.");let a=r.data.object.customer;if(!a)throw new Ci.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer' to be provided");let c=await e0.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!c.email)throw new Ci.RuntimeError("Invalid Stripe API result. Expected customer to contain email address.");let u=o.product,l=await n0({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:u,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:c.email,context:t});if(!l)return _p.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{await(0,t0.saveSubscription)({context:t,stripeProductId:u,stripeSubscriptionId:i,customerKey:l,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a})}catch(d){return _p.HttpProblems.internalServerError(e,t,{detail:d.message})}return _p.HttpProblems.ok(e,t)}s(r0,"onCustomerSubscriptionCreated");Li.default=r0;async function n0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:o}){let{authApiJWT:a}=ZR.Environment.instance,c="https://api-key-management-service-eq7z4lly2a-ue.a.run.app",u=new URL(`/v1/buckets/${e}/consumers`,c);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{email:i}]},p=await(0,XR.fetchRetry)({retryDelayMs:5,retries:2,logger:YR.SystemLogMap.getLogger(o)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(d)}),f=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw o.log.error(h,f),new Ci.RuntimeError(h)}return o.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}s(n0,"createConsumerInvite")});var pb=y(wp=>{"use strict";Object.defineProperty(wp,"__esModule",{value:!0});var db=A(),Ep=te(),i0=Re(),o0=z(),s0=pr(),a0=st(),c0=Ea();async function u0(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:o}=o0.Environment.instance;if(!(0,a0.isNonEmptyString)(i))throw new db.SystemError("No Zuplo JWT token set.");let a=r.data.object.id,c=await(0,s0.fetchRetry)({retryDelayMs:5,retries:2,logger:i0.SystemLogMap.getLogger(t)},`${o}/internal/v1/metering/${n.meteringBucketId}/subscriptions?subscriptionExternalId=${a}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":t.requestId},method:"GET"});if(!c.ok){let d="Error querying for metering subscription.",p;try{p=await c.json()}catch{p={status:c.status,statusText:c.statusText}}throw t.log.error(d,p),new db.RuntimeError(d)}let u=await c.json();if(u.data.length===0)return Ep.HttpProblems.notFound(e,t,{detail:"Subscription was not found and the event was ignored by Stripe metering plugin webhook."});let l=u.data.filter(d=>d.subscriptionExternalId&&d.subscriptionExternalId===a);return l.length===0?Ep.HttpProblems.notFound(e,t,{detail:"Subscription was not found and the event was ignored by Stripe metering plugin webhook."}):(await(0,c0.updateSubscription)({context:t,meteringSubscriptionId:l[0].id,meteringBucketId:n.meteringBucketId,newStatus:"canceled"}),Ep.HttpProblems.ok(e,t))}s(u0,"onCustomerSubscriptionDeleted");wp.default=u0});var fb=y(Ln=>{"use strict";var Sp=Ln&&Ln.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ln,"__esModule",{value:!0});Ln.StripeMeteringPlugin=void 0;var wa=yn(),va=A(),l0=Lt(),d0=fp(),hb=te(),p0=Qt(),h0=Wr(),f0=Vu(),m0=ot(),y0=z(),g0=rb(),b0=nb(),_0=Sp(ub()),E0=Sp(lb()),w0=Sp(pb()),vp=class extends b0.MeteringPlugin{static{s(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=s(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(wa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=wa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new va.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(wa.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=wa.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new va.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!y0.Environment.instance.build.ACCOUNT_NAME)throw new va.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!v0(p))throw new va.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let f=await c.json();if(!(0,g0.isStripeWebhookEvent)(f))return hb.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${f.type}' with ID '${f.id}'.`),f.type){case"checkout.session.completed":return await(0,_0.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.created":return await(0,E0.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,w0.default)(c,u,f,{meteringBucketId:l});default:return hb.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,h0.createInternalPolicyProcessor)({inboundPolicies:[{handler:d0.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new l0.Pipeline({processors:[p0.metricsProcessor,i],handler:n,gateway:r}),a=new m0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:f0.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};Ln.StripeMeteringPlugin=vp;function v0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(v0,"isMetricsRegion")});var _b=y(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.AmberfloMeteringInboundPolicy=Dn.AmberfloMeteringPolicy=void 0;var mb=A(),S0=ve(),yb=ai(),bb=new WeakMap,gb={},Tp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){bb.set(t,r)}};Dn.AmberfloMeteringPolicy=Tp;async function T0(e,t,r,n){if(!r.statusCodes)throw new mb.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,yb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async o=>{if(i.includes(o.status)){let a=bb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new mb.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,yb.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)},f=gb[r.apiKey];if(!f){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";f=new S0.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let S=r.url??"https://app.amberflo.io/ingest",T=await fetch(S,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});T.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${T.status}: ${await T.text()}`)}catch(S){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${S.message}`),S}}),gb[h]=f}f.enqueue(p),t.waitUntil(f.waitUntilFlushed())}}),e}s(T0,"AmberfloMeteringInboundPolicy");Dn.AmberfloMeteringInboundPolicy=T0});var Ip=y(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.sha256=void 0;async function I0(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("")}s(I0,"sha256");Sa.sha256=I0});var $t=y(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.getPolicyCacheName=void 0;var P0=Ip(),Eb=new Map;async function A0(e,t){let r,n=Eb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,P0.sha256)(JSON.stringify({policyName:e,options:t}))}`,Eb.set(e,r)),r}s(A0,"getPolicyCacheName");Ta.getPolicyCacheName=A0});var Rp=y(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.ApiKeyInboundPolicy=void 0;var R0=$t(),O0=Kt(),wb=yn(),Pp=A(),N0=Dt(),vb=Re(),Ap=z(),x0=pr(),Sb="key-metadata-cache-type";function C0(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(C0,"getKeyValue");async function L0(e,t,r,n){if(!r.bucketName)if(wb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=wb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Pp.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 Pp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(S=>i.allowUnauthenticatedRequests?e:N0.HttpProblems.unauthorized(e,t,{detail:S}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return o("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return o("Invalid Authorization Scheme");let c=C0(a,i);if(!c||c==="")return o("No key present");let u=await D0(c),l=await(0,R0.getPolicyCacheName)(n,i),d=new O0.MemoryZoneReadThroughCache(l,t),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Sb&&vb.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let f={key:c},h=await(0,x0.fetchRetry)({retryDelayMs:5,retries:2,logger:vb.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(f)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),o("Authorization Failed");if(h.status!==200){try{let S=await h.text(),T=JSON.parse(S);t.log.error("Unexpected response from key service",T)}catch{t.log.error("Invalid response from key service")}throw new Pp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:Sb,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}s(L0,"ApiKeyInboundPolicy");Ia.ApiKeyInboundPolicy=L0;async function D0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(D0,"hashValue")});var Tb=y(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ApiAuthKeyInboundPolicy=void 0;var U0=Rp();Pa.ApiAuthKeyInboundPolicy=U0.ApiKeyInboundPolicy});var jt=y(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.OpenIdJwtInboundPolicy=void 0;var Np=(Rs(),oo(As)),xp=A(),k0=te(),Op={},M0=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new xp.ConfigurationError("Invalid State - jwkUrl not set");Op[t.jwkUrl]||(Op[t.jwkUrl]=(0,Np.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Np.jwtVerify)(e,Op[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),H0=s(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 o=new TextEncoder().encode(t.secret);r=new Uint8Array(o)}else r=t.secret;let{payload:n}=await(0,Np.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),F0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(f=>k0.HttpProblems.unauthorized(e,t,{detail:f}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new xp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new xp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?M0:H0,l=await s(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(o)!==0)return a("Invalid bearer token format for authorization header");let f=i.substring(o.length);if(!f||f.length===0)return a("No bearer token on authorization header");try{return await c(f,r)}catch(h){let g=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${g.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${g.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");Aa.OpenIdJwtInboundPolicy=F0});var Ib=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.Auth0JwtInboundPolicy=void 0;var q0=jt(),$0=s(async(e,t,r,n)=>(0,q0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Ra.Auth0JwtInboundPolicy=$0});var Pb=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.BasicAuthInboundPolicy=void 0;var j0=te(),V0=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>j0.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await s(async()=>{if(!n)return await o("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await o("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await o("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await o("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let f=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===f&&_.password===h);return g||await o("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");Oa.BasicAuthInboundPolicy=V0});var Ab=y(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.CachingInboundPolicy=void 0;var G0=$t(),B0=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function K0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(K0,"digestMessage");var J0=s(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 K0(JSON.stringify(n)),o=new URL(e.url),a=new URLSearchParams(o.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=`${o.origin}${o.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function z0(e,t,r,n){let i=await(0,G0.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await J0(e,r),u=await o.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 f=r?.expirationSecondsTtl??60,h=new Response(p.body,p);B0.forEach(g=>h.headers.delete(g)),h.headers.set("cache-control",`s-maxage=${f}`),t.waitUntil(o.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}s(z0,"CachingInboundPolicy");Na.CachingInboundPolicy=z0});var Rb=y(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.ChangeMethodInboundPolicy=void 0;var W0=A(),Q0=He(),Y0=s(async(e,t,r,n)=>{if(!r.method)throw new W0.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new Q0.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");xa.ChangeMethodInboundPolicy=Y0});var Ob=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.ClearHeadersInboundPolicy=void 0;var Z0=He(),X0=s(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 Z0.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ca.ClearHeadersInboundPolicy=X0});var Nb=y(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.ClearHeadersOutboundPolicy=void 0;var eO=s(async(e,t,r,n)=>{let i=[...n.exclude??[]],o=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&o.set(c,u)}),new Response(e.body,{headers:o,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");La.ClearHeadersOutboundPolicy=eO});var xb=y(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ClerkJwtInboundPolicy=void 0;var tO=jt(),rO=s(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),o=new URL(i);return o.pathname="/.well-known/jwks.json",(0,tO.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Da.ClerkJwtInboundPolicy=rO});var Lb=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.CognitoJwtInboundPolicy=void 0;var Cb=A(),nO=jt(),iO=s(async(e,t,r,n)=>{if(!r.userPoolId)throw new Cb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Cb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,nO.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");Ua.CognitoJwtInboundPolicy=iO});var Ub=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.CompositeInboundPolicy=void 0;var oO=A(),sO=Ir(),Db=Wr(),aO=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new oO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=sO.Gateway.instance,o=(0,Db.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Db.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");ka.CompositeInboundPolicy=aO});var kb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.CurityPhantomTokenInboundPolicy=void 0;var cO=$t(),uO=Kt(),Ma=te(),lO=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Ma.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=dO(i);if(!o)return Ma.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,cO.getPolicyCacheName)(n,r),c=new uO.MemoryZoneReadThroughCache(a,t),u=await c.get(o);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="+o+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(o,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),Ma.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Ma.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Ha.CurityPhantomTokenInboundPolicy=lO;function dO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(dO,"getToken")});var Mb=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.FirebaseJwtInboundPolicy=void 0;var pO=qt(),hO=jt(),fO=s(async(e,t,r,n)=>((0,pO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,hO.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");Fa.FirebaseJwtInboundPolicy=fO});var Hb=y(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.FormDataToJsonInboundPolicy=void 0;var mO=He(),yO=s(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",o=e.headers.get("content-type")?.toLowerCase();if(!o||![i,n].includes(o))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 mO.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");qa.FormDataToJsonInboundPolicy=yO});var Fb=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.GeoFilterInboundPolicy=void 0;var gO=A(),bO=te(),Un="__unknown__",_O=s(async(e,t,r,n)=>{let i={allow:{countries:Mn(r.allow?.countries,"allow.countries",n),regionCodes:Mn(r.allow?.regionCodes,"allow.regionCode",n),asns:Mn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Mn(r.block?.countries,"block.countries",n),regionCodes:Mn(r.block?.regionCodes,"block.regionCode",n),asns:Mn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Un,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Un,c=t.incomingRequestProperties.asn?.toString()??Un,u=i.ignoreUnknown&&o===Un,l=i.ignoreUnknown&&a===Un,d=i.ignoreUnknown&&c===Un,p=i.allow.countries,f=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(o)&&!u||f.length>0&&!f.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return kn(e,t,n,o,a,c);let g=i.block.countries,_=i.block.regionCodes,S=i.block.asns;return g.length>0&&g.includes(o)&&!u||_.length>0&&_.includes(a)&&!l||S.length>0&&S.includes(c)&&!d?kn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");$a.GeoFilterInboundPolicy=_O;function kn(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),bO.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(kn,"blockedResponse");function Mn(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 gO.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s(Mn,"toLowerStringArray")});var qb=y(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.JWTScopeValidationInboundPolicy=void 0;var EO=s(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!s((o,a)=>a.every(c=>o.includes(c)),"scopeChecker")(n,r.scopes)){let o={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(o),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");ja.JWTScopeValidationInboundPolicy=EO});var jb=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.MockApiInboundPolicy=void 0;var wO=te(),vO=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Cp(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let o=Object.keys(i),a=[];if(o.length===0)return Cp(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(o.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(f=>{a.push({responseName:c,contentName:l,exampleName:f,exampleValue:d[f]})})})}),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 $b(a[c])}else return a.length>0?$b(a[0]):Cp(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");Va.MockApiInboundPolicy=vO;function $b(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})}}s($b,"generateResponse");var Cp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return wO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var Jb=y(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.MoesifInboundPolicy=Hn.setMoesifContext=void 0;var SO=A(),TO=ve(),IO="Incoming",PO={logRequestBody:!0,logResponseBody:!0};function Vb(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(Vb,"headersToObject");function Gb(){return new Date().toISOString()}s(Gb,"timestamp");var Lp=new WeakMap,AO={};function RO(e,t){let r=Lp.get(e);r||(r=AO);let n=Object.assign({...r},t);Lp.set(e,n)}s(RO,"setMoesifContext");Hn.setMoesifContext=RO;async function Bb(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}s(Bb,"readBody");var OO={},Dp;function Kb(){if(!Dp)throw new SO.RuntimeError("Invalid State - no _lastLogger");return Dp}s(Kb,"getLastLogger");function NO(e){let t=OO[e];return t||(t=new TO.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Kb().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||Kb().error({status:i.status,body:await i.text()})})),t}s(NO,"getDispatcher");async function xO(e,t,r,n){Dp=t.log;let i=Gb(),o=Object.assign(PO,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await Bb(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=NO(o.applicationId),d=e.headers.get("true-client-ip"),p=Lp.get(t)??{},f={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Vb(e.headers)},h=o.logResponseBody?await Bb(c,t):void 0,g={time:Gb(),status:c.status,headers:Vb(c.headers),body:h},_={request:f,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:IO};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}s(xO,"MoesifInboundPolicy");Hn.MoesifInboundPolicy=xO});var zb=y(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.OktaJwtInboundPolicy=void 0;var CO=jt(),LO=s(async(e,t,r,n)=>(0,CO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Ga.OktaJwtInboundPolicy=LO});var Wb=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.PropelAuthJwtInboundPolicy=void 0;var DO=(Rs(),oo(As)),UO=jt(),Up,kO=s(async(e,t,r,n)=>{if(!Up)try{Up=await(0,DO.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,UO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Up,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ba.PropelAuthJwtInboundPolicy=kO});var Qb=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.throwIfStateNotObject=V.throwIfStateNotNumber=V.throwIfStateNotString=V.throwIfStateUndefinedOrNull=V.throwIfStateUndefined=V.throwIfOptionNotObject=V.throwIfOptionNotNumber=V.throwIfOptionNotString=V.throwIfOptionUndefinedOrNull=V.throwIfOptionUndefined=V.OptionTypeError=V.OptionUndefinedError=V.throwIfNotNumber=V.throwIfNotString=V.throwIfUndefinedOrNull=V.throwIfUndefined=V.ArgumentTypeError=V.ArgumentUndefinedError=V.ValidationError=void 0;var je=st(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=et;var Di=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=Di;var Ui=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=Ui;function MO(e,t){if((0,je.isUndefined)(e))throw new Di(t)}s(MO,"throwIfUndefined");V.throwIfUndefined=MO;function kp(e,t){if((0,je.isUndefinedOrNull)(e))throw new Di(t)}s(kp,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=kp;function HO(e,t){if(kp(e,t),!(0,je.isString)(e))throw new Ui(t,"string")}s(HO,"throwIfNotString");V.throwIfNotString=HO;function FO(e,t){if(kp(e,t),!(0,je.isNumber)(e))throw new Ui(t,"number")}s(FO,"throwIfNotNumber");V.throwIfNotNumber=FO;var ki=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=ki;var Fn=class extends et{static{s(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};V.OptionTypeError=Fn;function qO(e,t,r,n){if((0,je.isUndefined)(n))throw new ki(e,t,r)}s(qO,"throwIfOptionUndefined");V.throwIfOptionUndefined=qO;function Ka(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new ki(e,t,r)}s(Ka,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=Ka;function $O(e,t,r,n){if(Ka(e,t,r,n),!(0,je.isString)(n))throw new Fn(e,t,r,"string")}s($O,"throwIfOptionNotString");V.throwIfOptionNotString=$O;function jO(e,t,r,n){if(Ka(e,t,r,n),!(0,je.isNumber)(n))throw new Fn(e,t,r,"number")}s(jO,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=jO;function VO(e,t,r,n){if(Ka(e,t,r,n),!(0,je.isObject)(n))throw new Fn(e,t,r,"object")}s(VO,"throwIfOptionNotObject");V.throwIfOptionNotObject=VO;function GO(e,t){if((0,je.isUndefined)(e))throw new et(t)}s(GO,"throwIfStateUndefined");V.throwIfStateUndefined=GO;function Ja(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(Ja,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=Ja;function BO(e,t){if(Ja(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(BO,"throwIfStateNotString");V.throwIfStateNotString=BO;function KO(e,t){if(Ja(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(KO,"throwIfStateNotNumber");V.throwIfStateNotNumber=KO;function JO(e,t){if(Ja(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(JO,"throwIfStateNotObject");V.throwIfStateNotObject=JO});var Yb=y(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.InMemoryRedisClient=qn.StandardRedisClient=void 0;var Mp=A(),za=Qb(),Hp=class e{static{s(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,za.throwIfNotString)(t,"redisClientUrl"),(0,za.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,za.throwIfNotString)(t,"url");let o=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=o.headers.get("Content-Type")?.includes("application/json")?await o.json():await o.text();if(o.ok)return a;throw o.status===401?new Mp.SystemError("Redis client failed with 401: Unauthorized"):new Mp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};qn.StandardRedisClient=Hp;var Fp=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,za.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:o,key:a}=JSON.parse(r),c=Date.now()+o*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 Mp.SystemError("The in-memory redis client only supports /rate-limit calls")}};qn.InMemoryRedisClient=Fp});var r_=y(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.RateLimitInboundPolicy=void 0;var zO=Tr(),WO=$t(),QO=ni(),At=A(),YO=te(),Zb=Re(),Mi=z(),Xb=Yb(),e_=st(),Wa=(0,zO.debug)("zuplo:policies:RateLimitInboundPolicy"),ZO="strict",XO=s(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"),eN=s(async e=>({key:`ip-${XO(e)}`}),"getIP"),tN=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),rN=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Qa;function nN(e,t){let r;if(Qa)return Qa;if(Mi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Xb.InMemoryRedisClient,Qa=r,r;let{authApiJWT:n,redisURL:i}=Mi.Environment.instance;if(!(0,e_.isString)(i))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,e_.isString)(n))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Xb.StandardRedisClient.initialize(i,n,Mi.Environment.instance.deploymentName??"unknown",Mi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new At.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Qa=r,r}s(nN,"getRedisClient");async function t_(e,t,r,n,i){let o=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:o,key:e}),requestId:i})}s(t_,"getCountAndUpdateExpiry");function iN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new At.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 At.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return s(async(i,o,a)=>{let c=await r(i,o,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw o.log.error(u),new At.RuntimeError(u)}return c},"outerFunction")}s(iN,"wrapUserFunction");var oN="Retry-After",sN=s(async(e,t,r,n)=>{let i=Date.now(),o=Zb.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new At.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[oN]=l.toString()),YO.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:iN(r,n),user:tN,ip:eN,all:rN}[r.rateLimitBy],d=await l(e,t,n),p=d.key,f=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=nN(n,o),T=`bucket/${Mi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??ZO)==="async"){let L=await(0,WO.getPolicyCacheName)(n,r),ne=new QO.ZoneCache(L,{logger:Zb.SystemLogMap.getLogger(t)}),ie=t_(T,h,_,o,t.requestId),me=await ne.get(T);if(me!==void 0&&me<=Date.now()){Wa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${T}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(g,Be)}return t.addEventListener("responseSending",Be=>{try{let w=Be,M=w.mutableResponse;w.mutableResponse=(async()=>{let Le=await ie;if(Le.count>f){let pu=Date.now()+Le.ttlSeconds*1e3,GE=ne.put(T,pu,Le.ttlSeconds).catch(Ah=>{throw o.error(new At.SystemError("Error caching rate limit result.",{cause:Ah})),Ah});return t.waitUntil(GE),Wa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,Le.ttlSeconds)}return M})()}catch(w){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let K=await t_(T,h,_,o,t.requestId);return K.count>f?(Wa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (strict mode)`),c(g,K.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Wa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Ya.RateLimitInboundPolicy=sN});var s_=y(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.ReadmeMetricsInboundPolicy=void 0;var aN=ve(),qp=z(),n_=ai(),$p;function i_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(i_,"headersToNameValuePairs");function cN(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(cN,"queryToNameValueParis");function uN(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(uN,"parseIntOrUndefined");var o_={};async function lN(e,t,r,n){let i=new Date,o=Date.now();return $p||($p={name:"zuplo",version:qp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${qp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,n_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,n_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:qp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:$p,entries:[{startedDateTime:i.toISOString(),time:Date.now()-o,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:i_(e.headers),queryString:cN(e.query)},response:{status:a.status,statusText:a.statusText,headers:i_(a.headers),content:{size:uN(e.headers.get("content-length"))}}}]}}},d=o_[r.apiKey];if(!d){let p=r.apiKey;d=new aN.BatchDispatch("readme-metering-inbound-policy",10,async f=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(f),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),o_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(lN,"ReadmeMetricsInboundPolicy");Za.ReadmeMetricsInboundPolicy=lN});var a_=y(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.RemoveHeadersInboundPolicy=void 0;var dN=A(),pN=He(),hN=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new dN.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let o=new Headers(e.headers);return i.forEach(c=>{o.delete(c)}),new pN.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");Xa.RemoveHeadersInboundPolicy=hN});var c_=y(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.RemoveHeadersOutboundPolicy=void 0;var fN=A(),mN=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new fN.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return o.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");ec.RemoveHeadersOutboundPolicy=mN});var u_=y(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.RemoveQueryParamsInboundPolicy=void 0;var yN=A(),gN=He(),bN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new yN.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let o=new URL(e.url);return i.forEach(c=>{o.searchParams.delete(c)}),new gN.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");tc.RemoveQueryParamsInboundPolicy=bN});var l_=y(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.ReplaceStringOutboundPolicy=void 0;var _N=s(async(e,t,r,n)=>{let i=await e.text(),o=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(o,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");rc.ReplaceStringOutboundPolicy=_N});var p_=y(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.RequestSizeLimitInboundPolicy=void 0;var d_=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),EN=s(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),o=i!==null?parseInt(i):void 0;return o&&!isNaN(o)&&o>r.maxSizeInBytes?d_():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?d_():e},"RequestSizeLimitInboundPolicy");nc.RequestSizeLimitInboundPolicy=EN});var ic=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function wN(e,t,r){return`_${Hr(e+"_"+t+"_"+r)}`}s(wN,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=wN;function vN(e,t,r,n){return`_${Hr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(vN,"getIdForParameterSchema");tt.getIdForParameterSchema=vN;function SN(e,t,r){return`_${Hr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Hr(r.toLowerCase())}`}s(SN,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=SN;function TN(e,t){return`_${Hr(e)}__${Hr(t)}`}s(TN,"getIdForRefSchema");tt.getIdForRefSchema=TN;function Hr(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("")}s(Hr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Hr});var Hi=y(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.getErrorsFromValidator=De.shouldReject=De.shouldLog=De.logErrors=De.validateParameters=De.getParametersForOperation=void 0;var IN=Ir(),PN=ic(),AN=s(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");De.getParametersForOperation=AN;var RN=s((e,t,r,n,i)=>{let o=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,o.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,PN.getIdForParameterSchema)(r,n,i,u.name),p=IN.Gateway.instance.schemaValidator[d],f=p(t[u.name]),h=(0,De.getErrorsFromValidator)(p.errors);f||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),o.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:o}},"validateParameters");De.validateParameters=RN;var ON=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");De.logErrors=ON;var NN=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");De.shouldLog=NN;var xN=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");De.shouldReject=xN;var CN=s(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");De.getErrorsFromValidator=CN});var h_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.handleBodyValidation=void 0;var LN=Ir(),oc=te(),DN=ic(),Je=Hi();async function UN(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let g=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=oc.HttpProblems.badRequest(t,e,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",g,[n],h),(0,Je.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,g=oc.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)?g:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,DN.getIdForRequestBodySchema)(e.route.path,t.method,i),c=LN.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")}`,g=oc.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)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),f=oc.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 f}s(UN,"handleBodyValidation");sc.handleBodyValidation=UN});var f_=y(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.handleHeadersValidation=void 0;var kN=te(),Fi=Hi();function MN(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Fi.getParametersForOperation)(e),o=(0,Fi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=kN.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,Fi.shouldLog)(r.validateHeaders)&&(0,Fi.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,Fi.shouldReject)(r.validateHeaders))return c}}s(MN,"handleHeadersValidation");ac.handleHeadersValidation=MN});var m_=y(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.handlePathParameterValidation=void 0;var HN=te(),qi=Hi();function FN(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,qi.getParametersForOperation)(e),i=(0,qi.validateParameters)(n.filter(o=>o.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let o="Path parameters validation failed",a=HN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,qi.shouldLog)(r.validatePathParameters)&&(0,qi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,qi.shouldReject)(r.validatePathParameters))return a}}s(FN,"handlePathParameterValidation");cc.handlePathParameterValidation=FN});var y_=y(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.handleQueryParameterValidation=void 0;var qN=te(),$i=Hi();function $N(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,$i.getParametersForOperation)(e),i=(0,$i.validateParameters)(n.filter(o=>o.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let o="Query parameters validation failed",a=qN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,$i.shouldLog)(r.validateQueryParameters)&&(0,$i.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,$i.shouldReject)(r.validateQueryParameters))return a}}s($N,"handleQueryParameterValidation");uc.handleQueryParameterValidation=$N});var g_=y(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.SchemaBasedRequestValidation=Fr.RequestValidationInboundPolicy=void 0;var jN=h_(),VN=f_(),GN=m_(),BN=y_(),KN=s(async(e,t,r)=>{let n=(0,BN.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,GN.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,VN.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,jN.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Fr.RequestValidationInboundPolicy=KN;Fr.SchemaBasedRequestValidation=Fr.RequestValidationInboundPolicy});var b_=y(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.RequireOriginInboundPolicy=void 0;var JN=A(),zN=te(),WN=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new JN.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 o=e.headers.get("origin");if(!o||!i.includes(o)){let a=r.failureDetail??"Forbidden";return zN.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");lc.RequireOriginInboundPolicy=WN});var __=y(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.SetBodyInboundPolicy=void 0;var QN=He(),YN=s(async(e,t,r)=>new QN.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");dc.SetBodyInboundPolicy=YN});var w_=y(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.SetHeadersInboundPolicy=void 0;var E_=A(),ZN=He(),XN=s(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new E_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let o=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new E_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.has(c.name)||u)&&o.set(c.name,c.value)}),new ZN.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");pc.SetHeadersInboundPolicy=XN});var S_=y(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.SetHeadersOutboundPolicy=void 0;var v_=A(),ex=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new v_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return o.forEach(u=>{if(!u.name||u.name.length===0)throw new v_.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");hc.SetHeadersOutboundPolicy=ex});var I_=y(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.SetQueryParamsInboundPolicy=void 0;var T_=A(),tx=He(),rx=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new T_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let o=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new T_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.searchParams.has(c.name)||u)&&o.searchParams.set(c.name,c.value)}),new tx.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");fc.SetQueryParamsInboundPolicy=rx});var P_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.SetStatusOutboundPolicy=void 0;var nx=s(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");mc.SetStatusOutboundPolicy=nx});var A_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.SleepInboundPolicy=void 0;var ix=A(),ox=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),sx=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new ix.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await ox(r.sleepInMs),e},"SleepInboundPolicy");yc.SleepInboundPolicy=sx});var O_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.SupabaseJwtInboundPolicy=void 0;var R_=A(),ax=te(),cx=He(),ux=qt(),lx=jt(),dx=s(async(e,t,r,n)=>{(0,ux.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,lx.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof cx.ZuploRequest))throw new R_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return o;let c=e.user?.data.app_metadata;if(!c)throw new R_.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?ax.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");gc.SupabaseJwtInboundPolicy=dx});var x_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var px=$t(),hx=Kt(),N_=A(),fx=pr(),mx=qt(),yx=s(async(e,t,r,n)=>{(0,mx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,px.getPolicyCacheName)(n,r),o=new hx.MemoryZoneReadThroughCache(i,t),a=await o.get(n);if(!a){let c=await gx(r,t);o.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");bc.UpstreamAzureAdServiceAuthInboundPolicy=yx;async function gx(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,fx.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 o=await n.text();t.log.error("Could not get token from Azure AD",o)}catch{}throw new N_.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 N_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(gx,"getAccessToken")});var L_=y(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var bx=$t(),_x=Kt(),Ex=A(),jp=hn(),wx=qt(),C_="https://accounts.google.com/o/oauth2/token",Vp,vx=s(async(e,t,r,n)=>{(0,wx.optionValidator)(r,n).required("serviceAccountJson","string"),Vp||(Vp=await jp.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(" ")},o=await(0,bx.getPolicyCacheName)(n,r),a=new _x.MemoryZoneReadThroughCache(o,t),c=await a.get(n);if(!c){let u=await(0,jp.getTokenFromGcpServiceAccount)({serviceAccount:Vp,audience:C_,payload:i}),l=await(0,jp.exchangeGgpJwtForIdToken)(C_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new Ex.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");_c.UpstreamFirebaseAdminAuthInboundPolicy=vx});var D_=y(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.UpstreamFirebaseUserAuthInboundPolicy=void 0;var Sx=$t(),Tx=Kt(),$n=A(),Ix=Ip(),Gp=hn(),Px=ai(),Ax=qt(),Rx="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",Ox=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Bp,Nx=s(async(e,t,r,n)=>{if((0,Ax.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new $n.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(Ox.indexOf(p)!==-1)throw new $n.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Bp||(Bp=await Gp.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new $n.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");o=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new $n.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,Px.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new $n.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,Sx.getPolicyCacheName)(n,r),c=new Tx.MemoryZoneReadThroughCache(a,t),u={uid:o,claims:i},l=await(0,Ix.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Gp.getTokenFromGcpServiceAccount)({serviceAccount:Bp,audience:Rx,payload:u}),f=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Gp.exchangeFirebaseJwtForIdToken)(f,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new $n.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");Ec.UpstreamFirebaseUserAuthInboundPolicy=Nx});var k_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.UpstreamGcpJwtInboundPolicy=void 0;var U_=hn(),xx=qt(),Kp,Cx=s(async(e,t,r,n)=>{(0,xx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Kp||(Kp=await U_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,U_.getTokenFromGcpServiceAccount)({serviceAccount:Kp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");wc.UpstreamGcpJwtInboundPolicy=Cx});var H_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.UpstreamGcpServiceAuthInboundPolicy=void 0;var Lx=$t(),Dx=_u(),Ux=Kt(),kx=A(),Jp=hn(),Mx=qt(),M_="https://www.googleapis.com/oauth2/v4/token",zp,Hx=s(async(e,t,r,n)=>{(0,Mx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),zp||(zp=await Jp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,Lx.getPolicyCacheName)(n,r),o;r.useMemoryCacheOnly?o=new Dx.MemoryCache(i):o=new Ux.MemoryZoneReadThroughCache(i,t);let a=await o.get(n);if(!a){let c=await(0,Jp.getTokenFromGcpServiceAccount)({serviceAccount:zp,audience:M_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,Jp.exchangeGgpJwtForIdToken)(M_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new kx.RuntimeError("Invalid token response from GCP");a=u,o.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");vc.UpstreamGcpServiceAuthInboundPolicy=Hx});var q_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.ValidateJsonSchemaInbound=void 0;var Fx=A(),F_=te(),qx=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return F_.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 Fx.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 F_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Sc.ValidateJsonSchemaInbound=qx});var V_=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.MeteringInboundPolicy=void 0;var $_=Js(),j_=yn(),Tc=A(),$x=te(),jx=Re(),Vx=z(),Gx=s(async(e,t,r,n)=>{let i=jx.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,f)=>{let h=$_.ContextData.get(f,"subscription");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;if(!r.bucketId)if(j_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=j_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Tc.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:_,meteringServiceUrl:S}=Vx.Environment.instance;if(d.ok&&h&&r.meters)try{let T=await fetch(`${S}/internal/v1/metering/${r.bucketId}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${_}`,"zp-rid":f.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});T.ok||(f.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${T.status} - ${T.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${T.status} - ${T.statusText}`))}catch(T){f.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,T)}});let o=$_.ContextData.get(t,"subscription"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!o){if(a)return e;throw new Tc.ConfigurationError("Subscription is not available for user")}if(o&&Object.keys(o.quotas).length===0)throw new Tc.ConfigurationError("Quota is not set up for the user's subscription");let l=Object.keys(r.meters).filter(d=>!Object.keys(o.quotas).includes(d));if(l.length>0)throw new Tc.ConfigurationError(`The following policy meters are not present in the subscription: ${l.join(", ")}`);for(let d of Object.keys(o.quotas))if(o.quotas[d]<=0&&!c)return $x.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");Ic.MeteringInboundPolicy=Gx});var K_=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.LoadSubscriptionInboundPolicy=void 0;var Bx=ni(),Kx=Js(),G_=yn(),Jx=A(),Wp=te(),B_=Re(),zx=z(),Wx=s(async(e,t,r,n)=>{let i=B_.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=e.user;if(!a)return o?e:Wp.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(G_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=G_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Jx.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:c,meteringServiceUrl:u}=zx.Environment.instance,{sub:l}=a,d;try{let f=`${r.bucketId}-${l}`,h=new Bx.ZoneCache(f,{logger:B_.SystemLogMap.getLogger(t)}),g=await h.get(f);if(g)d=g;else{let _=await fetch(`${u}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${l}&status=active`,{headers:{Authorization:`Bearer ${c}`,"zp-rid":t.requestId},method:"GET"});if(!_.ok)return t.log.error(await _.text()),Wp.HttpProblems.forbidden(e,t);d=await _.json(),h.put(f,d,15).catch(S=>{throw i.error(S),S})}}catch(f){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,f)}if((!d||!d.data||d.data.length===0)&&!o)return Wp.HttpProblems.unauthorized(e,t,{detail:"No valid, active subscription found"});if((!d||!d.data||d.data.length===0)&&o)return e;let p=d&&d.data?d.data[0]:void 0;return Kx.ContextData.set(t,"subscription",p),e},"LoadSubscriptionInboundPolicy");Pc.LoadSubscriptionInboundPolicy=Wx});var J_=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.ServiceProviderImpl=void 0;var Qx=A(),Qp=class{static{s(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new Qx.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)}};Ac.ServiceProviderImpl=Qp});var iE=y(m=>{"use strict";var Yx=m&&m.__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]}),Yp=m&&m.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Yx(t,e,r)},Zx=m&&m.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(m,"__esModule",{value:!0});m.ReadmeMetricsInboundPolicy=m.RateLimitInboundPolicy=m.BasicRateLimitInboundPolicy=m.PropelAuthJwtInboundPolicy=m.OpenIdJwtInboundPolicy=m.OktaJwtInboundPolicy=m.setMoesifContext=m.MoesifInboundPolicy=m.MockApiInboundPolicy=m.JWTScopeValidationInboundPolicy=m.GeoFilterInboundPolicy=m.FormDataToJsonInboundPolicy=m.FirebaseJwtInboundPolicy=m.CurityPhantomTokenInboundPolicy=m.CompositeInboundPolicy=m.CognitoJwtInboundPolicy=m.ClerkJwtInboundPolicy=m.ClearHeadersOutboundPolicy=m.ClearHeadersInboundPolicy=m.ChangeMethodInboundPolicy=m.CachingInboundPolicy=m.BasicAuthInboundPolicy=m.Auth0JwtInboundPolicy=m.ApiKeyInboundPolicy=m.ApiAuthKeyInboundPolicy=m.AmberfloMeteringPolicy=m.AmberfloMeteringInboundPolicy=m.AuditLogPlugin=m.AuditLogDataStaxProvider=m.HttpStatusCode=m.webSocketPipelineHandler=m.webSocketHandler=m.urlRewriteHandler=m.urlForwardHandler=m.redirectHandler=m.openApiSpecHandler=m.awsLambdaHandler=m.AwsLambdaHandlerExtensions=m.purgeGatewayCache=m.Handler=m.originalFetch=m.ConfigurationError=m.isZuploReadableEnvVariableName=m.isRestrictedEnvVariableName=m.environment=m.ContextData=m.ResponseSentEvent=m.ResponseSendingEvent=m.ZoneCache=m.MemoryZoneReadThroughCache=void 0;m.sanitizedIdentifierName=m.getRawOperationDataIdentifierName=m.getIdForRequestBodySchema=m.getIdForRefSchema=m.getIdForParameterSchema=m.SystemLogMap=m.httpStatuses=m.SYSTEM_LOGGER=m.API_KEY=m.ServiceProviderImpl=m.serialize=m.ContentTypes=m.Router=m.LookupResult=m.SystemRouteName=m.ZuploRequest=m.ProblemResponseFormatter=m.HttpProblems=m.LoadSubscriptionInboundPolicy=m.MeteringInboundPolicy=m.ValidateJsonSchemaInbound=m.UpstreamGcpServiceAuthInboundPolicy=m.UpstreamGcpJwtInboundPolicy=m.UpstreamFirebaseUserAuthInboundPolicy=m.UpstreamFirebaseAdminAuthInboundPolicy=m.UpstreamAzureAdServiceAuthInboundPolicy=m.SupabaseJwtInboundPolicy=m.StripeWebhookVerificationInboundPolicy=m.SleepInboundPolicy=m.SetStatusOutboundPolicy=m.SetQueryParamsInboundPolicy=m.SetHeadersOutboundPolicy=m.SetHeadersInboundPolicy=m.SetBodyInboundPolicy=m.RequireOriginInboundPolicy=m.SchemaBasedRequestValidation=m.RequestValidationInboundPolicy=m.RequestSizeLimitInboundPolicy=m.ReplaceStringOutboundPolicy=m.RemoveQueryParamsInboundPolicy=m.RemoveHeadersOutboundPolicy=m.RemoveHeadersInboundPolicy=void 0;Lh();var Xx=Kt();Object.defineProperty(m,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return Xx.MemoryZoneReadThroughCache}});var eC=ni();Object.defineProperty(m,"ZoneCache",{enumerable:!0,get:function(){return eC.ZoneCache}});var z_=Pr();Object.defineProperty(m,"ResponseSendingEvent",{enumerable:!0,get:function(){return z_.ResponseSendingEvent}});Object.defineProperty(m,"ResponseSentEvent",{enumerable:!0,get:function(){return z_.ResponseSentEvent}});var tC=Js();Object.defineProperty(m,"ContextData",{enumerable:!0,get:function(){return tC.ContextData}});var Zp=yn();Object.defineProperty(m,"environment",{enumerable:!0,get:function(){return Zp.environment}});Object.defineProperty(m,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Zp.isRestrictedEnvVariableName}});Object.defineProperty(m,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Zp.isZuploReadableEnvVariableName}});var rC=A();Object.defineProperty(m,"ConfigurationError",{enumerable:!0,get:function(){return rC.ConfigurationError}});var nC=Ld();Object.defineProperty(m,"originalFetch",{enumerable:!0,get:function(){return nC.originalFetch}});var W_=cg();Object.defineProperty(m,"Handler",{enumerable:!0,get:function(){return W_.Handler}});Object.defineProperty(m,"purgeGatewayCache",{enumerable:!0,get:function(){return W_.purgeGatewayCache}});var Q_=Ig();Object.defineProperty(m,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return Q_.AwsLambdaHandlerExtensions}});Object.defineProperty(m,"awsLambdaHandler",{enumerable:!0,get:function(){return Q_.awsLambdaHandler}});var iC=Ag();Object.defineProperty(m,"openApiSpecHandler",{enumerable:!0,get:function(){return iC.openApiSpecHandler}});var oC=Rg();Object.defineProperty(m,"redirectHandler",{enumerable:!0,get:function(){return oC.redirectHandler}});var sC=Ng();Object.defineProperty(m,"urlForwardHandler",{enumerable:!0,get:function(){return sC.urlForwardHandler}});var aC=Cg();Object.defineProperty(m,"urlRewriteHandler",{enumerable:!0,get:function(){return aC.urlRewriteHandler}});var cC=Dg();Object.defineProperty(m,"webSocketHandler",{enumerable:!0,get:function(){return cC.webSocketHandler}});var uC=Mg();Object.defineProperty(m,"webSocketPipelineHandler",{enumerable:!0,get:function(){return uC.webSocketPipelineHandler}});var lC=Gu();Object.defineProperty(m,"HttpStatusCode",{enumerable:!0,get:function(){return lC.HttpStatusCode}});Yp(Bg(),m);Yp(zg(),m);var dC=Wg();Object.defineProperty(m,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return dC.AuditLogDataStaxProvider}});var pC=Yg();Object.defineProperty(m,"AuditLogPlugin",{enumerable:!0,get:function(){return pC.AuditLogPlugin}});Yp(fb(),m);var Y_=_b();Object.defineProperty(m,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return Y_.AmberfloMeteringInboundPolicy}});Object.defineProperty(m,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return Y_.AmberfloMeteringPolicy}});var hC=Tb();Object.defineProperty(m,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return hC.ApiAuthKeyInboundPolicy}});var fC=Rp();Object.defineProperty(m,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return fC.ApiKeyInboundPolicy}});var mC=Ib();Object.defineProperty(m,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return mC.Auth0JwtInboundPolicy}});var yC=Pb();Object.defineProperty(m,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return yC.BasicAuthInboundPolicy}});var gC=Ab();Object.defineProperty(m,"CachingInboundPolicy",{enumerable:!0,get:function(){return gC.CachingInboundPolicy}});var bC=Rb();Object.defineProperty(m,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return bC.ChangeMethodInboundPolicy}});var _C=Ob();Object.defineProperty(m,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return _C.ClearHeadersInboundPolicy}});var EC=Nb();Object.defineProperty(m,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return EC.ClearHeadersOutboundPolicy}});var wC=xb();Object.defineProperty(m,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return wC.ClerkJwtInboundPolicy}});var vC=Lb();Object.defineProperty(m,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return vC.CognitoJwtInboundPolicy}});var SC=Ub();Object.defineProperty(m,"CompositeInboundPolicy",{enumerable:!0,get:function(){return SC.CompositeInboundPolicy}});var TC=kb();Object.defineProperty(m,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return TC.CurityPhantomTokenInboundPolicy}});var IC=Mb();Object.defineProperty(m,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return IC.FirebaseJwtInboundPolicy}});var PC=Hb();Object.defineProperty(m,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return PC.FormDataToJsonInboundPolicy}});var AC=Fb();Object.defineProperty(m,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return AC.GeoFilterInboundPolicy}});var RC=qb();Object.defineProperty(m,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return RC.JWTScopeValidationInboundPolicy}});var OC=jb();Object.defineProperty(m,"MockApiInboundPolicy",{enumerable:!0,get:function(){return OC.MockApiInboundPolicy}});var Z_=Jb();Object.defineProperty(m,"MoesifInboundPolicy",{enumerable:!0,get:function(){return Z_.MoesifInboundPolicy}});Object.defineProperty(m,"setMoesifContext",{enumerable:!0,get:function(){return Z_.setMoesifContext}});var NC=zb();Object.defineProperty(m,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return NC.OktaJwtInboundPolicy}});var xC=jt();Object.defineProperty(m,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return xC.OpenIdJwtInboundPolicy}});var CC=Wb();Object.defineProperty(m,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return CC.PropelAuthJwtInboundPolicy}});var X_=r_();Object.defineProperty(m,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return X_.RateLimitInboundPolicy}});Object.defineProperty(m,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return X_.RateLimitInboundPolicy}});var LC=s_();Object.defineProperty(m,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return LC.ReadmeMetricsInboundPolicy}});var DC=a_();Object.defineProperty(m,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return DC.RemoveHeadersInboundPolicy}});var UC=c_();Object.defineProperty(m,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return UC.RemoveHeadersOutboundPolicy}});var kC=u_();Object.defineProperty(m,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return kC.RemoveQueryParamsInboundPolicy}});var MC=l_();Object.defineProperty(m,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return MC.ReplaceStringOutboundPolicy}});var HC=p_();Object.defineProperty(m,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return HC.RequestSizeLimitInboundPolicy}});var eE=g_();Object.defineProperty(m,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return eE.RequestValidationInboundPolicy}});Object.defineProperty(m,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return eE.SchemaBasedRequestValidation}});var FC=b_();Object.defineProperty(m,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return FC.RequireOriginInboundPolicy}});var qC=__();Object.defineProperty(m,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return qC.SetBodyInboundPolicy}});var $C=w_();Object.defineProperty(m,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return $C.SetHeadersInboundPolicy}});var jC=S_();Object.defineProperty(m,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return jC.SetHeadersOutboundPolicy}});var VC=I_();Object.defineProperty(m,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return VC.SetQueryParamsInboundPolicy}});var GC=P_();Object.defineProperty(m,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return GC.SetStatusOutboundPolicy}});var BC=A_();Object.defineProperty(m,"SleepInboundPolicy",{enumerable:!0,get:function(){return BC.SleepInboundPolicy}});var KC=fp();Object.defineProperty(m,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return KC.StripeWebhookVerificationInboundPolicy}});var JC=O_();Object.defineProperty(m,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return JC.SupabaseJwtInboundPolicy}});var zC=x_();Object.defineProperty(m,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return zC.UpstreamAzureAdServiceAuthInboundPolicy}});var WC=L_();Object.defineProperty(m,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return WC.UpstreamFirebaseAdminAuthInboundPolicy}});var QC=D_();Object.defineProperty(m,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return QC.UpstreamFirebaseUserAuthInboundPolicy}});var YC=k_();Object.defineProperty(m,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return YC.UpstreamGcpJwtInboundPolicy}});var ZC=H_();Object.defineProperty(m,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return ZC.UpstreamGcpServiceAuthInboundPolicy}});var XC=q_();Object.defineProperty(m,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return XC.ValidateJsonSchemaInbound}});var eL=V_();Object.defineProperty(m,"MeteringInboundPolicy",{enumerable:!0,get:function(){return eL.MeteringInboundPolicy}});var tL=K_();Object.defineProperty(m,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return tL.LoadSubscriptionInboundPolicy}});var rL=te();Object.defineProperty(m,"HttpProblems",{enumerable:!0,get:function(){return rL.HttpProblems}});var nL=_o();Object.defineProperty(m,"ProblemResponseFormatter",{enumerable:!0,get:function(){return nL.ProblemResponseFormatter}});var iL=He();Object.defineProperty(m,"ZuploRequest",{enumerable:!0,get:function(){return iL.ZuploRequest}});var oL=Rr();Object.defineProperty(m,"SystemRouteName",{enumerable:!0,get:function(){return oL.SystemRouteName}});var tE=Sd();Object.defineProperty(m,"LookupResult",{enumerable:!0,get:function(){return tE.LookupResult}});Object.defineProperty(m,"Router",{enumerable:!0,get:function(){return tE.Router}});var rE=Du();Object.defineProperty(m,"ContentTypes",{enumerable:!0,get:function(){return rE.ContentTypes}});Object.defineProperty(m,"serialize",{enumerable:!0,get:function(){return rE.serialize}});var sL=J_();Object.defineProperty(m,"ServiceProviderImpl",{enumerable:!0,get:function(){return sL.ServiceProviderImpl}});var nE=nl();Object.defineProperty(m,"API_KEY",{enumerable:!0,get:function(){return nE.API_KEY}});Object.defineProperty(m,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return nE.SYSTEM_LOGGER}});var aL=Ku();Object.defineProperty(m,"httpStatuses",{enumerable:!0,get:function(){return Zx(aL).default}});var cL=Re();Object.defineProperty(m,"SystemLogMap",{enumerable:!0,get:function(){return cL.SystemLogMap}});var ji=ic();Object.defineProperty(m,"getIdForParameterSchema",{enumerable:!0,get:function(){return ji.getIdForParameterSchema}});Object.defineProperty(m,"getIdForRefSchema",{enumerable:!0,get:function(){return ji.getIdForRefSchema}});Object.defineProperty(m,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return ji.getIdForRequestBodySchema}});Object.defineProperty(m,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return ji.getRawOperationDataIdentifierName}});Object.defineProperty(m,"sanitizedIdentifierName",{enumerable:!0,get:function(){return ji.sanitizedIdentifierName}})});var oE=y(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.BaseCryptoBeta=jn.supportedDigests=void 0;jn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Xp=class{static{s(this,"BaseCryptoBeta")}};jn.BaseCryptoBeta=Xp});var sE=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.WorkerCryptoBeta=void 0;var eh=oE(),uL=A(),th=class extends eh.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!eh.supportedDigests.includes(t.toLowerCase()))throw new uL.RuntimeError(`Algorithm ${t} is not supported. Try using ${eh.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("")}};Rc.WorkerCryptoBeta=th});var aE=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.BaseKeyValueStore=void 0;var rh=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Oc.BaseKeyValueStore=rh});var uE=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.WorkerKeyValueStore=void 0;var cE=A(),lL=aE(),nh=class extends lL.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new cE.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 cE.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)}};Nc.WorkerKeyValueStore=nh});var Dt=y(dt=>{"use strict";var dL=dt&&dt.__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]}),pL=dt&&dt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&dL(t,e,r)};Object.defineProperty(dt,"__esModule",{value:!0});dt.KeyValueStore=dt.CryptoBeta=void 0;pL(iE(),dt);var hL=sE();Object.defineProperty(dt,"CryptoBeta",{enumerable:!0,get:function(){return hL.WorkerCryptoBeta}});var fL=uE();Object.defineProperty(dt,"KeyValueStore",{enumerable:!0,get:function(){return fL.WorkerKeyValueStore}})});var wD={};io(wD,{GraphQLComplexityLimitInboundPolicy:()=>$E,GraphQLDisableIntrospectionInboundPolicy:()=>VE});module.exports=oo(wD);var ei=Oh(Dt());function G(e,t){if(!!!e)throw new Error(t)}s(G,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}s(Ee,"isObjectLike");function Rt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(Rt,"invariant");var mL=/\r\n|[\n\r]/g;function Vn(e,t){let r=0,n=1;for(let i of e.body.matchAll(mL)){if(typeof i.index=="number"||Rt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s(Vn,"getLocation");function ih(e){return xc(e.source,Vn(e.source,e.start))}s(ih,"printLocation");function xc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,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 f=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+lE([[`${a} |`,g[0]],...g.slice(1,f+1).map(_=>["|",_]),["|","^".padStart(h)],["|",g[f+1]]])}return l+lE([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}s(xc,"printSourceLocation");function lE(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
+ `)}s(lE,"printPrefixedLines");function yL(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}s(yL,"toNormalizedOptions");var C=class e extends Error{static{s(this,"GraphQLError")}constructor(t,...r){var n,i,o;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=yL(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=dE(Array.isArray(a)?a:a?[a]:void 0);let f=dE((n=this.nodes)===null||n===void 0?void 0:n.map(g=>g.loc).filter(g=>g!=null));this.source=c??(f==null||(i=f[0])===null||i===void 0?void 0:i.source),this.positions=u??f?.map(g=>g.start),this.locations=u&&c?u.map(g=>Vn(c,g)):f?.map(g=>Vn(g.source,g.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(o=p??h)!==null&&o!==void 0?o: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
- `+Zp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
78
+ `+ih(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
79
79
 
80
- `+Rc(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 uE(e){return e===void 0||e.length===0?void 0:e}s(uE,"undefinedIfEmpty");function de(e,t,r){return new C(`Syntax Error: ${r}`,{source:e,positions:[t]})}s(de,"syntaxError");var $i=class{static{s(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}}},Vn=class{static{s(this,"Token")}constructor(t,r,n,i,o,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=o,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}}},Xp={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"]},nL=new Set(Object.keys(Xp));function ji(e){let t=e?.kind;return typeof t=="string"&&nL.has(t)}s(ji,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var B;(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"})(B||(B={}));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 Oc(e){return e===9||e===32}s(Oc,"isWhiteSpace");function Gn(e){return e>=48&&e<=57}s(Gn,"isDigit");function lE(e){return e>=97&&e<=122||e>=65&&e<=90}s(lE,"isLetter");function Vi(e){return lE(e)||e===95}s(Vi,"isNameStart");function Nc(e){return lE(e)||Gn(e)||e===95}s(Nc,"isNameContinue");function dE(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var o;let c=e[a],u=iL(c);u!==c.length&&(n=(o=n)!==null&&o!==void 0?o: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)}s(dE,"dedentBlockStringLines");function iL(e){let t=0;for(;t<e.length&&Oc(e.charCodeAt(t));)++t;return t}s(iL,"leadingWhitespace");function pE(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,o=n.length>1&&n.slice(1).every(h=>h.length===0||Oc(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||o||a),p="",f=i&&Oc(e.charCodeAt(0));return(d&&!f||o)&&(p+=`
80
+ `+xc(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 dE(e){return e===void 0||e.length===0?void 0:e}s(dE,"undefinedIfEmpty");function de(e,t,r){return new C(`Syntax Error: ${r}`,{source:e,positions:[t]})}s(de,"syntaxError");var Vi=class{static{s(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}}},Gn=class{static{s(this,"Token")}constructor(t,r,n,i,o,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=o,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}}},oh={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"]},gL=new Set(Object.keys(oh));function Gi(e){let t=e?.kind;return typeof t=="string"&&gL.has(t)}s(Gi,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var B;(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"})(B||(B={}));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 Cc(e){return e===9||e===32}s(Cc,"isWhiteSpace");function Bn(e){return e>=48&&e<=57}s(Bn,"isDigit");function pE(e){return e>=97&&e<=122||e>=65&&e<=90}s(pE,"isLetter");function Bi(e){return pE(e)||e===95}s(Bi,"isNameStart");function Lc(e){return pE(e)||Bn(e)||e===95}s(Lc,"isNameContinue");function hE(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var o;let c=e[a],u=bL(c);u!==c.length&&(n=(o=n)!==null&&o!==void 0?o: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)}s(hE,"dedentBlockStringLines");function bL(e){let t=0;for(;t<e.length&&Cc(e.charCodeAt(t));)++t;return t}s(bL,"leadingWhitespace");function fE(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,o=n.length>1&&n.slice(1).every(h=>h.length===0||Cc(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||o||a),p="",f=i&&Cc(e.charCodeAt(0));return(d&&!f||o)&&(p+=`
81
81
  `),p+=r,(d||l)&&(p+=`
82
- `),'"""'+p+'"""'}s(pE,"printBlockString");var E;(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"})(E||(E={}));var Bi=class{static{s(this,"Lexer")}constructor(t){let r=new Vn(E.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!==E.EOF)do if(t.next)t=t.next;else{let r=oL(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===E.COMMENT);return t}};function fE(e){return e===E.BANG||e===E.DOLLAR||e===E.AMP||e===E.PAREN_L||e===E.PAREN_R||e===E.SPREAD||e===E.COLON||e===E.EQUALS||e===E.AT||e===E.BRACKET_L||e===E.BRACKET_R||e===E.BRACE_L||e===E.PIPE||e===E.BRACE_R}s(fE,"isPunctuatorTokenKind");function Bn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}s(Bn,"isUnicodeScalarValue");function xc(e,t){return mE(e.charCodeAt(t))&&yE(e.charCodeAt(t+1))}s(xc,"isSupplementaryCodePoint");function mE(e){return e>=55296&&e<=56319}s(mE,"isLeadingSurrogate");function yE(e){return e>=56320&&e<=57343}s(yE,"isTrailingSurrogate");function qr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return E.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}s(qr,"printCodePointAt");function fe(e,t,r,n,i){let o=e.line,a=1+r-e.lineStart;return new Vn(t,r,n,o,a,i)}s(fe,"createToken");function oL(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let o=r.charCodeAt(i);switch(o){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 sL(e,i);case 33:return fe(e,E.BANG,i,i+1);case 36:return fe(e,E.DOLLAR,i,i+1);case 38:return fe(e,E.AMP,i,i+1);case 40:return fe(e,E.PAREN_L,i,i+1);case 41:return fe(e,E.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,E.SPREAD,i,i+3);break;case 58:return fe(e,E.COLON,i,i+1);case 61:return fe(e,E.EQUALS,i,i+1);case 64:return fe(e,E.AT,i,i+1);case 91:return fe(e,E.BRACKET_L,i,i+1);case 93:return fe(e,E.BRACKET_R,i,i+1);case 123:return fe(e,E.BRACE_L,i,i+1);case 124:return fe(e,E.PIPE,i,i+1);case 125:return fe(e,E.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?pL(e,i):cL(e,i)}if(Gn(o)||o===45)return aL(e,i,o);if(Vi(o))return hL(e,i);throw de(e.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Bn(o)||xc(r,i)?`Unexpected character: ${qr(e,i)}.`:`Invalid character: ${qr(e,i)}.`)}return fe(e,E.EOF,n,n)}s(oL,"readNextToken");function sL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(o===10||o===13)break;if(Bn(o))++i;else if(xc(r,i))i+=2;else break}return fe(e,E.COMMENT,t,i,r.slice(t+1,i))}s(sL,"readComment");function aL(e,t,r){let n=e.source.body,i=t,o=r,a=!1;if(o===45&&(o=n.charCodeAt(++i)),o===48){if(o=n.charCodeAt(++i),Gn(o))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${qr(e,i)}.`)}else i=eh(e,i,o),o=n.charCodeAt(i);if(o===46&&(a=!0,o=n.charCodeAt(++i),i=eh(e,i,o),o=n.charCodeAt(i)),(o===69||o===101)&&(a=!0,o=n.charCodeAt(++i),(o===43||o===45)&&(o=n.charCodeAt(++i)),i=eh(e,i,o),o=n.charCodeAt(i)),o===46||Vi(o))throw de(e.source,i,`Invalid number, expected digit but got: ${qr(e,i)}.`);return fe(e,a?E.FLOAT:E.INT,t,i,n.slice(t,i))}s(aL,"readNumber");function eh(e,t,r){if(!Gn(r))throw de(e.source,t,`Invalid number, expected digit but got: ${qr(e,t)}.`);let n=e.source.body,i=t+1;for(;Gn(n.charCodeAt(i));)++i;return i}s(eh,"readDigits");function cL(e,t){let r=e.source.body,n=r.length,i=t+1,o=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(o,i),fe(e,E.STRING,t,i+1,a);if(c===92){a+=r.slice(o,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?uL(e,i):lL(e,i):dL(e,i);a+=u.value,i+=u.size,o=i;continue}if(c===10||c===13)break;if(Bn(c))++i;else if(xc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${qr(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}s(cL,"readString");function uL(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let o=r.charCodeAt(t+i++);if(o===125){if(i<5||!Bn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Gi(o),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}s(uL,"readEscapedUnicodeVariableWidth");function lL(e,t){let r=e.source.body,n=hE(r,t+2);if(Bn(n))return{value:String.fromCodePoint(n),size:6};if(mE(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=hE(r,t+8);if(yE(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}s(lL,"readEscapedUnicodeFixedWidth");function hE(e,t){return Gi(e.charCodeAt(t))<<12|Gi(e.charCodeAt(t+1))<<8|Gi(e.charCodeAt(t+2))<<4|Gi(e.charCodeAt(t+3))}s(hE,"read16BitHexCode");function Gi(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}s(Gi,"readHexDigit");function dL(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)}".`)}s(dL,"readEscapedCharacter");function pL(e,t){let r=e.source.body,n=r.length,i=e.lineStart,o=t+3,a=o,c="",u=[];for(;o<n;){let l=r.charCodeAt(o);if(l===34&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34){c+=r.slice(a,o),u.push(c);let d=fe(e,E.BLOCK_STRING,t,o+3,dE(u).join(`
84
- `));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34&&r.charCodeAt(o+3)===34){c+=r.slice(a,o),a=o+1,o+=4;continue}if(l===10||l===13){c+=r.slice(a,o),u.push(c),l===13&&r.charCodeAt(o+1)===10?o+=2:++o,c="",a=o,i=o;continue}if(Bn(l))++o;else if(xc(r,o))o+=2;else throw de(e.source,o,`Invalid character within String: ${qr(e,o)}.`)}throw de(e.source,o,"Unterminated string.")}s(pL,"readBlockString");function hL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(Nc(o))++i;else break}return fe(e,E.NAME,t,i,r.slice(t,i))}s(hL,"readName");function P(e){return Cc(e,[])}s(P,"inspect");function Cc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return fL(e,t);default:return String(e)}}s(Cc,"formatValue");function fL(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(mL(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:Cc(n,r)}else if(Array.isArray(e))return gL(e,r);return yL(e,r)}s(fL,"formatObjectValue");function mL(e){return typeof e.toJSON=="function"}s(mL,"isJSONable");function yL(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+bL(e)+"]":"{ "+r.map(([i,o])=>i+": "+Cc(o,t)).join(", ")+" }"}s(yL,"formatObject");function gL(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 o=0;o<r;++o)i.push(Cc(e[o],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}s(gL,"formatArray");function bL(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}s(bL,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?s(function(t,r){return t instanceof r},"instanceOf"):s(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],o=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===o){let a=P(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
82
+ `),'"""'+p+'"""'}s(fE,"printBlockString");var E;(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"})(E||(E={}));var Ji=class{static{s(this,"Lexer")}constructor(t){let r=new Gn(E.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!==E.EOF)do if(t.next)t=t.next;else{let r=_L(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===E.COMMENT);return t}};function yE(e){return e===E.BANG||e===E.DOLLAR||e===E.AMP||e===E.PAREN_L||e===E.PAREN_R||e===E.SPREAD||e===E.COLON||e===E.EQUALS||e===E.AT||e===E.BRACKET_L||e===E.BRACKET_R||e===E.BRACE_L||e===E.PIPE||e===E.BRACE_R}s(yE,"isPunctuatorTokenKind");function Kn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}s(Kn,"isUnicodeScalarValue");function Dc(e,t){return gE(e.charCodeAt(t))&&bE(e.charCodeAt(t+1))}s(Dc,"isSupplementaryCodePoint");function gE(e){return e>=55296&&e<=56319}s(gE,"isLeadingSurrogate");function bE(e){return e>=56320&&e<=57343}s(bE,"isTrailingSurrogate");function qr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return E.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}s(qr,"printCodePointAt");function fe(e,t,r,n,i){let o=e.line,a=1+r-e.lineStart;return new Gn(t,r,n,o,a,i)}s(fe,"createToken");function _L(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let o=r.charCodeAt(i);switch(o){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 EL(e,i);case 33:return fe(e,E.BANG,i,i+1);case 36:return fe(e,E.DOLLAR,i,i+1);case 38:return fe(e,E.AMP,i,i+1);case 40:return fe(e,E.PAREN_L,i,i+1);case 41:return fe(e,E.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,E.SPREAD,i,i+3);break;case 58:return fe(e,E.COLON,i,i+1);case 61:return fe(e,E.EQUALS,i,i+1);case 64:return fe(e,E.AT,i,i+1);case 91:return fe(e,E.BRACKET_L,i,i+1);case 93:return fe(e,E.BRACKET_R,i,i+1);case 123:return fe(e,E.BRACE_L,i,i+1);case 124:return fe(e,E.PIPE,i,i+1);case 125:return fe(e,E.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?PL(e,i):vL(e,i)}if(Bn(o)||o===45)return wL(e,i,o);if(Bi(o))return AL(e,i);throw de(e.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Kn(o)||Dc(r,i)?`Unexpected character: ${qr(e,i)}.`:`Invalid character: ${qr(e,i)}.`)}return fe(e,E.EOF,n,n)}s(_L,"readNextToken");function EL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(o===10||o===13)break;if(Kn(o))++i;else if(Dc(r,i))i+=2;else break}return fe(e,E.COMMENT,t,i,r.slice(t+1,i))}s(EL,"readComment");function wL(e,t,r){let n=e.source.body,i=t,o=r,a=!1;if(o===45&&(o=n.charCodeAt(++i)),o===48){if(o=n.charCodeAt(++i),Bn(o))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${qr(e,i)}.`)}else i=sh(e,i,o),o=n.charCodeAt(i);if(o===46&&(a=!0,o=n.charCodeAt(++i),i=sh(e,i,o),o=n.charCodeAt(i)),(o===69||o===101)&&(a=!0,o=n.charCodeAt(++i),(o===43||o===45)&&(o=n.charCodeAt(++i)),i=sh(e,i,o),o=n.charCodeAt(i)),o===46||Bi(o))throw de(e.source,i,`Invalid number, expected digit but got: ${qr(e,i)}.`);return fe(e,a?E.FLOAT:E.INT,t,i,n.slice(t,i))}s(wL,"readNumber");function sh(e,t,r){if(!Bn(r))throw de(e.source,t,`Invalid number, expected digit but got: ${qr(e,t)}.`);let n=e.source.body,i=t+1;for(;Bn(n.charCodeAt(i));)++i;return i}s(sh,"readDigits");function vL(e,t){let r=e.source.body,n=r.length,i=t+1,o=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(o,i),fe(e,E.STRING,t,i+1,a);if(c===92){a+=r.slice(o,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?SL(e,i):TL(e,i):IL(e,i);a+=u.value,i+=u.size,o=i;continue}if(c===10||c===13)break;if(Kn(c))++i;else if(Dc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${qr(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}s(vL,"readString");function SL(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let o=r.charCodeAt(t+i++);if(o===125){if(i<5||!Kn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Ki(o),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}s(SL,"readEscapedUnicodeVariableWidth");function TL(e,t){let r=e.source.body,n=mE(r,t+2);if(Kn(n))return{value:String.fromCodePoint(n),size:6};if(gE(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=mE(r,t+8);if(bE(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}s(TL,"readEscapedUnicodeFixedWidth");function mE(e,t){return Ki(e.charCodeAt(t))<<12|Ki(e.charCodeAt(t+1))<<8|Ki(e.charCodeAt(t+2))<<4|Ki(e.charCodeAt(t+3))}s(mE,"read16BitHexCode");function Ki(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}s(Ki,"readHexDigit");function IL(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)}".`)}s(IL,"readEscapedCharacter");function PL(e,t){let r=e.source.body,n=r.length,i=e.lineStart,o=t+3,a=o,c="",u=[];for(;o<n;){let l=r.charCodeAt(o);if(l===34&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34){c+=r.slice(a,o),u.push(c);let d=fe(e,E.BLOCK_STRING,t,o+3,hE(u).join(`
84
+ `));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34&&r.charCodeAt(o+3)===34){c+=r.slice(a,o),a=o+1,o+=4;continue}if(l===10||l===13){c+=r.slice(a,o),u.push(c),l===13&&r.charCodeAt(o+1)===10?o+=2:++o,c="",a=o,i=o;continue}if(Kn(l))++o;else if(Dc(r,o))o+=2;else throw de(e.source,o,`Invalid character within String: ${qr(e,o)}.`)}throw de(e.source,o,"Unterminated string.")}s(PL,"readBlockString");function AL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(Lc(o))++i;else break}return fe(e,E.NAME,t,i,r.slice(t,i))}s(AL,"readName");function P(e){return Uc(e,[])}s(P,"inspect");function Uc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return RL(e,t);default:return String(e)}}s(Uc,"formatValue");function RL(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(OL(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:Uc(n,r)}else if(Array.isArray(e))return xL(e,r);return NL(e,r)}s(RL,"formatObjectValue");function OL(e){return typeof e.toJSON=="function"}s(OL,"isJSONable");function NL(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+CL(e)+"]":"{ "+r.map(([i,o])=>i+": "+Uc(o,t)).join(", ")+" }"}s(NL,"formatObject");function xL(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 o=0;o<r;++o)i.push(Uc(e[o],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}s(xL,"formatArray");function CL(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}s(CL,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?s(function(t,r){return t instanceof r},"instanceOf"):s(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],o=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===o){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 Kn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||G(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||G(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||G(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function gE(e){return ze(e,Kn)}s(gE,"isSource");function Uc(e,t){return new Dc(e,t).parseDocument()}s(Uc,"parse");function Mc(e,t){let r=new Dc(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}s(Mc,"parseValue");var Dc=class{static{s(this,"Parser")}constructor(t,r={}){let n=gE(t)?t:new Kn(t);this._lexer=new Bi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(E.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(E.SOF,this.parseDefinition,E.EOF)})}parseDefinition(){if(this.peek(E.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===E.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(E.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(E.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(E.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(E.PAREN_L,this.parseVariableDefinition,E.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(E.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(E.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(E.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(E.BRACE_L,this.parseSelection,E.BRACE_R)})}parseSelection(){return this.peek(E.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(E.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(E.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(E.PAREN_L,r,E.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.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(E.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(E.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 E.BRACKET_L:return this.parseList(t);case E.BRACE_L:return this.parseObject(t);case E.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case E.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case E.STRING:case E.BLOCK_STRING:return this.parseStringLiteral();case E.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 E.DOLLAR:if(t)if(this.expectToken(E.DOLLAR),this._lexer.token.kind===E.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===E.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(E.BRACKET_L,r,E.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(E.BRACE_L,r,E.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(E.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(E.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(E.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(E.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(E.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(E.STRING)||this.peek(E.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(E.BRACE_L,this.parseOperationTypeDefinition,E.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(E.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(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(E.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseFieldDefinition,E.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(E.COLON);let o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(E.PAREN_L,this.parseInputValueDef,E.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(E.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(E.EQUALS)&&(o=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(E.EQUALS)?this.delimitedMany(E.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(E.BRACE_L,this.parseEnumValueDefinition,E.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,`${Lc(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(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseInputValueDef,E.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===E.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(E.BRACE_L,this.parseOperationTypeDefinition,E.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(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}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(E.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=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:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(E.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(B,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new $i(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 ${bE(t)}, found ${Lc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===E.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${Lc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===E.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${Lc(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!==E.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Lc(e){let t=e.value;return bE(e.kind)+(t!=null?` "${t}"`:"")}s(Lc,"getTokenDesc");function bE(e){return fE(e)?`"${e}"`:e}s(bE,"getTokenKindDesc");function kc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let o=n.map(u=>`"${u}"`);switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}let a=o.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}s(kc,"didYouMean");function th(e){return e}s(th,"identityFunc");function Jn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Jn,"keyMap");function Ot(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Ot,"keyValMap");function Ki(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(Ki,"mapValue");function _E(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if(Hc(i)&&Hc(o)){let a=0;do++r,a=a*10+i-rh,i=e.charCodeAt(r);while(Hc(i)&&a>0);let c=0;do++n,c=c*10+o-rh,o=t.charCodeAt(n);while(Hc(o)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<o)return-1;if(i>o)return 1;++r,++n}}return e.length-t.length}s(_E,"naturalCompare");var rh=48,_L=57;function Hc(e){return!isNaN(e)&&rh<=e&&e<=_L}s(Hc,"isDigit");function Fc(e,t){let r=Object.create(null),n=new nh(e),i=Math.floor(e.length*.4)+1;for(let o of t){let a=n.measure(o,i);a!==void 0&&(r[o]=a)}return Object.keys(r).sort((o,a)=>{let c=r[o]-r[a];return c!==0?c:_E(o,a)})}s(Fc,"suggestionList");var nh=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=EE(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=EE(n),o=this._inputArray;if(i.length<o.length){let d=i;i=o,o=d}let a=i.length,c=o.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],f=u[d%3],h=f[0]=d;for(let g=1;g<=c;g++){let _=i[d-1]===o[g-1]?0:1,T=Math.min(p[g]+1,f[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===o[g-2]&&i[d-2]===o[g-1]){let S=u[(d-2)%3][g-2];T=Math.min(T,S+1)}T<h&&(h=T),f[g]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function EE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(EE,"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}s(De,"toObjMap");function wE(e){return`"${e.replace(EL,wL)}"`}s(wE,"printString");var EL=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function wL(e){return vL[e.charCodeAt(0)]}s(wL,"escapedReplacer");var vL=["\\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 ih=Object.freeze({});function gr(e,t,r=Xp){let n=new Map;for(let S of Object.values(b))n.set(S,zn(t,S));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,f=[],h=[];do{c++;let S=c===a.length,H=S&&u.length!==0;if(S){if(d=h.length===0?void 0:f[f.length-1],l=p,p=h.pop(),H)if(o){l=l.slice();let L=0;for(let[ne,ie]of u){let me=ne-L;ie===null?(l.splice(me,1),L++):l[me]=ie}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[L,ne]of u)l[L]=ne}c=i.index,a=i.keys,u=i.edits,o=i.inArray,i=i.prev}else if(p){if(d=o?c:a[c],l=p[d],l==null)continue;f.push(d)}let K;if(!Array.isArray(l)){var g,_;ji(l)||G(!1,`Invalid AST Node: ${P(l)}.`);let L=S?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(K=L?.call(t,l,d,p,f,h),K===ih)break;if(K===!1){if(!S){f.pop();continue}}else if(K!==void 0&&(u.push([d,K]),!S))if(ji(K))l=K;else{f.pop();continue}}if(K===void 0&&H&&u.push([d,l]),S)f.pop();else{var T;i={inArray:o,index:c,keys:a,edits:u,prev:i},o=Array.isArray(l),a=o?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}s(gr,"visit");function zn(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}}s(zn,"getEnterLeaveForKind");function Ue(e){return gr(e,SL)}s(Ue,"print");var TL=80,SL={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
95
+ spurious results.`)}}return!1},"instanceOf");var Jn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||G(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||G(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||G(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function _E(e){return ze(e,Jn)}s(_E,"isSource");function Hc(e,t){return new Mc(e,t).parseDocument()}s(Hc,"parse");function Fc(e,t){let r=new Mc(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}s(Fc,"parseValue");var Mc=class{static{s(this,"Parser")}constructor(t,r={}){let n=_E(t)?t:new Jn(t);this._lexer=new Ji(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(E.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(E.SOF,this.parseDefinition,E.EOF)})}parseDefinition(){if(this.peek(E.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===E.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(E.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(E.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(E.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(E.PAREN_L,this.parseVariableDefinition,E.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(E.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(E.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(E.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(E.BRACE_L,this.parseSelection,E.BRACE_R)})}parseSelection(){return this.peek(E.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(E.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(E.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(E.PAREN_L,r,E.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.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(E.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(E.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 E.BRACKET_L:return this.parseList(t);case E.BRACE_L:return this.parseObject(t);case E.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case E.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case E.STRING:case E.BLOCK_STRING:return this.parseStringLiteral();case E.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 E.DOLLAR:if(t)if(this.expectToken(E.DOLLAR),this._lexer.token.kind===E.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===E.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(E.BRACKET_L,r,E.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(E.BRACE_L,r,E.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(E.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(E.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(E.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(E.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(E.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(E.STRING)||this.peek(E.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(E.BRACE_L,this.parseOperationTypeDefinition,E.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(E.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(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(E.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseFieldDefinition,E.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(E.COLON);let o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(E.PAREN_L,this.parseInputValueDef,E.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(E.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(E.EQUALS)&&(o=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(E.EQUALS)?this.delimitedMany(E.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(E.BRACE_L,this.parseEnumValueDefinition,E.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,`${kc(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(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseInputValueDef,E.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===E.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(E.BRACE_L,this.parseOperationTypeDefinition,E.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(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}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(E.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=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:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(E.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(B,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Vi(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 ${EE(t)}, found ${kc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===E.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${kc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===E.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${kc(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!==E.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function kc(e){let t=e.value;return EE(e.kind)+(t!=null?` "${t}"`:"")}s(kc,"getTokenDesc");function EE(e){return yE(e)?`"${e}"`:e}s(EE,"getTokenKindDesc");function qc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let o=n.map(u=>`"${u}"`);switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}let a=o.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}s(qc,"didYouMean");function ah(e){return e}s(ah,"identityFunc");function zn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(zn,"keyMap");function Ot(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Ot,"keyValMap");function zi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(zi,"mapValue");function wE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if($c(i)&&$c(o)){let a=0;do++r,a=a*10+i-ch,i=e.charCodeAt(r);while($c(i)&&a>0);let c=0;do++n,c=c*10+o-ch,o=t.charCodeAt(n);while($c(o)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<o)return-1;if(i>o)return 1;++r,++n}}return e.length-t.length}s(wE,"naturalCompare");var ch=48,LL=57;function $c(e){return!isNaN(e)&&ch<=e&&e<=LL}s($c,"isDigit");function jc(e,t){let r=Object.create(null),n=new uh(e),i=Math.floor(e.length*.4)+1;for(let o of t){let a=n.measure(o,i);a!==void 0&&(r[o]=a)}return Object.keys(r).sort((o,a)=>{let c=r[o]-r[a];return c!==0?c:wE(o,a)})}s(jc,"suggestionList");var uh=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=vE(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=vE(n),o=this._inputArray;if(i.length<o.length){let d=i;i=o,o=d}let a=i.length,c=o.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],f=u[d%3],h=f[0]=d;for(let g=1;g<=c;g++){let _=i[d-1]===o[g-1]?0:1,S=Math.min(p[g]+1,f[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===o[g-2]&&i[d-2]===o[g-1]){let T=u[(d-2)%3][g-2];S=Math.min(S,T+1)}S<h&&(h=S),f[g]=S}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function vE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(vE,"stringToArray");function Ue(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}s(Ue,"toObjMap");function SE(e){return`"${e.replace(DL,UL)}"`}s(SE,"printString");var DL=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function UL(e){return kL[e.charCodeAt(0)]}s(UL,"escapedReplacer");var kL=["\\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 lh=Object.freeze({});function gr(e,t,r=oh){let n=new Map;for(let T of Object.values(b))n.set(T,Wn(t,T));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,f=[],h=[];do{c++;let T=c===a.length,H=T&&u.length!==0;if(T){if(d=h.length===0?void 0:f[f.length-1],l=p,p=h.pop(),H)if(o){l=l.slice();let L=0;for(let[ne,ie]of u){let me=ne-L;ie===null?(l.splice(me,1),L++):l[me]=ie}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[L,ne]of u)l[L]=ne}c=i.index,a=i.keys,u=i.edits,o=i.inArray,i=i.prev}else if(p){if(d=o?c:a[c],l=p[d],l==null)continue;f.push(d)}let K;if(!Array.isArray(l)){var g,_;Gi(l)||G(!1,`Invalid AST Node: ${P(l)}.`);let L=T?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(K=L?.call(t,l,d,p,f,h),K===lh)break;if(K===!1){if(!T){f.pop();continue}}else if(K!==void 0&&(u.push([d,K]),!T))if(Gi(K))l=K;else{f.pop();continue}}if(K===void 0&&H&&u.push([d,l]),T)f.pop();else{var S;i={inArray:o,index:c,keys:a,edits:u,prev:i},o=Array.isArray(l),a=o?l:(S=r[l.kind])!==null&&S!==void 0?S:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}s(gr,"visit");function Wn(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}}s(Wn,"getEnterLeaveForKind");function ke(e){return gr(e,HL)}s(ke,"print");var ML=80,HL={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})=>pt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let o=J("",e,": ")+t,a=o+J("(",x(r,", "),")");return a.length>TL&&(a=o+J(`(
98
- `,qc(x(r,`
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})=>pt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let o=J("",e,": ")+t,a=o+J("(",x(r,", "),")");return a.length>ML&&(a=o+J(`(
98
+ `,Vc(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?pE(e):wE(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,`
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?fE(e):SE(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," "),pt(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," "),pt(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
104
- `)+t+(vE(r)?J(`(
105
- `,qc(x(r,`
104
+ `)+t+(TE(r)?J(`(
105
+ `,Vc(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 Kn=class{static{s(this,"Source"
111
111
  `)+x(["enum",t,x(r," "),pt(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," "),pt(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
114
- `)+"directive @"+t+(vE(r)?J(`(
115
- `,qc(x(r,`
114
+ `)+"directive @"+t+(TE(r)?J(`(
115
+ `,Vc(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," "),pt(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," "),pt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),pt(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," "),pt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),pt(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}s(x,"join");function pt(e){return J(`{
118
- `,qc(x(e,`
118
+ `,Vc(x(e,`
119
119
  `)),`
120
- }`)}s(pt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}s(J,"wrap");function qc(e){return J(" ",e.replace(/\n/g,`
121
- `))}s(qc,"indent");function vE(e){var t;return(t=e?.some(r=>r.includes(`
122
- `)))!==null&&t!==void 0?t:!1}s(vE,"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 Ot(e.fields,r=>r.name.value,r=>Ji(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Ji,"valueFromASTUntyped");function Ve(e){if(e!=null||G(!1,"Must provide name."),typeof e=="string"||G(!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(!Nc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Vi(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function oh(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return Ve(e)}s(oh,"assertEnumValueName");function jc(e){return br(e)||xe(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s(jc,"isType");function br(e){return ze(e,We)}s(br,"isScalarType");function xe(e){return ze(e,Ne)}s(xe,"isObjectType");function Vc(e){if(!xe(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(Vc,"assertObjectType");function we(e){return ze(e,Vt)}s(we,"isInterfaceType");function Gc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Gc,"assertInterfaceType");function nt(e){return ze(e,$r)}s(nt,"isUnionType");function Qe(e){return ze(e,Nt)}s(Qe,"isEnumType");function Ae(e){return ze(e,jr)}s(Ae,"isInputObjectType");function Ge(e){return ze(e,pe)}s(Ge,"isListType");function ce(e){return ze(e,$)}s(ce,"isNonNullType");function Ye(e){return br(e)||Qe(e)||Ae(e)||zi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Gt(e){return br(e)||xe(e)||we(e)||nt(e)||Qe(e)||zi(e)&&Gt(e.ofType)}s(Gt,"isOutputType");function _r(e){return br(e)||Qe(e)}s(_r,"isLeafType");function xt(e){return xe(e)||we(e)||nt(e)}s(xt,"isCompositeType");function Er(e){return we(e)||nt(e)}s(Er,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){jc(t)||G(!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()}},$=class{static{s(this,"GraphQLNonNull")}constructor(t){Bc(t)||G(!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 zi(e){return Ge(e)||ce(e)}s(zi,"isWrappingType");function Bc(e){return jc(e)&&!ce(e)}s(Bc,"isNullableType");function Kc(e){if(!Bc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(Kc,"assertNullableType");function Jc(e){if(e)return ce(e)?e.ofType:e}s(Jc,"getNullableType");function ht(e){if(e){let t=e;for(;zi(t);)t=t.ofType;return t}}s(ht,"getNamedType");function zc(e){return typeof e=="function"?e():e}s(zc,"resolveReadonlyArrayThunk");function Wc(e){return typeof e=="function"?e():e}s(Wc,"resolveObjMapThunk");var We=class{static{s(this,"GraphQLScalarType")}constructor(t){var r,n,i,o;let a=(r=t.parseValue)!==null&&r!==void 0?r:th;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:th,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=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||G(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||G(!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"||G(!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()}},Ne=class{static{s(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(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=()=>SE(t),this._interfaces=()=>TE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||G(!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:IE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function TE(e){var t;let r=zc((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||G(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(TE,"defineInterfaces");function SE(e){let t=Wc(e.fields);return Wn(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Ki(t,(r,n)=>{var i;Wn(r)||G(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||G(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return Wn(o)||G(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:sh(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}s(SE,"defineFieldMap");function sh(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(sh,"defineArguments");function Wn(e){return Ee(e)&&!Array.isArray(e)}s(Wn,"isPlainObj");function IE(e){return Ki(e,t=>({description:t.description,type:t.type,args:ah(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(IE,"fieldsToFieldsConfig");function ah(e){return Ot(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(ah,"argsToArgsConfig");var Vt=class{static{s(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(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=SE.bind(void 0,t),this._interfaces=TE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!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:IE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},$r=class{static{s(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(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=IL.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!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 IL(e){let t=zc(e.types);return Array.isArray(t)||G(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(IL,"defineTypes");var Nt=class{static{s(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(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=PL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Jn(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}.`+$c(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+$c(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}.`+$c(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.`+$c(this,i),{nodes:t})}return n.value}toConfig(){let t=Ot(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 $c(e,t){let r=e.getValues().map(i=>i.name),n=Fc(t,r);return kc("the enum value",n)}s($c,"didYouMeanEnumValue");function PL(e,t){return Wn(t)||G(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Wn(n)||G(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:oh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}s(PL,"defineEnumValues");var jr=class{static{s(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(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=AL.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Ki(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 AL(e){let t=Wc(e.fields);return Wn(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Ki(t,(r,n)=>(!("resolve"in r)||G(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(AL,"defineInputFieldMap");var Qc=2147483647,Yc=-2147483648,ch=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=Wi(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<Yc)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<Yc)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<Yc)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),PE=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=Wi(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)}}),se=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=Wi(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=Wi(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}}),Zc=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=Wi(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}}),uh=Object.freeze([se,ch,PE,Me,Zc]);function Wi(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}s(Wi,"serializeObject");function lh(e){return ze(e,ft)}s(lh,"isDirective");var ft=class{static{s(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(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)||G(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||G(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=sh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:ah(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},AE=new ft({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Included when true."}}}),RE=new ft({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Skipped when true."}}}),OE="No longer supported",NE=new ft({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[B.FIELD_DEFINITION,B.ARGUMENT_DEFINITION,B.INPUT_FIELD_DEFINITION,B.ENUM_VALUE],args:{reason:{type:se,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:OE}}}),xE=new ft({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[B.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),dh=Object.freeze([AE,RE,NE,xE]);function Xc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(Xc,"isIterableObject");function Vr(e,t){if(ce(t)){let r=Vr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(Xc(e)){let n=[];for(let i of e){let o=Vr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return Vr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=Vr(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(_r(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 CE.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===Zc&&CE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Rt(!1,"Unexpected input type: "+P(t))}s(Vr,"astFromValue");var CE=/^-?(?:0|[1-9][0-9]*)$/;var Qi=new Ne({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:se,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 $(ph))),resolve:e=>e.getDirectives()}})}),ph=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
120
+ }`)}s(pt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}s(J,"wrap");function Vc(e){return J(" ",e.replace(/\n/g,`
121
+ `))}s(Vc,"indent");function TE(e){var t;return(t=e?.some(r=>r.includes(`
122
+ `)))!==null&&t!==void 0?t:!1}s(TE,"hasMultilineItems");function Wi(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=>Wi(r,t));case b.OBJECT:return Ot(e.fields,r=>r.name.value,r=>Wi(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Wi,"valueFromASTUntyped");function Ve(e){if(e!=null||G(!1,"Must provide name."),typeof e=="string"||G(!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(!Lc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Bi(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function dh(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return Ve(e)}s(dh,"assertEnumValueName");function Bc(e){return br(e)||Ce(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s(Bc,"isType");function br(e){return ze(e,We)}s(br,"isScalarType");function Ce(e){return ze(e,xe)}s(Ce,"isObjectType");function Kc(e){if(!Ce(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(Kc,"assertObjectType");function we(e){return ze(e,Vt)}s(we,"isInterfaceType");function Jc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Jc,"assertInterfaceType");function nt(e){return ze(e,$r)}s(nt,"isUnionType");function Qe(e){return ze(e,Nt)}s(Qe,"isEnumType");function Ae(e){return ze(e,jr)}s(Ae,"isInputObjectType");function Ge(e){return ze(e,pe)}s(Ge,"isListType");function ce(e){return ze(e,$)}s(ce,"isNonNullType");function Ye(e){return br(e)||Qe(e)||Ae(e)||Qi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Gt(e){return br(e)||Ce(e)||we(e)||nt(e)||Qe(e)||Qi(e)&&Gt(e.ofType)}s(Gt,"isOutputType");function _r(e){return br(e)||Qe(e)}s(_r,"isLeafType");function xt(e){return Ce(e)||we(e)||nt(e)}s(xt,"isCompositeType");function Er(e){return we(e)||nt(e)}s(Er,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){Bc(t)||G(!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()}},$=class{static{s(this,"GraphQLNonNull")}constructor(t){zc(t)||G(!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 Qi(e){return Ge(e)||ce(e)}s(Qi,"isWrappingType");function zc(e){return Bc(e)&&!ce(e)}s(zc,"isNullableType");function Wc(e){if(!zc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(Wc,"assertNullableType");function Qc(e){if(e)return ce(e)?e.ofType:e}s(Qc,"getNullableType");function ht(e){if(e){let t=e;for(;Qi(t);)t=t.ofType;return t}}s(ht,"getNamedType");function Yc(e){return typeof e=="function"?e():e}s(Yc,"resolveReadonlyArrayThunk");function Zc(e){return typeof e=="function"?e():e}s(Zc,"resolveObjMapThunk");var We=class{static{s(this,"GraphQLScalarType")}constructor(t){var r,n,i,o;let a=(r=t.parseValue)!==null&&r!==void 0?r:ah;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:ah,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Wi(c,u)),this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||G(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||G(!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"||G(!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{s(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>PE(t),this._interfaces=()=>IE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||G(!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:AE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function IE(e){var t;let r=Yc((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||G(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(IE,"defineInterfaces");function PE(e){let t=Zc(e.fields);return Qn(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),zi(t,(r,n)=>{var i;Qn(r)||G(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||G(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return Qn(o)||G(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:ph(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}})}s(PE,"defineFieldMap");function ph(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}s(ph,"defineArguments");function Qn(e){return Ee(e)&&!Array.isArray(e)}s(Qn,"isPlainObj");function AE(e){return zi(e,t=>({description:t.description,type:t.type,args:hh(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(AE,"fieldsToFieldsConfig");function hh(e){return Ot(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(hh,"argsToArgsConfig");var Vt=class{static{s(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=PE.bind(void 0,t),this._interfaces=IE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!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:AE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},$r=class{static{s(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=FL.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!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 FL(e){let t=Yc(e.types);return Array.isArray(t)||G(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(FL,"defineTypes");var Nt=class{static{s(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=qL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=zn(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}.`+Gc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+Gc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=ke(t);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Gc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=ke(t);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+Gc(this,i),{nodes:t})}return n.value}toConfig(){let t=Ot(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 Gc(e,t){let r=e.getValues().map(i=>i.name),n=jc(t,r);return qc("the enum value",n)}s(Gc,"didYouMeanEnumValue");function qL(e,t){return Qn(t)||G(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Qn(n)||G(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:dh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Ue(n.extensions),astNode:n.astNode}))}s(qL,"defineEnumValues");var jr=class{static{s(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=$L.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=zi(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 $L(e){let t=Zc(e.fields);return Qn(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),zi(t,(r,n)=>(!("resolve"in r)||G(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}s($L,"defineInputFieldMap");var Xc=2147483647,eu=-2147483648,fh=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=Yi(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>Xc||r<eu)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>Xc||e<eu)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: ${ke(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Xc||t<eu)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),RE=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=Yi(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: ${ke(e)}`,e);return parseFloat(e.value)}}),se=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=Yi(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: ${ke(e)}`,{nodes:e});return e.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Yi(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: ${ke(e)}`,{nodes:e});return e.value}}),tu=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=Yi(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: "+ke(e),{nodes:e});return e.value}}),mh=Object.freeze([se,fh,RE,Me,tu]);function Yi(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}s(Yi,"serializeObject");function yh(e){return ze(e,ft)}s(yh,"isDirective");var ft=class{static{s(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Ue(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||G(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||G(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=ph(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:hh(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},OE=new ft({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Included when true."}}}),NE=new ft({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Skipped when true."}}}),xE="No longer supported",CE=new ft({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[B.FIELD_DEFINITION,B.ARGUMENT_DEFINITION,B.INPUT_FIELD_DEFINITION,B.ENUM_VALUE],args:{reason:{type:se,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:xE}}}),LE=new ft({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[B.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),gh=Object.freeze([OE,NE,CE,LE]);function ru(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(ru,"isIterableObject");function Vr(e,t){if(ce(t)){let r=Vr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(ru(e)){let n=[];for(let i of e){let o=Vr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return Vr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=Vr(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(_r(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 DE.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===tu&&DE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Rt(!1,"Unexpected input type: "+P(t))}s(Vr,"astFromValue");var DE=/^-?(?:0|[1-9][0-9]*)$/;var Zi=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:se,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 $(bh))),resolve:e=>e.getDirectives()}})}),bh=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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(Me),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(hh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(Yi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),hh=new Nt({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:B.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:B.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:B.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:B.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:B.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:B.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:B.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:B.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:B.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:B.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:B.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:B.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:B.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:B.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:B.UNION,description:"Location adjacent to a union definition."},ENUM:{value:B.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:B.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:B.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:B.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new Ne({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 $(yh),resolve(e){if(br(e))return ee.SCALAR;if(xe(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(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Rt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(fh)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(xe(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(xe(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(Er(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(mh)),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 $(Yi)),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}})}),fh=new Ne({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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new pe(new $(Yi))),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:se,resolve:e=>e.deprecationReason}})}),Yi=new Ne({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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=Vr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),mh=new Ne({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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,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 yh=new Nt({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."}}}),eu={name:"__schema",type:new $(Qi),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},tu={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),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},ru={name:"__typename",type:new $(se),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},gh=Object.freeze([Qi,ph,hh,it,fh,Yi,mh,yh]);var Zi=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||G(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||G(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||G(!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:dh;let i=new Set(t.types);if(t.types!=null)for(let o of t.types)i.delete(o),mt(o,i);this._queryType!=null&&mt(this._queryType,i),this._mutationType!=null&&mt(this._mutationType,i),this._subscriptionType!=null&&mt(this._subscriptionType,i);for(let o of this._directives)if(lh(o))for(let a of o.args)mt(a.type,i);mt(Qi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let o of i){if(o==null)continue;let a=o.name;if(a||G(!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]=o,we(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(o)}}else if(xe(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}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 o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.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 mt(e,t){let r=ht(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())mt(n,t);else if(xe(r)||we(r)){for(let n of r.getInterfaces())mt(n,t);for(let n of Object.values(r.getFields())){mt(n.type,t);for(let i of n.args)mt(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))mt(n.type,t)}return t}s(mt,"collectReferencedTypes");function wr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=wr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=wr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(wr,"typeFromAST");var vr=class{static{s(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??RL,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(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=ht(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),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(xe(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?wr(r,i):ht(this.getType());this._typeStack.push(Gt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=wr(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,o,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(o=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.LIST:{let i=Jc(this.getInputType()),o=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.OBJECT_FIELD:{let i=ht(this.getInputType()),o,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.ENUM:{let i=ht(this.getInputType()),o;Qe(i)&&(o=i.getValue(t.value)),this._enumValue=o;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 RL(e,t,r){let n=r.name.value;if(n===eu.name&&e.getQueryType()===t)return eu;if(n===tu.name&&e.getQueryType()===t)return tu;if(n===ru.name&&xt(t))return ru;if(xe(t)||we(t))return t.getFields()[n]}s(RL,"getFieldDef");function Qn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=zn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),ji(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=zn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(Qn,"visitWithTypeInfo");function nu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(nu,"printPathArray");function bh(e,t,r){return{prev:e,key:t,typename:r}}s(bh,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Bt,"pathToArray");function _h(e,t,r=OL){return Xi(e,t,r,void 0)}s(_h,"coerceInputValue");function OL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${nu(e)}"`),r.message=n+": "+r.message,r}s(OL,"defaultOnError");function Xi(e,t,r,n){if(ce(t)){if(e!=null)return Xi(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(Ge(t)){let i=t.ofType;return Xc(e)?Array.from(e,(o,a)=>{let c=bh(n,a,void 0);return Xi(o,i,r,c)}):[Xi(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={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(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]=Xi(c,a.type,r,bh(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=Fc(a,Object.keys(t.getFields()));r(Bt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+kc(c)))}return i}if(_r(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof C?r(Bt(n),e,o):r(Bt(n),e,new C(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Bt(n),e,new C(`Expected type "${t.name}".`)),i}Rt(!1,"Unexpected input type: "+P(t))}s(Xi,"coerceInputValueImpl");function Ct(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&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Ct(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let o=[];for(let a of e.values)if(LE(a,r)){if(ce(n))return;o.push(null)}else{let c=Ct(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=Ct(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=Jn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||LE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ce(o.type))return;continue}let c=Ct(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(_r(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Rt(!1,"Unexpected input type: "+P(t))}}s(Ct,"valueFromAST");function LE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(LE,"isMissingVariable");function iu(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=NL(e,t,r,c=>{if(o!=null&&i.length>=o)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}}s(iu,"getVariableValues");function NL(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=wr(e,o.type);if(!Ye(c)){let l=Ue(o.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!DE(r,a)){if(o.defaultValue)i[a]=Ct(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=_h(u,c,(l,d,p)=>{let f=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(f+=` at "${a}${nu(l)}"`),n(new C(f+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(NL,"coerceVariableValues");function eo(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Jn(o,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(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,f=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!DE(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}f=r[g]==null}if(f&&ce(l))throw new C(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Ct(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}s(eo,"getArgumentValues");function to(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(o=>o.name.value===e.name);if(i)return eo(e,i,r)}s(to,"getDirectiveValues");function DE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(DE,"hasOwnProperty");var ou=class{static{s(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 o of i.selections)o.kind===b.FRAGMENT_SPREAD?r.push(o):o.selectionSet&&n.push(o.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],o;for(;o=i.pop();)for(let a of this.getFragmentSpreads(o)){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}},UE=class extends ou{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Yn=class extends ou{static{s(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 vr(this._schema);gr(t,Qn(i,{VariableDefinition:()=>!1,Variable(o){n.push({node:o,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 su(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":"",o=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return s(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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(Me),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(_h))),resolve:e=>e.locations},args:{type:new $(new pe(new $(Xi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),_h=new Nt({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:B.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:B.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:B.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:B.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:B.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:B.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:B.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:B.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:B.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:B.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:B.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:B.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:B.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:B.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:B.UNION,description:"Location adjacent to a union definition."},ENUM:{value:B.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:B.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:B.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:B.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 $(vh),resolve(e){if(br(e))return ee.SCALAR;if(Ce(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(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Rt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(Eh)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ce(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(Ce(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(Er(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(wh)),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 $(Xi)),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}})}),Eh=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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new pe(new $(Xi))),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:se,resolve:e=>e.deprecationReason}})}),Xi=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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=Vr(r,t);return n?ke(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),wh=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 $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,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 vh=new Nt({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."}}}),nu={name:"__schema",type:new $(Zi),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},iu={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),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},ou={name:"__typename",type:new $(se),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},Sh=Object.freeze([Zi,bh,_h,it,Eh,Xi,wh,vh]);var eo=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||G(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||G(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||G(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=Ue(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:gh;let i=new Set(t.types);if(t.types!=null)for(let o of t.types)i.delete(o),mt(o,i);this._queryType!=null&&mt(this._queryType,i),this._mutationType!=null&&mt(this._mutationType,i),this._subscriptionType!=null&&mt(this._subscriptionType,i);for(let o of this._directives)if(yh(o))for(let a of o.args)mt(a.type,i);mt(Zi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let o of i){if(o==null)continue;let a=o.name;if(a||G(!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]=o,we(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(o)}}else if(Ce(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}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 o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.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 mt(e,t){let r=ht(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())mt(n,t);else if(Ce(r)||we(r)){for(let n of r.getInterfaces())mt(n,t);for(let n of Object.values(r.getFields())){mt(n.type,t);for(let i of n.args)mt(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))mt(n.type,t)}return t}s(mt,"collectReferencedTypes");function wr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=wr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=wr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(wr,"typeFromAST");var vr=class{static{s(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??jL,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(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=ht(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),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(Ce(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?wr(r,i):ht(this.getType());this._typeStack.push(Gt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=wr(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,o,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(o=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.LIST:{let i=Qc(this.getInputType()),o=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.OBJECT_FIELD:{let i=ht(this.getInputType()),o,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.ENUM:{let i=ht(this.getInputType()),o;Qe(i)&&(o=i.getValue(t.value)),this._enumValue=o;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 jL(e,t,r){let n=r.name.value;if(n===nu.name&&e.getQueryType()===t)return nu;if(n===iu.name&&e.getQueryType()===t)return iu;if(n===ou.name&&xt(t))return ou;if(Ce(t)||we(t))return t.getFields()[n]}s(jL,"getFieldDef");function Yn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Wn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),Gi(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=Wn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(Yn,"visitWithTypeInfo");function su(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(su,"printPathArray");function Th(e,t,r){return{prev:e,key:t,typename:r}}s(Th,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Bt,"pathToArray");function Ih(e,t,r=VL){return to(e,t,r,void 0)}s(Ih,"coerceInputValue");function VL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${su(e)}"`),r.message=n+": "+r.message,r}s(VL,"defaultOnError");function to(e,t,r,n){if(ce(t)){if(e!=null)return to(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(Ge(t)){let i=t.ofType;return ru(e)?Array.from(e,(o,a)=>{let c=Th(n,a,void 0);return to(o,i,r,c)}):[to(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={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(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]=to(c,a.type,r,Th(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=jc(a,Object.keys(t.getFields()));r(Bt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+qc(c)))}return i}if(_r(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof C?r(Bt(n),e,o):r(Bt(n),e,new C(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Bt(n),e,new C(`Expected type "${t.name}".`)),i}Rt(!1,"Unexpected input type: "+P(t))}s(to,"coerceInputValueImpl");function Ct(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&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Ct(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let o=[];for(let a of e.values)if(UE(a,r)){if(ce(n))return;o.push(null)}else{let c=Ct(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=Ct(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=zn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||UE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ce(o.type))return;continue}let c=Ct(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(_r(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Rt(!1,"Unexpected input type: "+P(t))}}s(Ct,"valueFromAST");function UE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(UE,"isMissingVariable");function au(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=GL(e,t,r,c=>{if(o!=null&&i.length>=o)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}}s(au,"getVariableValues");function GL(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=wr(e,o.type);if(!Ye(c)){let l=ke(o.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!kE(r,a)){if(o.defaultValue)i[a]=Ct(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=Ih(u,c,(l,d,p)=>{let f=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(f+=` at "${a}${su(l)}"`),n(new C(f+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(GL,"coerceVariableValues");function ro(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=zn(o,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(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,f=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!kE(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}f=r[g]==null}if(f&&ce(l))throw new C(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Ct(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${ke(p)}.`,{nodes:p});i[u]=h}return i}s(ro,"getArgumentValues");function no(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(o=>o.name.value===e.name);if(i)return ro(e,i,r)}s(no,"getDirectiveValues");function kE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(kE,"hasOwnProperty");var cu=class{static{s(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 o of i.selections)o.kind===b.FRAGMENT_SPREAD?r.push(o):o.selectionSet&&n.push(o.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],o;for(;o=i.pop();)for(let a of this.getFragmentSpreads(o)){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}},ME=class extends cu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Zn=class extends cu{static{s(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 vr(this._schema);gr(t,Yn(i,{VariableDefinition:()=>!1,Variable(o){n.push({node:o,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 uu(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":"",o=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return s(a,"inputDeprecation"),`
125
125
  query IntrospectionQuery {
126
126
  __schema {
127
127
  ${o}
@@ -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
- `}s(su,"getIntrospectionQuery");function au(e,t){Ee(e)&&Ee(e.__schema)||G(!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=Ot(r.types,w=>w.name,w=>f(w));for(let w of[...uh,...gh])n[w.name]&&(n[w.name]=w);let i=r.queryType?d(r.queryType):null,o=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Be):[];return new Zi({description:r.description,query:i,mutation:o,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(w){if(w.kind===ee.LIST){let k=w.ofType;if(!k)throw new Error("Decorated type deeper than introspection query.");return new pe(u(k))}if(w.kind===ee.NON_NULL){let k=w.ofType;if(!k)throw new Error("Decorated type deeper than introspection query.");let Ce=u(k);return new $(Kc(Ce))}return l(w)}function l(w){let k=w.name;if(!k)throw new Error(`Unknown type reference: ${P(w)}.`);let Ce=n[k];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${k}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(w){return Vc(l(w))}function p(w){return Gc(l(w))}function f(w){if(w!=null&&w.name!=null&&w.kind!=null)switch(w.kind){case ee.SCALAR:return h(w);case ee.OBJECT:return _(w);case ee.INTERFACE:return T(w);case ee.UNION:return S(w);case ee.ENUM:return H(w);case ee.INPUT_OBJECT:return K(w)}let k=P(w);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${k}.`)}function h(w){return new We({name:w.name,description:w.description,specifiedByURL:w.specifiedByURL})}function g(w){if(w.interfaces===null&&w.kind===ee.INTERFACE)return[];if(!w.interfaces){let k=P(w);throw new Error(`Introspection result missing interfaces: ${k}.`)}return w.interfaces.map(p)}function _(w){return new Ne({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function T(w){return new Vt({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function S(w){if(!w.possibleTypes){let k=P(w);throw new Error(`Introspection result missing possibleTypes: ${k}.`)}return new $r({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function H(w){if(!w.enumValues){let k=P(w);throw new Error(`Introspection result missing enumValues: ${k}.`)}return new Nt({name:w.name,description:w.description,values:Ot(w.enumValues,k=>k.name,k=>({description:k.description,deprecationReason:k.deprecationReason}))})}function K(w){if(!w.inputFields){let k=P(w);throw new Error(`Introspection result missing inputFields: ${k}.`)}return new jr({name:w.name,description:w.description,fields:()=>ie(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Ot(w.fields,k=>k.name,ne)}function ne(w){let k=u(w.type);if(!Gt(k)){let Ce=P(k);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!w.args){let Ce=P(w);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:k,args:ie(w.args)}}function ie(w){return Ot(w,k=>k.name,me)}function me(w){let k=u(w.type);if(!Ye(k)){let uu=P(k);throw new Error(`Introspection must provide input type for arguments, but received: ${uu}.`)}let Ce=w.defaultValue!=null?Ct(Mc(w.defaultValue),k):void 0;return{description:w.description,type:k,defaultValue:Ce,deprecationReason:w.deprecationReason}}function Be(w){if(!w.args){let k=P(w);throw new Error(`Introspection result missing directive args: ${k}.`)}if(!w.locations){let k=P(w);throw new Error(`Introspection result missing directive locations: ${k}.`)}return new ft({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ie(w.args)})}}s(au,"buildClientSchema");function eD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(eD,"queryComplexityMessage");function ME(e){let t=new vr(e.schema),r=[],n=new Yn(e.schema,e.query,t,o=>r.push(o)),i=new Eh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(gr(e.query,Qn(t,i)),r.length)throw r.pop();return i.complexity}s(ME,"getComplexity");var Eh=class{static{s(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}=iu(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(o=>this.context.reportError(o));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let o=i.getQueryType();if(!o)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,o);break}case"mutation":{let o=i.getMutationType();if(!o)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,o);break}case"subscription":{let o=i.getSubscriptionType();if(!o)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,o);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 Ne||r instanceof Vt)&&(n=r.getFields());let i;Er(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let o=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&&to(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&to(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 f=ht(p.type),h;try{h=eo(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let g=0;xt(f)&&(g=this.nodeComplexity(c,f));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let H=S(_);return typeof H=="number"&&!isNaN(H)?(u=Zn(H,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 f=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(f))break;let h=this.nodeComplexity(p,f);Er(f)?u=Zn(h,a,this.context.getSchema().getPossibleTypes(f).map(g=>g.name)):u=Zn(h,a,[f.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,!xt(p)))break;let f=this.nodeComplexity(c,p);Er(p)?u=Zn(f,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Zn(f,a,[p.name]);break}default:{u=Zn(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(eD(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}s(Zn,"addComplexities");function kE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(kE,"simpleEstimator");var HE=s((e,t,r={})=>{let{definitions:n}=e,i=tD(n),o=rD(n);return Object.entries(o).map(([a,c])=>cu(c,i,0,t,a,r))},"depthLimit");function tD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(tD,"getFragments");function rD(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(rD,"getQueriesAndMutations");function cu(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return nD(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>cu(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return cu(t[e.name.value],t,r,n,i,o);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>cu(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(cu,"determineDepth");var nD=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var iD=s(async(e,t)=>{if(!t.complexityLimit)throw new Xn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Xn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=su(),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=au(c,{assumeValid:!0}),l=ME({estimators:[kE({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"),oD=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Xn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...HE(e,r))},"applyDepthLimitPolicy"),FE=s(async(e,t,r)=>{let n=Xn.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=Uc(o.query);r.useDepthLimit&&await oD(a,r.useDepthLimit),r.useComplexityLimit&&await iD(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 qE=Th(Dt());function sD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(sD,"isIntrospectionQuery");var $E=s(async(e,t)=>{let n=await e.clone().json();return sD(n.query)?qE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
229
+ `}s(uu,"getIntrospectionQuery");function lu(e,t){Ee(e)&&Ee(e.__schema)||G(!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=Ot(r.types,w=>w.name,w=>f(w));for(let w of[...mh,...Sh])n[w.name]&&(n[w.name]=w);let i=r.queryType?d(r.queryType):null,o=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Be):[];return new eo({description:r.description,query:i,mutation:o,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(w){if(w.kind===ee.LIST){let M=w.ofType;if(!M)throw new Error("Decorated type deeper than introspection query.");return new pe(u(M))}if(w.kind===ee.NON_NULL){let M=w.ofType;if(!M)throw new Error("Decorated type deeper than introspection query.");let Le=u(M);return new $(Wc(Le))}return l(w)}function l(w){let M=w.name;if(!M)throw new Error(`Unknown type reference: ${P(w)}.`);let Le=n[M];if(!Le)throw new Error(`Invalid or incomplete schema, unknown type: ${M}. Ensure that a full introspection query is used in order to build a client schema.`);return Le}function d(w){return Kc(l(w))}function p(w){return Jc(l(w))}function f(w){if(w!=null&&w.name!=null&&w.kind!=null)switch(w.kind){case ee.SCALAR:return h(w);case ee.OBJECT:return _(w);case ee.INTERFACE:return S(w);case ee.UNION:return T(w);case ee.ENUM:return H(w);case ee.INPUT_OBJECT:return K(w)}let M=P(w);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${M}.`)}function h(w){return new We({name:w.name,description:w.description,specifiedByURL:w.specifiedByURL})}function g(w){if(w.interfaces===null&&w.kind===ee.INTERFACE)return[];if(!w.interfaces){let M=P(w);throw new Error(`Introspection result missing interfaces: ${M}.`)}return w.interfaces.map(p)}function _(w){return new xe({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function S(w){return new Vt({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function T(w){if(!w.possibleTypes){let M=P(w);throw new Error(`Introspection result missing possibleTypes: ${M}.`)}return new $r({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function H(w){if(!w.enumValues){let M=P(w);throw new Error(`Introspection result missing enumValues: ${M}.`)}return new Nt({name:w.name,description:w.description,values:Ot(w.enumValues,M=>M.name,M=>({description:M.description,deprecationReason:M.deprecationReason}))})}function K(w){if(!w.inputFields){let M=P(w);throw new Error(`Introspection result missing inputFields: ${M}.`)}return new jr({name:w.name,description:w.description,fields:()=>ie(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Ot(w.fields,M=>M.name,ne)}function ne(w){let M=u(w.type);if(!Gt(M)){let Le=P(M);throw new Error(`Introspection must provide output type for fields, but received: ${Le}.`)}if(!w.args){let Le=P(w);throw new Error(`Introspection result missing field args: ${Le}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:M,args:ie(w.args)}}function ie(w){return Ot(w,M=>M.name,me)}function me(w){let M=u(w.type);if(!Ye(M)){let pu=P(M);throw new Error(`Introspection must provide input type for arguments, but received: ${pu}.`)}let Le=w.defaultValue!=null?Ct(Fc(w.defaultValue),M):void 0;return{description:w.description,type:M,defaultValue:Le,deprecationReason:w.deprecationReason}}function Be(w){if(!w.args){let M=P(w);throw new Error(`Introspection result missing directive args: ${M}.`)}if(!w.locations){let M=P(w);throw new Error(`Introspection result missing directive locations: ${M}.`)}return new ft({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ie(w.args)})}}s(lu,"buildClientSchema");function fD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(fD,"queryComplexityMessage");function HE(e){let t=new vr(e.schema),r=[],n=new Zn(e.schema,e.query,t,o=>r.push(o)),i=new Ph(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(gr(e.query,Yn(t,i)),r.length)throw r.pop();return i.complexity}s(HE,"getComplexity");var Ph=class{static{s(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}=au(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(o=>this.context.reportError(o));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let o=i.getQueryType();if(!o)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,o);break}case"mutation":{let o=i.getMutationType();if(!o)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,o);break}case"subscription":{let o=i.getSubscriptionType();if(!o)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,o);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;Er(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let o=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&&no(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&no(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 f=ht(p.type),h;try{h=ro(p,c,this.variableValues||{})}catch(T){return this.context.reportError(T),a}let g=0;xt(f)&&(g=this.nodeComplexity(c,f));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(T=>{let H=T(_);return typeof H=="number"&&!isNaN(H)?(u=Xn(H,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 f=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(f))break;let h=this.nodeComplexity(p,f);Er(f)?u=Xn(h,a,this.context.getSchema().getPossibleTypes(f).map(g=>g.name)):u=Xn(h,a,[f.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,!xt(p)))break;let f=this.nodeComplexity(c,p);Er(p)?u=Xn(f,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Xn(f,a,[p.name]);break}default:{u=Xn(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(fD(this.options.maximumComplexity,this.complexity))}};function Xn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(Xn,"addComplexities");function FE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(FE,"simpleEstimator");var qE=s((e,t,r={})=>{let{definitions:n}=e,i=mD(n),o=yD(n);return Object.entries(o).map(([a,c])=>du(c,i,0,t,a,r))},"depthLimit");function mD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(mD,"getFragments");function yD(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(yD,"getQueriesAndMutations");function du(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return gD(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>du(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return du(t[e.name.value],t,r,n,i,o);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>du(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(du,"determineDepth");var gD=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var bD=s(async(e,t)=>{if(!t.complexityLimit)throw new ei.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new ei.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=uu(),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=lu(c,{assumeValid:!0}),l=HE({estimators:[FE({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"),_D=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new ei.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...qE(e,r))},"applyDepthLimitPolicy"),$E=s(async(e,t,r)=>{let n=ei.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=Hc(o.query);r.useDepthLimit&&await _D(a,r.useDepthLimit),r.useComplexityLimit&&await bD(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 jE=Oh(Dt());function ED(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(ED,"isIntrospectionQuery");var VE=s(async(e,t)=>{let n=await e.clone().json();return ED(n.query)?jE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
230
230
  /*! For license information please see index.minified.js.LEGAL.txt */