@zuplo/graphql 5.1721.0 → 5.1722.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.minified.js +50 -50
- 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 _E=Object.create;var Xn=Object.defineProperty;var EE=Object.getOwnPropertyDescriptor;var wE=Object.getOwnPropertyNames;var vE=Object.getPrototypeOf,TE=Object.prototype.hasOwnProperty;var s=(e,t)=>Xn(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Xi=(e,t)=>{for(var r in t)Xn(e,r,{get:t[r],enumerable:!0})},mh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of wE(t))!TE.call(e,i)&&i!==r&&Xn(e,i,{get:()=>t[i],enumerable:!(n=EE(t,i))||n.enumerable});return e};var yh=(e,t,r)=>(r=e!=null?_E(vE(e)):{},mh(t||!e||!e.__esModule?Xn(r,"default",{value:e,enumerable:!0}):r,e)),eo=e=>mh(Xn({},"__esModule",{value:!0}),e);var L=g(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.FeatureNotEnabledError=yt.ConfigurationError=yt.RuntimeError=yt.SystemError=void 0;var su=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};yt.SystemError=su;var ei=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=ei;var au=class extends ei{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};yt.ConfigurationError=au;var cu=class extends ei{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};yt.FeatureNotEnabledError=cu});var Y=g(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.Environment=void 0;var SE=L(),uu=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 SE.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"}};to.Environment=uu});var Eh=g(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0});var gh=Y();Function.prototype.toString=function(){return"[native code]"};var ro=globalThis,bh=ro.caches;if(bh){let e=bh.open;ro.caches.open=function(t){let r=gh.Environment.instance.deploymentName??gh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete ro.caches.default,Object.freeze(ro.caches)}});var pu=g(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.MemoryCache=void 0;var IE=1e4,PE=1e3,wh=new Map,lu=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+IE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},du=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:PE}){this.name=t;let n=wh.get(t);n||(n=new lu(r),wh.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()}};no.MemoryCache=du});var oo=g(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.ZoneCache=void 0;var hu="__zuplo-expiry-header",fu=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(hu);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(hu,`${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(hu,`${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)}};io.ZoneCache=fu});var Jt=g(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.MemoryZoneReadThroughCache=void 0;var AE=pu(),RE=oo(),mu=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new AE.MemoryCache(n),this.#r=new RE.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(t,i,n).catch(o=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,o):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,o)})}};so.MemoryZoneReadThroughCache=mu});var ti=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var Nh=g(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.generateColor=w.colorFunctions=w.stripColor=w.bgRgb24=w.rgb24=w.bgRgb8=w.rgb8=w.bgBrightWhite=w.bgBrightCyan=w.bgBrightMagenta=w.bgBrightBlue=w.bgBrightYellow=w.bgBrightGreen=w.bgBrightRed=w.bgBrightBlack=w.bgWhite=w.bgCyan=w.bgMagenta=w.bgBlue=w.bgYellow=w.bgGreen=w.bgRed=w.bgBlack=w.brightWhite=w.brightCyan=w.brightMagenta=w.brightBlue=w.brightYellow=w.brightGreen=w.brightRed=w.brightBlack=w.gray=w.white=w.cyan=w.magenta=w.blue=w.yellow=w.green=w.red=w.black=w.strikethrough=w.hidden=w.inverse=w.underline=w.italic=w.dim=w.bold=w.reset=w.getColorEnabled=w.setColorEnabled=void 0;var vh=!0,yu=!vh;function OE(e){vh||(yu=e)}s(OE,"setColorEnabled");w.setColorEnabled=OE;function NE(){return yu}s(NE,"getColorEnabled");w.getColorEnabled=NE;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 yu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function xE(e){return q(e,F([0],0))}s(xE,"reset");w.reset=xE;function CE(e){return q(e,F([1],22))}s(CE,"bold");w.bold=CE;function LE(e){return q(e,F([2],22))}s(LE,"dim");w.dim=LE;function DE(e){return q(e,F([3],23))}s(DE,"italic");w.italic=DE;function UE(e){return q(e,F([4],24))}s(UE,"underline");w.underline=UE;function kE(e){return q(e,F([7],27))}s(kE,"inverse");w.inverse=kE;function ME(e){return q(e,F([8],28))}s(ME,"hidden");w.hidden=ME;function HE(e){return q(e,F([9],29))}s(HE,"strikethrough");w.strikethrough=HE;function FE(e){return q(e,F([30],39))}s(FE,"black");w.black=FE;function Th(e){return q(e,F([31],39))}s(Th,"red");w.red=Th;function Sh(e){return q(e,F([32],39))}s(Sh,"green");w.green=Sh;function Ih(e){return q(e,F([33],39))}s(Ih,"yellow");w.yellow=Ih;function Ph(e){return q(e,F([34],39))}s(Ph,"blue");w.blue=Ph;function Ah(e){return q(e,F([35],39))}s(Ah,"magenta");w.magenta=Ah;function Rh(e){return q(e,F([36],39))}s(Rh,"cyan");w.cyan=Rh;function qE(e){return q(e,F([37],39))}s(qE,"white");w.white=qE;function $E(e){return Oh(e)}s($E,"gray");w.gray=$E;function Oh(e){return q(e,F([90],39))}s(Oh,"brightBlack");w.brightBlack=Oh;function jE(e){return q(e,F([91],39))}s(jE,"brightRed");w.brightRed=jE;function VE(e){return q(e,F([92],39))}s(VE,"brightGreen");w.brightGreen=VE;function GE(e){return q(e,F([93],39))}s(GE,"brightYellow");w.brightYellow=GE;function BE(e){return q(e,F([94],39))}s(BE,"brightBlue");w.brightBlue=BE;function KE(e){return q(e,F([95],39))}s(KE,"brightMagenta");w.brightMagenta=KE;function JE(e){return q(e,F([96],39))}s(JE,"brightCyan");w.brightCyan=JE;function zE(e){return q(e,F([97],39))}s(zE,"brightWhite");w.brightWhite=zE;function WE(e){return q(e,F([40],49))}s(WE,"bgBlack");w.bgBlack=WE;function QE(e){return q(e,F([41],49))}s(QE,"bgRed");w.bgRed=QE;function YE(e){return q(e,F([42],49))}s(YE,"bgGreen");w.bgGreen=YE;function ZE(e){return q(e,F([43],49))}s(ZE,"bgYellow");w.bgYellow=ZE;function XE(e){return q(e,F([44],49))}s(XE,"bgBlue");w.bgBlue=XE;function ew(e){return q(e,F([45],49))}s(ew,"bgMagenta");w.bgMagenta=ew;function tw(e){return q(e,F([46],49))}s(tw,"bgCyan");w.bgCyan=tw;function rw(e){return q(e,F([47],49))}s(rw,"bgWhite");w.bgWhite=rw;function nw(e){return q(e,F([100],49))}s(nw,"bgBrightBlack");w.bgBrightBlack=nw;function iw(e){return q(e,F([101],49))}s(iw,"bgBrightRed");w.bgBrightRed=iw;function ow(e){return q(e,F([102],49))}s(ow,"bgBrightGreen");w.bgBrightGreen=ow;function sw(e){return q(e,F([103],49))}s(sw,"bgBrightYellow");w.bgBrightYellow=sw;function aw(e){return q(e,F([104],49))}s(aw,"bgBrightBlue");w.bgBrightBlue=aw;function cw(e){return q(e,F([105],49))}s(cw,"bgBrightMagenta");w.bgBrightMagenta=cw;function uw(e){return q(e,F([106],49))}s(uw,"bgBrightCyan");w.bgBrightCyan=uw;function lw(e){return q(e,F([107],49))}s(lw,"bgBrightWhite");w.bgBrightWhite=lw;function zt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(zt,"clampAndTruncate");function dw(e,t){return q(e,F([38,5,zt(t)],39))}s(dw,"rgb8");w.rgb8=dw;function pw(e,t){return q(e,F([48,5,zt(t)],49))}s(pw,"bgRgb8");w.bgRgb8=pw;function hw(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,zt(t.r),zt(t.g),zt(t.b)],39))}s(hw,"rgb24");w.rgb24=hw;function fw(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,zt(t.r),zt(t.g),zt(t.b)],49))}s(fw,"bgRgb24");w.bgRgb24=fw;var mw=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 yw(e){return e.replace(mw,"")}s(yw,"stripColor");w.stripColor=yw;w.colorFunctions=[Th,Sh,Ih,Ph,Ah,Rh];function gw(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(gw,"hashCode");function bw(e){let t=Math.abs(gw(e));return w.colorFunctions[t%w.colorFunctions.length]}s(bw,"generateColor");w.generateColor=bw});var xh=g(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.format=void 0;function _w(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(
|
|
25
|
+
"use strict";var PE=Object.create;var Xn=Object.defineProperty;var AE=Object.getOwnPropertyDescriptor;var RE=Object.getOwnPropertyNames;var OE=Object.getPrototypeOf,NE=Object.prototype.hasOwnProperty;var s=(e,t)=>Xn(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),to=(e,t)=>{for(var r in t)Xn(e,r,{get:t[r],enumerable:!0})},gh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of RE(t))!NE.call(e,i)&&i!==r&&Xn(e,i,{get:()=>t[i],enumerable:!(n=AE(t,i))||n.enumerable});return e};var bh=(e,t,r)=>(r=e!=null?PE(OE(e)):{},gh(t||!e||!e.__esModule?Xn(r,"default",{value:e,enumerable:!0}):r,e)),ro=e=>gh(Xn({},"__esModule",{value:!0}),e);var L=g(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.FeatureNotEnabledError=yt.ConfigurationError=yt.RuntimeError=yt.SystemError=void 0;var cu=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};yt.SystemError=cu;var ei=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=ei;var uu=class extends ei{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};yt.ConfigurationError=uu;var lu=class extends ei{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};yt.FeatureNotEnabledError=lu});var Y=g(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.Environment=void 0;var xE=L(),du=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 xE.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"}};no.Environment=du});var vh=g(wh=>{"use strict";Object.defineProperty(wh,"__esModule",{value:!0});var _h=Y();Function.prototype.toString=function(){return"[native code]"};var io=globalThis,Eh=io.caches;if(Eh){let e=Eh.open;io.caches.open=function(t){let r=_h.Environment.instance.deploymentName??_h.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete io.caches.default,Object.freeze(io.caches)}});var fu=g(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.MemoryCache=void 0;var CE=1e4,LE=1e3,Th=new Map,pu=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+CE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},hu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:LE}){this.name=t;let n=Th.get(t);n||(n=new pu(r),Th.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()}};oo.MemoryCache=hu});var ao=g(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.ZoneCache=void 0;var mu="__zuplo-expiry-header",yu=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(mu);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(mu,`${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(mu,`${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)}};so.ZoneCache=yu});var Jt=g(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.MemoryZoneReadThroughCache=void 0;var DE=fu(),UE=ao(),gu=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new DE.MemoryCache(n),this.#r=new UE.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(t,i,n).catch(o=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,o):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,o)})}};co.MemoryZoneReadThroughCache=gu});var ti=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var Ch=g(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var Sh=!0,bu=!Sh;function ME(e){Sh||(bu=e)}s(ME,"setColorEnabled");v.setColorEnabled=ME;function kE(){return bu}s(kE,"getColorEnabled");v.getColorEnabled=kE;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 bu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function HE(e){return q(e,F([0],0))}s(HE,"reset");v.reset=HE;function FE(e){return q(e,F([1],22))}s(FE,"bold");v.bold=FE;function qE(e){return q(e,F([2],22))}s(qE,"dim");v.dim=qE;function $E(e){return q(e,F([3],23))}s($E,"italic");v.italic=$E;function jE(e){return q(e,F([4],24))}s(jE,"underline");v.underline=jE;function VE(e){return q(e,F([7],27))}s(VE,"inverse");v.inverse=VE;function GE(e){return q(e,F([8],28))}s(GE,"hidden");v.hidden=GE;function BE(e){return q(e,F([9],29))}s(BE,"strikethrough");v.strikethrough=BE;function KE(e){return q(e,F([30],39))}s(KE,"black");v.black=KE;function Ih(e){return q(e,F([31],39))}s(Ih,"red");v.red=Ih;function Ph(e){return q(e,F([32],39))}s(Ph,"green");v.green=Ph;function Ah(e){return q(e,F([33],39))}s(Ah,"yellow");v.yellow=Ah;function Rh(e){return q(e,F([34],39))}s(Rh,"blue");v.blue=Rh;function Oh(e){return q(e,F([35],39))}s(Oh,"magenta");v.magenta=Oh;function Nh(e){return q(e,F([36],39))}s(Nh,"cyan");v.cyan=Nh;function JE(e){return q(e,F([37],39))}s(JE,"white");v.white=JE;function zE(e){return xh(e)}s(zE,"gray");v.gray=zE;function xh(e){return q(e,F([90],39))}s(xh,"brightBlack");v.brightBlack=xh;function WE(e){return q(e,F([91],39))}s(WE,"brightRed");v.brightRed=WE;function QE(e){return q(e,F([92],39))}s(QE,"brightGreen");v.brightGreen=QE;function YE(e){return q(e,F([93],39))}s(YE,"brightYellow");v.brightYellow=YE;function ZE(e){return q(e,F([94],39))}s(ZE,"brightBlue");v.brightBlue=ZE;function XE(e){return q(e,F([95],39))}s(XE,"brightMagenta");v.brightMagenta=XE;function ew(e){return q(e,F([96],39))}s(ew,"brightCyan");v.brightCyan=ew;function tw(e){return q(e,F([97],39))}s(tw,"brightWhite");v.brightWhite=tw;function rw(e){return q(e,F([40],49))}s(rw,"bgBlack");v.bgBlack=rw;function nw(e){return q(e,F([41],49))}s(nw,"bgRed");v.bgRed=nw;function iw(e){return q(e,F([42],49))}s(iw,"bgGreen");v.bgGreen=iw;function ow(e){return q(e,F([43],49))}s(ow,"bgYellow");v.bgYellow=ow;function sw(e){return q(e,F([44],49))}s(sw,"bgBlue");v.bgBlue=sw;function aw(e){return q(e,F([45],49))}s(aw,"bgMagenta");v.bgMagenta=aw;function cw(e){return q(e,F([46],49))}s(cw,"bgCyan");v.bgCyan=cw;function uw(e){return q(e,F([47],49))}s(uw,"bgWhite");v.bgWhite=uw;function lw(e){return q(e,F([100],49))}s(lw,"bgBrightBlack");v.bgBrightBlack=lw;function dw(e){return q(e,F([101],49))}s(dw,"bgBrightRed");v.bgBrightRed=dw;function pw(e){return q(e,F([102],49))}s(pw,"bgBrightGreen");v.bgBrightGreen=pw;function hw(e){return q(e,F([103],49))}s(hw,"bgBrightYellow");v.bgBrightYellow=hw;function fw(e){return q(e,F([104],49))}s(fw,"bgBrightBlue");v.bgBrightBlue=fw;function mw(e){return q(e,F([105],49))}s(mw,"bgBrightMagenta");v.bgBrightMagenta=mw;function yw(e){return q(e,F([106],49))}s(yw,"bgBrightCyan");v.bgBrightCyan=yw;function gw(e){return q(e,F([107],49))}s(gw,"bgBrightWhite");v.bgBrightWhite=gw;function zt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(zt,"clampAndTruncate");function bw(e,t){return q(e,F([38,5,zt(t)],39))}s(bw,"rgb8");v.rgb8=bw;function _w(e,t){return q(e,F([48,5,zt(t)],49))}s(_w,"bgRgb8");v.bgRgb8=_w;function Ew(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,zt(t.r),zt(t.g),zt(t.b)],39))}s(Ew,"rgb24");v.rgb24=Ew;function ww(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,zt(t.r),zt(t.g),zt(t.b)],49))}s(ww,"bgRgb24");v.bgRgb24=ww;var vw=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 Tw(e){return e.replace(vw,"")}s(Tw,"stripColor");v.stripColor=Tw;v.colorFunctions=[Ih,Ph,Ah,Rh,Oh,Nh];function Sw(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(Sw,"hashCode");function Iw(e){let t=Math.abs(Sw(e));return v.colorFunctions[t%v.colorFunctions.length]}s(Iw,"generateColor");v.generateColor=Iw});var Lh=g(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.format=void 0;function Pw(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(Pw,"format");uo.format=Pw});var Fh=g(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.inspect=void 0;function Tr(e,t,r,n){let i={seen:[],stylize:Aw,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=Ow),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 Aw(e,t){return e}s(Aw,"stylizeNoColor");function Rw(e){return typeof e=="boolean"}s(Rw,"isBoolean");function Uh(e){return e===void 0}s(Uh,"isUndefined");function Ow(e,t){let r=Tr.styles[t];return r?"\x1B["+Tr.colors[r][0]+"m"+e+"\x1B["+Tr.colors[r][1]+"m":e}s(Ow,"stylizeWithColor");function _u(e){return typeof e=="function"}s(_u,"isFunction");function Mh(e){return typeof e=="string"}s(Mh,"isString");function Nw(e){return typeof e=="number"}s(Nw,"isNumber");function kh(e){return e===null}s(kh,"isNull");function Hh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(Hh,"hasOwn");function Eu(e){return Su(e)&&Iu(e)==="[object RegExp]"}s(Eu,"isRegExp");function Su(e){return typeof e=="object"&&e!==null}s(Su,"isObject");function wu(e){return Su(e)&&(Iu(e)==="[object Error]"||e instanceof Error)}s(wu,"isError");function Dh(e){return Su(e)&&Iu(e)==="[object Date]"}s(Dh,"isDate");function Iu(e){return Object.prototype.toString.call(e)}s(Iu,"objectToString");function xw(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}s(xw,"arrayToHash");function Cw(e,t,r,n,i){let o=[];for(let a=0,c=t.length;a<c;++a)Hh(t,String(a))?o.push(Tu(e,t,r,n,String(a),!0)):o.push("");return i.forEach(function(a){a.match(/^\d+$/)||o.push(Tu(e,t,r,n,a,!0))}),o}s(Cw,"formatArray");function vu(e){return"["+Error.prototype.toString.call(e)+"]"}s(vu,"formatError");function lo(e,t,r){if(e.customInspect&&t&&_u(t.inspect)&&t.inspect!==Tr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Mh(d)||(d=lo(e,d,r)),d}let n=Lw(e,t);if(n)return n;let i=Object.keys(t),o=xw(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(wu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return vu(t);if(i.length===0){if(_u(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(Eu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Dh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(wu(t))return vu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),_u(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),Eu(t)&&(a=" "+RegExp.prototype.toString.call(t)),Dh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),wu(t)&&(a=" "+vu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return Eu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=Cw(e,t,r,o,i):l=i.map(function(d){return Tu(e,t,r,o,d,c)}),e.seen.pop(),Dw(l,a,u)}s(lo,"formatValue");function Tu(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")),Hh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(kh(r)?c=lo(e,u.value,null):c=lo(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")),
|
|
32
|
+
`))):c=e.stylize("[Circular]","special")),Uh(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(Tu,"formatProperty");function Lw(e,t){if(Uh(t))return e.stylize("undefined","undefined");if(Mh(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Nw(t))return e.stylize(""+t,"number");if(Rw(t))return e.stylize(""+t,"boolean");if(kh(t))return e.stylize("null","null")}s(Lw,"formatPrimitive");function Dw(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(Aw,"reduceToSingleString")});var Hh=g(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.format=void 0;var Rw=xh(),Ow=Mh(),Nw=s((e,...t)=>(0,Rw.format)(Ow.inspect,e,t),"format");lo.format=Nw});var Sr=g(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.debug=Wt.withoutEnv=Wt.Debugger=void 0;var xw=Nh(),Cw=Hh(),po=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,xw.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,Cw.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};Wt.Debugger=po;var ho=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function Fh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(Fh,"extract");var ri;function Lw(e){e||(e=[]),typeof e=="string"&&(e=Fh(e)),ri=new ho(e)}s(Lw,"withoutEnv");Wt.withoutEnv=Lw;function Dw(e){let t=globalThis.DEBUG;ri||(ri=new ho(Fh(t)));let r=new po(ri,e);return ri.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(Dw,"debug");Wt.debug=Dw});var mo=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.ProblemResponseFormatter=Vr.InternalProblemResponseFormatter=void 0;var Uw=L(),fo=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 Uw.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Vr.InternalProblemResponseFormatter=fo;var Su=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await fo.problemResponseFormat(t,r,n)}};Vr.ProblemResponseFormatter=Su});var $h=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.deepFreeze=void 0;function qh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&qh(r)}return Object.freeze(e)}s(qh,"deepFreeze");yo.deepFreeze=qh});var He=g(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.ZuploRequest=void 0;var jh=$h(),Iu=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,jh.deepFreeze)(this.#e)}get params(){return(0,jh.deepFreeze)(this.#t)}user};go.ZuploRequest=Iu});var gt=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var Vh=L(),kw=mo(),Mw=He(),_o=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=_o;var Eo=class extends _o{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=Eo;ye.runtimeExtensions={};var Pu=[];ye.plugins=Pu;var Gh=[],Bh=[],Kh=[],bo={addPlugin(e){Pu.push(e)},addRequestHook(e){Gh.push(e)},addResponseSendingHook(e){Bh.push(e)},addResponseSendingFinalHook(e){Kh.push(e)}},Hw=s(async(e,t)=>{let r=e;for(let n of Gh){let i=await n(r,t);if(i instanceof Mw.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Vh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Hw;var Fw=s(async(e,t,r)=>{let n=e;for(let i of Bh){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new Vh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Fw;var qw=s(async(e,t,r)=>{for(let n of Kh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=qw;async function $w(e=()=>Promise.resolve()){await e(bo),ye.runtimeExtensions.value=bo;for(let t of Pu)t instanceof Eo&&await t.initialize(bo);kw.InternalProblemResponseFormatter.setProblemResponseFormat(bo.problemResponseFormat)}s($w,"initializeRuntime");ye.initializeRuntime=$w});var Au=g(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.serialize=Qt.ContentTypes=void 0;Qt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function jw(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Json)||!t?JSON.stringify(e):e}s(jw,"serialize");Qt.serialize=jw});var Ct=g(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.Pipeline=void 0;var Ru=Ir(),Jh=gt(),Vw=Au(),Ou=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 y=>{let v=a.pop();return v?v(i,o,r,c):await this.#e(async S=>{let M=await n(S,o);return Gw(M)},r)(y,o)},"nextPipe"),l=await c(i),d=new Ru.ResponseSendingEvent(i,l);o.dispatchEvent(d);let p=Ru.ZuploContextExtensions.getContextExtensions(o),m=p.latestRequest,h;try{h=await d.mutableResponse}catch(y){return o.log.error(y),r.errorHandler(i,o,y)}try{h=await p.onResponseSending(h,m,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}try{h=await(0,Jh.invokeOnResponseSendingExtensions)(h,m,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}o.dispatchEvent(new Ru.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,m,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,Jh.invokeOnResponseSendingFinalExtensions)(l,m,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return h}};wo.Pipeline=Ou;function Gw(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Vw.serialize)(e),{headers:{"content-type":"application/json"}})}s(Gw,"resultToResponse")});var To=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.MetricsPlugin=void 0;var Bw=gt(),Nu=class extends Bw.RuntimePlugin{static{s(this,"MetricsPlugin")}};vo.MetricsPlugin=Nu});var Le=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.SystemLogMap=void 0;var Kw=L(),xu=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 Kw.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};So.SystemLogMap=xu});var ve=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.BatchDispatch=void 0;var Cu=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}};Io.BatchDispatch=Cu});var Wh=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.EllieMetricsTransport=void 0;var zh=Le(),Jw=ve(),Po=Y(),Lu=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Po.Environment.instance.loggingId,this.#e=t,this.#t=new Jw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,zh.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}=Po.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":Po.Environment.instance.deploymentName??"unknown","user-agent":Po.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();zh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Ao.EllieMetricsTransport=Lu});var ot=g(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.systemNoVersion=Pr.SystemRouteConfiguration=void 0;var Du=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=Pr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Pr.SystemRouteConfiguration=Du;Pr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Yt=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.metricsProcessor=void 0;var Qh=ti(),zw=Ir(),Ww=gt(),Qw=To(),Yw=Wh(),Zw=ot(),Xw=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(Qh.RAY_ID_HEADER)??void 0,u=e.headers.get(Qh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof Zw.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=zw.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={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 Yw.EllieMetricsTransport(t)),Ww.plugins.forEach(y=>{if(y instanceof Qw.MetricsPlugin){let v=y.getTransport();h.push(v)}}),h.forEach(y=>{y.pushMetrics(m,t)}),a},"metricsProcessor");Ro.metricsProcessor=Xw});var Uu=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.SystemRouteName=void 0;var Yh;(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"})(Yh||(Oo.SystemRouteName=Yh={}))});var Xh=g(Zh=>{"use strict";Object.defineProperty(Zh,"__esModule",{value:!0})});var Ar=g(Zt=>{"use strict";var ev=Zt&&Zt.__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]}),ef=Zt&&Zt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&ev(t,e,r)};Object.defineProperty(Zt,"__esModule",{value:!0});ef(Uu(),Zt);ef(Xh(),Zt)});var tf=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.registerBuildRoute=void 0;var tv=Lt(),rv=Ct(),nv=Yt(),iv=Ar(),ov=ot(),sv=Le(),av=Y(),cv=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 tv.HttpProblems.notFound(o,a);let l=av.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"&&sv.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 rv.Pipeline({processors:[nv.metricsProcessor],handler:r,gateway:t}),i=new ov.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:iv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");No.registerBuildRoute=cv});var ku=g(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.HTTP_STATUS_TITLES=Gr.HttpStatusCode=void 0;var rf;(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"})(rf||(Gr.HttpStatusCode=rf={}));Gr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var Hu=g(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});var uv={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"};Mu.default=uv});var se=g(Br=>{"use strict";var lv=Br&&Br.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Br,"__esModule",{value:!0});Br.HttpProblems=void 0;var dv=ti(),O=ku(),pv=lv(Hu()),hv=Y(),Fu=mo();function fv(e){return`${new URL(e.url).pathname}`}s(fv,"instance");function mv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:hv.Environment.instance.build.BUILD_ID},n=e.headers.get(dv.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(mv,"trace");var yv=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:fv(t),trace:mv(t,r),...n},additionalHeaders:i,statusText:pv.default[e.status]}),"merge"),qu=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Fu.ProblemResponseFormatter.format(t,r,n):Fu.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:O.HTTP_STATUS_TITLES[t],...r}}},$u=class extends qu{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=yv(this.getProblemFromStatus(t),r,n,i,o);return Fu.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(O.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Br.HttpProblems=$u});var Dt=g(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:gv}=Object.prototype,{propertyIsEnumerable:bv}=Object.prototype;function nf(e){return gv.call(e)}s(nf,"toString");U.toString=nf;function xo(e){return typeof e=="string"}s(xo,"isString");U.isString=xo;function _v(e){return xo(e)&&e!==""}s(_v,"isNonEmptyString");U.isNonEmptyString=_v;function Ev(e){return Array.isArray(e)&&e.every(t=>xo(t))}s(Ev,"isStringArray");U.isStringArray=Ev;function wv(e){return nf(e)==="[object RegExp]"}s(wv,"isRegexp");U.isRegexp=wv;function vv(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>bv.call(e,t))]}s(vv,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=vv;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 Tv(e){return ju(e)&&Array.isArray(e)}s(Tv,"isArray");U.isArray=Tv;function Sv(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(Sv,"isTypedArray");U.isTypedArray=Sv;function Iv(e){return typeof e=="number"&&!isNaN(e)}s(Iv,"isNumber");U.isNumber=Iv;function Pv(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(Pv,"isIterable");U.isIterable=Pv;function Av(e){return e===!0||e===!1}s(Av,"isBoolean");U.isBoolean=Av;function of(e){return typeof e>"u"}s(of,"isUndefined");U.isUndefined=of;function Rv(e){return!ni(e)}s(Rv,"isDefined");U.isDefined=Rv;function ni(e){return of(e)||e===null}s(ni,"isUndefinedOrNull");U.isUndefinedOrNull=ni;function Ov(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(Ov,"assertType");U.assertType=Ov;function Nv(e){if(ni(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(Nv,"assertIsDefined");U.assertIsDefined=Nv;function xv(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ni(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(xv,"assertAllDefined");U.assertAllDefined=xv;var Cv=Object.prototype.hasOwnProperty;function Lv(e){if(!ju(e))return!1;for(let t in e)if(Cv.call(e,t))return!1;return!0}s(Lv,"isEmptyObject");U.isEmptyObject=Lv;function Vu(e){return typeof e=="function"}s(Vu,"isFunction");U.isFunction=Vu;function Dv(...e){return e.length>0&&e.every(Vu)}s(Dv,"areFunctions");U.areFunctions=Dv;function Uv(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)sf(e[n],t[n])}s(Uv,"validateConstraints");U.validateConstraints=Uv;function sf(e,t){if(xo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Vu(t)){try{if(e instanceof t)return}catch{}if(!ni(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(sf,"validateConstraint");U.validateConstraint=sf;function kv(e){return e===null?void 0:e}s(kv,"withNullAsUndefined");U.withNullAsUndefined=kv;function Mv(e){return typeof e>"u"?null:e}s(Mv,"withUndefinedAsNull");U.withUndefinedAsNull=Mv;function Hv(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(Hv,"isErrorLike");U.isErrorLike=Hv});var ii=g(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.parseValueToBoolean=bt.parseValueToStringArray=bt.getValueFromRequestUser=bt.statusCodesStringToNumberArray=void 0;var Kr=L(),Gu=Dt(),af=new Map;function Fv(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=af.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 af.set(e,n),n}s(Fv,"statusCodesStringToNumberArray");bt.statusCodesStringToNumberArray=Fv;function qv(e,t,r){if(!t.startsWith("."))throw new Kr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(o=>{if(i===void 0)throw new Kr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(qv,"getValueFromRequestUser");bt.getValueFromRequestUser=qv;function $v(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Kr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Gu.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Kr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s($v,"parseValueToStringArray");bt.parseValueToStringArray=$v;function jv(e){if((0,Gu.isBoolean)(e))return e;if((0,Gu.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Kr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Kr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(jv,"parseValueToBoolean");bt.parseValueToBoolean=jv});var Lo=g(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.generateCorsHeaders=Xt.findMatchingOrigin=Xt.parseCorsPolicies=void 0;var Rr=L(),cf=ii(),Co=Dt();function Vv(e){if(e==null)return[];if(!Array.isArray(e))throw new Rr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Co.isObject)(r))throw new Rr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Co.isNonEmptyString)(r.name))throw new Rr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Co.isNumber)(r.maxAge))throw new Rr.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,Co.isBoolean)(r.allowCredentials))throw new Rr.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=Bu(r,"allowedHeaders"),i=Bu(r,"allowedMethods"),o=Bu(r,"exposeHeaders"),a;try{a=(0,cf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Rr.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(Vv,"parseCorsPolicies");Xt.parseCorsPolicies=Vv;function Bu(e,t){let r;if(e[t]!==void 0)try{r=(0,cf.parseValueToStringArray)(e[t])}catch(n){throw new Rr.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(Bu,"parseOptionalProperty");var Gv=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");Xt.findMatchingOrigin=Gv;var Bv=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");Xt.generateCorsHeaders=Bv});var lf=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.registerCorsRoute=void 0;var Kv=L(),Jv=Ct(),Ku=se(),zv=Yt(),Wv=Ar(),Qv=ot(),uf=Lo(),Yv=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 Ku.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return Ku.HttpProblems.notFound(a,c);let h=m.routeConfiguration,y=Zv(l,d,p,h,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):(y.error&&c.log.warn(y.error),Ku.HttpProblems.notFound(a,c))},"optionsHandler"),i=new Jv.Pipeline({processors:[zv.metricsProcessor],handler:n,gateway:t}),o=new Qv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Wv.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");Do.registerCorsRoute=Yv;var Zv=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 Kv.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,uf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,uf.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var df=g(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.registerNoRoutes=void 0;var Xv=Ct(),eT=Yt(),tT=Ar(),rT=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 Xv.Pipeline({processors:[eT.metricsProcessor],handler:r,gateway:t}),i=new rT.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:tT.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Uo.registerNoRoutes=nT});var pf=g(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.registerNotMatchedHandler=Or.notFoundRouteConfiguration=void 0;var iT=Ir(),oT=gt(),sT=Ct(),aT=se(),cT=Yt(),uT=Ar(),lT=ot();Or.notFoundRouteConfiguration=new lT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:uT.SystemRouteName.UnmatchedPath});var dT=s((e,t)=>{let r=s(async(i,o)=>{let a=oT.runtimeExtensions.value?.notFoundHandler;if(a){let c=iT.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return aT.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new sT.Pipeline({processors:[cT.metricsProcessor],handler:r,gateway:t});e.addRoute(Or.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Or.registerNotMatchedHandler=dT});var Ju=g(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.corsProcessor=void 0;var mf=L(),hf=Lo(),pT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],ff=s(e=>{pT.forEach(t=>e.delete(t))},"stripCorsHeaders"),hT=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 ff(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 mf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=fT(i,r.routeData.corsPolicies),c=mT(e,a),u=new Headers(o.headers);return ff(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");ko.corsProcessor=hT;var fT=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 mf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),mT=s((e,t)=>{let r=(0,hf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,hf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var yf=g(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.registerPingRoute=void 0;var yT=Ct(),gT=Ju(),bT=Ar(),_T=ot(),ET=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new yT.Pipeline({processors:[gT.corsProcessor],handler:r,gateway:t}),i=new _T.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:bT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Mo.registerPingRoute=ET});var zr=g(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var wT=Ir(),Jr=L(),gf=He(),vT=Y();function bf(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 Jr.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 Jr.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(bf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=bf;function TT(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new Jr.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(TT,"getOutboundPolicyHandlerAndOptions");var ST=s(e=>async(t,r)=>{let n=wT.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 gf.ZuploRequest)o=c;else if(c instanceof Request)o=new gf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=o}return o},"toStackedInboundHandler");st.toStackedInboundHandler=ST;var IT=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 Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);o=c}return o},"toStackedOutboundHandler"),PT=s(async(e,t,r,n)=>{let i=bf(t.route,r.routeData.policies),o=TT(t.route,r.routeData.policies);return _f({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");st.policyProcessor=PT;function AT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>_f({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(AT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=AT;async function _f({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:o}){let a=(0,st.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await o(c),l=IT(n),d;return vT.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(_f,"executePolicyProcessor")});var Ef=g(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.serialize=Wr.parse=void 0;var RT=Object.prototype.toString,Ho=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function OT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||xT,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]=DT(l,i)}o=c+1}return r}s(OT,"parse");Wr.parse=OT;function NT(e,t,r){let n=r||{},i=n.encode||CT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Ho.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!Ho.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(!Ho.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Ho.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!LT(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(NT,"serialize");Wr.serialize=NT;function xT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(xT,"decode");function CT(e){return encodeURIComponent(e)}s(CT,"encode");function LT(e){return RT.call(e)==="[object Date]"||e instanceof Date}s(LT,"isDate");function DT(e,t){try{return t(e)}catch{return e}}s(DT,"tryDecode")});var wf=g(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.devPortalBaseURL=void 0;var UT=Ef();function kT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,UT.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(kT,"devPortalBaseURL");Fo.devPortalBaseURL=kT});var Pf=g(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.registerDevPortalLegacyRedirectRoute=Qr.registerDevPortalV3Route=void 0;var zu=Lt(),Tf=Ct(),Sf=Yt(),MT=zr(),If=ot(),HT=wf(),er=Y(),vf="/__zuplo/dev-portal",FT="dev-portal-id",qT="dev-portal-host",$T="zp-account",jT="zp-project",VT="dev-portal-build",GT=`
|
|
35
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}s(Dw,"reduceToSingleString")});var qh=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.format=void 0;var Uw=Lh(),Mw=Fh(),kw=s((e,...t)=>(0,Uw.format)(Mw.inspect,e,t),"format");ho.format=kw});var Sr=g(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.debug=Wt.withoutEnv=Wt.Debugger=void 0;var Hw=Ch(),Fw=qh(),fo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,Hw.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,Fw.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};Wt.Debugger=fo;var mo=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function $h(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s($h,"extract");var ri;function qw(e){e||(e=[]),typeof e=="string"&&(e=$h(e)),ri=new mo(e)}s(qw,"withoutEnv");Wt.withoutEnv=qw;function $w(e){let t=globalThis.DEBUG;ri||(ri=new mo($h(t)));let r=new fo(ri,e);return ri.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s($w,"debug");Wt.debug=$w});var go=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.ProblemResponseFormatter=Vr.InternalProblemResponseFormatter=void 0;var jw=L(),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 jw.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Vr.InternalProblemResponseFormatter=yo;var Pu=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await yo.problemResponseFormat(t,r,n)}};Vr.ProblemResponseFormatter=Pu});var Vh=g(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 Fe=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.ZuploRequest=void 0;var Gh=Vh(),Au=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,Gh.deepFreeze)(this.#e)}get params(){return(0,Gh.deepFreeze)(this.#t)}user};_o.ZuploRequest=Au});var gt=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var Bh=L(),Vw=go(),Gw=Fe(),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 Ru=[];ye.plugins=Ru;var Kh=[],Jh=[],zh=[],Eo={addPlugin(e){Ru.push(e)},addRequestHook(e){Kh.push(e)},addResponseSendingHook(e){Jh.push(e)},addResponseSendingFinalHook(e){zh.push(e)}},Bw=s(async(e,t)=>{let r=e;for(let n of Kh){let i=await n(r,t);if(i instanceof Gw.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Bh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Bw;var Kw=s(async(e,t,r)=>{let n=e;for(let i of Jh){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new Bh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Kw;var Jw=s(async(e,t,r)=>{for(let n of zh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Jw;async function zw(e=()=>Promise.resolve()){await e(Eo),ye.runtimeExtensions.value=Eo;for(let t of Ru)t instanceof vo&&await t.initialize(Eo);Vw.InternalProblemResponseFormatter.setProblemResponseFormat(Eo.problemResponseFormat)}s(zw,"initializeRuntime");ye.initializeRuntime=zw});var Ou=g(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.serialize=Qt.ContentTypes=void 0;Qt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Ww(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Json)||!t?JSON.stringify(e):e}s(Ww,"serialize");Qt.serialize=Ww});var Lt=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.Pipeline=void 0;var Nu=Ir(),Wh=gt(),Qw=Ou(),xu=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 y=>{let w=a.pop();return w?w(i,o,r,c):await this.#e(async S=>{let U=await n(S,o);return Yw(U)},r)(y,o)},"nextPipe"),l=await c(i),d=new Nu.ResponseSendingEvent(i,l);o.dispatchEvent(d);let p=Nu.ZuploContextExtensions.getContextExtensions(o),m=p.latestRequest,h;try{h=await d.mutableResponse}catch(y){return o.log.error(y),r.errorHandler(i,o,y)}try{h=await p.onResponseSending(h,m,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}try{h=await(0,Wh.invokeOnResponseSendingExtensions)(h,m,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}o.dispatchEvent(new Nu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,m,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,Wh.invokeOnResponseSendingFinalExtensions)(l,m,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return h}};To.Pipeline=xu;function Yw(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Qw.serialize)(e),{headers:{"content-type":"application/json"}})}s(Yw,"resultToResponse")});var Io=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.MetricsPlugin=void 0;var Zw=gt(),Cu=class extends Zw.RuntimePlugin{static{s(this,"MetricsPlugin")}};So.MetricsPlugin=Cu});var Oe=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.SystemLogMap=void 0;var Xw=L(),Lu=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 Xw.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Po.SystemLogMap=Lu});var Te=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.BatchDispatch=void 0;var Du=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}};Ao.BatchDispatch=Du});var Yh=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.EllieMetricsTransport=void 0;var Qh=Oe(),ev=Te(),Ro=Y(),Uu=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Ro.Environment.instance.loggingId,this.#e=t,this.#t=new ev.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Qh.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:o}=Ro.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":Ro.Environment.instance.deploymentName??"unknown","user-agent":Ro.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Qh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Oo.EllieMetricsTransport=Uu});var st=g(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.systemNoVersion=Pr.SystemRouteConfiguration=void 0;var Mu=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=Pr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Pr.SystemRouteConfiguration=Mu;Pr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Yt=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.metricsProcessor=void 0;var Zh=ti(),tv=Ir(),rv=gt(),nv=Io(),iv=Yh(),ov=st(),sv=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(Zh.RAY_ID_HEADER)??void 0,u=e.headers.get(Zh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof ov.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=tv.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={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 iv.EllieMetricsTransport(t)),rv.plugins.forEach(y=>{if(y instanceof nv.MetricsPlugin){let w=y.getTransport();h.push(w)}}),h.forEach(y=>{y.pushMetrics(m,t)}),a},"metricsProcessor");No.metricsProcessor=sv});var ku=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.SystemRouteName=void 0;var Xh;(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"})(Xh||(xo.SystemRouteName=Xh={}))});var tf=g(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0})});var Ar=g(Zt=>{"use strict";var av=Zt&&Zt.__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]}),rf=Zt&&Zt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&av(t,e,r)};Object.defineProperty(Zt,"__esModule",{value:!0});rf(ku(),Zt);rf(tf(),Zt)});var nf=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.registerBuildRoute=void 0;var cv=Dt(),uv=Lt(),lv=Yt(),dv=Ar(),pv=st(),hv=Oe(),fv=Y(),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 cv.HttpProblems.notFound(o,a);let l=fv.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"&&hv.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 uv.Pipeline({processors:[lv.metricsProcessor],handler:r,gateway:t}),i=new pv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:dv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Co.registerBuildRoute=mv});var Hu=g(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.HTTP_STATUS_TITLES=Gr.HttpStatusCode=void 0;var of;(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"})(of||(Gr.HttpStatusCode=of={}));Gr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var qu=g(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});var yv={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"};Fu.default=yv});var ae=g(Br=>{"use strict";var gv=Br&&Br.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Br,"__esModule",{value:!0});Br.HttpProblems=void 0;var bv=ti(),N=Hu(),_v=gv(qu()),Ev=Y(),$u=go();function wv(e){return`${new URL(e.url).pathname}`}s(wv,"instance");function vv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Ev.Environment.instance.build.BUILD_ID},n=e.headers.get(bv.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(vv,"trace");var Tv=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:wv(t),trace:vv(t,r),...n},additionalHeaders:i,statusText:_v.default[e.status]}),"merge"),ju=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?$u.ProblemResponseFormatter.format(t,r,n):$u.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}}},Vu=class extends ju{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=Tv(this.getProblemFromStatus(t),r,n,i,o);return $u.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)};Br.HttpProblems=Vu});var bt=g(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.isErrorLike=M.withUndefinedAsNull=M.withNullAsUndefined=M.validateConstraint=M.validateConstraints=M.areFunctions=M.isFunction=M.isEmptyObject=M.assertAllDefined=M.assertIsDefined=M.assertType=M.isUndefinedOrNull=M.isDefined=M.isUndefined=M.isBoolean=M.isIterable=M.isNumber=M.isTypedArray=M.isArray=M.isObject=M.getOwnEnumerableKeys=M.isRegexp=M.isStringArray=M.isNonEmptyString=M.isString=M.toString=void 0;var{toString:Sv}=Object.prototype,{propertyIsEnumerable:Iv}=Object.prototype;function sf(e){return Sv.call(e)}s(sf,"toString");M.toString=sf;function Lo(e){return typeof e=="string"}s(Lo,"isString");M.isString=Lo;function Pv(e){return Lo(e)&&e!==""}s(Pv,"isNonEmptyString");M.isNonEmptyString=Pv;function Av(e){return Array.isArray(e)&&e.every(t=>Lo(t))}s(Av,"isStringArray");M.isStringArray=Av;function Rv(e){return sf(e)==="[object RegExp]"}s(Rv,"isRegexp");M.isRegexp=Rv;function Ov(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Iv.call(e,t))]}s(Ov,"getOwnEnumerableKeys");M.getOwnEnumerableKeys=Ov;function Gu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(Gu,"isObject");M.isObject=Gu;function Nv(e){return Gu(e)&&Array.isArray(e)}s(Nv,"isArray");M.isArray=Nv;function xv(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(xv,"isTypedArray");M.isTypedArray=xv;function Cv(e){return typeof e=="number"&&!isNaN(e)}s(Cv,"isNumber");M.isNumber=Cv;function Lv(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(Lv,"isIterable");M.isIterable=Lv;function Dv(e){return e===!0||e===!1}s(Dv,"isBoolean");M.isBoolean=Dv;function af(e){return typeof e>"u"}s(af,"isUndefined");M.isUndefined=af;function Uv(e){return!ni(e)}s(Uv,"isDefined");M.isDefined=Uv;function ni(e){return af(e)||e===null}s(ni,"isUndefinedOrNull");M.isUndefinedOrNull=ni;function Mv(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(Mv,"assertType");M.assertType=Mv;function kv(e){if(ni(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(kv,"assertIsDefined");M.assertIsDefined=kv;function Hv(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ni(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(Hv,"assertAllDefined");M.assertAllDefined=Hv;var Fv=Object.prototype.hasOwnProperty;function qv(e){if(!Gu(e))return!1;for(let t in e)if(Fv.call(e,t))return!1;return!0}s(qv,"isEmptyObject");M.isEmptyObject=qv;function Bu(e){return typeof e=="function"}s(Bu,"isFunction");M.isFunction=Bu;function $v(...e){return e.length>0&&e.every(Bu)}s($v,"areFunctions");M.areFunctions=$v;function jv(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)cf(e[n],t[n])}s(jv,"validateConstraints");M.validateConstraints=jv;function cf(e,t){if(Lo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Bu(t)){try{if(e instanceof t)return}catch{}if(!ni(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(cf,"validateConstraint");M.validateConstraint=cf;function Vv(e){return e===null?void 0:e}s(Vv,"withNullAsUndefined");M.withNullAsUndefined=Vv;function Gv(e){return typeof e>"u"?null:e}s(Gv,"withUndefinedAsNull");M.withUndefinedAsNull=Gv;function Bv(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(Bv,"isErrorLike");M.isErrorLike=Bv});var ii=g(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.parseValueToBoolean=_t.parseValueToStringArray=_t.getValueFromRequestUser=_t.statusCodesStringToNumberArray=void 0;var Kr=L(),Ku=bt(),uf=new Map;function Kv(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=uf.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 uf.set(e,n),n}s(Kv,"statusCodesStringToNumberArray");_t.statusCodesStringToNumberArray=Kv;function Jv(e,t,r){if(!t.startsWith("."))throw new Kr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(o=>{if(i===void 0)throw new Kr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(Jv,"getValueFromRequestUser");_t.getValueFromRequestUser=Jv;function zv(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Kr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Ku.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Kr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(zv,"parseValueToStringArray");_t.parseValueToStringArray=zv;function Wv(e){if((0,Ku.isBoolean)(e))return e;if((0,Ku.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Kr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Kr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(Wv,"parseValueToBoolean");_t.parseValueToBoolean=Wv});var Uo=g(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.generateCorsHeaders=Xt.findMatchingOrigin=Xt.parseCorsPolicies=void 0;var Rr=L(),lf=ii(),Do=bt();function Qv(e){if(e==null)return[];if(!Array.isArray(e))throw new Rr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Do.isObject)(r))throw new Rr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Do.isNonEmptyString)(r.name))throw new Rr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Do.isNumber)(r.maxAge))throw new Rr.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,Do.isBoolean)(r.allowCredentials))throw new Rr.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=Ju(r,"allowedHeaders"),i=Ju(r,"allowedMethods"),o=Ju(r,"exposeHeaders"),a;try{a=(0,lf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Rr.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(Qv,"parseCorsPolicies");Xt.parseCorsPolicies=Qv;function Ju(e,t){let r;if(e[t]!==void 0)try{r=(0,lf.parseValueToStringArray)(e[t])}catch(n){throw new Rr.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(Ju,"parseOptionalProperty");var Yv=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");Xt.findMatchingOrigin=Yv;var Zv=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");Xt.generateCorsHeaders=Zv});var pf=g(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.registerCorsRoute=void 0;var Xv=L(),eT=Lt(),zu=ae(),tT=Yt(),rT=Ar(),nT=st(),df=Uo(),iT=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 zu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return zu.HttpProblems.notFound(a,c);let h=m.routeConfiguration,y=oT(l,d,p,h,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):(y.error&&c.log.warn(y.error),zu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new eT.Pipeline({processors:[tT.metricsProcessor],handler:n,gateway:t}),o=new nT.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:rT.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");Mo.registerCorsRoute=iT;var oT=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 Xv.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,df.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,df.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var hf=g(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.registerNoRoutes=void 0;var sT=Lt(),aT=Yt(),cT=Ar(),uT=st(),lT=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 sT.Pipeline({processors:[aT.metricsProcessor],handler:r,gateway:t}),i=new uT.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:cT.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");ko.registerNoRoutes=lT});var ff=g(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.registerNotMatchedHandler=Or.notFoundRouteConfiguration=void 0;var dT=Ir(),pT=gt(),hT=Lt(),fT=ae(),mT=Yt(),yT=Ar(),gT=st();Or.notFoundRouteConfiguration=new gT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:yT.SystemRouteName.UnmatchedPath});var bT=s((e,t)=>{let r=s(async(i,o)=>{let a=pT.runtimeExtensions.value?.notFoundHandler;if(a){let c=dT.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return fT.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new hT.Pipeline({processors:[mT.metricsProcessor],handler:r,gateway:t});e.addRoute(Or.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Or.registerNotMatchedHandler=bT});var Wu=g(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.corsProcessor=void 0;var gf=L(),mf=Uo(),_T=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],yf=s(e=>{_T.forEach(t=>e.delete(t))},"stripCorsHeaders"),ET=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 yf(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 gf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=wT(i,r.routeData.corsPolicies),c=vT(e,a),u=new Headers(o.headers);return yf(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");Ho.corsProcessor=ET;var wT=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 gf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),vT=s((e,t)=>{let r=(0,mf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,mf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var bf=g(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.registerPingRoute=void 0;var TT=Lt(),ST=Wu(),IT=Ar(),PT=st(),AT=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new TT.Pipeline({processors:[ST.corsProcessor],handler:r,gateway:t}),i=new PT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:IT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Fo.registerPingRoute=AT});var zr=g(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.createInternalPolicyProcessor=at.policyProcessor=at.toStackedInboundHandler=at.getInboundPolicyHandlerAndOptions=void 0;var RT=Ir(),Jr=L(),_f=Fe(),OT=Y();function Ef(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 Jr.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 Jr.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(Ef,"getInboundPolicyHandlerAndOptions");at.getInboundPolicyHandlerAndOptions=Ef;function NT(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new Jr.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(NT,"getOutboundPolicyHandlerAndOptions");var xT=s(e=>async(t,r)=>{let n=RT.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 _f.ZuploRequest)o=c;else if(c instanceof Request)o=new _f.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=o}return o},"toStackedInboundHandler");at.toStackedInboundHandler=xT;var CT=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 Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);o=c}return o},"toStackedOutboundHandler"),LT=s(async(e,t,r,n)=>{let i=Ef(t.route,r.routeData.policies),o=NT(t.route,r.routeData.policies);return wf({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");at.policyProcessor=LT;function DT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>wf({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(DT,"createInternalPolicyProcessor");at.createInternalPolicyProcessor=DT;async function wf({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=CT(n),d;return OT.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(wf,"executePolicyProcessor")});var vf=g(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.serialize=Wr.parse=void 0;var UT=Object.prototype.toString,qo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function MT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||HT,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]=$T(l,i)}o=c+1}return r}s(MT,"parse");Wr.parse=MT;function kT(e,t,r){let n=r||{},i=n.encode||FT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!qo.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!qo.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(!qo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!qo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!qT(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(kT,"serialize");Wr.serialize=kT;function HT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(HT,"decode");function FT(e){return encodeURIComponent(e)}s(FT,"encode");function qT(e){return UT.call(e)==="[object Date]"||e instanceof Date}s(qT,"isDate");function $T(e,t){try{return t(e)}catch{return e}}s($T,"tryDecode")});var Tf=g($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.devPortalBaseURL=void 0;var jT=vf();function VT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,jT.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(VT,"devPortalBaseURL");$o.devPortalBaseURL=VT});var Rf=g(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.registerDevPortalLegacyRedirectRoute=Qr.registerDevPortalV3Route=void 0;var Qu=Dt(),If=Lt(),Pf=Yt(),GT=zr(),Af=st(),BT=Tf(),er=Y(),Sf="/__zuplo/dev-portal",KT="dev-portal-id",JT="dev-portal-host",zT="zp-account",WT="zp-project",QT="dev-portal-build",YT=`
|
|
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
|
-
`,
|
|
50
|
-
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(
|
|
51
|
-
`)}s(
|
|
49
|
+
`,ZT=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=er.Environment.instance.deploymentName,i=er.Environment.instance.devPortalBaseUrl,o=s(async(u,l)=>{if(er.Environment.instance.isLocalDevelopment)return new Response(YT,{headers:{"content-type":"text/html"}});if(!n)return Qu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,BT.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:y,body:w}=u;return er.Environment.instance.build.ACCOUNT_NAME&&h.set(zT,er.Environment.instance.build.ACCOUNT_NAME),er.Environment.instance.build.PROJECT_NAME&&h.set(WT,er.Environment.instance.build.PROJECT_NAME),h.set(KT,n),h.set(JT,d.host),h.set(QT,er.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:h,method:y,body:w,redirect:"manual"})},"devPortalRoute"),a=new If.Pipeline({processors:[Pf.metricsProcessor,GT.policyProcessor],handler:o,gateway:t}),c=new Af.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Qu.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Qr.registerDevPortalV3Route=ZT;var XT=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(Sf.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new If.Pipeline({processors:[Pf.metricsProcessor],handler:n,gateway:t}),o=new Af.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Sf}(.*)`,systemRouteName:Qu.SystemRouteName.DeveloperPortalLegacy});e.addRoute(o,i.execute)},"registerDevPortalLegacyRedirectRoute");Qr.registerDevPortalLegacyRedirectRoute=XT});var Yu=g(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.API_KEY=Yr.SYSTEM_LOGGER=void 0;Yr.SYSTEM_LOGGER="system-logger";Yr.API_KEY="api-key"});var Of=g(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.CoreLogger=void 0;var Zu=0,Xu=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){Zu>=Number.MAX_SAFE_INTEGER&&(Zu=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:Zu++};this.#t[t](c,a)}};jo.CoreLogger=Xu});var Ut=g(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.LogPlugin=void 0;var eS=gt(),el=class extends eS.RuntimePlugin{static{s(this,"LogPlugin")}};Vo.LogPlugin=el});var Nf=g(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.LoggingContext=void 0;var tl=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)}};Go.LoggingContext=tl});var xf=g(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.RequestLogger=void 0;var rl=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)}};Bo.RequestLogger=rl});var Nr=g(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.cleanStack=tr.serializeError=tr.NonError=void 0;var Cf=bt(),tS=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),rS=new Map(tS),nl=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)}}};tr.NonError=nl;var nS=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],il=Symbol(".toJSON was called"),iS=s(e=>{e[il]=!0;let t=e.toJSON();return delete e[il],t},"toJSON"),oS=s(e=>rS.get(e)??Error,"getErrorConstructor"),Lf=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,Cf.isErrorLike)(e)){let l=oS(e.name);r=new l}else r={};if(t.push(e),o>=i)return r;if(a&&typeof e.toJSON=="function"&&e[il]!==!0)return iS(e);let u=s(l=>Lf({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 nS)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,Cf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function sS(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?Lf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}s(sS,"serializeError");tr.serializeError=sS;var aS=/file:\/\/\/(.*?)\/dist\//g,cS=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,uS="at async Event.respondWith";function lS(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(cS,"").replaceAll(uS,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
|
|
51
|
+
`)}s(lS,"cleanStack");tr.cleanStack=lS});var Df=g(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});var ol=bt();function dS(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 m=s(h=>{if(c.inlineCharacterLimit===void 0)return h;let y=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return y.length<=c.inlineCharacterLimit?y:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
|
|
54
|
-
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,
|
|
55
|
-
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}s(
|
|
56
|
-
`)}s(cS,"messagesToMultilineText");Fe.messagesToMultilineText=cS;function Uf(e){return typeof e=="string"?e:JSON.stringify(e)}s(Uf,"stringifyNonString");Fe.stringifyNonString=Uf;function kf(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,Df.toString)(e):"unknown"}s(kf,"stringifyNonStringToText");Fe.stringifyNonStringToText=kf});var D,ae,Te=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var uS,Go,sl=I(()=>{Te();uS=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Go=uS});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 Mf(e,t){return Se(Z.encode(e),new Uint8Array([0]),t)}function al(e,t,r){if(t<0||t>=Bo)throw new RangeError(`value must be >= 0 and <= ${Bo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Ko(e){let t=Math.floor(e/Bo),r=e%Bo,n=new Uint8Array(8);return al(n,t,0),al(n,r,4),n}function Jo(e){let t=new Uint8Array(4);return al(t,e),t}function zo(e){return Se(Jo(e.length),e)}async function Hf(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(Jo(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Go("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,Bo,ge=I(()=>{sl();Z=new TextEncoder,ue=new TextDecoder,Bo=2**32;s(Se,"concat");s(Mf,"p2s");s(al,"writeUInt32BE");s(Ko,"uint64be");s(Jo,"uint32be");s(zo,"lengthAndInput");s(Hf,"concatKdf")});var Wo,X,cl,te,Ie=I(()=>{ge();Wo=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=>Wo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),cl=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"),te=s(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return cl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var ul={};Xi(ul,{JOSEAlgNotAllowed:()=>rr,JOSEError:()=>he,JOSENotSupported:()=>k,JWEDecryptionFailed:()=>kt,JWEInvalid:()=>A,JWKInvalid:()=>oi,JWKSInvalid:()=>nr,JWKSMultipleMatchingKeys:()=>si,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>ai,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Cr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Zr,JWTInvalid:()=>le});var he,be,Zr,rr,k,kt,A,z,le,oi,nr,xr,si,ai,Cr,V=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}},Zr=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}},rr=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"}},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"}},oi=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},nr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},xr=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"}},si=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"}},ai=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"}},Cr=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 ir,ci=I(()=>{Te();ir=D.getRandomValues.bind(D)});function ll(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 Qo,Yo=I(()=>{V();ci();s(ll,"bitLength");Qo=s(e=>ir(new Uint8Array(ll(e)>>3)),"default")});var lS,Zo,dl=I(()=>{V();Yo();lS=s((e,t)=>{if(t.length<<3!==ll(e))throw new A("Invalid Initialization Vector length")},"checkIvLength"),Zo=lS});var dS,Xr,pl=I(()=>{V();dS=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"),Xr=dS});var pS,qf,$f=I(()=>{pS=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"),qf=pS});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function or(e,t){return e.name===t}function Xo(e){return parseInt(e.name.slice(4),10)}function hS(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function jf(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 Vf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!or(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(Xo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!or(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Xo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!or(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(Xo(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(!or(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=hS(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}jf(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!or(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(!or(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(!or(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!or(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Xo(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}jf(e,r)}var sr=I(()=>{s(Pe,"unusable");s(or,"isAlgorithm");s(Xo,"getHashLength");s(hS,"getNamedCurve");s(jf,"checkUsage");s(Vf,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function Gf(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 hl(e,t,...r){return Gf(`Key for the ${e} algorithm must be `,t,...r)}var ie,at=I(()=>{s(Gf,"message");ie=s((e,...t)=>Gf("Key must be ",e,...t),"default");s(hl,"withAlg")});var fl,W,ct=I(()=>{Te();fl=s(e=>ae(e),"default"),W=["CryptoKey"]});async function fS(e,t,r,n,i,o){if(!(t instanceof Uint8Array))throw new TypeError(ie(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(o,n,r,Ko(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=qf(i,d)}catch{}if(!p)throw new kt;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new kt;return m}async function mS(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 kt}}var yS,es,ml=I(()=>{ge();dl();pl();$f();V();Te();sr();at();ct();s(fS,"cbcDecrypt");s(mS,"gcmDecrypt");yS=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(ie(t,...W,"Uint8Array"));switch(Zo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(-3),10)),fS(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(1,4),10)),mS(e,t,r,n,i,o);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),es=yS});var Bf,Kf,yl=I(()=>{V();Bf=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"),Kf=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 gS,Et,en=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 Q(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(Q,"isObject")});var _S,tn,gl=I(()=>{_S=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],tn=_S});function Jf(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function zf(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(ie(e,...W,"Uint8Array"))}var ui,li,ts=I(()=>{gl();Te();sr();at();ct();s(Jf,"checkKeySize");s(zf,"getCryptoKey");ui=s(async(e,t,r)=>{let n=await zf(t,e,"wrapKey");Jf(n,e);let i=await D.subtle.importKey("raw",r,...tn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),li=s(async(e,t,r)=>{let n=await zf(t,e,"unwrapKey");Jf(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...tn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function rs(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ae(e))throw new TypeError(ie(e,...W));if(qe(e,"ECDH"),!ae(t))throw new TypeError(ie(t,...W));qe(t,"ECDH","deriveBits");let a=Se(zo(Z.encode(r)),zo(i),zo(o),Jo(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 Hf(u,n,a)}async function Wf(e){if(!ae(e))throw new TypeError(ie(e,...W));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function ns(e){if(!ae(e))throw new TypeError(ie(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var bl=I(()=>{ge();Te();sr();at();ct();s(rs,"deriveKey");s(Wf,"generateEpk");s(ns,"ecdhAllowed")});function _l(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}var Yf=I(()=>{V();s(_l,"checkP2s")});function ES(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(ie(e,...W,"Uint8Array"))}async function Zf(e,t,r,n){_l(e);let i=Mf(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 ES(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 Xf,em,El=I(()=>{ci();ge();Ie();ts();Yf();Te();sr();at();ct();s(ES,"getCryptoKey");s(Zf,"deriveKey");Xf=s(async(e,t,r,n=2048,i=ir(new Uint8Array(16)))=>{let o=await Zf(i,e,n,t);return{encryptedKey:await ui(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),em=s(async(e,t,r,n,i)=>{let o=await Zf(i,e,n,t);return li(e.slice(-6),o,r)},"decrypt")});function rn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var tm=I(()=>{V();s(rn,"subtleRsaEs")});var Lr,is=I(()=>{Lr=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 rm,nm,wl=I(()=>{tm();gl();Te();sr();is();at();ct();rm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(ie(t,...W));if(qe(t,e,"encrypt","wrapKey"),Lr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(rn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...tn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,rn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),nm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(ie(t,...W));if(qe(t,e,"decrypt","unwrapKey"),Lr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(rn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,rn(e),...tn);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 di(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,pi=I(()=>{V();ci();s(di,"bitLength");wt=s(e=>ir(new Uint8Array(di(e)>>3)),"default")});var vl,im=I(()=>{vl=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,ol.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((y,w)=>{let T=a.length-1===w?p.newline:","+p.newlineOrSpace,S=o(y,c,u+d,l+1);return c.transform&&(S=c.transform(a,w,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),m(h)}if((0,ol.isObject)(a)){let h=(0,ol.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(w=>c.filter?.(a,w))),h.length===0)return"{}";n.push(a);let y="{"+p.newline+h.map((w,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,U=typeof w=="symbol",$=!U&&/^[a-z$_][$\w]*$/i.test(w),O=U||$?w:o(w,c,"",l+1),te=o(a[w],c,u+d,l+1);return c.transform&&(te=c.transform(a,w,te)),p.indent+String(O)+": "+te+S}).join("")+p.pad+"}";return n.pop(),m(y)}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(dS,"stringifyObject");sl.default=dS});var Et=g(qe=>{"use strict";var pS=qe&&qe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qe,"__esModule",{value:!0});qe.stringifyNonStringToText=qe.stringifyNonString=qe.messagesToMultilineText=qe.extractBestMessage=qe.makeErrorsSerializable=void 0;var al=Nr(),Uf=pS(Df()),Mf=bt();function hS(e){return e.map(t=>(0,al.serializeError)(t))}s(hS,"makeErrorsSerializable");qe.makeErrorsSerializable=hS;function fS(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:kf((0,al.serializeError)(t))}s(fS,"extractBestMessage");qe.extractBestMessage=fS;function mS(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,Mf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,Uf.default)((0,al.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,Uf.default)(r);t.push(n)}else{let n=Hf(r);t.push(n)}}),t.join(`
|
|
56
|
+
`)}s(mS,"messagesToMultilineText");qe.messagesToMultilineText=mS;function kf(e){return typeof e=="string"?e:JSON.stringify(e)}s(kf,"stringifyNonString");qe.stringifyNonString=kf;function Hf(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,Mf.toString)(e):"unknown"}s(Hf,"stringifyNonStringToText");qe.stringifyNonStringToText=Hf});var D,ce,Se=I(()=>{D=crypto,ce=s(e=>e instanceof CryptoKey,"isCryptoKey")});var yS,Ko,cl=I(()=>{Se();yS=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Ko=yS});function Ie(...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 Ff(e,t){return Ie(Z.encode(e),new Uint8Array([0]),t)}function ul(e,t,r){if(t<0||t>=Jo)throw new RangeError(`value must be >= 0 and <= ${Jo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function zo(e){let t=Math.floor(e/Jo),r=e%Jo,n=new Uint8Array(8);return ul(n,t,0),ul(n,r,4),n}function Wo(e){let t=new Uint8Array(4);return ul(t,e),t}function Qo(e){return Ie(Wo(e.length),e)}async function qf(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(Wo(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Ko("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,le,Jo,ge=I(()=>{cl();Z=new TextEncoder,le=new TextDecoder,Jo=2**32;s(Ie,"concat");s(Ff,"p2s");s(ul,"writeUInt32BE");s(zo,"uint64be");s(Wo,"uint32be");s(Qo,"lengthAndInput");s(qf,"concatKdf")});var Yo,X,ll,ie,Pe=I(()=>{ge();Yo=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=>Yo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),ll=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"),ie=s(e=>{let t=e;t instanceof Uint8Array&&(t=le.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ll(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var dl={};to(dl,{JOSEAlgNotAllowed:()=>rr,JOSEError:()=>fe,JOSENotSupported:()=>k,JWEDecryptionFailed:()=>Mt,JWEInvalid:()=>A,JWKInvalid:()=>oi,JWKSInvalid:()=>nr,JWKSMultipleMatchingKeys:()=>si,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>ai,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Cr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Zr,JWTInvalid:()=>de});var fe,be,Zr,rr,k,Mt,A,z,de,oi,nr,xr,si,ai,Cr,V=I(()=>{fe=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 fe{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}},Zr=class extends fe{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}},rr=class extends fe{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 fe{static{s(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Mt=class extends fe{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 fe{static{s(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends fe{static{s(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},de=class extends fe{static{s(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},oi=class extends fe{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},nr=class extends fe{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},xr=class extends fe{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"}},si=class extends fe{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"}},ai=class extends fe{static{s(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Cr=class extends fe{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 ir,ci=I(()=>{Se();ir=D.getRandomValues.bind(D)});function pl(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var Zo,Xo=I(()=>{V();ci();s(pl,"bitLength");Zo=s(e=>ir(new Uint8Array(pl(e)>>3)),"default")});var gS,es,hl=I(()=>{V();Xo();gS=s((e,t)=>{if(t.length<<3!==pl(e))throw new A("Invalid Initialization Vector length")},"checkIvLength"),es=gS});var bS,Xr,fl=I(()=>{V();bS=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"),Xr=bS});var _S,jf,Vf=I(()=>{_S=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"),jf=_S});function Ae(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function or(e,t){return e.name===t}function ts(e){return parseInt(e.name.slice(4),10)}function ES(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Gf(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 Bf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!or(e.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(t.slice(2),10);if(ts(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!or(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(ts(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!or(e.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(t.slice(2),10);if(ts(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!or(e.algorithm,"ECDSA"))throw Ae("ECDSA");let n=ES(t);if(e.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Gf(e,r)}function $e(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!or(e.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!or(e.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Ae("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!or(e.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!or(e.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(ts(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Gf(e,r)}var sr=I(()=>{s(Ae,"unusable");s(or,"isAlgorithm");s(ts,"getHashLength");s(ES,"getNamedCurve");s(Gf,"checkUsage");s(Bf,"checkSigCryptoKey");s($e,"checkEncCryptoKey")});function Kf(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 ml(e,t,...r){return Kf(`Key for the ${e} algorithm must be `,t,...r)}var oe,ct=I(()=>{s(Kf,"message");oe=s((e,...t)=>Kf("Key must be ",e,...t),"default");s(ml,"withAlg")});var yl,W,ut=I(()=>{Se();yl=s(e=>ce(e),"default"),W=["CryptoKey"]});async function wS(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=Ie(o,n,r,zo(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=jf(i,d)}catch{}if(!p)throw new Mt;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Mt;return m}async function vS(e,t,r,n,i,o){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):($e(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:o,iv:n,name:"AES-GCM",tagLength:128},a,Ie(r,i)))}catch{throw new Mt}}var TS,rs,gl=I(()=>{ge();hl();fl();Vf();V();Se();sr();ct();ut();s(wS,"cbcDecrypt");s(vS,"gcmDecrypt");TS=s(async(e,t,r,n,i,o)=>{if(!ce(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...W,"Uint8Array"));switch(es(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(-3),10)),wS(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(1,4),10)),vS(e,t,r,n,i,o);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),rs=TS});var Jf,zf,bl=I(()=>{V();Jf=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"),zf=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 SS,wt,en=I(()=>{SS=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"),wt=SS});function IS(e){return typeof e=="object"&&e!==null}function Q(e){if(!IS(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var je=I(()=>{s(IS,"isObjectLike");s(Q,"isObject")});var PS,tn,_l=I(()=>{PS=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],tn=PS});function Wf(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Qf(e,t,r){if(ce(e))return $e(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(oe(e,...W,"Uint8Array"))}var ui,li,ns=I(()=>{_l();Se();sr();ct();ut();s(Wf,"checkKeySize");s(Qf,"getCryptoKey");ui=s(async(e,t,r)=>{let n=await Qf(t,e,"wrapKey");Wf(n,e);let i=await D.subtle.importKey("raw",r,...tn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),li=s(async(e,t,r)=>{let n=await Qf(t,e,"unwrapKey");Wf(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...tn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function is(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ce(e))throw new TypeError(oe(e,...W));if($e(e,"ECDH"),!ce(t))throw new TypeError(oe(t,...W));$e(t,"ECDH","deriveBits");let a=Ie(Qo(Z.encode(r)),Qo(i),Qo(o),Wo(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 qf(u,n,a)}async function Yf(e){if(!ce(e))throw new TypeError(oe(e,...W));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function os(e){if(!ce(e))throw new TypeError(oe(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var El=I(()=>{ge();Se();sr();ct();ut();s(is,"deriveKey");s(Yf,"generateEpk");s(os,"ecdhAllowed")});function wl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}var Xf=I(()=>{V();s(wl,"checkP2s")});function AS(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ce(e))return $e(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...W,"Uint8Array"))}async function em(e,t,r,n){wl(e);let i=Ff(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 AS(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 tm,rm,vl=I(()=>{ci();ge();Pe();ns();Xf();Se();sr();ct();ut();s(AS,"getCryptoKey");s(em,"deriveKey");tm=s(async(e,t,r,n=2048,i=ir(new Uint8Array(16)))=>{let o=await em(i,e,n,t);return{encryptedKey:await ui(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),rm=s(async(e,t,r,n,i)=>{let o=await em(i,e,n,t);return li(e.slice(-6),o,r)},"decrypt")});function rn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var nm=I(()=>{V();s(rn,"subtleRsaEs")});var Lr,ss=I(()=>{Lr=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 im,om,Tl=I(()=>{nm();_l();Se();sr();ss();ct();ut();im=s(async(e,t,r)=>{if(!ce(t))throw new TypeError(oe(t,...W));if($e(t,e,"encrypt","wrapKey"),Lr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(rn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...tn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,rn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),om=s(async(e,t,r)=>{if(!ce(t))throw new TypeError(oe(t,...W));if($e(t,e,"decrypt","unwrapKey"),Lr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(rn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,rn(e),...tn);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 di(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 vt,pi=I(()=>{V();ci();s(di,"bitLength");vt=s(e=>ir(new Uint8Array(di(e)>>3)),"default")});var Sl,sm=I(()=>{Sl=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
57
57
|
`);return`-----BEGIN ${t}-----
|
|
58
58
|
${r}
|
|
59
|
-
-----END ${t}-----`},"default")});function sm(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 wS(e){let t=sm(sm(pm(e).contents)[0].contents);return Wo(t[t[0].raw[0]===160?6:5].raw)}function vS(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=cl(t);return vl(wS(r),"PUBLIC KEY")}var am,cm,um,ar,om,lm,dm,Tl,hm,os=I(()=>{Te();at();Ie();im();V();ct();am=s(async(e,t,r)=>{if(!ae(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return vl(Wo(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),cm=s(e=>am("public","spki",e),"toSPKI"),um=s(e=>am("private","pkcs8",e),"toPKCS8"),ar=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])||ar(e,t,n+1)},"findOid"),om=s(e=>{switch(!0){case ar(e,[42,134,72,206,61,3,1,7]):return"P-256";case ar(e,[43,129,4,0,34]):return"P-384";case ar(e,[43,129,4,0,35]):return"P-521";case ar(e,[43,101,110]):return"X25519";case ar(e,[43,101,111]):return"X448";case ar(e,[43,101,112]):return"Ed25519";case ar(e,[43,101,113]):return"Ed448";default:throw new k("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),lm=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=om(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:om(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"),dm=s((e,t,r)=>lm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Tl=s((e,t,r)=>lm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(sm,"getElement");s(pm,"parseElement");s(wS,"spkiFromX509");s(vS,"getSPKI");hm=s((e,t,r)=>{let n;try{n=vS(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Tl(n,t,r)},"fromX509")});function TS(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 SS,Sl,fm=I(()=>{Te();V();Ie();s(TS,"subtleMapping");SS=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}=TS(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",te(e.k),...o);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...o)},"parse"),Sl=SS});async function mm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Tl(e,t,r)}async function ym(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return hm(e,t,r)}async function gm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return dm(e,t,r)}async function cr(e,t,r){var n;if(!Q(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?Sl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):te(e.k);case"RSA":if(e.oth!==void 0)throw new k('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Sl({...e,alg:t});default:throw new k('Unsupported "kty" (Key Type) Parameter value')}}var hi=I(()=>{Ie();os();fm();V();$e();s(mm,"importSPKI");s(ym,"importX509");s(gm,"importPKCS8");s(cr,"importJWK")});var IS,PS,AS,ur,fi=I(()=>{at();ct();IS=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!fl(t))throw new TypeError(hl(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),PS=s((e,t,r)=>{if(!fl(t))throw new TypeError(hl(e,t,...W));if(t.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),AS=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?IS(e,t):PS(e,t,r)},"checkKeyType"),ur=AS});async function RS(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(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,Ko(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function OS(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 NS,mi,Il=I(()=>{ge();dl();pl();Te();sr();at();V();ct();s(RS,"cbcEncrypt");s(OS,"gcmEncrypt");NS=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Zo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(-3),10)),RS(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(1,4),10)),OS(e,t,r,n,i);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),mi=NS});async function bm(e,t,r,n){let i=e.slice(0,7);n||(n=Qo(i));let{ciphertext:o,tag:a}=await mi(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function _m(e,t,r,n,i){let o=e.slice(0,7);return es(o,t,r,n,i,new Uint8Array(0))}var Pl=I(()=>{Il();ml();Yo();Ie();s(bm,"wrap");s(_m,"unwrap")});async function xS(e,t,r,n,i){switch(ur(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ns(t))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await cr(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new A('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await rs(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?di(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 li(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 nm(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 em(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");return li(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=te(n.iv),a=te(n.tag);return _m(e,t,r,o,a)}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Em,wm=I(()=>{ts();bl();El();wl();Ie();V();pi();hi();fi();$e();Pl();s(xS,"decryptKeyManagement");Em=xS});function CS(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,nn=I(()=>{V();s(CS,"validateCrit");vt=CS});var LS,yi,Al=I(()=>{LS=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"),yi=LS});async function on(e,t,r){var n;if(!Q(e))throw new A("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new A("JOSE Header missing");if(typeof e.iv!="string")throw new A("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new A("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new A("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new A("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new A("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new A("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let j=te(e.protected);i=JSON.parse(ue.decode(j))}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 k('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&&yi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&yi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new rr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new rr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await Em(a,t,d,o,r)}catch(j){if(j instanceof TypeError||j instanceof A||j instanceof k)throw j;m=wt(c)}let h=te(e.iv),y=te(e.tag),v=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(v,Z.encode("."),Z.encode(e.aad)):T=v;let S=await es(c,m,te(e.ciphertext),h,y,T);o.zip==="DEF"&&(S=await(r?.inflateRaw||Bf)(S));let M={plaintext:S};return e.protected!==void 0&&(M.protectedHeader=i),e.aad!==void 0&&(M.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(M.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(M.unprotectedHeader=e.header),p?{...M,key:t}:M}var ss=I(()=>{Ie();ml();yl();V();en();$e();wm();ge();pi();nn();Al();s(on,"flattenedDecrypt")});async function as(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 on({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 Rl=I(()=>{ss();V();ge();s(as,"compactDecrypt")});async function vm(e,t,r){if(!Q(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new A("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new A("JWE Recipients has no members");for(let n of e.recipients)try{return await on({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new kt}var Tm=I(()=>{ss();V();$e();s(vm,"generalDecrypt")});var DS,Sm,Im=I(()=>{Te();at();Ie();ct();DS=s(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(ie(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...o}=await D.subtle.exportKey("jwk",e);return o},"keyToJWK"),Sm=DS});async function Pm(e){return cm(e)}async function Am(e){return um(e)}async function cs(e){return Sm(e)}var Ol=I(()=>{os();os();Im();s(Pm,"exportSPKI");s(Am,"exportPKCS8");s(cs,"exportJWK")});async function US(e,t,r,n,i={}){let o,a,c;switch(ur(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(!ns(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 Wf(r)).privateKey);let{x:p,y:m,crv:h,kty:y}=await cs(d),v=await rs(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?di(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:y}},y==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=v;break}c=n||wt(t);let T=e.slice(-6);o=await ui(T,v,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 rm(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 Xf(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||wt(t),o=await ui(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||wt(t);let{iv:u}=i;({encryptedKey:o,...a}=await bm(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 us,Nl=I(()=>{ts();bl();El();wl();Ie();pi();V();Ol();fi();Pl();s(US,"encryptKeyManagement");us=US});var xl,Mt,ls=I(()=>{Ie();Il();yl();Yo();Nl();V();en();ge();nn();xl=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 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 k('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 y;({cek:c,encryptedKey:a,parameters:y}=await us(i,o,t,this._cek,this._keyManagementParameters)),y&&(r&&xl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=Qo(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,m;if(n.zip==="DEF"){let y=await(r?.deflateRaw||Kf)(this._plaintext);({ciphertext:p,tag:m}=await mi(o,y,c,this._iv,u))}else({ciphertext:p,tag:m}=await mi(o,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(m)};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 Cl,ds,Rm=I(()=>{ls();V();pi();en();Nl();Ie();nn();Cl=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}},ds=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Cl(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new A("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let 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 m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[xl]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:h,parameters:y}=await us(((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:m});d.encrypted_key=X(h),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function gi(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 Ll=I(()=>{V();s(gi,"subtleDsa")});function bi(e,t,r){if(ae(t))return Vf(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(ie(t,...W));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(t,...W,"Uint8Array"))}var Dl=I(()=>{Te();sr();at();ct();s(bi,"getCryptoKey")});var kS,Om,Nm=I(()=>{Ll();Te();is();Dl();kS=s(async(e,t,r,n)=>{let i=await bi(e,t,"verify");Lr(e,i);let o=gi(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),Om=kS});async function sn(e,t,r){var n;if(!Q(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Q(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=te(e.protected);i=JSON.parse(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&&yi("algorithms",r.algorithms);if(l&&!l.has(u))throw new rr('"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),ur(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),m=te(e.signature);if(!await Om(u,t,m,p))throw new Cr;let y;c?y=te(e.payload):typeof e.payload=="string"?y=Z.encode(e.payload):y=e.payload;let v={payload:y};return e.protected!==void 0&&(v.protectedHeader=i),e.header!==void 0&&(v.unprotectedHeader=e.header),d?{...v,key:t}:v}var ps=I(()=>{Ie();Nm();V();ge();en();$e();fi();nn();Al();s(sn,"flattenedVerify")});async function hs(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 sn({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 Ul=I(()=>{ps();V();ge();s(hs,"compactVerify")});async function xm(e,t,r){if(!Q(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await sn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Cr}var Cm=I(()=>{ps();V();$e();s(xm,"generalVerify")});var an,kl=I(()=>{an=s(e=>Math.floor(e.getTime()/1e3),"default")});var MS,cn,Ml=I(()=>{MS=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,cn=s(e=>{let t=MS.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 Lm,HS,un,fs=I(()=>{V();ge();kl();Ml();$e();Lm=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),HS=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),un=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Lm(e.typ)!==Lm(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Q(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&&!HS(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=cn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=an(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+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<=m-d)throw new Zr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,y=typeof l=="number"?l:cn(l);if(h-d>y)throw new Zr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Dm(e,t,r){var n;let i=await hs(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:un(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Um=I(()=>{Ul();fs();V();s(Dm,"jwtVerify")});async function km(e,t,r){let n=await as(e,t,r),i=un(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 Mm=I(()=>{Rl();fs();V();s(km,"jwtDecrypt")});var ln,Hl=I(()=>{ls();ln=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 FS,Hm,Fm=I(()=>{Ll();Te();is();Dl();FS=s(async(e,t,r)=>{let n=await bi(e,t,"sign");Lr(e,n);let i=await D.subtle.sign(gi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Hm=FS});var lr,ms=I(()=>{Ie();Fm();en();V();ge();fi();nn();lr=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');ur(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 Hm(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 dn,Fl=I(()=>{ms();dn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new lr(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 ql,ys,qm=I(()=>{ms();V();ql=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}},ys=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new ql(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 lr(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 dr,gs=I(()=>{kl();$e();Ml();dr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Q(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:an(new Date)+cn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:an(new Date)+cn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:an(new Date)}:this._payload={...this._payload,iat:t},this}}});var bs,$m=I(()=>{Fl();V();ge();gs();bs=class extends dr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new dn(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 _s,jm=I(()=>{Hl();ge();gs();_s=class extends dr{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 ln(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 $l(e,t){if(!Q(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":pr(e.crv,'"crv" (Curve) Parameter'),pr(e.x,'"x" (X Coordinate) Parameter'),pr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":pr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),pr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":pr(e.e,'"e" (Exponent) Parameter'),pr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":pr(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 Go(t,n))}async function Vm(e,t){t??(t="sha256");let r=await $l(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var pr,Gm=I(()=>{sl();Ie();V();ge();$e();pr=s((e,t)=>{if(typeof e!="string"||!e)throw new oi(`${t} missing or invalid`)},"check");s($l,"calculateJwkThumbprint");s(Vm,"calculateJwkThumbprintUri")});async function Bm(e,t){let r={...e,...t?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await cr({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var Km=I(()=>{hi();$e();V();s(Bm,"EmbeddedJWK")});function qS(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 jl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every($S)}function $S(e){return Q(e)}function jS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Jm(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await cr({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new nr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function zm(e){let t=new _i(e);return async function(r,n){return t.getKey(r,n)}}var _i,Vl=I(()=>{hi();V();$e();s(qS,"getKtyFromAlg");s(jl,"isJWKSLike");s($S,"isJWKLike");s(jS,"clone");_i=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!jl(t))throw new nr("JSON Web Key Set malformed");this._jwks=jS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=qS(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 xr;if(u!==1){let l=new si,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Jm(d,p,n)}catch{continue}},l}return Jm(this._cached,c,n)}};s(Jm,"importWithAlgCache");s(zm,"createLocalJWKSet")});var VS,Wm,Qm=I(()=>{V();VS=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 ai: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"),Wm=VS});function GS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Ym(e,t){let r=new Gl(e,t);return async function(n,i){return r.getKey(n,i)}}var Gl,Zm=I(()=>{Qm();V();Vl();s(GS,"isCloudflareWorkers");Gl=class extends _i{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 xr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&GS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Wm(this._url,this._timeoutDuration,this._options).then(t=>{if(!jl(t))throw new nr("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(Ym,"createRemoteJWKSet")});var Es,Xm=I(()=>{Ie();ge();V();fs();gs();Es=class extends dr{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(te(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:un(c,te(i),r),header:c}}}});var Bl={};Xi(Bl,{decode:()=>Ei,encode:()=>BS});var BS,Ei,ws=I(()=>{Ie();BS=X,Ei=te});function ey(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(Ei(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var ty=I(()=>{ws();ge();$e();s(ey,"decodeProtectedHeader")});function ry(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=Ei(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(!Q(i))throw new le("Invalid JWT Claims Set");return i}var ny=I(()=>{ws();ge();$e();V();s(ry,"decodeJwt")});async function iy(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),ir(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 Kl(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 oy(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:Kl(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:Kl(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:Kl(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 Jl=I(()=>{Te();V();ci();s(iy,"generateSecret");s(Kl,"getModulusLengthOption");s(oy,"generateKeyPair")});async function sy(e,t){return oy(e,t)}var ay=I(()=>{Jl();s(sy,"generateKeyPair")});async function cy(e,t){return iy(e,t)}var uy=I(()=>{Jl();s(cy,"generateSecret")});var vs={};Xi(vs,{CompactEncrypt:()=>ln,CompactSign:()=>dn,EmbeddedJWK:()=>Bm,EncryptJWT:()=>_s,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>lr,GeneralEncrypt:()=>ds,GeneralSign:()=>ys,SignJWT:()=>bs,UnsecuredJWT:()=>Es,base64url:()=>Bl,calculateJwkThumbprint:()=>$l,calculateJwkThumbprintUri:()=>Vm,compactDecrypt:()=>as,compactVerify:()=>hs,createLocalJWKSet:()=>zm,createRemoteJWKSet:()=>Ym,decodeJwt:()=>ry,decodeProtectedHeader:()=>ey,errors:()=>ul,exportJWK:()=>cs,exportPKCS8:()=>Am,exportSPKI:()=>Pm,flattenedDecrypt:()=>on,flattenedVerify:()=>sn,generalDecrypt:()=>vm,generalVerify:()=>xm,generateKeyPair:()=>sy,generateSecret:()=>cy,importJWK:()=>cr,importPKCS8:()=>gm,importSPKI:()=>mm,importX509:()=>ym,jwtDecrypt:()=>km,jwtVerify:()=>Dm});var Ts=I(()=>{Rl();ss();Tm();Rm();Ul();ps();Cm();Um();Mm();Hl();ls();Fl();ms();qm();$m();jm();Gm();Km();Vl();Zm();Xm();Ol();hi();ty();ny();V();ay();uy();ws()});var Is=g(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.fetchRetry=void 0;var KS=L();async function JS(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 KS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(JS,"fetchRetry");Ss.fetchRetry=JS});var pn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var ly=(Ts(),eo(vs)),zS=L(),WS=Is();async function QS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new ly.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(QS,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=QS;async function YS(e,t,r){return Wl(e,{token:t,returnSecureToken:!0},r)}s(YS,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=YS;async function ZS(e,t,r){return Wl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(ZS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=ZS;async function Wl(e,t,r){let n=await(0,WS.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 zS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(Wl,"fetchToken");Ze.fetchToken=Wl;var zl=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,ly.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=zl});var As=g(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var XS=ve(),Ql=Y(),Yl=pn(),eI=Ut(),dy=_t(),Zl=class extends eI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ps(this.options)}};Ht.GoogleCloudLoggingPlugin=Zl;var tI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ps=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Ql.Environment.instance.loggingEnvironmentType,this.#o=Ql.Environment.instance.loggingEnvironmentStage,this.#n=Ql.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,dy.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await Yl.GcpServiceAccount.init(this.#e));let 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,dy.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 Yl.GcpServiceAccount.init(this.#e));let r=await(0,Yl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(tI,{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 XS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=Ps});var Xl=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.gcpLogFormat=hn.GCP_LOG_FORMAT=void 0;var py=_t(),rI=As();hn.GCP_LOG_FORMAT="gcp";function nI(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:rI.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(nI,"gcpLogFormat");hn.gcpLogFormat=nI});var fy=g(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.ConsoleTransport=void 0;var hy=Xl(),ed=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===hy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,hy.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}])}};Rs.ConsoleTransport=ed});var sd=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.DataDogTransport=fn.DataDogLoggingPlugin=void 0;var iI=ve(),td=Y(),oI=Ut(),my=_t(),od=class extends oI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Os(this.options)}};fn.DataDogLoggingPlugin=od;var rd="__ddtags",nd="__ddattr",id=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),sI=s(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(id(n)):r.push(`${id(n)}:${id(i.toString())}`)}),r.join(",")},"formatTags"),Os=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=td.Environment.instance.loggingEnvironmentType,this.#i=td.Environment.instance.loggingEnvironmentStage,this.#r=td.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[rd];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[rd]!==void 0);a>-1&&(Object.assign(n,o[a][rd]),o.splice(a,1));let c={},u=r.custom[nd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[nd]!==void 0);l>-1&&(Object.assign(c,o[l][nd]),o.splice(l,1));let d=(0,my.makeErrorsSerializable)(o),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,my.extractBestMessage)(d),service:t.loggingId,ddtags:sI(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),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 iI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};fn.DataDogTransport=Os});var gy=g(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.ProcessTransport=void 0;var yy=Xl(),ad=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===yy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,yy.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}])}};Ns.ProcessTransport=ad});var _y=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.RemoteLogTransport=void 0;var aI=ve(),by=Y(),cI=_t(),uI=s(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let o;n===!0?o=i.filter(a=>a.level==="error"):o=i,o.length!==0&&fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:o.map(a=>({...a,messages:(0,cI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":by.Environment.instance.systemUserAgent,"zp-dn":by.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),xs,cd=class{static{s(this,"RemoteLogTransport")}constructor(t){xs||(xs=new aI.BatchDispatch("remote-log-transport",1,uI(t)))}async log(t,r){xs.enqueue(t),r.waitUntil(xs.waitUntilFlushed())}};Cs.RemoteLogTransport=cd});var Ey=g(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.unifiedFormatter=Dr.SeverityNumberOpenTelemetryMap=void 0;Dr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var lI=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:Dr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Dr.unifiedFormatter=lI});var vy=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.UnifiedLogTransport=void 0;var dI=ve(),wy=Y(),pI=Ey(),hI=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,pI.unifiedFormatter)(r,n);fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(o)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":wy.Environment.instance.systemUserAgent,"zp-dn":wy.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ls,ud=class{static{s(this,"UnifiedLogTransport")}constructor(t){Ls||(Ls=new dI.BatchDispatch("unified-log-transport",1,hI(t)))}async log(t,r){Ls.enqueue(t),r.waitUntil(Ls.waitUntilFlushed())}};Ds.UnifiedLogTransport=ud});var Oy=g(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.LogInitializer=void 0;var fI=Sr(),mI=gt(),Ty=Wu(),Sy=Y(),Iy=Af(),yI=Ut(),gI=Rf(),Py=Of(),Ay=fy(),bI=sd(),_I=As(),Ry=gy(),EI=_y(),wI=vy(),ld=(0,fI.debug)("zuplo:logging"),dd=class{static{s(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(Sy.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Sy.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;ld("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(Ty.SYSTEM_LOGGER);return i?n.push(new Ry.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new Ay.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new wI.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new Iy.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){ld("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,o=this.serviceProvider.getService(Ty.SYSTEM_LOGGER);if(o&&o.captureUserLogs===!0?r.push(new Ry.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&r.push(new Ay.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new EI.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new _I.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new bI.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return mI.plugins.forEach(a=>{a instanceof yI.LogPlugin&&r.push(a.getTransport())}),new Iy.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,o){ld("Gateway.createRequestLoggers");let a=new gI.LoggingContext(n,i,o),c=new Py.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Py.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Us.LogInitializer=dd});var hd=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.UserRouteConfiguration=void 0;var pd=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};ks.UserRouteConfiguration=pd});var md=g(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Router=Tt.RouterError=Tt.LookupResult=Tt.RouterEntry=void 0;var Ny=L(),vI=ot(),TI=hd(),Ms=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=Ms;var wi=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Tt.LookupResult=wi;var Hs=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};Tt.RouterError=Hs;var fd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof TI.UserRouteConfiguration||t instanceof vI.SystemRouteConfiguration))throw new Ny.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 Ms(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new Hs(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new Ny.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 wi(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 wi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Tt.Router=fd});var mn=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.Gateway=void 0;var SI=Sr(),xy=tf(),Cy=lf(),II=df(),Ly=pf(),Dy=yf(),Ft=ti(),Fs=Ir(),Uy=Pf(),It=L(),vi=gt(),PI=Oy(),AI=Ct(),RI=se(),OI=Ju(),NI=Yt(),xI=zr(),CI=He(),LI=md(),yd=ot(),ky=hd(),DI=Le(),UI=Lo(),My=Y(),Hy=Nr(),kI=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],St=(0,SI.debug)("zuplo:runtime"),MI=s(e=>{let t=e.findIndex(r=>r.name===yd.systemNoVersion.name);return t>-1?[...e.splice(t),yd.systemNoVersion]:[...e,yd.systemNoVersion]},"setupSystemNoVersion"),gd=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=new PI.LogInitializer(n)}static async initialize(t,r,n,i,o){if(St("Gateway.initialize"),!e.#e){await(0,vi.initializeRuntime)(o);let a={...t,corsPolicies:(0,UI.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}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=[xI.policyProcessor,OI.corsProcessor,NI.metricsProcessor];#i;setupRoutes=()=>{St("Gateway.setupRoutes");let t=this.routeData,r=MI(t.versions),n=new LI.Router(r);if(t.routes.length===0)return(0,xy.registerBuildRoute)(n,this),(0,Dy.registerPingRoute)(n,this),(0,Cy.registerCorsRoute)(n,this),(0,II.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Uy.registerDevPortalLegacyRedirectRoute)(n,this),(0,Uy.registerDevPortalV3Route)(n,this)),(0,xy.registerBuildRoute)(n,this),(0,Dy.registerPingRoute)(n,this),(0,Cy.registerCorsRoute)(n,this);for(let o of vi.plugins)o instanceof vi.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 AI.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new ky.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,Ly.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(My.Environment.instance.isDeno){if(n instanceof It.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,Hy.serializeError)(n.cause);"stack"in o&&(o.stack=(0,Hy.cleanStack)(o.stack)),i={cause:o}}}return RI.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)}),My.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 Fs.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new CI.ZuploRequest(m,{params:d.params}),y=new Fs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),v=Fs.ZuploContextExtensions.initialize(y,h);if(d.routeConfiguration===Ly.notFoundRouteConfiguration&&vi.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof ky.UserRouteConfiguration)}try{if(DI.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,vi.invokeOnRequestExtensions)(h,y);if(j instanceof Response)return j;{let C=Fs.ZuploContextExtensions.getContextExtensions(y);h=j,C.latestRequest=h}}[...kI,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;HI(S,d,t),St("Gateway.handleRequest - call user handler");let M=await S(h,y);if(St("Gateway.handleRequest - user handler"),!(M instanceof Response))throw new It.RuntimeError(`Invalid Response type from the request handler: ${typeof M}`);if(M.bodyUsed)throw new It.RuntimeError("The response object has already been used. Return a new response instead.");if(M.headers.get(Ft.REQUEST_ID_HEADER)===null&&!M.webSocket){let j=new Headers(M.headers);return j.set(Ft.REQUEST_ID_HEADER,n),new Response(M.body,{status:M.status,statusText:M.statusText,headers:j,cf:M.cf})}else return M}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,y,T)}}};qs.Gateway=gd;function HI(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(HI,"checkHandler")});var Fy=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.invokeInboundPolicy=void 0;var FI=L(),qI=mn(),$I=zr(),jI=s(async(e,t,r)=>{let n=qI.Gateway.instance.routeData.policies,i=(0,$I.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new FI.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");$s.invokeInboundPolicy=jI});var Ir=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=ti(),VI=L(),GI=Fy(),bd=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=bd;var _d=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=_d;var Ed=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Ed;var Ti=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 VI.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=Ti;var wd=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,GI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ti.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ti.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=wd});var Vs=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.ContextData=void 0;var vd=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)}};js.ContextData=vd});var yn=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.environment=hr.isZuploReadableEnvVariableName=hr.isRestrictedEnvVariableName=void 0;var BI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function qy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!BI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(qy,"isRestrictedEnvVariableName");hr.isRestrictedEnvVariableName=qy;function $y(e){return!!e.startsWith("ZUPLO_")}s($y,"isZuploReadableEnvVariableName");hr.isZuploReadableEnvVariableName=$y;var KI=new Proxy({},{get(e,t){if(qy(String(t))&&!$y(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});hr.environment=KI});var Td=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.externalServiceHandler=gn.externalServiceTunnelConfig=void 0;var JI=Sr(),Ur=L(),zI=Sd(),Si=Y(),ut=(0,JI.debug)("zuplo:runtime:external-service");function Vy(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Si.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(Vy,"getServiceAuth");async function WI(e){let t=Vy();if(!t)throw ut("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new Ur.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(Si.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=Si.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await Gy(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(WI,"externalServiceTunnelConfig");gn.externalServiceTunnelConfig=WI;async function QI(e,t){let r=Vy();if(r)if(ut(`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(Si.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=Si.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Gy(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`Calling external service: ${u.toString()}`);let l=await(0,zI.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 Ur.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new Ur.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.")}s(QI,"externalServiceHandler");gn.externalServiceHandler=QI;async function Gy(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=YI(n);ut(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await jy(`${o}-${i}`),l=await jy(`${o}-${a}-${c}`);return`${u}.${l}`}s(Gy,"hashServiceName");async function jy(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(jy,"hashSegment");function YI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(YI,"sanitizeEnvironmentType")});var Sd=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.originalFetch=void 0;var ZI=Td(),By=new Map;By.set("service:",ZI.externalServiceHandler);bn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=XI(t);if(typeof e=="string"){let n=new URL(e),i=By.get(n.protocol);return i?i(e,r):(0,bn.originalFetch)(e,r)}else return(0,bn.originalFetch)(e,r)};var XI=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 zy=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.Handler=_n.purgeGatewayCache=void 0;var eP=L(),Jy=mn(),Ky=Y(),tP=s(()=>{Jy.Gateway.purgeGatewayCache()},"purgeGatewayCache");_n.purgeGatewayCache=tP;var Id=class{static{s(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeData=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Ky.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Jy.Gateway.initialize(this.routeData,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 eP.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:Ky.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=Id});var Zy=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function rP(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(rP,"lexer");function Pd(e,t){t===void 0&&(t={});for(var r=rP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(En(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=s(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=s(function(ne){var me=d(ne);if(me!==void 0)return me;var Be=r[u],E=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(E," at ").concat(H,", expected ").concat(ne))},"mustConsume"),m=s(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),y=d("NAME"),v=d("PATTERN");if(y||v){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:v||o,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var M=d("OPEN");if(M){var T=m(),j=d("NAME")||"",C=d("PATTERN")||"",re=m();p("CLOSE"),a.push({name:j||(C?c++:""),pattern:j&&!C?o:C,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}s(Pd,"parse");Re.parse=Pd;function nP(e,t){return Wy(Pd(e,t),t)}s(nP,"compile");Re.compile=nP;function Wy(e,t){t===void 0&&(t={});var r=Ad(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 m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<m.length;v++){var T=i(m[v],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var T=i(String(m),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=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}s(Wy,"tokensToFunction");Re.tokensToFunction=Wy;function iP(e,t){var r=[],n=Rd(e,r,t);return Qy(n,r,t)}s(iP,"match");Re.match=iP;function Qy(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(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(y){return i(y,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(Qy,"regexpToFunction");Re.regexpToFunction=Qy;function En(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(En,"escapeString");function Ad(e){return e&&e.sensitive?"":"i"}s(Ad,"flags");function oP(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(oP,"regexpToRegexp");function sP(e,t,r){var n=e.map(function(i){return Rd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Ad(r))}s(sP,"arrayToRegexp");function aP(e,t,r){return Yy(Pd(e,r),t,r)}s(aP,"stringToRegexp");function Yy(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(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,y=h===void 0?"":h,v="[".concat(En(y),"]|$"),T="[".concat(En(m),"]"),S=a?"^":"",M=0,j=e;M<j.length;M++){var C=j[M];if(typeof C=="string")S+=En(d(C));else{var re=En(d(C.prefix)),ne=En(d(C.suffix));if(C.pattern)if(t&&t.push(C),re||ne)if(C.modifier==="+"||C.modifier==="*"){var me=C.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(C.pattern,")(?:").concat(ne).concat(re,"(?:").concat(C.pattern,"))*)").concat(ne,")").concat(me)}else S+="(?:".concat(re,"(").concat(C.pattern,")").concat(ne,")").concat(C.modifier);else C.modifier==="+"||C.modifier==="*"?S+="((?:".concat(C.pattern,")").concat(C.modifier,")"):S+="(".concat(C.pattern,")").concat(C.modifier);else S+="(?:".concat(re).concat(ne,")").concat(C.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(v,")"):"$";else{var Be=e[e.length-1],E=typeof Be=="string"?T.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(S+="(?:".concat(T,"(?=").concat(v,"))?")),E||(S+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(S,Ad(r))}s(Yy,"tokensToRegexp");Re.tokensToRegexp=Yy;function Rd(e,t,r){return e instanceof RegExp?oP(e,t):Array.isArray(e)?sP(e,t,r):aP(e,t,r)}s(Rd,"pathToRegexp");Re.pathToRegexp=Rd});var Cd=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.AwsV4Signer=wn.AwsClient=void 0;var cP=Sr(),rg=L(),uP=(0,cP.debug)("zuplo:runtime"),Nd=new TextEncoder,Xy={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"},lP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],xd=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 Gs(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){uP("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 rg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};wn.AwsClient=xd;var Gs=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:m,appendSessionToken:h,allHeaders:y,singleEncode:v}){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]=dP(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=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let M=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"),M.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&M.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(C=>y||!lP.includes(C)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(C=>C+":"+(C==="host"?this.url.host:(this.headers.get(C)||"").replace(/\s+/g," "))).join(`
|
|
60
|
-
`),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!
|
|
59
|
+
-----END ${t}-----`},"default")});function cm(e){let t=[],r=0;for(;r<e.length;){let n=fm(e.subarray(r));t.push(n),r+=n.byteLength}return t}function fm(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 RS(e){let t=cm(cm(fm(e).contents)[0].contents);return Yo(t[t[0].raw[0]===160?6:5].raw)}function OS(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=ll(t);return Sl(RS(r),"PUBLIC KEY")}var um,lm,dm,ar,am,pm,hm,Il,mm,as=I(()=>{Se();ct();Pe();sm();V();ut();um=s(async(e,t,r)=>{if(!ce(r))throw new TypeError(oe(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return Sl(Yo(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),lm=s(e=>um("public","spki",e),"toSPKI"),dm=s(e=>um("private","pkcs8",e),"toPKCS8"),ar=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])||ar(e,t,n+1)},"findOid"),am=s(e=>{switch(!0){case ar(e,[42,134,72,206,61,3,1,7]):return"P-256";case ar(e,[43,129,4,0,34]):return"P-384";case ar(e,[43,129,4,0,35]):return"P-521";case ar(e,[43,101,110]):return"X25519";case ar(e,[43,101,111]):return"X448";case ar(e,[43,101,112]):return"Ed25519";case ar(e,[43,101,113]):return"Ed448";default:throw new k("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),pm=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=am(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:am(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"),hm=s((e,t,r)=>pm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Il=s((e,t,r)=>pm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(cm,"getElement");s(fm,"parseElement");s(RS,"spkiFromX509");s(OS,"getSPKI");mm=s((e,t,r)=>{let n;try{n=OS(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Il(n,t,r)},"fromX509")});function NS(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 xS,Pl,ym=I(()=>{Se();V();Pe();s(NS,"subtleMapping");xS=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}=NS(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",ie(e.k),...o);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...o)},"parse"),Pl=xS});async function gm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Il(e,t,r)}async function bm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return mm(e,t,r)}async function _m(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return hm(e,t,r)}async function cr(e,t,r){var n;if(!Q(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?Pl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):ie(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 Pl({...e,alg:t});default:throw new k('Unsupported "kty" (Key Type) Parameter value')}}var hi=I(()=>{Pe();as();ym();V();je();s(gm,"importSPKI");s(bm,"importX509");s(_m,"importPKCS8");s(cr,"importJWK")});var CS,LS,DS,ur,fi=I(()=>{ct();ut();CS=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!yl(t))throw new TypeError(ml(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),LS=s((e,t,r)=>{if(!yl(t))throw new TypeError(ml(e,t,...W));if(t.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),DS=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?CS(e,t):LS(e,t,r)},"checkKeyType"),ur=DS});async function US(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=Ie(i,n,u,zo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function MS(e,t,r,n,i){let o;r instanceof Uint8Array?o=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):($e(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 kS,mi,Al=I(()=>{ge();hl();fl();Se();sr();ct();V();ut();s(US,"cbcEncrypt");s(MS,"gcmEncrypt");kS=s(async(e,t,r,n,i)=>{if(!ce(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...W,"Uint8Array"));switch(es(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(-3),10)),US(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(1,4),10)),MS(e,t,r,n,i);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),mi=kS});async function Em(e,t,r,n){let i=e.slice(0,7);n||(n=Zo(i));let{ciphertext:o,tag:a}=await mi(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function wm(e,t,r,n,i){let o=e.slice(0,7);return rs(o,t,r,n,i,new Uint8Array(0))}var Rl=I(()=>{Al();gl();Xo();Pe();s(Em,"wrap");s(wm,"unwrap")});async function HS(e,t,r,n,i){switch(ur(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!os(t))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await cr(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=ie(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=ie(n.apv)}let u=await is(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?di(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 li(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 om(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 rm(e,t,r,n.p2c,ie(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");return li(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=ie(n.iv),a=ie(n.tag);return wm(e,t,r,o,a)}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var vm,Tm=I(()=>{ns();El();vl();Tl();Pe();V();pi();hi();fi();je();Rl();s(HS,"decryptKeyManagement");vm=HS});function FS(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 Tt,nn=I(()=>{V();s(FS,"validateCrit");Tt=FS});var qS,yi,Ol=I(()=>{qS=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"),yi=qS});async function on(e,t,r){var n;if(!Q(e))throw new A("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new A("JOSE Header missing");if(typeof e.iv!="string")throw new A("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new A("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new A("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new A("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new A("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new A("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let $=ie(e.protected);i=JSON.parse(le.decode($))}catch{throw new A("JWE Protected Header is invalid")}if(!wt(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(Tt(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 k('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&&yi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&yi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new rr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new rr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=ie(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await vm(a,t,d,o,r)}catch($){if($ instanceof TypeError||$ instanceof A||$ instanceof k)throw $;m=vt(c)}let h=ie(e.iv),y=ie(e.tag),w=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Ie(w,Z.encode("."),Z.encode(e.aad)):T=w;let S=await rs(c,m,ie(e.ciphertext),h,y,T);o.zip==="DEF"&&(S=await(r?.inflateRaw||Jf)(S));let U={plaintext:S};return e.protected!==void 0&&(U.protectedHeader=i),e.aad!==void 0&&(U.additionalAuthenticatedData=ie(e.aad)),e.unprotected!==void 0&&(U.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(U.unprotectedHeader=e.header),p?{...U,key:t}:U}var cs=I(()=>{Pe();gl();bl();V();en();je();Tm();ge();pi();nn();Ol();s(on,"flattenedDecrypt")});async function us(e,t,r){if(e instanceof Uint8Array&&(e=le.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 on({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 Nl=I(()=>{cs();V();ge();s(us,"compactDecrypt")});async function Sm(e,t,r){if(!Q(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new A("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new A("JWE Recipients has no members");for(let n of e.recipients)try{return await on({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new Mt}var Im=I(()=>{cs();V();je();s(Sm,"generalDecrypt")});var $S,Pm,Am=I(()=>{Se();ct();Pe();ut();$S=s(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ce(e))throw new TypeError(oe(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...o}=await D.subtle.exportKey("jwk",e);return o},"keyToJWK"),Pm=$S});async function Rm(e){return lm(e)}async function Om(e){return dm(e)}async function ls(e){return Pm(e)}var xl=I(()=>{as();as();Am();s(Rm,"exportSPKI");s(Om,"exportPKCS8");s(ls,"exportJWK")});async function jS(e,t,r,n,i={}){let o,a,c;switch(ur(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(!os(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 Yf(r)).privateKey);let{x:p,y:m,crv:h,kty:y}=await ls(d),w=await is(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?di(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:y}},y==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=w;break}c=n||vt(t);let T=e.slice(-6);o=await ui(T,w,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||vt(t),o=await im(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||vt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await tm(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||vt(t),o=await ui(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||vt(t);let{iv:u}=i;({encryptedKey:o,...a}=await Em(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 ds,Cl=I(()=>{ns();El();vl();Tl();Pe();pi();V();xl();fi();Rl();s(jS,"encryptKeyManagement");ds=jS});var Ll,kt,ps=I(()=>{Pe();Al();bl();Xo();Cl();V();en();ge();nn();Ll=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(!wt(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(Tt(A,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new k('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc: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 y;({cek:c,encryptedKey:a,parameters:y}=await ds(i,o,t,this._cek,this._keyManagementParameters)),y&&(r&&Ll in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=Zo(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=Ie(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let y=await(r?.deflateRaw||zf)(this._plaintext);({ciphertext:p,tag:m}=await mi(o,y,c,this._iv,u))}else({ciphertext:p,tag:m}=await mi(o,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(m)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=le.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Dl,hs,Nm=I(()=>{ps();V();pi();en();Cl();Pe();nn();Dl=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}},hs=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Dl(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(!wt(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(Tt(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=vt(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 m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let w=await new kt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[Ll]:!0});c.ciphertext=w.ciphertext,c.iv=w.iv,c.tag=w.tag,w.aad&&(c.aad=w.aad),w.protected&&(c.protected=w.protected),w.unprotected&&(c.unprotected=w.unprotected),d.encrypted_key=w.encrypted_key,w.header&&(d.header=w.header);continue}let{encryptedKey:h,parameters:y}=await ds(((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:m});d.encrypted_key=X(h),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function gi(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 Ul=I(()=>{V();s(gi,"subtleDsa")});function bi(e,t,r){if(ce(t))return Bf(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(oe(t,...W));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(oe(t,...W,"Uint8Array"))}var Ml=I(()=>{Se();sr();ct();ut();s(bi,"getCryptoKey")});var VS,xm,Cm=I(()=>{Ul();Se();ss();Ml();VS=s(async(e,t,r,n)=>{let i=await bi(e,t,"verify");Lr(e,i);let o=gi(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),xm=VS});async function sn(e,t,r){var n;if(!Q(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Q(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=ie(e.protected);i=JSON.parse(le.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!wt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=Tt(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&&yi("algorithms",r.algorithms);if(l&&!l.has(u))throw new rr('"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),ur(u,t,"verify");let p=Ie(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),m=ie(e.signature);if(!await xm(u,t,m,p))throw new Cr;let y;c?y=ie(e.payload):typeof e.payload=="string"?y=Z.encode(e.payload):y=e.payload;let w={payload:y};return e.protected!==void 0&&(w.protectedHeader=i),e.header!==void 0&&(w.unprotectedHeader=e.header),d?{...w,key:t}:w}var fs=I(()=>{Pe();Cm();V();ge();en();je();fi();nn();Ol();s(sn,"flattenedVerify")});async function ms(e,t,r){if(e instanceof Uint8Array&&(e=le.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 sn({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 kl=I(()=>{fs();V();ge();s(ms,"compactVerify")});async function Lm(e,t,r){if(!Q(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await sn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Cr}var Dm=I(()=>{fs();V();je();s(Lm,"generalVerify")});var an,Hl=I(()=>{an=s(e=>Math.floor(e.getTime()/1e3),"default")});var GS,cn,Fl=I(()=>{GS=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,cn=s(e=>{let t=GS.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 Um,BS,un,ys=I(()=>{V();ge();Hl();Fl();je();Um=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),BS=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),un=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Um(e.typ)!==Um(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(le.decode(t))}catch{}if(!Q(i))throw new de("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&&!BS(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=cn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=an(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+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<=m-d)throw new Zr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,y=typeof l=="number"?l:cn(l);if(h-d>y)throw new Zr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Mm(e,t,r){var n;let i=await ms(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new de("JWTs MUST NOT use unencoded payload");let a={payload:un(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var km=I(()=>{kl();ys();V();s(Mm,"jwtVerify")});async function Hm(e,t,r){let n=await us(e,t,r),i=un(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 Fm=I(()=>{Nl();ys();V();s(Hm,"jwtDecrypt")});var ln,ql=I(()=>{ps();ln=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 KS,qm,$m=I(()=>{Ul();Se();ss();Ml();KS=s(async(e,t,r)=>{let n=await bi(e,t,"sign");Lr(e,n);let i=await D.subtle.sign(gi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),qm=KS});var lr,gs=I(()=>{Pe();$m();en();V();ge();fi();nn();lr=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(!wt(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=Tt(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');ur(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=Ie(u,Z.encode("."),c),d=await qm(a,t,l),p={signature:X(d),payload:""};return o&&(p.payload=le.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=le.decode(u)),p}}});var dn,$l=I(()=>{gs();dn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new lr(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 jl,bs,jm=I(()=>{gs();V();jl=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}},bs=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new jl(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 lr(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 dr,_s=I(()=>{Hl();je();Fl();dr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Q(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:an(new Date)+cn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:an(new Date)+cn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:an(new Date)}:this._payload={...this._payload,iat:t},this}}});var Es,Vm=I(()=>{$l();V();ge();_s();Es=class extends dr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new dn(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 de("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var ws,Gm=I(()=>{ql();ge();_s();ws=class extends dr{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 ln(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 Vl(e,t){if(!Q(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":pr(e.crv,'"crv" (Curve) Parameter'),pr(e.x,'"x" (X Coordinate) Parameter'),pr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":pr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),pr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":pr(e.e,'"e" (Exponent) Parameter'),pr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":pr(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 Ko(t,n))}async function Bm(e,t){t??(t="sha256");let r=await Vl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var pr,Km=I(()=>{cl();Pe();V();ge();je();pr=s((e,t)=>{if(typeof e!="string"||!e)throw new oi(`${t} missing or invalid`)},"check");s(Vl,"calculateJwkThumbprint");s(Bm,"calculateJwkThumbprintUri")});async function Jm(e,t){let r={...e,...t?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await cr({...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 zm=I(()=>{hi();je();V();s(Jm,"EmbeddedJWK")});function JS(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 Gl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(zS)}function zS(e){return Q(e)}function WS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Wm(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await cr({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new nr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Qm(e){let t=new _i(e);return async function(r,n){return t.getKey(r,n)}}var _i,Bl=I(()=>{hi();V();je();s(JS,"getKtyFromAlg");s(Gl,"isJWKSLike");s(zS,"isJWKLike");s(WS,"clone");_i=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Gl(t))throw new nr("JSON Web Key Set malformed");this._jwks=WS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=JS(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 xr;if(u!==1){let l=new si,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Wm(d,p,n)}catch{continue}},l}return Wm(this._cached,c,n)}};s(Wm,"importWithAlgCache");s(Qm,"createLocalJWKSet")});var QS,Ym,Zm=I(()=>{V();QS=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 ai:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new fe("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new fe("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),Ym=QS});function YS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Xm(e,t){let r=new Kl(e,t);return async function(n,i){return r.getKey(n,i)}}var Kl,ey=I(()=>{Zm();V();Bl();s(YS,"isCloudflareWorkers");Kl=class extends _i{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 xr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&YS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Ym(this._url,this._timeoutDuration,this._options).then(t=>{if(!Gl(t))throw new nr("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(Xm,"createRemoteJWKSet")});var vs,ty=I(()=>{Pe();ge();V();ys();_s();vs=class extends dr{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 de("Unsecured JWT must be a string");let{0:n,1:i,2:o,length:a}=t.split(".");if(a!==3||o!=="")throw new de("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(le.decode(ie(n))),c.alg!=="none")throw new Error}catch{throw new de("Invalid Unsecured JWT")}return{payload:un(c,ie(i),r),header:c}}}});var Jl={};to(Jl,{decode:()=>Ei,encode:()=>ZS});var ZS,Ei,Ts=I(()=>{Pe();ZS=X,Ei=ie});function ry(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(le.decode(Ei(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var ny=I(()=>{Ts();ge();je();s(ry,"decodeProtectedHeader")});function iy(e){if(typeof e!="string")throw new de("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new de("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new de("Invalid JWT");if(!t)throw new de("JWTs must contain a payload");let n;try{n=Ei(t)}catch{throw new de("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(le.decode(n))}catch{throw new de("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new de("Invalid JWT Claims Set");return i}var oy=I(()=>{Ts();ge();je();V();s(iy,"decodeJwt")});async function sy(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),ir(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 zl(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 ay(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:zl(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:zl(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:zl(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 Wl=I(()=>{Se();V();ci();s(sy,"generateSecret");s(zl,"getModulusLengthOption");s(ay,"generateKeyPair")});async function cy(e,t){return ay(e,t)}var uy=I(()=>{Wl();s(cy,"generateKeyPair")});async function ly(e,t){return sy(e,t)}var dy=I(()=>{Wl();s(ly,"generateSecret")});var Ss={};to(Ss,{CompactEncrypt:()=>ln,CompactSign:()=>dn,EmbeddedJWK:()=>Jm,EncryptJWT:()=>ws,FlattenedEncrypt:()=>kt,FlattenedSign:()=>lr,GeneralEncrypt:()=>hs,GeneralSign:()=>bs,SignJWT:()=>Es,UnsecuredJWT:()=>vs,base64url:()=>Jl,calculateJwkThumbprint:()=>Vl,calculateJwkThumbprintUri:()=>Bm,compactDecrypt:()=>us,compactVerify:()=>ms,createLocalJWKSet:()=>Qm,createRemoteJWKSet:()=>Xm,decodeJwt:()=>iy,decodeProtectedHeader:()=>ry,errors:()=>dl,exportJWK:()=>ls,exportPKCS8:()=>Om,exportSPKI:()=>Rm,flattenedDecrypt:()=>on,flattenedVerify:()=>sn,generalDecrypt:()=>Sm,generalVerify:()=>Lm,generateKeyPair:()=>cy,generateSecret:()=>ly,importJWK:()=>cr,importPKCS8:()=>_m,importSPKI:()=>gm,importX509:()=>bm,jwtDecrypt:()=>Hm,jwtVerify:()=>Mm});var Is=I(()=>{Nl();cs();Im();Nm();kl();fs();Dm();km();Fm();ql();ps();$l();gs();jm();Vm();Gm();Km();zm();Bl();ey();ty();xl();hi();ny();oy();V();uy();dy();Ts()});var wi=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.fetchRetry=void 0;var XS=L();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 XS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(eI,"fetchRetry");Ps.fetchRetry=eI});var pn=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.GcpServiceAccount=Xe.fetchToken=Xe.exchangeGgpJwtForIdToken=Xe.exchangeFirebaseJwtForIdToken=Xe.getTokenFromGcpServiceAccount=void 0;var py=(Is(),ro(Ss)),tI=L(),rI=wi();async function nI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new py.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(nI,"getTokenFromGcpServiceAccount");Xe.getTokenFromGcpServiceAccount=nI;async function iI(e,t,r){return Yl(e,{token:t,returnSecureToken:!0},r)}s(iI,"exchangeFirebaseJwtForIdToken");Xe.exchangeFirebaseJwtForIdToken=iI;async function oI(e,t,r){return Yl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(oI,"exchangeGgpJwtForIdToken");Xe.exchangeGgpJwtForIdToken=oI;async function Yl(e,t,r){let n=await(0,rI.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 tI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(Yl,"fetchToken");Xe.fetchToken=Yl;var Ql=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,py.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}};Xe.GcpServiceAccount=Ql});var Rs=g(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var sI=Te(),Zl=Y(),Xl=pn(),aI=Ut(),hy=Et(),ed=class extends aI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new As(this.options)}};Ht.GoogleCloudLoggingPlugin=ed;var cI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var As=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Zl.Environment.instance.loggingEnvironmentType,this.#o=Zl.Environment.instance.loggingEnvironmentStage,this.#n=Zl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,hy.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await Xl.GcpServiceAccount.init(this.#e));let 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,hy.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 Xl.GcpServiceAccount.init(this.#e));let r=await(0,Xl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(cI,{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 sI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=As});var td=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.gcpLogFormat=hn.GCP_LOG_FORMAT=void 0;var fy=Et(),uI=Rs();hn.GCP_LOG_FORMAT="gcp";function lI(e){let t={allMessages:(0,fy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,fy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:uI.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");hn.gcpLogFormat=lI});var yy=g(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.ConsoleTransport=void 0;var my=td(),rd=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===my.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,my.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}])}};Os.ConsoleTransport=rd});var cd=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.DataDogTransport=fn.DataDogLoggingPlugin=void 0;var dI=Te(),nd=Y(),pI=Ut(),gy=Et(),ad=class extends pI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ns(this.options)}};fn.DataDogLoggingPlugin=ad;var id="__ddtags",od="__ddattr",sd=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),hI=s(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(sd(n)):r.push(`${sd(n)}:${sd(i.toString())}`)}),r.join(",")},"formatTags"),Ns=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=nd.Environment.instance.loggingEnvironmentType,this.#i=nd.Environment.instance.loggingEnvironmentStage,this.#r=nd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[id];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[id]!==void 0);a>-1&&(Object.assign(n,o[a][id]),o.splice(a,1));let c={},u=r.custom[od];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[od]!==void 0);l>-1&&(Object.assign(c,o[l][od]),o.splice(l,1));let d=(0,gy.makeErrorsSerializable)(o),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,gy.extractBestMessage)(d),service:t.loggingId,ddtags:hI(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),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)};fn.DataDogTransport=Ns});var _y=g(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.ProcessTransport=void 0;var by=td(),ud=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===by.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,by.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}])}};xs.ProcessTransport=ud});var wy=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.RemoteLogTransport=void 0;var fI=Te(),Ey=Y(),mI=Et(),yI=s(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let o;n===!0?o=i.filter(a=>a.level==="error"):o=i,o.length!==0&&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":Ey.Environment.instance.systemUserAgent,"zp-dn":Ey.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Cs,ld=class{static{s(this,"RemoteLogTransport")}constructor(t){Cs||(Cs=new fI.BatchDispatch("remote-log-transport",1,yI(t)))}async log(t,r){Cs.enqueue(t),r.waitUntil(Cs.waitUntilFlushed())}};Ls.RemoteLogTransport=ld});var vy=g(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.unifiedFormatter=Dr.SeverityNumberOpenTelemetryMap=void 0;Dr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var gI=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:Dr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Dr.unifiedFormatter=gI});var Sy=g(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.UnifiedLogTransport=void 0;var bI=Te(),Ty=Y(),_I=vy(),EI=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,_I.unifiedFormatter)(r,n);fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(o)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Ty.Environment.instance.systemUserAgent,"zp-dn":Ty.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ds,dd=class{static{s(this,"UnifiedLogTransport")}constructor(t){Ds||(Ds=new bI.BatchDispatch("unified-log-transport",1,EI(t)))}async log(t,r){Ds.enqueue(t),r.waitUntil(Ds.waitUntilFlushed())}};Us.UnifiedLogTransport=dd});var xy=g(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.LogInitializer=void 0;var wI=Sr(),vI=gt(),Iy=Yu(),Py=Y(),Ay=Of(),TI=Ut(),SI=Nf(),Ry=xf(),Oy=yy(),II=cd(),PI=Rs(),Ny=_y(),AI=wy(),RI=Sy(),pd=(0,wI.debug)("zuplo:logging"),hd=class{static{s(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(Py.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Py.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;pd("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(Iy.SYSTEM_LOGGER);return i?n.push(new Ny.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new Oy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new RI.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new Ay.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){pd("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,o=this.serviceProvider.getService(Iy.SYSTEM_LOGGER);if(o&&o.captureUserLogs===!0?r.push(new Ny.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&r.push(new Oy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new AI.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new PI.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new II.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return vI.plugins.forEach(a=>{a instanceof TI.LogPlugin&&r.push(a.getTransport())}),new Ay.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,o){pd("Gateway.createRequestLoggers");let a=new SI.LoggingContext(n,i,o),c=new Ry.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Ry.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Ms.LogInitializer=hd});var md=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.UserRouteConfiguration=void 0;var fd=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};ks.UserRouteConfiguration=fd});var gd=g(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.Router=St.RouterError=St.LookupResult=St.RouterEntry=void 0;var Cy=L(),OI=st(),NI=md(),Hs=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=Hs;var vi=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};St.LookupResult=vi;var Fs=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};St.RouterError=Fs;var yd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof NI.UserRouteConfiguration||t instanceof OI.SystemRouteConfiguration))throw new Cy.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 Hs(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new Fs(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new Cy.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 vi(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 vi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};St.Router=yd});var mn=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.Gateway=void 0;var xI=Sr(),Ly=nf(),Dy=pf(),CI=hf(),Uy=ff(),My=bf(),Ft=ti(),qs=Ir(),ky=Rf(),Pt=L(),Ti=gt(),LI=xy(),DI=Lt(),UI=ae(),MI=Wu(),kI=Yt(),HI=zr(),FI=Fe(),qI=gd(),bd=st(),Hy=md(),$I=Oe(),jI=Uo(),Fy=Y(),qy=Nr(),VI=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],It=(0,xI.debug)("zuplo:runtime"),GI=s(e=>{let t=e.findIndex(r=>r.name===bd.systemNoVersion.name);return t>-1?[...e.splice(t),bd.systemNoVersion]:[...e,bd.systemNoVersion]},"setupSystemNoVersion"),_d=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,It("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new LI.LogInitializer(n)}static async initialize(t,r,n,i,o){if(It("Gateway.initialize"),!e.#e){await(0,Ti.initializeRuntime)(o);let a={...t,corsPolicies:(0,jI.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){It("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new Pt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[HI.policyProcessor,MI.corsProcessor,kI.metricsProcessor];#i;setupRoutes=()=>{It("Gateway.setupRoutes");let t=this.routeData,r=GI(t.versions),n=new qI.Router(r);if(t.routes.length===0)return(0,Ly.registerBuildRoute)(n,this),(0,My.registerPingRoute)(n,this),(0,Dy.registerCorsRoute)(n,this),(0,CI.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,ky.registerDevPortalLegacyRedirectRoute)(n,this),(0,ky.registerDevPortalV3Route)(n,this)),(0,Ly.registerBuildRoute)(n,this),(0,My.registerPingRoute)(n,this),(0,Dy.registerCorsRoute)(n,this);for(let o of Ti.plugins)o instanceof Ti.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 Pt.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new DI.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Hy.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,Uy.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 Pt.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 It("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){It("Gateway.internalErrorResponse");let i={};if(Fy.Environment.instance.isDeno){if(n instanceof Pt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,qy.serializeError)(n.cause);"stack"in o&&(o.stack=(0,qy.cleanStack)(o.stack)),i={cause:o}}}return UI.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)}),Fy.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 Pt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new qs.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new FI.ZuploRequest(m,{params:d.params}),y=new qs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),w=qs.ZuploContextExtensions.initialize(y,h);if(d.routeConfiguration===Uy.notFoundRouteConfiguration&&Ti.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);w.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof Hy.UserRouteConfiguration)}try{if($I.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let $=await(0,Ti.invokeOnRequestExtensions)(h,y);if($ instanceof Response)return $;{let O=qs.ZuploContextExtensions.getContextExtensions(y);h=$,O.latestRequest=h}}[...VI,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter($=>new RegExp($).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;BI(S,d,t),It("Gateway.handleRequest - call user handler");let U=await S(h,y);if(It("Gateway.handleRequest - user handler"),!(U instanceof Response))throw new Pt.RuntimeError(`Invalid Response type from the request handler: ${typeof U}`);if(U.bodyUsed)throw new Pt.RuntimeError("The response object has already been used. Return a new response instead.");if(U.headers.get(Ft.REQUEST_ID_HEADER)===null&&!U.webSocket){let $=new Headers(U.headers);return $.set(Ft.REQUEST_ID_HEADER,n),new Response(U.body,{status:U.status,statusText:U.statusText,headers:$,cf:U.cf})}else return U}catch(T){return It("Gateway - error executing handler",T),T instanceof Pt.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,y,T)}}};$s.Gateway=_d;function BI(e,t,r){if(It("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new Pt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Pt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(BI,"checkHandler")});var $y=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.invokeInboundPolicy=void 0;var KI=L(),JI=mn(),zI=zr(),WI=s(async(e,t,r)=>{let n=JI.Gateway.instance.routeData.policies,i=(0,zI.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new KI.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");js.invokeInboundPolicy=WI});var Ir=g(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.SystemZuploContext=et.ZuploContextExtensions=et.ResponseSentEvent=et.ResponseSendingEvent=et.HeaderIncomingRequestProperties=void 0;var _e=ti(),QI=L(),YI=$y(),Ed=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}}};et.HeaderIncomingRequestProperties=Ed;var wd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};et.ResponseSendingEvent=wd;var vd=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};et.ResponseSentEvent=vd;var Si=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 QI.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}};et.ZuploContextExtensions=Si;var Td=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,YI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Si.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Si.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)}};et.SystemZuploContext=Td});var Gs=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.ContextData=void 0;var Sd=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)}};Vs.ContextData=Sd});var yn=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.environment=hr.isZuploReadableEnvVariableName=hr.isRestrictedEnvVariableName=void 0;var ZI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function jy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!ZI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(jy,"isRestrictedEnvVariableName");hr.isRestrictedEnvVariableName=jy;function Vy(e){return!!e.startsWith("ZUPLO_")}s(Vy,"isZuploReadableEnvVariableName");hr.isZuploReadableEnvVariableName=Vy;var XI=new Proxy({},{get(e,t){if(jy(String(t))&&!Vy(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});hr.environment=XI});var Id=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.externalServiceHandler=gn.externalServiceTunnelConfig=void 0;var eP=Sr(),Ur=L(),tP=Pd(),Ii=Y(),lt=(0,eP.debug)("zuplo:runtime:external-service");function By(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Ii.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(By,"getServiceAuth");async function rP(e){let t=By();if(!t)throw lt("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw lt("Cannot call external service with Request object"),new Ur.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(Ii.Environment.instance.useSha256ServiceRouting){lt("Using sha256 service routing");let a=Ii.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await Ky(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw lt("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(rP,"externalServiceTunnelConfig");gn.externalServiceTunnelConfig=rP;async function nP(e,t){let r=By();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(Ii.Environment.instance.useSha256ServiceRouting){lt("Using sha256 service routing");let d=Ii.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Ky(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw lt("Cannot use sha256 service routing, missing build variables"),new Ur.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,tP.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 Ur.RuntimeError("Could not connect to secure tunnel.");return l}else throw lt("Cannot call external service with Request object"),new Ur.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw lt("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.")}s(nP,"externalServiceHandler");gn.externalServiceHandler=nP;async function Ky(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=iP(n);lt(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await Gy(`${o}-${i}`),l=await Gy(`${o}-${a}-${c}`);return`${u}.${l}`}s(Ky,"hashServiceName");async function Gy(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(Gy,"hashSegment");function iP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(iP,"sanitizeEnvironmentType")});var Pd=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.originalFetch=void 0;var oP=Id(),Jy=new Map;Jy.set("service:",oP.externalServiceHandler);bn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=sP(t);if(typeof e=="string"){let n=new URL(e),i=Jy.get(n.protocol);return i?i(e,r):(0,bn.originalFetch)(e,r)}else return(0,bn.originalFetch)(e,r)};var sP=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 Qy=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.Handler=_n.purgeGatewayCache=void 0;var aP=L(),Wy=mn(),zy=Y(),cP=s(()=>{Wy.Gateway.purgeGatewayCache()},"purgeGatewayCache");_n.purgeGatewayCache=cP;var Ad=class{static{s(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeData=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{zy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Wy.Gateway.initialize(this.routeData,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:zy.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=Ad});var eg=g(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.pathToRegexp=Ne.tokensToRegexp=Ne.regexpToFunction=Ne.match=Ne.tokensToFunction=Ne.compile=Ne.parse=void 0;function uP(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(uP,"lexer");function Rd(e,t){t===void 0&&(t={});for(var r=uP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(En(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=s(function(re){if(u<r.length&&r[u].type===re)return r[u++].value},"tryConsume"),p=s(function(re){var ne=d(re);if(ne!==void 0)return ne;var ve=r[u],E=ve.type,H=ve.index;throw new TypeError("Unexpected ".concat(E," at ").concat(H,", expected ").concat(re))},"mustConsume"),m=s(function(){for(var re="",ne;ne=d("CHAR")||d("ESCAPED_CHAR");)re+=ne;return re},"consumeText");u<r.length;){var h=d("CHAR"),y=d("NAME"),w=d("PATTERN");if(y||w){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:w||o,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var U=d("OPEN");if(U){var T=m(),$=d("NAME")||"",O=d("PATTERN")||"",te=m();p("CLOSE"),a.push({name:$||(O?c++:""),pattern:$&&!O?o:O,prefix:T,suffix:te,modifier:d("MODIFIER")||""});continue}p("END")}return a}s(Rd,"parse");Ne.parse=Rd;function lP(e,t){return Yy(Rd(e,t),t)}s(lP,"compile");Ne.compile=lP;function Yy(e,t){t===void 0&&(t={});var r=Od(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 m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var w=0;w<m.length;w++){var T=i(m[w],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var T=i(String(m),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=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}s(Yy,"tokensToFunction");Ne.tokensToFunction=Yy;function dP(e,t){var r=[],n=Nd(e,r,t);return Zy(n,r,t)}s(dP,"match");Ne.match=dP;function Zy(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(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(y){return i(y,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(Zy,"regexpToFunction");Ne.regexpToFunction=Zy;function En(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(En,"escapeString");function Od(e){return e&&e.sensitive?"":"i"}s(Od,"flags");function pP(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(pP,"regexpToRegexp");function hP(e,t,r){var n=e.map(function(i){return Nd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Od(r))}s(hP,"arrayToRegexp");function fP(e,t,r){return Xy(Rd(e,r),t,r)}s(fP,"stringToRegexp");function Xy(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(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,y=h===void 0?"":h,w="[".concat(En(y),"]|$"),T="[".concat(En(m),"]"),S=a?"^":"",U=0,$=e;U<$.length;U++){var O=$[U];if(typeof O=="string")S+=En(d(O));else{var te=En(d(O.prefix)),re=En(d(O.suffix));if(O.pattern)if(t&&t.push(O),te||re)if(O.modifier==="+"||O.modifier==="*"){var ne=O.modifier==="*"?"?":"";S+="(?:".concat(te,"((?:").concat(O.pattern,")(?:").concat(re).concat(te,"(?:").concat(O.pattern,"))*)").concat(re,")").concat(ne)}else S+="(?:".concat(te,"(").concat(O.pattern,")").concat(re,")").concat(O.modifier);else O.modifier==="+"||O.modifier==="*"?S+="((?:".concat(O.pattern,")").concat(O.modifier,")"):S+="(".concat(O.pattern,")").concat(O.modifier);else S+="(?:".concat(te).concat(re,")").concat(O.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(w,")"):"$";else{var ve=e[e.length-1],E=typeof ve=="string"?T.indexOf(ve[ve.length-1])>-1:ve===void 0;i||(S+="(?:".concat(T,"(?=").concat(w,"))?")),E||(S+="(?=".concat(T,"|").concat(w,")"))}return new RegExp(S,Od(r))}s(Xy,"tokensToRegexp");Ne.tokensToRegexp=Xy;function Nd(e,t,r){return e instanceof RegExp?pP(e,t):Array.isArray(e)?hP(e,t,r):fP(e,t,r)}s(Nd,"pathToRegexp");Ne.pathToRegexp=Nd});var Dd=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.AwsV4Signer=wn.AwsClient=void 0;var mP=Sr(),ig=L(),yP=(0,mP.debug)("zuplo:runtime"),Cd=new TextEncoder,tg={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"},gP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Ld=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 Bs(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){yP("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 ig.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};wn.AwsClient=Ld;var Bs=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:m,appendSessionToken:h,allHeaders:y,singleEncode:w}){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]=bP(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=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let U=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"),U.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&U.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(O=>y||!gP.includes(O)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(O=>O+":"+(O==="host"?this.url.host:(this.headers.get(O)||"").replace(/\s+/g," "))).join(`
|
|
60
|
+
`),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!U.has("X-Amz-Expires")&&U.set("X-Amz-Expires","86400"),U.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),U.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),U.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");w||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=ng(this.encodedPath);let $=new Set;this.encodedSearch=[...this.url.searchParams].filter(([O])=>{if(!O)return!1;if(this.service==="s3"){if($.has(O))return!1;$.add(O)}return!0}).map(O=>O.map(te=>ng(encodeURIComponent(te)))).sort(([O,te],[re,ne])=>O<re?-1:O>re?1:te<ne?-1:te>ne?1:0).map(O=>O.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 Pi("AWS4"+this.secretAccessKey,t),o=await Pi(i,this.region),a=await Pi(o,this.service);n=await Pi(a,"aws4_request"),this.cache.set(r,n)}return xd(await Pi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,xd(await rg(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 rg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Od(await eg(this.body||""))}return t}};wn.AwsV4Signer=Gs;async function Ii(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Nd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Nd.encode(t))}s(Ii,"hmac");async function eg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Nd.encode(e):e)}s(eg,"hash");function Od(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(Od,"buf2hex");function tg(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(tg,"encodeRfc3986");function dP(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 Xy?[Xy[o],a]:[o,a]}s(dP,"guessServiceRegion")});var ng=g(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.convertStringToUtf8Array=Pt.convertUtf8ArrayToString=Pt.base64Encode=Pt.base64Decode=void 0;function pP(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(pP,"b64ToUint6");function hP(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|=pP(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(hP,"base64Decode");Pt.base64Decode=hP;function Bs(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Bs,"uint6ToB64");function fP(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(Bs(i>>>18&63),Bs(i>>>12&63),Bs(i>>>6&63),Bs(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(fP,"base64Encode");Pt.base64Encode=fP;function mP(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(mP,"convertUtf8ArrayToString");Pt.convertUtf8ArrayToString=mP;function yP(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(yP,"convertStringToUtf8Array");Pt.convertStringToUtf8Array=yP});var ig=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.toCLFDate=void 0;function vn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(vn,"numberToString");function gP(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(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=vn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=vn(e.getHours()),a=vn(e.getMinutes()),c=vn(e.getSeconds()),u=gP(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(bP,"toCLFDate");Ks.toCLFDate=bP});var dg=g(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.getResponse=fr.awsLambdaHandler=fr.AwsLambdaHandlerExtensions=void 0;var _P=Sr(),og=Zy(),Pi=L(),EP=Lt(),wP=Cd(),ag=ng(),cg=ig(),sg=(0,_P.debug)("zuplo:runtime"),vP="X-Amzn-Trace-Id",TP="x-amzn-errortype",ug=[],SP=s(async(e,t,r)=>{let n=r;for await(let i of ug)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Pi.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(vP)??void 0,this.errorType=r.get(TP)??void 0}};fr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{ug.push(e)}};async function IP(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 Pi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Pi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Pi.ConfigurationError("region is not set in the handler options");if(!o)throw new Pi.ConfigurationError("functionName is not set in the handler options");let l=new wP.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(sg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await RP(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,y;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?y=AP(e,t):y=await PP(e,t,{useAwsResourcePathStyle:c}),sg("Calling onSendingAwsLambdaEvent hook");let v=await SP(e,t,y);v.body=p,v.isBase64Encoded=m;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return lg(T)}catch(S){if(S instanceof Ke){let M=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return EP.HttpProblems.internalServerError(e,t,void 0,M)}throw S}}s(IP,"awsLambdaHandler");fr.awsLambdaHandler=IP;async function lg(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,ag.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(lg,"getResponse");fr.getResponse=lg;async function PP(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,cg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:NP(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(PP,"buildEventVersion1");function AP(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,cg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(AP,"buildEventVersion2");async function RP(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&&OP(t,i)){let o=await e.arrayBuffer();r=(0,ag.base64Encode)(new Uint8Array(o)),n=!0}else r=await e.clone().text();return[r,n]}s(RP,"getBodyResult");function OP(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(OP,"matchesContentType");function NP(e,t=!1){if(!t)return e;let r=(0,og.parse)(e),n=(0,og.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(NP,"getResourcePath")});var Sn=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.getHandlerUserLogFunction=Tn.logBadGatewayResponses=void 0;var xP=Le(),CP=Y(),LP=[502,503,504];async function DP(e,t){if(LP.includes(e.status)){let r=xP.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(DP,"logBadGatewayResponses");Tn.logBadGatewayResponses=DP;var Ld;function UP(e){if(Ld===void 0){let r=CP.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Ld=r}return e.log[Ld]}s(UP,"getHandlerUserLogFunction");Tn.getHandlerUserLogFunction=UP});var hg=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.openApiSpecHandler=void 0;var pg=L(),kP=se(),Dd=Y(),MP=Sn();async function HP(e,t){let r=Dd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Dd.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=FP(o);if(!a.isValid)throw new pg.ConfigurationError(a.error);let c;Dd.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 kP.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,MP.logBadGatewayResponses)(l,t),l}s(HP,"openApiSpecHandler");Js.openApiSpecHandler=HP;var FP=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 fg=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.redirectHandler=void 0;var qP=L();async function $P(e,t){let r=t.route.handler.options;if(!r.location)throw new qP.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s($P,"redirectHandler");zs.redirectHandler=$P});var yg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.urlForwardHandler=void 0;var jP=L(),mg=Sn();function VP(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(VP,"join");async function GP(e,t){let r=(0,mg.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 jP.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=VP(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}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,mg.logBadGatewayResponses)(p,t),p}s(GP,"urlForwardHandler");Ws.urlForwardHandler=GP});var bg=g(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.urlRewriteHandler=void 0;var BP=L(),gg=Sn(),KP=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 JP(e,t){let r=(0,gg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new BP.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?KP(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,gg.logBadGatewayResponses)(d,t),d}s(JP,"urlRewriteHandler");Qs.urlRewriteHandler=JP});var Eg=g(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.webSocketHandler=void 0;var _g=L(),zP=Td(),WP=Lt(),QP=Y(),YP=Sn();async function ZP(e,t){let r=QP.Environment.instance,n=t.route.handler.options,i=(0,YP.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new _g.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return WP.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new _g.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,zP.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${h.serviceBaseUrl}${y.pathname}${y.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 m=JSON.stringify({url:c});return new Response(m,{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(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}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(ZP,"webSocketHandler");Ys.webSocketHandler=ZP});var wg=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.webSocketPolicyProcessor=In.getWebSocketPolicyFunctions=void 0;var XP=L(),eA=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 XP.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");In.getWebSocketPolicyFunctions=eA;var tA=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=tA});var Tg=g(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.webSocketPipelineHandler=void 0;var Ud=L(),rA=Lt(),nA=Y(),iA=Sn(),kd=wg();function vg(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{s(async c=>{let u=await(0,kd.webSocketPolicyProcessor)(c,e,t,r,n,i);u!==void 0&&t.send(u)},"innerPipeline")(o).catch(n.log.error)}catch(a){n.log.error(a)}})}s(vg,"wireUpListeners");async function oA(e,t){let r=nA.Environment.instance,n=t.route.handler.options,i=(0,iA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Ud.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return rA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Ud.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 Ud.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(),M=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(M)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let y=l.webSocket;y.accept(),m.accept();let v=n.policies&&n.policies.inbound?(0,kd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,kd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return vg(m,y,e,t,v),vg(y,m,e,t,T),new Response(null,{status:101,webSocket:p})}s(oA,"webSocketPipelineHandler");Zs.webSocketPipelineHandler=oA});var Sg=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.DynaTraceLoggingPlugin=void 0;var sA=ve(),Md=Y(),aA=Nr(),cA=Ut(),uA=_t(),Hd=class extends cA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Fd(this.options)}};Xs.DynaTraceLoggingPlugin=Hd;var Fd=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Md.Environment.instance.loggingEnvironmentType,this.#i=Md.Environment.instance.loggingEnvironmentStage,this.#r=Md.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,uA.stringifyNonString)((0,aA.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 sA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Ig=g(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.LokiLoggingPlugin=void 0;var lA=ve(),qd=Y(),dA=Nr(),pA=Ut(),hA=_t(),$d=class extends pA.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Vd(this.options)}};ea.LokiLoggingPlugin=$d;var jd=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 fA(e,t){return btoa(`${e}:${t}`)}s(fA,"createBasicDigest");var Vd=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=fA(t.username,t.password),this.#n=qd.Environment.instance.loggingEnvironmentType,this.#i=qd.Environment.instance.loggingEnvironmentStage,this.#r=qd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new jd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,hA.stringifyNonString)((0,dA.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 lA.BatchDispatch("loki-log-transport",10,this.#s)}});var Pg=g(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.SumoLogicLoggingPlugin=void 0;var mA=ve(),Gd=Y(),yA=Nr(),gA=Ut(),bA=_t(),Bd=class extends gA.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Kd(this.options)}};ta.SumoLogicLoggingPlugin=Bd;var Kd=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Gd.Environment.instance.loggingEnvironmentType,this.#n=Gd.Environment.instance.loggingEnvironmentStage,this.#t=Gd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,bA.stringifyNonString)((0,yA.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
|
|
64
|
-
`),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new
|
|
65
|
-
`),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new
|
|
63
|
+
`)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new ig.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=xd(await rg(this.body||""))}return t}};wn.AwsV4Signer=Bs;async function Pi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Cd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Cd.encode(t))}s(Pi,"hmac");async function rg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Cd.encode(e):e)}s(rg,"hash");function xd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(xd,"buf2hex");function ng(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(ng,"encodeRfc3986");function bP(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 tg?[tg[o],a]:[o,a]}s(bP,"guessServiceRegion")});var og=g(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.convertStringToUtf8Array=At.convertUtf8ArrayToString=At.base64Encode=At.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 EP(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(EP,"base64Decode");At.base64Decode=EP;function Ks(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Ks,"uint6ToB64");function wP(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(Ks(i>>>18&63),Ks(i>>>12&63),Ks(i>>>6&63),Ks(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(wP,"base64Encode");At.base64Encode=wP;function vP(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(vP,"convertUtf8ArrayToString");At.convertUtf8ArrayToString=vP;function TP(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(TP,"convertStringToUtf8Array");At.convertStringToUtf8Array=TP});var sg=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.toCLFDate=void 0;function vn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(vn,"numberToString");function SP(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(SP,"getCLFOffset");function IP(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=SP(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(IP,"toCLFDate");Js.toCLFDate=IP});var hg=g(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.getResponse=fr.awsLambdaHandler=fr.AwsLambdaHandlerExtensions=void 0;var PP=Sr(),ag=eg(),Ai=L(),AP=Dt(),RP=Dd(),ug=og(),lg=sg(),cg=(0,PP.debug)("zuplo:runtime"),OP="X-Amzn-Trace-Id",NP="x-amzn-errortype",dg=[],xP=s(async(e,t,r)=>{let n=r;for await(let i of dg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Je=class extends Ai.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(OP)??void 0,this.errorType=r.get(NP)??void 0}};fr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{dg.push(e)}};async function CP(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 Ai.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ai.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ai.ConfigurationError("region is not set in the handler options");if(!o)throw new Ai.ConfigurationError("functionName is not set in the handler options");let l=new RP.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(cg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await UP(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,y;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?y=DP(e,t):y=await LP(e,t,{useAwsResourcePathStyle:c}),cg("Calling onSendingAwsLambdaEvent hook");let w=await xP(e,t,y);w.body=p,w.isBase64Encoded=m;let T=await l.fetch(d,{body:JSON.stringify(w)});try{return pg(T)}catch(S){if(S instanceof Je){let U=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return AP.HttpProblems.internalServerError(e,t,void 0,U)}throw S}}s(CP,"awsLambdaHandler");fr.awsLambdaHandler=CP;async function pg(e){let t;try{t=await e.json()}catch{throw new Je("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 Je(t.message,e.headers):new Je(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Je(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 Je(`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 Je(`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 Je(`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 Je("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Je("Response was set to base64 encoded but body was not a string",e.headers);n=(0,ug.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 Je(`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(pg,"getResponse");fr.getResponse=pg;async function LP(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,lg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:kP(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(LP,"buildEventVersion1");function DP(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,lg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(DP,"buildEventVersion2");async function UP(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&&MP(t,i)){let o=await e.arrayBuffer();r=(0,ug.base64Encode)(new Uint8Array(o)),n=!0}else r=await e.clone().text();return[r,n]}s(UP,"getBodyResult");function MP(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(MP,"matchesContentType");function kP(e,t=!1){if(!t)return e;let r=(0,ag.parse)(e),n=(0,ag.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(kP,"getResourcePath")});var Sn=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.getHandlerUserLogFunction=Tn.logBadGatewayResponses=void 0;var HP=Oe(),FP=Y(),qP=[502,503,504];async function $P(e,t){if(qP.includes(e.status)){let r=HP.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($P,"logBadGatewayResponses");Tn.logBadGatewayResponses=$P;var Ud;function jP(e){if(Ud===void 0){let r=FP.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Ud=r}return e.log[Ud]}s(jP,"getHandlerUserLogFunction");Tn.getHandlerUserLogFunction=jP});var mg=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.openApiSpecHandler=void 0;var fg=L(),VP=ae(),Md=Y(),GP=Sn();async function BP(e,t){let r=Md.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Md.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new fg.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=KP(o);if(!a.isValid)throw new fg.ConfigurationError(a.error);let c;Md.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 VP.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,GP.logBadGatewayResponses)(l,t),l}s(BP,"openApiSpecHandler");zs.openApiSpecHandler=BP;var KP=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 yg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.redirectHandler=void 0;var JP=L();async function zP(e,t){let r=t.route.handler.options;if(!r.location)throw new JP.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(zP,"redirectHandler");Ws.redirectHandler=zP});var bg=g(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.urlForwardHandler=void 0;var WP=L(),gg=Sn();function QP(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(QP,"join");async function YP(e,t){let r=(0,gg.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 WP.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=QP(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}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,gg.logBadGatewayResponses)(p,t),p}s(YP,"urlForwardHandler");Qs.urlForwardHandler=YP});var Eg=g(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.urlRewriteHandler=void 0;var ZP=L(),_g=Sn(),XP=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,_g.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new ZP.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?XP(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,_g.logBadGatewayResponses)(d,t),d}s(eA,"urlRewriteHandler");Ys.urlRewriteHandler=eA});var vg=g(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.webSocketHandler=void 0;var wg=L(),tA=Id(),rA=Dt(),nA=Y(),iA=Sn();async function oA(e,t){let r=nA.Environment.instance,n=t.route.handler.options,i=(0,iA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new wg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return rA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new wg.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,tA.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${h.serviceBaseUrl}${y.pathname}${y.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 m=JSON.stringify({url:c});return new Response(m,{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(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}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(oA,"webSocketHandler");Zs.webSocketHandler=oA});var Tg=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.webSocketPolicyProcessor=In.getWebSocketPolicyFunctions=void 0;var sA=L(),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 sA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");In.getWebSocketPolicyFunctions=aA;var cA=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=cA});var Ig=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.webSocketPipelineHandler=void 0;var kd=L(),uA=Dt(),lA=Y(),dA=Sn(),Hd=Tg();function Sg(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{s(async c=>{let u=await(0,Hd.webSocketPolicyProcessor)(c,e,t,r,n,i);u!==void 0&&t.send(u)},"innerPipeline")(o).catch(n.log.error)}catch(a){n.log.error(a)}})}s(Sg,"wireUpListeners");async function pA(e,t){let r=lA.Environment.instance,n=t.route.handler.options,i=(0,dA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new kd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return uA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new kd.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 kd.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(),U=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(U)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let y=l.webSocket;y.accept(),m.accept();let w=n.policies&&n.policies.inbound?(0,Hd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,Hd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Sg(m,y,e,t,w),Sg(y,m,e,t,T),new Response(null,{status:101,webSocket:p})}s(pA,"webSocketPipelineHandler");Xs.webSocketPipelineHandler=pA});var Pg=g(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.DynaTraceLoggingPlugin=void 0;var hA=Te(),Fd=Y(),fA=Nr(),mA=Ut(),yA=Et(),qd=class extends mA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new $d(this.options)}};ea.DynaTraceLoggingPlugin=qd;var $d=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Fd.Environment.instance.loggingEnvironmentType,this.#i=Fd.Environment.instance.loggingEnvironmentStage,this.#r=Fd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,yA.stringifyNonString)((0,fA.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 hA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Ag=g(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.LokiLoggingPlugin=void 0;var gA=Te(),jd=Y(),bA=Nr(),_A=Ut(),EA=Et(),Vd=class extends _A.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Bd(this.options)}};ta.LokiLoggingPlugin=Vd;var Gd=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 wA(e,t){return btoa(`${e}:${t}`)}s(wA,"createBasicDigest");var Bd=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=wA(t.username,t.password),this.#n=jd.Environment.instance.loggingEnvironmentType,this.#i=jd.Environment.instance.loggingEnvironmentStage,this.#r=jd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new Gd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,EA.stringifyNonString)((0,bA.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 gA.BatchDispatch("loki-log-transport",10,this.#s)}});var Rg=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.SumoLogicLoggingPlugin=void 0;var vA=Te(),Kd=Y(),TA=Nr(),SA=Ut(),IA=Et(),Jd=class extends SA.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new zd(this.options)}};ra.SumoLogicLoggingPlugin=Jd;var zd=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Kd.Environment.instance.loggingEnvironmentType,this.#n=Kd.Environment.instance.loggingEnvironmentStage,this.#t=Kd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,IA.stringifyNonString)((0,TA.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 vA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Ng=g(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.VMWareLogInsightTransport=Pn.VMWareLogInsightLoggingPlugin=void 0;var PA=L(),AA=Te(),Wd=Y(),RA=Ut(),Og=Et(),OA="d3a5b78f-8236-48f5-b1df-4fe269d41172",Qd=class extends RA.LogPlugin{static{s(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new na(this.options)}};Pn.VMWareLogInsightLoggingPlugin=Qd;var na=class{static{s(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new PA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Wd.Environment.instance.loggingEnvironmentType,this.#n=Wd.Environment.instance.loggingEnvironmentStage,this.#t=Wd.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;async log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,Og.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,Og.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/${OA}`,{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 AA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};Pn.VMWareLogInsightTransport=na});var Cg=g(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.AWSLogTransport=An.AWSLoggingPlugin=void 0;var NA=Te(),xg=Y(),xA=Nr(),CA=Ut(),LA=Et(),DA=Dd(),Yd=class extends CA.LogPlugin{static{s(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ia(this.options)}};An.AWSLoggingPlugin=Yd;var ia=class{static{s(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new NA.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 DA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:o}),this.logGroupName=n,this.logStreamName=r,this.region=o,this.environmentType=xg.Environment.instance.loggingEnvironmentType,this.environment=xg.Environment.instance.deploymentName}async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,LA.stringifyNonString)((0,xA.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=ia});var Lg=g(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.AWSLoggingPlugin=xe.VMWareLogInsightLoggingPlugin=xe.SumoLogicLoggingPlugin=xe.LokiLoggingPlugin=xe.GoogleCloudLoggingPlugin=xe.DynaTraceLoggingPlugin=xe.DataDogLoggingPlugin=void 0;var UA=cd();Object.defineProperty(xe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return UA.DataDogLoggingPlugin}});var MA=Pg();Object.defineProperty(xe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return MA.DynaTraceLoggingPlugin}});var kA=Rs();Object.defineProperty(xe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return kA.GoogleCloudLoggingPlugin}});var HA=Ag();Object.defineProperty(xe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return HA.LokiLoggingPlugin}});var FA=Rg();Object.defineProperty(xe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return FA.SumoLogicLoggingPlugin}});var qA=Ng();Object.defineProperty(xe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return qA.VMWareLogInsightLoggingPlugin}});var $A=Cg();Object.defineProperty(xe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return $A.AWSLoggingPlugin}})});var Dg=g(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DataDogMetricsError=mr.DataDogMetricsTransport=mr.DataDogMetricsPlugin=void 0;var jA=Oe(),VA=Te(),GA=Io(),Zd=new WeakMap,BA={tags:[]},Xd=class extends GA.MetricsPlugin{static{s(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new oa(this.options)}static setContext(t,r){let n=Zd.get(t);n||(n=BA);let i=Object.assign({...n},r);Zd.set(t,i)}};mr.DataDogMetricsPlugin=Xd;var oa=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 VA.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,jA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(Zd.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 sa(await n.text())}};mr.DataDogMetricsTransport=oa;var sa=class e extends Error{static{s(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DataDogMetricsError=sa});var Ug=g(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.DynaTraceMetricsError=yr.DynaTraceMetricsTransport=yr.DynatraceMetricsPlugin=void 0;var KA=Oe(),JA=Te(),zA=Io(),ep=new WeakMap,WA={dimensions:[]},tp=class extends zA.MetricsPlugin{static{s(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new aa(this.options)}static setContext(t,r){let n=ep.get(t);n||(n=WA);let i=Object.assign({...n},r);ep.set(t,i)}};yr.DynatraceMetricsPlugin=tp;var aa=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 JA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,KA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(ep.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 ca(await n.text())}};yr.DynaTraceMetricsTransport=aa;var ca=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};yr.DynaTraceMetricsError=ca});var Mg=g(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.DynatraceMetricsPlugin=Rn.DataDogMetricsPlugin=void 0;var QA=Dg();Object.defineProperty(Rn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return QA.DataDogMetricsPlugin}});var YA=Ug();Object.defineProperty(Rn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return YA.DynatraceMetricsPlugin}})});var kg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.AuditLogDataStaxProvider=void 0;var rp=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)})}))}};ua.AuditLogDataStaxProvider=rp});var Fg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.AuditLogPlugin=void 0;var ZA=gt(),XA=Te(),np=class extends ZA.SystemRuntimePlugin{static{s(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new ip(t,this.#e,this.#t)}};la.AuditLogPlugin=np;var Hg=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}}},ip=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 XA.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?Hg(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?Hg(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(m=>{r.log.error(m)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var qg=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.StripeSignatureVerificationError=On.StripeError=void 0;var da=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=da;var op=class extends da{static{s(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};On.StripeSignatureVerificationError=op});var jg=g(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.computeHMACSignatureAsync=Nn.constructEventAsync=void 0;var Mr=qg(),tR="v1",rR=300;async function nR(e,t,r,n=rR,i){return await oR(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}s(nR,"constructEventAsync");Nn.constructEventAsync=nR;function iR(e,t){return`${t.timestamp}.${e}`}s(iR,"makeHMACContent");async function oR(e,t,r,n,i){let{decodedHeader:o,decodedPayload:a,details:c,suspectPayloadType:u}=sR(e,t,tR),l=/\s/.test(r),d=await $g(iR(a,c),r);return aR(a,o,c,d,n,u,l,i)}s(oR,"verifyHeaderAsync");function sR(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=cR(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(sR,"parseEventDetails");function aR(e,t,r,n,i,o,a,c){let u=!!r.signatures.filter(m=>uR(m,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
|
|
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
|
|
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(eR,"validateComputedSignature");function tR(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(tR,"parseHeader");function rR(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(rR,"secureCompare");async function Fg(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]=ip[o[c]];return a.join("")}s(Fg,"computeHMACSignatureAsync");Nn.computeHMACSignatureAsync=Fg;var ip=new Array(256);for(let e=0;e<ip.length;e++)ip[e]=e.toString(16).padStart(2,"0")});var qt=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.optionValidator=void 0;var Ai=L();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 Ai.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 Ai.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ai.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 Ai.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 Ai.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");da.optionValidator=nR});var op=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.StripeWebhookVerificationInboundPolicy=void 0;var iR=se(),oR=qg(),sR=qt(),aR=s(async(e,t,r,n)=>{(0,sR.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,oR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),iR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");pa.StripeWebhookVerificationInboundPolicy=aR});var $g=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.MeteringPlugin=void 0;var cR=gt(),sp=class extends cR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};ha.MeteringPlugin=sp});var Vg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.StripeMeteringPlugin=void 0;var jg=yn(),lt=L(),uR=Ct(),lR=op(),xn=se(),dR=Yt(),pR=zr(),hR=Uu(),fR=ot(),ap=Y(),cp=Dt(),mR=$g(),yR="checkout.session.completed",up=class extends mR.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}=this.options;if(!l)if(jg.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=jg.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new lt.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");let d=this.options.meteringBucketRegion??"us-central1";if(!wR(d))throw new lt.ConfigurationError(`StripeMeteringPlugin - The value '${d}' on the property 'meteringBucketRegion' is invalid.`);let p=await c.json();if(!ER(p))return xn.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});u.log.info(`Received Stripe webhook event of type '${p.type}' with ID '${p.id}'.`);let m;try{m=await gR({event:p,stripeSecretKey:this.options.stripeSecretKey,logger:u.log})}catch(h){return xn.HttpProblems.internalServerError(c,u,{detail:h.message??"Unknown error getting subscription info"})}if(m){let h;if(this.options.apiKeyBucketName&&ap.Environment.instance.build.ACCOUNT_NAME&&this.options.zuploAccountApiKey?h=await bR({bucketName:this.options.apiKeyBucketName,accountName:ap.Environment.instance.build.ACCOUNT_NAME,stripeProductId:m.productId,stripeSubscriptionId:m.subscriptionId,stripeCustomerId:m.customerId,managerEmail:m.customerEmail,zuploAccountApiKey:this.options.zuploAccountApiKey,logger:u.log}):u.log.debug("Skipping consumer creation. No 'apiKeyBucketName', 'zuploAccountApiKey', or account variable set."),!h)return xn.HttpProblems.internalServerError(c,u,{detail:"No consumer was created, skipping creation of subscription"});let y="routes.oas.json";return _R({request:c,context:u,stripeProductId:m.productId,stripeSubscriptionId:m.subscriptionId,customerKey:h,productKey:y,meteringBucketId:l,meteringBucketRegion:d})}return xn.HttpProblems.ok(c,u,{detail:"Event was ignored by Stripe metering plugin webhook."})},"stripeWebhookHandler"),i=(0,pR.createInternalPolicyProcessor)({inboundPolicies:[{handler:lR.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new uR.Pipeline({processors:[dR.metricsProcessor,i],handler:n,gateway:r}),a=new fR.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:hR.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};fa.StripeMeteringPlugin=up;async function gR({event:e,stripeSecretKey:t,logger:r}){let n;if(e.type===yR){let l=e,d=l.data?.object?.subscription;if(!d)throw new lt.RuntimeError("Invalid Stripe Webhook event. Expected '.data.object.id' to be the subscription ID.");if(!l.data?.object?.client_reference_id)throw new lt.RuntimeError("Invalid Stripe Webhook event. Expected '.data.object.id' to be the subscription ID.");let m=await fetch(`https://api.stripe.com/v1/subscriptions/${d}`,{headers:{Authorization:`Bearer ${t}`}}),h=await m.json();if(m.status!==200){let y="Error retrieving subscription from Stripe API.";throw r.error(y,h),new lt.RuntimeError(y)}n=h}if(!n)return;let i=n.id;if(!i)throw new lt.RuntimeError("Invalid Stripe Webhook event. Expected '.data.object.id' to be the subscription ID.");let o=n.items?.data.find(l=>l.object==="subscription_item");if(!o||!o.id)throw new Error("Invalid Stripe Webhook event. Expected '.data.object.items.data[]' to contain a subscription_item.");let a=o.plan;if(!a||!a.product)throw new lt.RuntimeError("Invalid Stripe Webhook event. Expected '.data.object.items.data[].plan'.");let c=await fetch(`https://api.stripe.com/v1/customers/${n.customer}`,{headers:{Authorization:`Bearer ${t}`}}),u=await c.json();if(c.status!==200){let l="Error retrieving customer from Stripe API.";throw r.error(l,u),new lt.RuntimeError(l)}return{subscriptionId:i,productId:a.product,customerId:n.customer,customerEmail:u.email}}s(gR,"getStripeSubscription");async function bR({accountName:e,bucketName:t,zuploAccountApiKey:r,stripeSubscriptionId:n,stripeProductId:i,stripeCustomerId:o,managerEmail:a,logger:c}){let u=new URL(`/v1/accounts/${e}/key-buckets/${t}/consumers`,"https://dev.zuplo.com");u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:`Consumer for Stripe subscription ${n}`,tags:{providerSubscriptionKey:n,planProviderKey:i},metadata:{stripeSubscriptionId:n,stripeProductId:i,stripeCustomerId:o},managers:[a]},p=await fetch(u,{method:"POST",headers:{Authorization:`Bearer ${r}`,"content-type":"application/json"},body:JSON.stringify(d)}),m=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw c.error(h,m),new lt.RuntimeError(h)}return c.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:n,stripeProductId:i}),l}s(bR,"createConsumer");async function _R({request:e,context:t,stripeSubscriptionId:r,stripeProductId:n,customerKey:i,productKey:o,meteringBucketId:a,meteringBucketRegion:c}){let u={status:"active",type:"periodic",renewalStrategy:"monthly",region:c,providerKey:r,planProviderKey:n,customerKey:i,productKey:o};try{let{authApiJWT:l,meteringServiceUrl:d}=ap.Environment.instance;if(!(0,cp.isNonEmptyString)(l))throw new lt.SystemError("No Zuplo JWT token set.");let p=await fetch(`${d}/internal/v1/metering/${a}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let m="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw t.log.error(m,h),new lt.RuntimeError(m)}}catch(l){return xn.HttpProblems.internalServerError(e,t,{detail:l.message})}return t.log.info("Successfully created/updated metering subscription.",u),xn.HttpProblems.ok(e,t)}s(_R,"saveSubscription");function ER(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,cp.isString)(e.id)&&"type"in e&&(0,cp.isString)(e.type)}s(ER,"isStripeWebhookEvent");function wR(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(wR,"isMetricsRegion")});var zg=g(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.AmberfloMeteringInboundPolicy=Cn.AmberfloMeteringPolicy=void 0;var Gg=L(),vR=ve(),Bg=ii(),Jg=new WeakMap,Kg={},lp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Jg.set(t,r)}};Cn.AmberfloMeteringPolicy=lp;async function TR(e,t,r,n){if(!r.statusCodes)throw new Gg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Bg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async o=>{if(i.includes(o.status)){let a=Jg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new Gg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Bg.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)},m=Kg[r.apiKey];if(!m){let h=r.apiKey,y=e.headers.get("zm-test-id")??"";m=new vR.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":y}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),Kg[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}s(TR,"AmberfloMeteringInboundPolicy");Cn.AmberfloMeteringInboundPolicy=TR});var dp=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.sha256=void 0;async function SR(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(SR,"sha256");ma.sha256=SR});var $t=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.getPolicyCacheName=void 0;var IR=dp(),Wg=new Map;async function PR(e,t){let r,n=Wg.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,IR.sha256)(JSON.stringify({policyName:e,options:t}))}`,Wg.set(e,r)),r}s(PR,"getPolicyCacheName");ya.getPolicyCacheName=PR});var mp=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.ApiKeyInboundPolicy=void 0;var AR=$t(),RR=Jt(),Qg=yn(),pp=L(),OR=Lt(),hp=Le(),fp=Y(),NR=Is(),Yg="key-metadata-cache-type";function xR(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(xR,"getKeyValue");async function CR(e,t,r,n){if(!r.bucketName)if(Qg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Qg.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(T=>i.allowUnauthenticatedRequests?e:OR.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=xR(a,i);if(!c||c==="")return o("No key present");let u=await LR(c),l=await(0,AR.getPolicyCacheName)(n,i),d=new RR.MemoryZoneReadThroughCache(l,{logger:hp.SystemLogMap.getLogger(t)}),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Yg&&hp.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let m={key:c},h=await(0,NR.fetchRetry)({retryDelayMs:5,retries:2,logger:hp.SystemLogMap.getLogger(t)},`${fp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":fp.Environment.instance.deploymentName??"unknown","User-Agent":fp.Environment.instance.systemUserAgent},body:JSON.stringify(m)});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 pp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let y=await h.json(),v={isValid:!0,typeId:Yg,user:{sub:y.name,data:y.metadata}};return e.user=v.user,d.put(u,v,i.cacheTtlSeconds),e}s(CR,"ApiKeyInboundPolicy");ga.ApiKeyInboundPolicy=CR;async function LR(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(LR,"hashValue")});var Zg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.ApiAuthKeyInboundPolicy=void 0;var DR=mp();ba.ApiAuthKeyInboundPolicy=DR.ApiKeyInboundPolicy});var jt=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.OpenIdJwtInboundPolicy=void 0;var gp=(Ts(),eo(vs)),bp=L(),UR=se(),yp={},kR=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new bp.ConfigurationError("Invalid State - jwkUrl not set");yp[t.jwkUrl]||(yp[t.jwkUrl]=(0,gp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,gp.jwtVerify)(e,yp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),MR=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,gp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),HR=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(m=>UR.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new bp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new bp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?kR:MR,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 m=i.substring(o.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let y=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${y.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${y.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");_a.OpenIdJwtInboundPolicy=HR});var Xg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.Auth0JwtInboundPolicy=void 0;var FR=jt(),qR=s(async(e,t,r,n)=>(0,FR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Ea.Auth0JwtInboundPolicy=qR});var eb=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.BasicAuthInboundPolicy=void 0;var $R=se(),jR=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>$R.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 m=d.substring(0,p),h=d.substring(p+1),y=r.accounts.find(v=>v.username===m&&v.password===h);return y||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");wa.BasicAuthInboundPolicy=jR});var tb=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.CachingInboundPolicy=void 0;var VR=$t(),GR=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function BR(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(BR,"digestMessage");var KR=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 BR(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 JR(e,t,r,n){let i=await(0,VR.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await KR(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 m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);GR.forEach(y=>h.headers.delete(y)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(o.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}s(JR,"CachingInboundPolicy");va.CachingInboundPolicy=JR});var rb=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.ChangeMethodInboundPolicy=void 0;var zR=L(),WR=He(),QR=s(async(e,t,r,n)=>{if(!r.method)throw new zR.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new WR.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Ta.ChangeMethodInboundPolicy=QR});var nb=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.ClearHeadersInboundPolicy=void 0;var YR=He(),ZR=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 YR.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Sa.ClearHeadersInboundPolicy=ZR});var ib=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.ClearHeadersOutboundPolicy=void 0;var XR=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");Ia.ClearHeadersOutboundPolicy=XR});var ob=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ClerkJwtInboundPolicy=void 0;var e0=jt(),t0=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,e0.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Pa.ClerkJwtInboundPolicy=t0});var ab=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.CognitoJwtInboundPolicy=void 0;var sb=L(),r0=jt(),n0=s(async(e,t,r,n)=>{if(!r.userPoolId)throw new sb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new sb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,r0.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");Aa.CognitoJwtInboundPolicy=n0});var ub=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.CompositeInboundPolicy=void 0;var i0=L(),o0=mn(),cb=zr(),s0=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new i0.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=o0.Gateway.instance,o=(0,cb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,cb.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");Ra.CompositeInboundPolicy=s0});var db=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.CreditsMeteringInboundPolicy=void 0;var Ri=se(),lb=Y(),a0=s(async(e,t,r)=>{let n=e.user;if(!n)return Ri.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 Ri.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 c0(o,i,t);if(!a)return Ri.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return Ri.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return Ri.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 u0(o,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");Oa.CreditsMeteringInboundPolicy=a0;async function c0(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=lb.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(c0,"getSubscription");async function u0(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:o}=lb.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(u0,"consumeSubscription")});var pb=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.CurityPhantomTokenInboundPolicy=void 0;var l0=$t(),d0=Jt(),Na=se(),p0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Na.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=h0(i);if(!o)return Na.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,l0.getPolicyCacheName)(n,r),c=new d0.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}'`),Na.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Na.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");xa.CurityPhantomTokenInboundPolicy=p0;function h0(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(h0,"getToken")});var hb=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.FirebaseJwtInboundPolicy=void 0;var f0=qt(),m0=jt(),y0=s(async(e,t,r,n)=>((0,f0.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,m0.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");Ca.FirebaseJwtInboundPolicy=y0});var fb=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.FormDataToJsonInboundPolicy=void 0;var g0=He(),b0=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 g0.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");La.FormDataToJsonInboundPolicy=b0});var mb=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.GeoFilterInboundPolicy=void 0;var _0=L(),E0=se(),Ln="__unknown__",w0=s(async(e,t,r,n)=>{let i={allow:{countries:Un(r.allow?.countries,"allow.countries",n),regionCodes:Un(r.allow?.regionCodes,"allow.regionCode",n),asns:Un(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Un(r.block?.countries,"block.countries",n),regionCodes:Un(r.block?.regionCodes,"block.regionCode",n),asns:Un(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Ln,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Ln,c=t.incomingRequestProperties.asn?.toString()??Ln,u=i.ignoreUnknown&&o===Ln,l=i.ignoreUnknown&&a===Ln,d=i.ignoreUnknown&&c===Ln,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(o)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Dn(e,t,n,o,a,c);let y=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(o)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Dn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");Da.GeoFilterInboundPolicy=w0;function Dn(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),E0.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(Dn,"blockedResponse");function Un(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 _0.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s(Un,"toLowerStringArray")});var yb=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.JWTScopeValidationInboundPolicy=void 0;var v0=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");Ua.JWTScopeValidationInboundPolicy=v0});var bb=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.MockApiInboundPolicy=void 0;var T0=se(),S0=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return _p(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 _p(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(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),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 gb(a[c])}else return a.length>0?gb(a[0]):_p(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");ka.MockApiInboundPolicy=S0;function gb(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(gb,"generateResponse");var _p=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return T0.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var Tb=g(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.MoesifInboundPolicy=kn.setMoesifContext=void 0;var I0=L(),P0=ve(),A0="Incoming",R0={logRequestBody:!0,logResponseBody:!0};function _b(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(_b,"headersToObject");function Eb(){return new Date().toISOString()}s(Eb,"timestamp");var Ep=new WeakMap,O0={};function N0(e,t){let r=Ep.get(e);r||(r=O0);let n=Object.assign({...r},t);Ep.set(e,n)}s(N0,"setMoesifContext");kn.setMoesifContext=N0;async function wb(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(wb,"readBody");var x0={},wp;function vb(){if(!wp)throw new I0.RuntimeError("Invalid State - no _lastLogger");return wp}s(vb,"getLastLogger");function C0(e){let t=x0[e];return t||(t=new P0.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);vb().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||vb().error({status:i.status,body:await i.text()})})),t}s(C0,"getDispatcher");async function L0(e,t,r,n){wp=t.log;let i=Eb(),o=Object.assign(R0,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await wb(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=C0(o.applicationId),d=e.headers.get("true-client-ip"),p=Ep.get(t)??{},m={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 wb(c,t):void 0,y={time:Eb(),status:c.status,headers:_b(c.headers),body:h},v={request:m,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:A0};l.enqueue(v),t.waitUntil(l.waitUntilFlushed())}),e}s(L0,"MoesifInboundPolicy");kn.MoesifInboundPolicy=L0});var Sb=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.OktaJwtInboundPolicy=void 0;var D0=jt(),U0=s(async(e,t,r,n)=>(0,D0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Ma.OktaJwtInboundPolicy=U0});var Ib=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.PropelAuthJwtInboundPolicy=void 0;var k0=(Ts(),eo(vs)),M0=jt(),vp,H0=s(async(e,t,r,n)=>{if(!vp)try{vp=await(0,k0.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,M0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:vp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ha.PropelAuthJwtInboundPolicy=H0});var Pb=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var je=Dt(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var Oi=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Oi;var Ni=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ni;function F0(e,t){if((0,je.isUndefined)(e))throw new Oi(t)}s(F0,"throwIfUndefined");G.throwIfUndefined=F0;function Tp(e,t){if((0,je.isUndefinedOrNull)(e))throw new Oi(t)}s(Tp,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Tp;function q0(e,t){if(Tp(e,t),!(0,je.isString)(e))throw new Ni(t,"string")}s(q0,"throwIfNotString");G.throwIfNotString=q0;function $0(e,t){if(Tp(e,t),!(0,je.isNumber)(e))throw new Ni(t,"number")}s($0,"throwIfNotNumber");G.throwIfNotNumber=$0;var xi=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=xi;var Mn=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}'.`)}};G.OptionTypeError=Mn;function j0(e,t,r,n){if((0,je.isUndefined)(n))throw new xi(e,t,r)}s(j0,"throwIfOptionUndefined");G.throwIfOptionUndefined=j0;function Fa(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new xi(e,t,r)}s(Fa,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Fa;function V0(e,t,r,n){if(Fa(e,t,r,n),!(0,je.isString)(n))throw new Mn(e,t,r,"string")}s(V0,"throwIfOptionNotString");G.throwIfOptionNotString=V0;function G0(e,t,r,n){if(Fa(e,t,r,n),!(0,je.isNumber)(n))throw new Mn(e,t,r,"number")}s(G0,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=G0;function B0(e,t,r,n){if(Fa(e,t,r,n),!(0,je.isObject)(n))throw new Mn(e,t,r,"object")}s(B0,"throwIfOptionNotObject");G.throwIfOptionNotObject=B0;function K0(e,t){if((0,je.isUndefined)(e))throw new et(t)}s(K0,"throwIfStateUndefined");G.throwIfStateUndefined=K0;function qa(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(qa,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=qa;function J0(e,t){if(qa(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(J0,"throwIfStateNotString");G.throwIfStateNotString=J0;function z0(e,t){if(qa(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(z0,"throwIfStateNotNumber");G.throwIfStateNotNumber=z0;function W0(e,t){if(qa(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(W0,"throwIfStateNotObject");G.throwIfStateNotObject=W0});var Ab=g(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.InMemoryRedisClient=Hn.StandardRedisClient=void 0;var Sp=L(),$a=Pb(),Ip=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,$a.throwIfNotString)(t,"redisClientUrl"),(0,$a.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,$a.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 Sp.SystemError("Redis client failed with 401: Unauthorized"):new Sp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Hn.StandardRedisClient=Ip;var Pp=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,$a.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 Sp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Hn.InMemoryRedisClient=Pp});var Cb=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.RateLimitInboundPolicy=void 0;var Q0=Sr(),Y0=$t(),Z0=oo(),Vt=L(),X0=se(),Rb=Le(),Ci=Y(),Ob=Ab(),Nb=Dt(),ja=(0,Q0.debug)("zuplo:policies:RateLimitInboundPolicy"),eO="strict",tO=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"),rO=s(async e=>({key:`ip-${tO(e)}`}),"getIP"),nO=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),iO=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Va;function oO(e,t){let r;if(Va)return Va;if(Ci.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Ob.InMemoryRedisClient,Va=r,r;let{authApiJWT:n,redisURL:i}=Ci.Environment.instance;if(!(0,Nb.isString)(i))throw new Vt.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,Nb.isString)(n))throw new Vt.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Ob.StandardRedisClient.initialize(i,n,Ci.Environment.instance.deploymentName??"unknown",Ci.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Vt.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Va=r,r}s(oO,"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 sO(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Vt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Vt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Vt.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 Vt.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 Vt.RuntimeError(u)}return c},"outerFunction")}s(sO,"wrapUserFunction");var aO="Retry-After",cO=s(async(e,t,r,n)=>{let i=Date.now(),o=Rb.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new Vt.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[aO]=l.toString()),X0.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:sO(r,n),user:nO,ip:rO,all:iO}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",v=oO(n,o),S=`bucket/${Ci.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??eO)==="async"){let C=await(0,Y0.getPolicyCacheName)(n,r),re=new Z0.ZoneCache(C,{logger:Rb.SystemLogMap.getLogger(t)}),ne=xb(S,h,v,o,t.requestId),me=await re.get(S);if(me!==void 0&&me<=Date.now()){ja(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(y,Be)}return t.addEventListener("responseSending",Be=>{try{let E=Be,H=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>m){let ou=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,ou,Ce.ttlSeconds).catch(fh=>{throw o.error(fh),fh}),ja(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(y,Ce.ttlSeconds)}return H})()}catch(E){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let j=await xb(S,h,v,o,t.requestId);return j.count>m?(ja(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(y,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;ja(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Ga.RateLimitInboundPolicy=cO});var kb=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.ReadmeMetricsInboundPolicy=void 0;var uO=ve(),Ap=Y(),Lb=ii(),Rp;function Db(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(Db,"headersToNameValuePairs");function lO(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(lO,"queryToNameValueParis");function dO(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(dO,"parseIntOrUndefined");var Ub={};async function pO(e,t,r,n){let i=new Date,o=Date.now();return Rp||(Rp={name:"zuplo",version:Ap.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Ap.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,Lb.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,Lb.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Ap.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Rp,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:Db(e.headers),queryString:lO(e.query)},response:{status:a.status,statusText:a.statusText,headers:Db(a.headers),content:{size:dO(e.headers.get("content-length"))}}}]}}},d=Ub[r.apiKey];if(!d){let p=r.apiKey;d=new uO.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",y=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),Ub[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(pO,"ReadmeMetricsInboundPolicy");Ba.ReadmeMetricsInboundPolicy=pO});var Mb=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.RemoveHeadersInboundPolicy=void 0;var hO=L(),fO=He(),mO=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new hO.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 fO.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");Ka.RemoveHeadersInboundPolicy=mO});var Hb=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.RemoveHeadersOutboundPolicy=void 0;var yO=L(),gO=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new yO.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");Ja.RemoveHeadersOutboundPolicy=gO});var Fb=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.RemoveQueryParamsInboundPolicy=void 0;var bO=L(),_O=He(),EO=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new bO.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 _O.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");za.RemoveQueryParamsInboundPolicy=EO});var qb=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.ReplaceStringOutboundPolicy=void 0;var wO=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");Wa.ReplaceStringOutboundPolicy=wO});var jb=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.RequestSizeLimitInboundPolicy=void 0;var $b=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),vO=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?$b():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?$b():e},"RequestSizeLimitInboundPolicy");Qa.RequestSizeLimitInboundPolicy=vO});var Ya=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function TO(e,t,r){return`_${Mr(e+"_"+t+"_"+r)}`}s(TO,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=TO;function SO(e,t,r,n){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(SO,"getIdForParameterSchema");tt.getIdForParameterSchema=SO;function IO(e,t,r){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Mr(r.toLowerCase())}`}s(IO,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=IO;function PO(e,t){return`_${Mr(e)}__${Mr(t)}`}s(PO,"getIdForRefSchema");tt.getIdForRefSchema=PO;function Mr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}s(Mr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Mr});var Li=g(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.getErrorsFromValidator=De.shouldReject=De.shouldLog=De.logErrors=De.validateParameters=De.getParametersForOperation=void 0;var AO=mn(),RO=Ya(),OO=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=OO;var NO=s((e,t,r,n,i)=>{let o=[],a=!0,c=[];return e.forEach(u=>{if(u.required&&!t[u.name])a=!1,o.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,RO.getIdForParameterSchema)(r,n,i,u.name),d=AO.Gateway.instance.schemaValidator[l],p=d(t[u.name]),m=(0,De.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),o.push(`Invalid value for ${i} parameter: '${u.name}' ${m.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:o}},"validateParameters");De.validateParameters=NO;var xO=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");De.logErrors=xO;var CO=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");De.shouldLog=CO;var LO=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");De.shouldReject=LO;var DO=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=DO});var Vb=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.handleBodyValidation=void 0;var UO=mn(),Za=se(),kO=Ya(),Je=Li();async function MO(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let y=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,v=Za.HttpProblems.badRequest(t,e,{detail:`${y}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",y,[n],h),(0,Je.shouldReject)(r.validateBody))return v}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,y=Za.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,kO.getIdForRequestBodySchema)(e.route.path,t.method,i),c=UO.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")}`,y=Za.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),m=Za.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return m}s(MO,"handleBodyValidation");Xa.handleBodyValidation=MO});var Gb=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.handleHeadersValidation=void 0;var HO=se(),Di=Li();function FO(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Di.getParametersForOperation)(e),o=(0,Di.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=HO.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,Di.shouldLog)(r.validateHeaders)&&(0,Di.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,Di.shouldReject)(r.validateHeaders))return c}}s(FO,"handleHeadersValidation");ec.handleHeadersValidation=FO});var Bb=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.handlePathParameterValidation=void 0;var qO=se(),Ui=Li();function $O(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Ui.getParametersForOperation)(e),i=(0,Ui.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=qO.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Ui.shouldLog)(r.validatePathParameters)&&(0,Ui.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Ui.shouldReject)(r.validatePathParameters))return a}}s($O,"handlePathParameterValidation");tc.handlePathParameterValidation=$O});var Kb=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.handleQueryParameterValidation=void 0;var jO=se(),ki=Li();function VO(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,ki.getParametersForOperation)(e),i=(0,ki.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=jO.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,ki.shouldLog)(r.validateQueryParameters)&&(0,ki.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,ki.shouldReject)(r.validateQueryParameters))return a}}s(VO,"handleQueryParameterValidation");rc.handleQueryParameterValidation=VO});var Jb=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy=void 0;var GO=Vb(),BO=Gb(),KO=Bb(),JO=Kb(),zO=s(async(e,t,r)=>{let n=(0,JO.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,KO.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,BO.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,GO.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Hr.RequestValidationInboundPolicy=zO;Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy});var zb=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.RequireOriginInboundPolicy=void 0;var WO=L(),QO=se(),YO=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new WO.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 QO.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");nc.RequireOriginInboundPolicy=YO});var Wb=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.SetBodyInboundPolicy=void 0;var ZO=He(),XO=s(async(e,t,r)=>new ZO.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");ic.SetBodyInboundPolicy=XO});var Yb=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.SetHeadersInboundPolicy=void 0;var Qb=L(),eN=He(),tN=s(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new Qb.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 Qb.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 eN.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");oc.SetHeadersInboundPolicy=tN});var Xb=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.SetHeadersOutboundPolicy=void 0;var Zb=L(),rN=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new Zb.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 Zb.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");sc.SetHeadersOutboundPolicy=rN});var t_=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.SetQueryParamsInboundPolicy=void 0;var e_=L(),nN=He(),iN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new e_.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 e_.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 nN.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");ac.SetQueryParamsInboundPolicy=iN});var r_=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.SetStatusOutboundPolicy=void 0;var oN=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");cc.SetStatusOutboundPolicy=oN});var n_=g(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.SleepInboundPolicy=void 0;var sN=L(),aN=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),cN=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new sN.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await aN(r.sleepInMs),e},"SleepInboundPolicy");uc.SleepInboundPolicy=cN});var o_=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.SupabaseJwtInboundPolicy=void 0;var i_=L(),uN=se(),lN=He(),dN=qt(),pN=jt(),hN=s(async(e,t,r,n)=>{(0,dN.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,pN.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof lN.ZuploRequest))throw new i_.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 i_.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?uN.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");lc.SupabaseJwtInboundPolicy=hN});var a_=g(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var fN=$t(),mN=Jt(),s_=L(),yN=Le(),gN=Is(),bN=qt(),_N=s(async(e,t,r,n)=>{(0,bN.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,fN.getPolicyCacheName)(n,r),o=new mN.MemoryZoneReadThroughCache(i,{logger:yN.SystemLogMap.getLogger(t)}),a=await o.get(n);if(!a){let c=await EN(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");dc.UpstreamAzureAdServiceAuthInboundPolicy=_N;async function EN(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,gN.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 s_.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 s_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(EN,"getAccessToken")});var u_=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var wN=$t(),vN=Jt(),TN=L(),SN=Le(),Op=pn(),IN=qt(),c_="https://accounts.google.com/o/oauth2/token",Np,PN=s(async(e,t,r,n)=>{(0,IN.optionValidator)(r,n).required("serviceAccountJson","string"),Np||(Np=await Op.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,wN.getPolicyCacheName)(n,r),a=new vN.MemoryZoneReadThroughCache(o,{logger:SN.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,Op.getTokenFromGcpServiceAccount)({serviceAccount:Np,audience:c_,payload:i}),l=await(0,Op.exchangeGgpJwtForIdToken)(c_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new TN.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");pc.UpstreamFirebaseAdminAuthInboundPolicy=PN});var l_=g(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var AN=$t(),RN=Jt(),Fn=L(),ON=Le(),NN=dp(),xp=pn(),xN=ii(),CN=qt(),LN="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",DN=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Cp,UN=s(async(e,t,r,n)=>{if((0,CN.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Fn.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(DN.indexOf(p)!==-1)throw new Fn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Cp||(Cp=await xp.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new Fn.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 Fn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,xN.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new Fn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,AN.getPolicyCacheName)(n,r),c=new RN.MemoryZoneReadThroughCache(a,{logger:ON.SystemLogMap.getLogger(t)}),u={uid:o,claims:i},l=await(0,NN.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,xp.getTokenFromGcpServiceAccount)({serviceAccount:Cp,audience:LN,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,xp.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Fn.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");hc.UpstreamFirebaseUserAuthInboundPolicy=UN});var p_=g(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.UpstreamGcpJwtInboundPolicy=void 0;var d_=pn(),kN=qt(),Lp,MN=s(async(e,t,r,n)=>{(0,kN.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Lp||(Lp=await d_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,d_.getTokenFromGcpServiceAccount)({serviceAccount:Lp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");fc.UpstreamGcpJwtInboundPolicy=MN});var f_=g(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.UpstreamGcpServiceAuthInboundPolicy=void 0;var HN=$t(),FN=pu(),qN=Jt(),$N=L(),Dp=pn(),jN=qt(),h_="https://www.googleapis.com/oauth2/v4/token",Up,VN=s(async(e,t,r,n)=>{(0,jN.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Up||(Up=await Dp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,HN.getPolicyCacheName)(n,r),o;r.useMemoryCacheOnly?o=new FN.MemoryCache(i):o=new qN.MemoryZoneReadThroughCache(i,t);let a=await o.get(n);if(!a){let c=await(0,Dp.getTokenFromGcpServiceAccount)({serviceAccount:Up,audience:h_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,Dp.exchangeGgpJwtForIdToken)(h_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new $N.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");mc.UpstreamGcpServiceAuthInboundPolicy=VN});var y_=g(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.ValidateJsonSchemaInbound=void 0;var GN=L(),m_=se(),BN=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return m_.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 GN.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 m_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");yc.ValidateJsonSchemaInbound=BN});var __=g(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.MeteringInboundPolicy=void 0;var g_=Vs(),b_=yn(),gc=L(),KN=se(),JN=Le(),zN=Y(),WN=s(async(e,t,r,n)=>{let i=JN.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,m)=>{let h=g_.ContextData.get(m,"subscription");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;if(!r.bucketId)if(b_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=b_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new gc.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:v,meteringServiceUrl:T}=zN.Environment.instance;d.ok&&h&&r.meters&&fetch(`${T}/internal/v1/metering/${r.bucketId}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${v}`,"zp-rid":m.requestId},method:"POST",body:JSON.stringify({meters:r.meters})}).catch(S=>{m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,S)})});let o=g_.ContextData.get(t,"subscription"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!o){if(a)return e;throw new gc.ConfigurationError("Subscription is not available for user")}if(o&&Object.keys(o.quotas).length===0)throw new gc.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 gc.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 KN.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");bc.MeteringInboundPolicy=WN});var w_=g(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.LoadSubscriptionInboundPolicy=void 0;var QN=Vs(),E_=yn(),YN=L(),kp=se(),ZN=Le(),XN=Y(),ex=s(async(e,t,r,n)=>{let i=ZN.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=e.user;if(!a)return o?e:kp.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(E_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=E_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new YN.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:c,meteringServiceUrl:u}=XN.Environment.instance,{sub:l}=a,d,p;try{if(d=await fetch(`${u}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${l}&status=active`,{headers:{Authorization:`Bearer ${c}`,"zp-rid":t.requestId},method:"GET"}),!d.ok)return t.log.error(await d.text()),kp.HttpProblems.forbidden(e,t);p=await d.json()}catch(h){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,h)}if((!p||!p.data||p.data.length===0)&&!o)return kp.HttpProblems.unauthorized(e,t,{detail:"No valid, active subscription found"});if((!p||!p.data||p.data.length===0)&&o)return e;let m=p&&p.data?p.data[0]:void 0;return QN.ContextData.set(t,"subscription",m),e},"LoadSubscriptionInboundPolicy");_c.LoadSubscriptionInboundPolicy=ex});var v_=g(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.ServiceProviderImpl=void 0;var tx=L(),Mp=class e{static{s(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return e.#e||(e.#e=new e),e.#e}setInstance(t){e.#e=t}addService(t,r){if(this.services.get(t))throw new tx.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)}};Ec.ServiceProviderImpl=Mp});var L_=g(f=>{"use strict";var rx=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Hp=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&rx(t,e,r)},nx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CreditsMeteringInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.LoadSubscriptionInboundPolicy=f.MeteringInboundPolicy=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=void 0;Eh();var ix=Jt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return ix.MemoryZoneReadThroughCache}});var ox=oo();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return ox.ZoneCache}});var T_=Ir();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return T_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return T_.ResponseSentEvent}});var sx=Vs();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return sx.ContextData}});var Fp=yn();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return Fp.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Fp.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Fp.isZuploReadableEnvVariableName}});var ax=L();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return ax.ConfigurationError}});var cx=Sd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return cx.originalFetch}});var S_=zy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return S_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return S_.purgeGatewayCache}});var I_=dg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return I_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return I_.awsLambdaHandler}});var ux=hg();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return ux.openApiSpecHandler}});var lx=fg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return lx.redirectHandler}});var dx=yg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return dx.urlForwardHandler}});var px=bg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return px.urlRewriteHandler}});var hx=Eg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return hx.webSocketHandler}});var fx=Tg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return fx.webSocketPipelineHandler}});var mx=ku();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return mx.HttpStatusCode}});Hp(xg(),f);Hp(Dg(),f);var yx=Ug();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return yx.AuditLogDataStaxProvider}});var gx=Mg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return gx.AuditLogPlugin}});Hp(Vg(),f);var P_=zg();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return P_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return P_.AmberfloMeteringPolicy}});var bx=Zg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return bx.ApiAuthKeyInboundPolicy}});var _x=mp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return _x.ApiKeyInboundPolicy}});var Ex=Xg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return Ex.Auth0JwtInboundPolicy}});var wx=eb();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return wx.BasicAuthInboundPolicy}});var vx=tb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return vx.CachingInboundPolicy}});var Tx=rb();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return Tx.ChangeMethodInboundPolicy}});var Sx=nb();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return Sx.ClearHeadersInboundPolicy}});var Ix=ib();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Ix.ClearHeadersOutboundPolicy}});var Px=ob();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return Px.ClerkJwtInboundPolicy}});var Ax=ab();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Ax.CognitoJwtInboundPolicy}});var Rx=ub();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return Rx.CompositeInboundPolicy}});var Ox=db();Object.defineProperty(f,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return Ox.CreditsMeteringInboundPolicy}});var Nx=pb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return Nx.CurityPhantomTokenInboundPolicy}});var xx=hb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return xx.FirebaseJwtInboundPolicy}});var Cx=fb();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return Cx.FormDataToJsonInboundPolicy}});var Lx=mb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Lx.GeoFilterInboundPolicy}});var Dx=yb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return Dx.JWTScopeValidationInboundPolicy}});var Ux=bb();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Ux.MockApiInboundPolicy}});var A_=Tb();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return A_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return A_.setMoesifContext}});var kx=Sb();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return kx.OktaJwtInboundPolicy}});var Mx=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return Mx.OpenIdJwtInboundPolicy}});var Hx=Ib();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return Hx.PropelAuthJwtInboundPolicy}});var R_=Cb();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return R_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return R_.RateLimitInboundPolicy}});var Fx=kb();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return Fx.ReadmeMetricsInboundPolicy}});var qx=Mb();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return qx.RemoveHeadersInboundPolicy}});var $x=Hb();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return $x.RemoveHeadersOutboundPolicy}});var jx=Fb();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return jx.RemoveQueryParamsInboundPolicy}});var Vx=qb();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return Vx.ReplaceStringOutboundPolicy}});var Gx=jb();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return Gx.RequestSizeLimitInboundPolicy}});var O_=Jb();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return O_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return O_.SchemaBasedRequestValidation}});var Bx=zb();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return Bx.RequireOriginInboundPolicy}});var Kx=Wb();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return Kx.SetBodyInboundPolicy}});var Jx=Yb();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return Jx.SetHeadersInboundPolicy}});var zx=Xb();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return zx.SetHeadersOutboundPolicy}});var Wx=t_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Wx.SetQueryParamsInboundPolicy}});var Qx=r_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return Qx.SetStatusOutboundPolicy}});var Yx=n_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return Yx.SleepInboundPolicy}});var Zx=op();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return Zx.StripeWebhookVerificationInboundPolicy}});var Xx=o_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return Xx.SupabaseJwtInboundPolicy}});var eC=a_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return eC.UpstreamAzureAdServiceAuthInboundPolicy}});var tC=u_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return tC.UpstreamFirebaseAdminAuthInboundPolicy}});var rC=l_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return rC.UpstreamFirebaseUserAuthInboundPolicy}});var nC=p_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return nC.UpstreamGcpJwtInboundPolicy}});var iC=f_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return iC.UpstreamGcpServiceAuthInboundPolicy}});var oC=y_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return oC.ValidateJsonSchemaInbound}});var sC=__();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return sC.MeteringInboundPolicy}});var aC=w_();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return aC.LoadSubscriptionInboundPolicy}});var cC=se();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return cC.HttpProblems}});var uC=mo();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return uC.ProblemResponseFormatter}});var lC=He();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return lC.ZuploRequest}});var dC=Ar();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return dC.SystemRouteName}});var N_=md();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return N_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return N_.Router}});var x_=Au();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return x_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return x_.serialize}});var pC=v_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return pC.ServiceProviderImpl}});var C_=Wu();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return C_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return C_.SYSTEM_LOGGER}});var hC=Hu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return nx(hC).default}});var fC=Le();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return fC.SystemLogMap}});var Mi=Ya();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Mi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Mi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Mi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Mi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Mi.sanitizedIdentifierName}})});var D_=g(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.BaseCryptoBeta=qn.supportedDigests=void 0;qn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var qp=class{static{s(this,"BaseCryptoBeta")}};qn.BaseCryptoBeta=qp});var U_=g(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.WorkerCryptoBeta=void 0;var $p=D_(),mC=L(),jp=class extends $p.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!$p.supportedDigests.includes(t.toLowerCase()))throw new mC.RuntimeError(`Algorithm ${t} is not supported. Try using ${$p.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("")}};wc.WorkerCryptoBeta=jp});var k_=g(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.BaseKeyValueStore=void 0;var Vp=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};vc.BaseKeyValueStore=Vp});var H_=g(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.WorkerKeyValueStore=void 0;var M_=L(),yC=k_(),Gp=class extends yC.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new M_.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 M_.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)}};Tc.WorkerKeyValueStore=Gp});var Lt=g(dt=>{"use strict";var gC=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]}),bC=dt&&dt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&gC(t,e,r)};Object.defineProperty(dt,"__esModule",{value:!0});dt.KeyValueStore=dt.CryptoBeta=void 0;bC(L_(),dt);var _C=U_();Object.defineProperty(dt,"CryptoBeta",{enumerable:!0,get:function(){return _C.WorkerCryptoBeta}});var EC=H_();Object.defineProperty(dt,"KeyValueStore",{enumerable:!0,get:function(){return EC.WorkerKeyValueStore}})});var AL={};Xi(AL,{GraphQLComplexityLimitInboundPolicy:()=>yE,GraphQLDisableIntrospectionInboundPolicy:()=>bE});module.exports=eo(AL);var Zn=yh(Lt());function B(e,t){if(!!!e)throw new Error(t)}s(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}s(Ee,"isObjectLike");function At(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(At,"invariant");var wC=/\r\n|[\n\r]/g;function $n(e,t){let r=0,n=1;for(let i of e.body.matchAll(wC)){if(typeof i.index=="number"||At(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s($n,"getLocation");function Bp(e){return Sc(e.source,$n(e.source,e.start))}s(Bp,"printLocation");function Sc(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 m=Math.floor(u/80),h=u%80,y=[];for(let
|
|
76
|
-
`)}s(
|
|
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(aR,"validateComputedSignature");function cR(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(cR,"parseHeader");function uR(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(uR,"secureCompare");async function $g(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]=sp[o[c]];return a.join("")}s($g,"computeHMACSignatureAsync");Nn.computeHMACSignatureAsync=$g;var sp=new Array(256);for(let e=0;e<sp.length;e++)sp[e]=e.toString(16).padStart(2,"0")});var qt=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.optionValidator=void 0;var Ri=L();function lR(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new Ri.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 Ri.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ri.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 Ri.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 Ri.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(lR,"optionValidator");pa.optionValidator=lR});var ap=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.StripeWebhookVerificationInboundPolicy=void 0;var dR=ae(),pR=jg(),hR=qt(),fR=s(async(e,t,r,n)=>{(0,hR.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,pR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),dR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");ha.StripeWebhookVerificationInboundPolicy=fR});var Gg=g(cp=>{"use strict";Object.defineProperty(cp,"__esModule",{value:!0});var Vg=L(),mR={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 Vg.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 Vg.RuntimeError(o)}}};cp.default=mR});var Kg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.isStripeWebhookEvent=void 0;var Bg=bt();function yR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,Bg.isString)(e.id)&&"type"in e&&(0,Bg.isString)(e.type)}s(yR,"isStripeWebhookEvent");fa.isStripeWebhookEvent=yR});var Jg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.MeteringPlugin=void 0;var gR=gt(),up=class extends gR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};ma.MeteringPlugin=up});var Qg=g(xn=>{"use strict";var bR=xn&&xn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xn,"__esModule",{value:!0});xn.StripeMeteringPlugin=void 0;var ya=yn(),Ve=L(),_R=Lt(),ER=ap(),Oi=ae(),wR=Yt(),vR=zr(),TR=ku(),SR=st(),zg=Oe(),lp=Y(),Wg=wi(),IR=bR(Gg()),PR=Kg(),AR=bt(),RR=Jg(),OR="checkout.session.completed",dp=class extends RR.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(ya.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=ya.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ve.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(ya.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=ya.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Ve.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!this.options.zuploAccountApiKey)throw new Ve.ConfigurationError("StripeMeteringPlugin - No 'zuploAccountApiKey' property provided");if(!lp.Environment.instance.build.ACCOUNT_NAME)throw new Ve.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!CR(p))throw new Ve.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,PR.isStripeWebhookEvent)(m))return Oi.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});u.log.info(`Received Stripe webhook event of type '${m.type}' with ID '${m.id}'.`);let h,y,w;if(m.type===OR){let ne=m,ve=ne.data?.object?.subscription;if(!ve)throw new Ve.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");if(y=ne.data?.object?.client_reference_id,w=ne.data?.object?.customer_email,!y)throw new Ve.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.client_reference_id' to be the customer sub.");if(!w)throw new Ve.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer_email' to be the customer email.");if(!ve)throw new Ve.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");h=await IR.default.getSubscription({logger:u.log,stripeSecretKey:this.options.stripeSecretKey,subscriptionId:ve})}else return Oi.HttpProblems.ok(c,u,{detail:"Event was ignored by Stripe metering plugin webhook."});let T=h.id,S=h.customer,U=h.items?.data.find(ne=>ne.object==="subscription_item");if(!U||!U.id)throw new Ve.RuntimeError("Invalid Stripe API result. Expected subscription to contain at least one subscription_item.");let $=U.plan;if(!$||!$.product)throw new Ve.RuntimeError("Invalid Stripe API result. Expected subscription_item to have a plan.");let O=$.product,te=await NR({apiKeyBucketName:d,accountName:lp.Environment.instance.build.ACCOUNT_NAME,stripeProductId:O,stripeSubscriptionId:T,stripeCustomerId:S,managerEmail:w,managerSub:y,zuploAccountApiKey:this.options.zuploAccountApiKey,context:u});if(!te)return Oi.HttpProblems.internalServerError(c,u,{detail:"No consumer was created, skipping creation of subscription"});let re="routes.oas.json";try{await xR({context:u,stripeProductId:O,stripeSubscriptionId:T,customerKey:te,productKey:re,meteringBucketId:l,meteringBucketRegion:p})}catch(ne){return Oi.HttpProblems.internalServerError(c,u,{detail:ne.message})}return Oi.HttpProblems.ok(c,u)},"stripeWebhookHandler"),i=(0,vR.createInternalPolicyProcessor)({inboundPolicies:[{handler:ER.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new _R.Pipeline({processors:[wR.metricsProcessor,i],handler:n,gateway:r}),a=new SR.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:TR.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};xn.StripeMeteringPlugin=dp;async function NR({accountName:e,apiKeyBucketName:t,zuploAccountApiKey:r,stripeSubscriptionId:n,stripeProductId:i,stripeCustomerId:o,managerEmail:a,managerSub:c,context:u}){let l=new URL(`/v1/accounts/${e}/key-buckets/${t}/consumers`,"https://dev.zuplo.com");l.searchParams.set("with-api-key","true");let d=crypto.randomUUID(),p={name:d,description:`Consumer for Stripe subscription ${n}`,tags:{providerSubscriptionKey:n,planProviderKey:i},metadata:{stripeSubscriptionId:n,stripeProductId:i,stripeCustomerId:o},managers:[{sub:c,email:a}]},m=await(0,Wg.fetchRetry)({retryDelayMs:5,retries:2,logger:zg.SystemLogMap.getLogger(u)},l.toString(),{method:"POST",headers:{Authorization:`Bearer ${r}`,"content-type":"application/json"},body:JSON.stringify(p)}),h=await m.json();if(m.status!==200){let y="Error creating API Key Consumer";throw u.log.error(y,h),new Ve.RuntimeError(y)}return u.log.info("Successfully created API Key Consumer",{consumerId:d,stripeSubscriptionId:n,stripeProductId:i}),d}s(NR,"createConsumer");async function xR({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,productKey:i,meteringBucketId:o,meteringBucketRegion:a}){let c={status:"active",type:"periodic",renewalStrategy:"monthly",region:a,providerKey:t,planProviderKey:r,customerKey:n,productKey:i},{authApiJWT:u,meteringServiceUrl:l}=lp.Environment.instance;if(!(0,AR.isNonEmptyString)(u))throw new Ve.SystemError("No Zuplo JWT token set.");let d=await(0,Wg.fetchRetry)({retryDelayMs:5,retries:2,logger:zg.SystemLogMap.getLogger(e)},`${l}/internal/v1/metering/${o}/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.",m;try{m=await d.json()}catch{m={status:d.status,statusText:d.statusText}}throw e.log.error(p,m),new Ve.RuntimeError(p)}e.log.info("Successfully created/updated metering subscription.",c)}s(xR,"saveSubscription");function CR(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(CR,"isMetricsRegion")});var tb=g(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.AmberfloMeteringInboundPolicy=Cn.AmberfloMeteringPolicy=void 0;var Yg=L(),LR=Te(),Zg=ii(),eb=new WeakMap,Xg={},pp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){eb.set(t,r)}};Cn.AmberfloMeteringPolicy=pp;async function DR(e,t,r,n){if(!r.statusCodes)throw new Yg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Zg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async o=>{if(i.includes(o.status)){let a=eb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new Yg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Zg.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)},m=Xg[r.apiKey];if(!m){let h=r.apiKey,y=e.headers.get("zm-test-id")??"";m=new LR.BatchDispatch("amberflo-ingest-meter",10,async w=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(w),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":y}});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}}),Xg[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}s(DR,"AmberfloMeteringInboundPolicy");Cn.AmberfloMeteringInboundPolicy=DR});var hp=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.sha256=void 0;async function UR(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(UR,"sha256");ga.sha256=UR});var $t=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.getPolicyCacheName=void 0;var MR=hp(),rb=new Map;async function kR(e,t){let r,n=rb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,MR.sha256)(JSON.stringify({policyName:e,options:t}))}`,rb.set(e,r)),r}s(kR,"getPolicyCacheName");ba.getPolicyCacheName=kR});var gp=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.ApiKeyInboundPolicy=void 0;var HR=$t(),FR=Jt(),nb=yn(),fp=L(),qR=Dt(),mp=Oe(),yp=Y(),$R=wi(),ib="key-metadata-cache-type";function jR(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(jR,"getKeyValue");async function VR(e,t,r,n){if(!r.bucketName)if(nb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=nb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new fp.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 fp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(T=>i.allowUnauthenticatedRequests?e:qR.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=jR(a,i);if(!c||c==="")return o("No key present");let u=await GR(c),l=await(0,HR.getPolicyCacheName)(n,i),d=new FR.MemoryZoneReadThroughCache(l,{logger:mp.SystemLogMap.getLogger(t)}),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==ib&&mp.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let m={key:c},h=await(0,$R.fetchRetry)({retryDelayMs:5,retries:2,logger:mp.SystemLogMap.getLogger(t)},`${yp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":yp.Environment.instance.deploymentName??"unknown","User-Agent":yp.Environment.instance.systemUserAgent},body:JSON.stringify(m)});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 fp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let y=await h.json(),w={isValid:!0,typeId:ib,user:{sub:y.name,data:y.metadata}};return e.user=w.user,d.put(u,w,i.cacheTtlSeconds),e}s(VR,"ApiKeyInboundPolicy");_a.ApiKeyInboundPolicy=VR;async function GR(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(GR,"hashValue")});var ob=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.ApiAuthKeyInboundPolicy=void 0;var BR=gp();Ea.ApiAuthKeyInboundPolicy=BR.ApiKeyInboundPolicy});var jt=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.OpenIdJwtInboundPolicy=void 0;var _p=(Is(),ro(Ss)),Ep=L(),KR=ae(),bp={},JR=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Ep.ConfigurationError("Invalid State - jwkUrl not set");bp[t.jwkUrl]||(bp[t.jwkUrl]=(0,_p.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,_p.jwtVerify)(e,bp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),zR=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,_p.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),WR=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(m=>KR.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Ep.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Ep.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?JR:zR,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 m=i.substring(o.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let y=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${y.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${y.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");wa.OpenIdJwtInboundPolicy=WR});var sb=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.Auth0JwtInboundPolicy=void 0;var QR=jt(),YR=s(async(e,t,r,n)=>(0,QR.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");va.Auth0JwtInboundPolicy=YR});var ab=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.BasicAuthInboundPolicy=void 0;var ZR=ae(),XR=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>ZR.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 m=d.substring(0,p),h=d.substring(p+1),y=r.accounts.find(w=>w.username===m&&w.password===h);return y||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");Ta.BasicAuthInboundPolicy=XR});var cb=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.CachingInboundPolicy=void 0;var e0=$t(),t0=["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 n0=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 i0(e,t,r,n){let i=await(0,e0.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await n0(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 m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);t0.forEach(y=>h.headers.delete(y)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(o.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}s(i0,"CachingInboundPolicy");Sa.CachingInboundPolicy=i0});var ub=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.ChangeMethodInboundPolicy=void 0;var o0=L(),s0=Fe(),a0=s(async(e,t,r,n)=>{if(!r.method)throw new o0.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new s0.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Ia.ChangeMethodInboundPolicy=a0});var lb=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ClearHeadersInboundPolicy=void 0;var c0=Fe(),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 c0.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Pa.ClearHeadersInboundPolicy=u0});var db=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.ClearHeadersOutboundPolicy=void 0;var l0=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");Aa.ClearHeadersOutboundPolicy=l0});var pb=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.ClerkJwtInboundPolicy=void 0;var d0=jt(),p0=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,d0.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Ra.ClerkJwtInboundPolicy=p0});var fb=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.CognitoJwtInboundPolicy=void 0;var hb=L(),h0=jt(),f0=s(async(e,t,r,n)=>{if(!r.userPoolId)throw new hb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new hb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,h0.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");Oa.CognitoJwtInboundPolicy=f0});var yb=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.CompositeInboundPolicy=void 0;var m0=L(),y0=mn(),mb=zr(),g0=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new m0.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=y0.Gateway.instance,o=(0,mb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,mb.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");Na.CompositeInboundPolicy=g0});var bb=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.CreditsMeteringInboundPolicy=void 0;var Ni=ae(),gb=Y(),b0=s(async(e,t,r)=>{let n=e.user;if(!n)return Ni.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 Ni.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 _0(o,i,t);if(!a)return Ni.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return Ni.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return Ni.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 E0(o,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");xa.CreditsMeteringInboundPolicy=b0;async function _0(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=gb.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(_0,"getSubscription");async function E0(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:o}=gb.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(E0,"consumeSubscription")});var _b=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.CurityPhantomTokenInboundPolicy=void 0;var w0=$t(),v0=Jt(),Ca=ae(),T0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Ca.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=S0(i);if(!o)return Ca.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,w0.getPolicyCacheName)(n,r),c=new v0.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}'`),Ca.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Ca.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");La.CurityPhantomTokenInboundPolicy=T0;function S0(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(S0,"getToken")});var Eb=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.FirebaseJwtInboundPolicy=void 0;var I0=qt(),P0=jt(),A0=s(async(e,t,r,n)=>((0,I0.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,P0.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");Da.FirebaseJwtInboundPolicy=A0});var wb=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.FormDataToJsonInboundPolicy=void 0;var R0=Fe(),O0=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 R0.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Ua.FormDataToJsonInboundPolicy=O0});var vb=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.GeoFilterInboundPolicy=void 0;var N0=L(),x0=ae(),Ln="__unknown__",C0=s(async(e,t,r,n)=>{let i={allow:{countries:Un(r.allow?.countries,"allow.countries",n),regionCodes:Un(r.allow?.regionCodes,"allow.regionCode",n),asns:Un(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Un(r.block?.countries,"block.countries",n),regionCodes:Un(r.block?.regionCodes,"block.regionCode",n),asns:Un(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Ln,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Ln,c=t.incomingRequestProperties.asn?.toString()??Ln,u=i.ignoreUnknown&&o===Ln,l=i.ignoreUnknown&&a===Ln,d=i.ignoreUnknown&&c===Ln,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(o)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Dn(e,t,n,o,a,c);let y=i.block.countries,w=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(o)&&!u||w.length>0&&w.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Dn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");Ma.GeoFilterInboundPolicy=C0;function Dn(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),x0.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(Dn,"blockedResponse");function Un(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 N0.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s(Un,"toLowerStringArray")});var Tb=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.JWTScopeValidationInboundPolicy=void 0;var L0=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");ka.JWTScopeValidationInboundPolicy=L0});var Ib=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.MockApiInboundPolicy=void 0;var D0=ae(),U0=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return wp(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 wp(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(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),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 Sb(a[c])}else return a.length>0?Sb(a[0]):wp(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");Ha.MockApiInboundPolicy=U0;function Sb(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(Sb,"generateResponse");var wp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return D0.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var Nb=g(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.MoesifInboundPolicy=Mn.setMoesifContext=void 0;var M0=L(),k0=Te(),H0="Incoming",F0={logRequestBody:!0,logResponseBody:!0};function Pb(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(Pb,"headersToObject");function Ab(){return new Date().toISOString()}s(Ab,"timestamp");var vp=new WeakMap,q0={};function $0(e,t){let r=vp.get(e);r||(r=q0);let n=Object.assign({...r},t);vp.set(e,n)}s($0,"setMoesifContext");Mn.setMoesifContext=$0;async function Rb(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(Rb,"readBody");var j0={},Tp;function Ob(){if(!Tp)throw new M0.RuntimeError("Invalid State - no _lastLogger");return Tp}s(Ob,"getLastLogger");function V0(e){let t=j0[e];return t||(t=new k0.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Ob().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||Ob().error({status:i.status,body:await i.text()})})),t}s(V0,"getDispatcher");async function G0(e,t,r,n){Tp=t.log;let i=Ab(),o=Object.assign(F0,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await Rb(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=V0(o.applicationId),d=e.headers.get("true-client-ip"),p=vp.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Pb(e.headers)},h=o.logResponseBody?await Rb(c,t):void 0,y={time:Ab(),status:c.status,headers:Pb(c.headers),body:h},w={request:m,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:H0};l.enqueue(w),t.waitUntil(l.waitUntilFlushed())}),e}s(G0,"MoesifInboundPolicy");Mn.MoesifInboundPolicy=G0});var xb=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.OktaJwtInboundPolicy=void 0;var B0=jt(),K0=s(async(e,t,r,n)=>(0,B0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Fa.OktaJwtInboundPolicy=K0});var Cb=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.PropelAuthJwtInboundPolicy=void 0;var J0=(Is(),ro(Ss)),z0=jt(),Sp,W0=s(async(e,t,r,n)=>{if(!Sp)try{Sp=await(0,J0.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,z0.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Sp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");qa.PropelAuthJwtInboundPolicy=W0});var Lb=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var Ge=bt(),tt=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=tt;var xi=class extends tt{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=xi;var Ci=class extends tt{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ci;function Q0(e,t){if((0,Ge.isUndefined)(e))throw new xi(t)}s(Q0,"throwIfUndefined");G.throwIfUndefined=Q0;function Ip(e,t){if((0,Ge.isUndefinedOrNull)(e))throw new xi(t)}s(Ip,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Ip;function Y0(e,t){if(Ip(e,t),!(0,Ge.isString)(e))throw new Ci(t,"string")}s(Y0,"throwIfNotString");G.throwIfNotString=Y0;function Z0(e,t){if(Ip(e,t),!(0,Ge.isNumber)(e))throw new Ci(t,"number")}s(Z0,"throwIfNotNumber");G.throwIfNotNumber=Z0;var Li=class extends tt{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Li;var kn=class extends tt{static{s(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=kn;function X0(e,t,r,n){if((0,Ge.isUndefined)(n))throw new Li(e,t,r)}s(X0,"throwIfOptionUndefined");G.throwIfOptionUndefined=X0;function $a(e,t,r,n){if((0,Ge.isUndefinedOrNull)(n))throw new Li(e,t,r)}s($a,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=$a;function eO(e,t,r,n){if($a(e,t,r,n),!(0,Ge.isString)(n))throw new kn(e,t,r,"string")}s(eO,"throwIfOptionNotString");G.throwIfOptionNotString=eO;function tO(e,t,r,n){if($a(e,t,r,n),!(0,Ge.isNumber)(n))throw new kn(e,t,r,"number")}s(tO,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=tO;function rO(e,t,r,n){if($a(e,t,r,n),!(0,Ge.isObject)(n))throw new kn(e,t,r,"object")}s(rO,"throwIfOptionNotObject");G.throwIfOptionNotObject=rO;function nO(e,t){if((0,Ge.isUndefined)(e))throw new tt(t)}s(nO,"throwIfStateUndefined");G.throwIfStateUndefined=nO;function ja(e,t){if((0,Ge.isUndefinedOrNull)(e))throw new tt(t)}s(ja,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=ja;function iO(e,t){if(ja(e,t),!(0,Ge.isString)(e))throw new tt(t);return!0}s(iO,"throwIfStateNotString");G.throwIfStateNotString=iO;function oO(e,t){if(ja(e,t),!(0,Ge.isNumber)(e))throw new tt(t);return!0}s(oO,"throwIfStateNotNumber");G.throwIfStateNotNumber=oO;function sO(e,t){if(ja(e,t),!(0,Ge.isObject)(e))throw new tt(t);return!0}s(sO,"throwIfStateNotObject");G.throwIfStateNotObject=sO});var Db=g(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.InMemoryRedisClient=Hn.StandardRedisClient=void 0;var Pp=L(),Va=Lb(),Ap=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,Va.throwIfNotString)(t,"redisClientUrl"),(0,Va.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,Va.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 Pp.SystemError("Redis client failed with 401: Unauthorized"):new Pp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Hn.StandardRedisClient=Ap;var Rp=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Va.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 Pp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Hn.InMemoryRedisClient=Rp});var Fb=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.RateLimitInboundPolicy=void 0;var aO=Sr(),cO=$t(),uO=ao(),Vt=L(),lO=ae(),Ub=Oe(),Di=Y(),Mb=Db(),kb=bt(),Ga=(0,aO.debug)("zuplo:policies:RateLimitInboundPolicy"),dO="strict",pO=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"),hO=s(async e=>({key:`ip-${pO(e)}`}),"getIP"),fO=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),mO=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ba;function yO(e,t){let r;if(Ba)return Ba;if(Di.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Mb.InMemoryRedisClient,Ba=r,r;let{authApiJWT:n,redisURL:i}=Di.Environment.instance;if(!(0,kb.isString)(i))throw new Vt.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,kb.isString)(n))throw new Vt.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Mb.StandardRedisClient.initialize(i,n,Di.Environment.instance.deploymentName??"unknown",Di.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Vt.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ba=r,r}s(yO,"getRedisClient");async function Hb(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(Hb,"getCountAndUpdateExpiry");function gO(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Vt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Vt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Vt.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 Vt.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 Vt.RuntimeError(u)}return c},"outerFunction")}s(gO,"wrapUserFunction");var bO="Retry-After",_O=s(async(e,t,r,n)=>{let i=Date.now(),o=Ub.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new Vt.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[bO]=l.toString()),lO.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:gO(r,n),user:fO,ip:hO,all:mO}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",w=yO(n,o),S=`bucket/${Di.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??dO)==="async"){let O=await(0,cO.getPolicyCacheName)(n,r),te=new uO.ZoneCache(O,{logger:Ub.SystemLogMap.getLogger(t)}),re=Hb(S,h,w,o,t.requestId),ne=await te.get(S);if(ne!==void 0&&ne<=Date.now()){Ga(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let ve=Math.round((ne-Date.now())/1e3);return c(y,ve)}return t.addEventListener("responseSending",ve=>{try{let E=ve,H=E.mutableResponse;E.mutableResponse=(async()=>{let De=await re;if(De.count>m){let au=Date.now()+De.ttlSeconds*1e3;return te.put(S,au,De.ttlSeconds).catch(yh=>{throw o.error(yh),yh}),Ga(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(y,De.ttlSeconds)}return H})()}catch(E){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let $=await Hb(S,h,w,o,t.requestId);return $.count>m?(Ga(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(y,$.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Ga(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Ka.RateLimitInboundPolicy=_O});var Vb=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.ReadmeMetricsInboundPolicy=void 0;var EO=Te(),Op=Y(),qb=ii(),Np;function $b(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s($b,"headersToNameValuePairs");function wO(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(wO,"queryToNameValueParis");function vO(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(vO,"parseIntOrUndefined");var jb={};async function TO(e,t,r,n){let i=new Date,o=Date.now();return Np||(Np={name:"zuplo",version:Op.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Op.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,qb.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,qb.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Op.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Np,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:$b(e.headers),queryString:wO(e.query)},response:{status:a.status,statusText:a.statusText,headers:$b(a.headers),content:{size:vO(e.headers.get("content-length"))}}}]}}},d=jb[r.apiKey];if(!d){let p=r.apiKey;d=new EO.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",y=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),jb[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(TO,"ReadmeMetricsInboundPolicy");Ja.ReadmeMetricsInboundPolicy=TO});var Gb=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.RemoveHeadersInboundPolicy=void 0;var SO=L(),IO=Fe(),PO=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new SO.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 IO.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");za.RemoveHeadersInboundPolicy=PO});var Bb=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.RemoveHeadersOutboundPolicy=void 0;var AO=L(),RO=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new AO.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");Wa.RemoveHeadersOutboundPolicy=RO});var Kb=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.RemoveQueryParamsInboundPolicy=void 0;var OO=L(),NO=Fe(),xO=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new OO.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 NO.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");Qa.RemoveQueryParamsInboundPolicy=xO});var Jb=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.ReplaceStringOutboundPolicy=void 0;var CO=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");Ya.ReplaceStringOutboundPolicy=CO});var Wb=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.RequestSizeLimitInboundPolicy=void 0;var zb=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),LO=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?zb():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?zb():e},"RequestSizeLimitInboundPolicy");Za.RequestSizeLimitInboundPolicy=LO});var Xa=g(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.sanitizedIdentifierName=rt.getIdForRefSchema=rt.getIdForRequestBodySchema=rt.getIdForParameterSchema=rt.getRawOperationDataIdentifierName=void 0;function DO(e,t,r){return`_${kr(e+"_"+t+"_"+r)}`}s(DO,"getRawOperationDataIdentifierName");rt.getRawOperationDataIdentifierName=DO;function UO(e,t,r,n){return`_${kr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(UO,"getIdForParameterSchema");rt.getIdForParameterSchema=UO;function MO(e,t,r){return`_${kr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${kr(r.toLowerCase())}`}s(MO,"getIdForRequestBodySchema");rt.getIdForRequestBodySchema=MO;function kO(e,t){return`_${kr(e)}__${kr(t)}`}s(kO,"getIdForRefSchema");rt.getIdForRefSchema=kO;function kr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}s(kr,"sanitizedIdentifierName");rt.sanitizedIdentifierName=kr});var Ui=g(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.getErrorsFromValidator=Ue.shouldReject=Ue.shouldLog=Ue.logErrors=Ue.validateParameters=Ue.getParametersForOperation=void 0;var HO=mn(),FO=Xa(),qO=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");Ue.getParametersForOperation=qO;var $O=s((e,t,r,n,i)=>{let o=[],a=!0,c=[];return e.forEach(u=>{if(u.required&&!t[u.name])a=!1,o.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,FO.getIdForParameterSchema)(r,n,i,u.name),d=HO.Gateway.instance.schemaValidator[l],p=d(t[u.name]),m=(0,Ue.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),o.push(`Invalid value for ${i} parameter: '${u.name}' ${m.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:o}},"validateParameters");Ue.validateParameters=$O;var jO=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Ue.logErrors=jO;var VO=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");Ue.shouldLog=VO;var GO=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Ue.shouldReject=GO;var BO=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");Ue.getErrorsFromValidator=BO});var Qb=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.handleBodyValidation=void 0;var KO=mn(),ec=ae(),JO=Xa(),ze=Ui();async function zO(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let y=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,w=ec.HttpProblems.badRequest(t,e,{detail:`${y}, see errors property for more details`,errors:`${h}`});if((0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",y,[n],h),(0,ze.shouldReject)(r.validateBody))return w}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,y=ec.HttpProblems.badRequest(t,e,{detail:h});return(0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,ze.shouldReject)(r.validateBody)?y:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,JO.getIdForRequestBodySchema)(e.route.path,t.method,i),c=KO.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")}`,y=ec.HttpProblems.badRequest(t,e,{detail:h});return(0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,ze.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,ze.getErrorsFromValidator)(l),m=ec.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",d,[n],p),(0,ze.shouldReject)(r.validateBody))return m}s(zO,"handleBodyValidation");tc.handleBodyValidation=zO});var Yb=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.handleHeadersValidation=void 0;var WO=ae(),Mi=Ui();function QO(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Mi.getParametersForOperation)(e),o=(0,Mi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=WO.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,Mi.shouldLog)(r.validateHeaders)&&(0,Mi.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,Mi.shouldReject)(r.validateHeaders))return c}}s(QO,"handleHeadersValidation");rc.handleHeadersValidation=QO});var Zb=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.handlePathParameterValidation=void 0;var YO=ae(),ki=Ui();function ZO(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,ki.getParametersForOperation)(e),i=(0,ki.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=YO.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,ki.shouldLog)(r.validatePathParameters)&&(0,ki.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,ki.shouldReject)(r.validatePathParameters))return a}}s(ZO,"handlePathParameterValidation");nc.handlePathParameterValidation=ZO});var Xb=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.handleQueryParameterValidation=void 0;var XO=ae(),Hi=Ui();function eN(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Hi.getParametersForOperation)(e),i=(0,Hi.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=XO.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Hi.shouldLog)(r.validateQueryParameters)&&(0,Hi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Hi.shouldReject)(r.validateQueryParameters))return a}}s(eN,"handleQueryParameterValidation");ic.handleQueryParameterValidation=eN});var e_=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy=void 0;var tN=Qb(),rN=Yb(),nN=Zb(),iN=Xb(),oN=s(async(e,t,r)=>{let n=(0,iN.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,nN.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,rN.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,tN.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Hr.RequestValidationInboundPolicy=oN;Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy});var t_=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.RequireOriginInboundPolicy=void 0;var sN=L(),aN=ae(),cN=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new sN.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 aN.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");oc.RequireOriginInboundPolicy=cN});var r_=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.SetBodyInboundPolicy=void 0;var uN=Fe(),lN=s(async(e,t,r)=>new uN.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");sc.SetBodyInboundPolicy=lN});var i_=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.SetHeadersInboundPolicy=void 0;var n_=L(),dN=Fe(),pN=s(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new n_.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 n_.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 dN.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");ac.SetHeadersInboundPolicy=pN});var s_=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.SetHeadersOutboundPolicy=void 0;var o_=L(),hN=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new o_.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 o_.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");cc.SetHeadersOutboundPolicy=hN});var c_=g(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.SetQueryParamsInboundPolicy=void 0;var a_=L(),fN=Fe(),mN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new a_.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 a_.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 fN.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");uc.SetQueryParamsInboundPolicy=mN});var u_=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.SetStatusOutboundPolicy=void 0;var yN=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");lc.SetStatusOutboundPolicy=yN});var l_=g(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.SleepInboundPolicy=void 0;var gN=L(),bN=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),_N=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new gN.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await bN(r.sleepInMs),e},"SleepInboundPolicy");dc.SleepInboundPolicy=_N});var p_=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.SupabaseJwtInboundPolicy=void 0;var d_=L(),EN=ae(),wN=Fe(),vN=qt(),TN=jt(),SN=s(async(e,t,r,n)=>{(0,vN.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,TN.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof wN.ZuploRequest))throw new d_.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 d_.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?EN.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");pc.SupabaseJwtInboundPolicy=SN});var f_=g(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var IN=$t(),PN=Jt(),h_=L(),AN=Oe(),RN=wi(),ON=qt(),NN=s(async(e,t,r,n)=>{(0,ON.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,IN.getPolicyCacheName)(n,r),o=new PN.MemoryZoneReadThroughCache(i,{logger:AN.SystemLogMap.getLogger(t)}),a=await o.get(n);if(!a){let c=await xN(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");hc.UpstreamAzureAdServiceAuthInboundPolicy=NN;async function xN(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,RN.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 h_.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 h_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(xN,"getAccessToken")});var y_=g(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var CN=$t(),LN=Jt(),DN=L(),UN=Oe(),xp=pn(),MN=qt(),m_="https://accounts.google.com/o/oauth2/token",Cp,kN=s(async(e,t,r,n)=>{(0,MN.optionValidator)(r,n).required("serviceAccountJson","string"),Cp||(Cp=await xp.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,CN.getPolicyCacheName)(n,r),a=new LN.MemoryZoneReadThroughCache(o,{logger:UN.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,xp.getTokenFromGcpServiceAccount)({serviceAccount:Cp,audience:m_,payload:i}),l=await(0,xp.exchangeGgpJwtForIdToken)(m_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new DN.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");fc.UpstreamFirebaseAdminAuthInboundPolicy=kN});var g_=g(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var HN=$t(),FN=Jt(),Fn=L(),qN=Oe(),$N=hp(),Lp=pn(),jN=ii(),VN=qt(),GN="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",BN=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Dp,KN=s(async(e,t,r,n)=>{if((0,VN.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Fn.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(BN.indexOf(p)!==-1)throw new Fn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Dp||(Dp=await Lp.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new Fn.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 Fn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,jN.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new Fn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,HN.getPolicyCacheName)(n,r),c=new FN.MemoryZoneReadThroughCache(a,{logger:qN.SystemLogMap.getLogger(t)}),u={uid:o,claims:i},l=await(0,$N.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Lp.getTokenFromGcpServiceAccount)({serviceAccount:Dp,audience:GN,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Lp.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Fn.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");mc.UpstreamFirebaseUserAuthInboundPolicy=KN});var __=g(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.UpstreamGcpJwtInboundPolicy=void 0;var b_=pn(),JN=qt(),Up,zN=s(async(e,t,r,n)=>{(0,JN.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Up||(Up=await b_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,b_.getTokenFromGcpServiceAccount)({serviceAccount:Up,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");yc.UpstreamGcpJwtInboundPolicy=zN});var w_=g(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.UpstreamGcpServiceAuthInboundPolicy=void 0;var WN=$t(),QN=fu(),YN=Jt(),ZN=L(),Mp=pn(),XN=qt(),E_="https://www.googleapis.com/oauth2/v4/token",kp,ex=s(async(e,t,r,n)=>{(0,XN.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),kp||(kp=await Mp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,WN.getPolicyCacheName)(n,r),o;r.useMemoryCacheOnly?o=new QN.MemoryCache(i):o=new YN.MemoryZoneReadThroughCache(i,t);let a=await o.get(n);if(!a){let c=await(0,Mp.getTokenFromGcpServiceAccount)({serviceAccount:kp,audience:E_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,Mp.exchangeGgpJwtForIdToken)(E_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new ZN.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");gc.UpstreamGcpServiceAuthInboundPolicy=ex});var T_=g(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.ValidateJsonSchemaInbound=void 0;var tx=L(),v_=ae(),rx=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return v_.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 tx.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 v_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");bc.ValidateJsonSchemaInbound=rx});var P_=g(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.MeteringInboundPolicy=void 0;var S_=Gs(),I_=yn(),_c=L(),nx=ae(),ix=Oe(),ox=Y(),sx=s(async(e,t,r,n)=>{let i=ix.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,m)=>{let h=S_.ContextData.get(m,"subscription");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;if(!r.bucketId)if(I_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=I_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new _c.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:w,meteringServiceUrl:T}=ox.Environment.instance;d.ok&&h&&r.meters&&fetch(`${T}/internal/v1/metering/${r.bucketId}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${w}`,"zp-rid":m.requestId},method:"POST",body:JSON.stringify({meters:r.meters})}).catch(S=>{m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,S)})});let o=S_.ContextData.get(t,"subscription"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!o){if(a)return e;throw new _c.ConfigurationError("Subscription is not available for user")}if(o&&Object.keys(o.quotas).length===0)throw new _c.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 _c.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 nx.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");Ec.MeteringInboundPolicy=sx});var R_=g(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.LoadSubscriptionInboundPolicy=void 0;var ax=Gs(),A_=yn(),cx=L(),Hp=ae(),ux=Oe(),lx=Y(),dx=s(async(e,t,r,n)=>{let i=ux.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=e.user;if(!a)return o?e:Hp.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(A_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=A_.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,p;try{if(d=await fetch(`${u}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${l}&status=active`,{headers:{Authorization:`Bearer ${c}`,"zp-rid":t.requestId},method:"GET"}),!d.ok)return t.log.error(await d.text()),Hp.HttpProblems.forbidden(e,t);p=await d.json()}catch(h){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,h)}if((!p||!p.data||p.data.length===0)&&!o)return Hp.HttpProblems.unauthorized(e,t,{detail:"No valid, active subscription found"});if((!p||!p.data||p.data.length===0)&&o)return e;let m=p&&p.data?p.data[0]:void 0;return ax.ContextData.set(t,"subscription",m),e},"LoadSubscriptionInboundPolicy");wc.LoadSubscriptionInboundPolicy=dx});var O_=g(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.ServiceProviderImpl=void 0;var px=L(),Fp=class e{static{s(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return e.#e||(e.#e=new e),e.#e}setInstance(t){e.#e=t}addService(t,r){if(this.services.get(t))throw new px.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};vc.ServiceProviderImpl=Fp});var q_=g(f=>{"use strict";var hx=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),qp=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&hx(t,e,r)},fx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CreditsMeteringInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.LoadSubscriptionInboundPolicy=f.MeteringInboundPolicy=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=void 0;vh();var mx=Jt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return mx.MemoryZoneReadThroughCache}});var yx=ao();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return yx.ZoneCache}});var N_=Ir();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return N_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return N_.ResponseSentEvent}});var gx=Gs();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return gx.ContextData}});var $p=yn();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return $p.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return $p.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return $p.isZuploReadableEnvVariableName}});var bx=L();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return bx.ConfigurationError}});var _x=Pd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return _x.originalFetch}});var x_=Qy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return x_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return x_.purgeGatewayCache}});var C_=hg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return C_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return C_.awsLambdaHandler}});var Ex=mg();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return Ex.openApiSpecHandler}});var wx=yg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return wx.redirectHandler}});var vx=bg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return vx.urlForwardHandler}});var Tx=Eg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return Tx.urlRewriteHandler}});var Sx=vg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return Sx.webSocketHandler}});var Ix=Ig();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return Ix.webSocketPipelineHandler}});var Px=Hu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return Px.HttpStatusCode}});qp(Lg(),f);qp(Mg(),f);var Ax=kg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return Ax.AuditLogDataStaxProvider}});var Rx=Fg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return Rx.AuditLogPlugin}});qp(Qg(),f);var L_=tb();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return L_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return L_.AmberfloMeteringPolicy}});var Ox=ob();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Ox.ApiAuthKeyInboundPolicy}});var Nx=gp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return Nx.ApiKeyInboundPolicy}});var xx=sb();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return xx.Auth0JwtInboundPolicy}});var Cx=ab();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Cx.BasicAuthInboundPolicy}});var Lx=cb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return Lx.CachingInboundPolicy}});var Dx=ub();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return Dx.ChangeMethodInboundPolicy}});var Ux=lb();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return Ux.ClearHeadersInboundPolicy}});var Mx=db();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Mx.ClearHeadersOutboundPolicy}});var kx=pb();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return kx.ClerkJwtInboundPolicy}});var Hx=fb();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Hx.CognitoJwtInboundPolicy}});var Fx=yb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return Fx.CompositeInboundPolicy}});var qx=bb();Object.defineProperty(f,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return qx.CreditsMeteringInboundPolicy}});var $x=_b();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return $x.CurityPhantomTokenInboundPolicy}});var jx=Eb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return jx.FirebaseJwtInboundPolicy}});var Vx=wb();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return Vx.FormDataToJsonInboundPolicy}});var Gx=vb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Gx.GeoFilterInboundPolicy}});var Bx=Tb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return Bx.JWTScopeValidationInboundPolicy}});var Kx=Ib();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Kx.MockApiInboundPolicy}});var D_=Nb();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return D_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return D_.setMoesifContext}});var Jx=xb();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return Jx.OktaJwtInboundPolicy}});var zx=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return zx.OpenIdJwtInboundPolicy}});var Wx=Cb();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return Wx.PropelAuthJwtInboundPolicy}});var U_=Fb();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return U_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return U_.RateLimitInboundPolicy}});var Qx=Vb();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return Qx.ReadmeMetricsInboundPolicy}});var Yx=Gb();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return Yx.RemoveHeadersInboundPolicy}});var Zx=Bb();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return Zx.RemoveHeadersOutboundPolicy}});var Xx=Kb();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Xx.RemoveQueryParamsInboundPolicy}});var eC=Jb();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return eC.ReplaceStringOutboundPolicy}});var tC=Wb();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return tC.RequestSizeLimitInboundPolicy}});var M_=e_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return M_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return M_.SchemaBasedRequestValidation}});var rC=t_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return rC.RequireOriginInboundPolicy}});var nC=r_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return nC.SetBodyInboundPolicy}});var iC=i_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return iC.SetHeadersInboundPolicy}});var oC=s_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return oC.SetHeadersOutboundPolicy}});var sC=c_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return sC.SetQueryParamsInboundPolicy}});var aC=u_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return aC.SetStatusOutboundPolicy}});var cC=l_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return cC.SleepInboundPolicy}});var uC=ap();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return uC.StripeWebhookVerificationInboundPolicy}});var lC=p_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return lC.SupabaseJwtInboundPolicy}});var dC=f_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return dC.UpstreamAzureAdServiceAuthInboundPolicy}});var pC=y_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return pC.UpstreamFirebaseAdminAuthInboundPolicy}});var hC=g_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return hC.UpstreamFirebaseUserAuthInboundPolicy}});var fC=__();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return fC.UpstreamGcpJwtInboundPolicy}});var mC=w_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return mC.UpstreamGcpServiceAuthInboundPolicy}});var yC=T_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return yC.ValidateJsonSchemaInbound}});var gC=P_();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return gC.MeteringInboundPolicy}});var bC=R_();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return bC.LoadSubscriptionInboundPolicy}});var _C=ae();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return _C.HttpProblems}});var EC=go();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return EC.ProblemResponseFormatter}});var wC=Fe();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return wC.ZuploRequest}});var vC=Ar();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return vC.SystemRouteName}});var k_=gd();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return k_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return k_.Router}});var H_=Ou();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return H_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return H_.serialize}});var TC=O_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return TC.ServiceProviderImpl}});var F_=Yu();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return F_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return F_.SYSTEM_LOGGER}});var SC=qu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return fx(SC).default}});var IC=Oe();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return IC.SystemLogMap}});var Fi=Xa();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Fi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Fi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Fi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Fi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Fi.sanitizedIdentifierName}})});var $_=g(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.BaseCryptoBeta=qn.supportedDigests=void 0;qn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var jp=class{static{s(this,"BaseCryptoBeta")}};qn.BaseCryptoBeta=jp});var j_=g(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.WorkerCryptoBeta=void 0;var Vp=$_(),PC=L(),Gp=class extends Vp.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!Vp.supportedDigests.includes(t.toLowerCase()))throw new PC.RuntimeError(`Algorithm ${t} is not supported. Try using ${Vp.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("")}};Tc.WorkerCryptoBeta=Gp});var V_=g(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.BaseKeyValueStore=void 0;var Bp=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Sc.BaseKeyValueStore=Bp});var B_=g(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.WorkerKeyValueStore=void 0;var G_=L(),AC=V_(),Kp=class extends AC.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new G_.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 G_.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)}};Ic.WorkerKeyValueStore=Kp});var Dt=g(dt=>{"use strict";var RC=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]}),OC=dt&&dt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&RC(t,e,r)};Object.defineProperty(dt,"__esModule",{value:!0});dt.KeyValueStore=dt.CryptoBeta=void 0;OC(q_(),dt);var NC=j_();Object.defineProperty(dt,"CryptoBeta",{enumerable:!0,get:function(){return NC.WorkerCryptoBeta}});var xC=B_();Object.defineProperty(dt,"KeyValueStore",{enumerable:!0,get:function(){return xC.WorkerKeyValueStore}})});var HL={};to(HL,{GraphQLComplexityLimitInboundPolicy:()=>TE,GraphQLDisableIntrospectionInboundPolicy:()=>IE});module.exports=ro(HL);var Zn=bh(Dt());function B(e,t){if(!!!e)throw new Error(t)}s(B,"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 CC=/\r\n|[\n\r]/g;function $n(e,t){let r=0,n=1;for(let i of e.body.matchAll(CC)){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($n,"getLocation");function Jp(e){return Pc(e.source,$n(e.source,e.start))}s(Jp,"printLocation");function Pc(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 m=Math.floor(u/80),h=u%80,y=[];for(let w=0;w<p.length;w+=80)y.push(p.slice(w,w+80));return l+K_([[`${a} |`,y[0]],...y.slice(1,m+1).map(w=>["|",w]),["|","^".padStart(h)],["|",y[m+1]]])}return l+K_([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}s(Pc,"printSourceLocation");function K_(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(K_,"printPrefixedLines");function LC(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(LC,"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}=LC(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=J_(Array.isArray(a)?a:a?[a]:void 0);let m=J_((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(y=>y.start),this.locations=u&&c?u.map(y=>$n(c,y)):m?.map(y=>$n(y.source,y.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
|
-
`+
|
|
78
|
+
`+Jp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
|
|
79
79
|
|
|
80
|
-
`+
|
|
80
|
+
`+Pc(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 J_(e){return e===void 0||e.length===0?void 0:e}s(J_,"undefinedIfEmpty");function pe(e,t,r){return new C(`Syntax Error: ${r}`,{source:e,positions:[t]})}s(pe,"syntaxError");var qi=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}}},jn=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}}},zp={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"]},DC=new Set(Object.keys(zp));function $i(e){let t=e?.kind;return typeof t=="string"&&DC.has(t)}s($i,"isNode");var nt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(nt||(nt={}));var K;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var b;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(b||(b={}));function Ac(e){return e===9||e===32}s(Ac,"isWhiteSpace");function Vn(e){return e>=48&&e<=57}s(Vn,"isDigit");function z_(e){return e>=97&&e<=122||e>=65&&e<=90}s(z_,"isLetter");function ji(e){return z_(e)||e===95}s(ji,"isNameStart");function Rc(e){return z_(e)||Vn(e)||e===95}s(Rc,"isNameContinue");function W_(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=UC(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(W_,"dedentBlockStringLines");function UC(e){let t=0;for(;t<e.length&&Ac(e.charCodeAt(t));)++t;return t}s(UC,"leadingWhitespace");function Q_(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||Ac(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="",m=i&&Ac(e.charCodeAt(0));return(d&&!m||o)&&(p+=`
|
|
81
81
|
`),p+=r,(d||l)&&(p+=`
|
|
82
|
-
`),'"""'+p+'"""'}s(
|
|
83
|
-
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw
|
|
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(Gn(l))++o;else if(
|
|
82
|
+
`),'"""'+p+'"""'}s(Q_,"printBlockString");var _;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(_||(_={}));var Gi=class{static{s(this,"Lexer")}constructor(t){let r=new jn(_.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==_.EOF)do if(t.next)t=t.next;else{let r=MC(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===_.COMMENT);return t}};function Z_(e){return e===_.BANG||e===_.DOLLAR||e===_.AMP||e===_.PAREN_L||e===_.PAREN_R||e===_.SPREAD||e===_.COLON||e===_.EQUALS||e===_.AT||e===_.BRACKET_L||e===_.BRACKET_R||e===_.BRACE_L||e===_.PIPE||e===_.BRACE_R}s(Z_,"isPunctuatorTokenKind");function Gn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}s(Gn,"isUnicodeScalarValue");function Oc(e,t){return X_(e.charCodeAt(t))&&eE(e.charCodeAt(t+1))}s(Oc,"isSupplementaryCodePoint");function X_(e){return e>=55296&&e<=56319}s(X_,"isLeadingSurrogate");function eE(e){return e>=56320&&e<=57343}s(eE,"isTrailingSurrogate");function Fr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return _.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}s(Fr,"printCodePointAt");function me(e,t,r,n,i){let o=e.line,a=1+r-e.lineStart;return new jn(t,r,n,o,a,i)}s(me,"createToken");function MC(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 kC(e,i);case 33:return me(e,_.BANG,i,i+1);case 36:return me(e,_.DOLLAR,i,i+1);case 38:return me(e,_.AMP,i,i+1);case 40:return me(e,_.PAREN_L,i,i+1);case 41:return me(e,_.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return me(e,_.SPREAD,i,i+3);break;case 58:return me(e,_.COLON,i,i+1);case 61:return me(e,_.EQUALS,i,i+1);case 64:return me(e,_.AT,i,i+1);case 91:return me(e,_.BRACKET_L,i,i+1);case 93:return me(e,_.BRACKET_R,i,i+1);case 123:return me(e,_.BRACE_L,i,i+1);case 124:return me(e,_.PIPE,i,i+1);case 125:return me(e,_.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?VC(e,i):FC(e,i)}if(Vn(o)||o===45)return HC(e,i,o);if(ji(o))return GC(e,i);throw pe(e.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Gn(o)||Oc(r,i)?`Unexpected character: ${Fr(e,i)}.`:`Invalid character: ${Fr(e,i)}.`)}return me(e,_.EOF,n,n)}s(MC,"readNextToken");function kC(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(Gn(o))++i;else if(Oc(r,i))i+=2;else break}return me(e,_.COMMENT,t,i,r.slice(t+1,i))}s(kC,"readComment");function HC(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),Vn(o))throw pe(e.source,i,`Invalid number, unexpected digit after 0: ${Fr(e,i)}.`)}else i=Wp(e,i,o),o=n.charCodeAt(i);if(o===46&&(a=!0,o=n.charCodeAt(++i),i=Wp(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=Wp(e,i,o),o=n.charCodeAt(i)),o===46||ji(o))throw pe(e.source,i,`Invalid number, expected digit but got: ${Fr(e,i)}.`);return me(e,a?_.FLOAT:_.INT,t,i,n.slice(t,i))}s(HC,"readNumber");function Wp(e,t,r){if(!Vn(r))throw pe(e.source,t,`Invalid number, expected digit but got: ${Fr(e,t)}.`);let n=e.source.body,i=t+1;for(;Vn(n.charCodeAt(i));)++i;return i}s(Wp,"readDigits");function FC(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),me(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?qC(e,i):$C(e,i):jC(e,i);a+=u.value,i+=u.size,o=i;continue}if(c===10||c===13)break;if(Gn(c))++i;else if(Oc(r,i))i+=2;else throw pe(e.source,i,`Invalid character within String: ${Fr(e,i)}.`)}throw pe(e.source,i,"Unterminated string.")}s(FC,"readString");function qC(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||!Gn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Vi(o),n<0)break}throw pe(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}s(qC,"readEscapedUnicodeVariableWidth");function $C(e,t){let r=e.source.body,n=Y_(r,t+2);if(Gn(n))return{value:String.fromCodePoint(n),size:6};if(X_(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=Y_(r,t+8);if(eE(i))return{value:String.fromCodePoint(n,i),size:12}}throw pe(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}s($C,"readEscapedUnicodeFixedWidth");function Y_(e,t){return Vi(e.charCodeAt(t))<<12|Vi(e.charCodeAt(t+1))<<8|Vi(e.charCodeAt(t+2))<<4|Vi(e.charCodeAt(t+3))}s(Y_,"read16BitHexCode");function Vi(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}s(Vi,"readHexDigit");function jC(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 pe(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}s(jC,"readEscapedCharacter");function VC(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=me(e,_.BLOCK_STRING,t,o+3,W_(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(Gn(l))++o;else if(Oc(r,o))o+=2;else throw pe(e.source,o,`Invalid character within String: ${Fr(e,o)}.`)}throw pe(e.source,o,"Unterminated string.")}s(VC,"readBlockString");function GC(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(Rc(o))++i;else break}return me(e,_.NAME,t,i,r.slice(t,i))}s(GC,"readName");function P(e){return Nc(e,[])}s(P,"inspect");function Nc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return BC(e,t);default:return String(e)}}s(Nc,"formatValue");function BC(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(KC(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:Nc(n,r)}else if(Array.isArray(e))return zC(e,r);return JC(e,r)}s(BC,"formatObjectValue");function KC(e){return typeof e.toJSON=="function"}s(KC,"isJSONable");function JC(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+WC(e)+"]":"{ "+r.map(([i,o])=>i+": "+Nc(o,t)).join(", ")+" }"}s(JC,"formatObject");function zC(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(Nc(e[o],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}s(zC,"formatArray");function WC(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(WC,"getObjectTag");var We=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,36 +92,36 @@ 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 Bn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function z_(e){return ze(e,Bn)}s(z_,"isSource");function xc(e,t){return new Nc(e,t).parseDocument()}s(xc,"parse");function Cc(e,t){let r=new Nc(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}s(Cc,"parseValue");var Nc=class{static{s(this,"Parser")}constructor(t,r={}){let n=z_(t)?t:new Bn(t);this._lexer=new ji(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(_.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(_.SOF,this.parseDefinition,_.EOF)})}parseDefinition(){if(this.peek(_.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===_.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(_.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(_.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(_.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(_.PAREN_L,this.parseVariableDefinition,_.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(_.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(_.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(_.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(_.BRACE_L,this.parseSelection,_.BRACE_R)})}parseSelection(){return this.peek(_.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(_.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(_.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(_.PAREN_L,r,_.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(_.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(_.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case _.BRACKET_L:return this.parseList(t);case _.BRACE_L:return this.parseObject(t);case _.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case _.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case _.STRING:case _.BLOCK_STRING:return this.parseStringLiteral();case _.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case _.DOLLAR:if(t)if(this.expectToken(_.DOLLAR),this._lexer.token.kind===_.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===_.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(_.BRACKET_L,r,_.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(_.BRACE_L,r,_.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(_.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(_.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(_.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(_.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(_.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(_.STRING)||this.peek(_.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(_.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),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(_.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseFieldDefinition,_.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(_.COLON);let 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(_.PAREN_L,this.parseInputValueDef,_.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(_.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(_.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(_.EQUALS)?this.delimitedMany(_.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(_.BRACE_L,this.parseEnumValueDefinition,_.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${Oc(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(_.BRACE_L,this.parseInputValueDef,_.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===_.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),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(_.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(_.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Hi(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 ${W_(t)}, found ${Oc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===_.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${Oc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===_.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${Oc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==_.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Oc(e){let t=e.value;return W_(e.kind)+(t!=null?` "${t}"`:"")}s(Oc,"getTokenDesc");function W_(e){return B_(e)?`"${e}"`:e}s(W_,"getTokenKindDesc");function Lc(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(Lc,"didYouMean");function zp(e){return e}s(zp,"identityFunc");function Kn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Kn,"keyMap");function Rt(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Rt,"keyValMap");function Vi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(Vi,"mapValue");function Q_(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if(Dc(i)&&Dc(o)){let a=0;do++r,a=a*10+i-Wp,i=e.charCodeAt(r);while(Dc(i)&&a>0);let c=0;do++n,c=c*10+o-Wp,o=t.charCodeAt(n);while(Dc(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(Q_,"naturalCompare");var Wp=48,FC=57;function Dc(e){return!isNaN(e)&&Wp<=e&&e<=FC}s(Dc,"isDigit");function Uc(e,t){let r=Object.create(null),n=new Qp(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:Q_(o,a)})}s(Uc,"suggestionList");var Qp=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=Y_(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=Y_(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],m=u[d%3],h=m[0]=d;for(let y=1;y<=c;y++){let v=i[d-1]===o[y-1]?0:1,T=Math.min(p[y]+1,m[y-1]+1,p[y-1]+v);if(d>1&&y>1&&i[d-1]===o[y-2]&&i[d-2]===o[y-1]){let S=u[(d-2)%3][y-2];T=Math.min(T,S+1)}T<h&&(h=T),m[y]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function Y_(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(Y_,"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 Z_(e){return`"${e.replace(qC,$C)}"`}s(Z_,"printString");var qC=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function $C(e){return jC[e.charCodeAt(0)]}s($C,"escapedReplacer");var jC=["\\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 Yp=Object.freeze({});function gr(e,t,r=Kp){let n=new Map;for(let S of Object.values(b))n.set(S,Jn(t,S));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let S=c===a.length,M=S&&u.length!==0;if(S){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),M)if(o){l=l.slice();let C=0;for(let[re,ne]of u){let me=re-C;ne===null?(l.splice(me,1),C++):l[me]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[C,re]of u)l[C]=re}c=i.index,a=i.keys,u=i.edits,o=i.inArray,i=i.prev}else if(p){if(d=o?c:a[c],l=p[d],l==null)continue;m.push(d)}let j;if(!Array.isArray(l)){var y,v;Fi(l)||B(!1,`Invalid AST Node: ${P(l)}.`);let C=S?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=C?.call(t,l,d,p,m,h),j===Yp)break;if(j===!1){if(!S){m.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(Fi(j))l=j;else{m.pop();continue}}if(j===void 0&&M&&u.push([d,l]),S)m.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 Jn(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(Jn,"getEnterLeaveForKind");function ke(e){return gr(e,GC)}s(ke,"print");var VC=80,GC={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>N(e.definitions,`
|
|
95
|
+
spurious results.`)}}return!1},"instanceOf");var Bn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function tE(e){return We(e,Bn)}s(tE,"isSource");function Lc(e,t){return new Cc(e,t).parseDocument()}s(Lc,"parse");function Dc(e,t){let r=new Cc(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}s(Dc,"parseValue");var Cc=class{static{s(this,"Parser")}constructor(t,r={}){let n=tE(t)?t:new Bn(t);this._lexer=new Gi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(_.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(_.SOF,this.parseDefinition,_.EOF)})}parseDefinition(){if(this.peek(_.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===_.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw pe(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(_.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:nt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(_.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(_.NAME);switch(t.value){case"query":return nt.QUERY;case"mutation":return nt.MUTATION;case"subscription":return nt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(_.PAREN_L,this.parseVariableDefinition,_.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(_.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(_.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(_.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(_.BRACE_L,this.parseSelection,_.BRACE_R)})}parseSelection(){return this.peek(_.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(_.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(_.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(_.PAREN_L,r,_.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(_.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(_.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case _.BRACKET_L:return this.parseList(t);case _.BRACE_L:return this.parseObject(t);case _.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case _.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case _.STRING:case _.BLOCK_STRING:return this.parseStringLiteral();case _.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case _.DOLLAR:if(t)if(this.expectToken(_.DOLLAR),this._lexer.token.kind===_.NAME){let n=this._lexer.token.value;throw pe(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===_.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(_.BRACKET_L,r,_.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(_.BRACE_L,r,_.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(_.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(_.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(_.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(_.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(_.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(_.STRING)||this.peek(_.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(_.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),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(_.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseFieldDefinition,_.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(_.COLON);let 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(_.PAREN_L,this.parseInputValueDef,_.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(_.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(_.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(_.EQUALS)?this.delimitedMany(_.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(_.BRACE_L,this.parseEnumValueDefinition,_.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw pe(this._lexer.source,this._lexer.token.start,`${xc(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(_.BRACE_L,this.parseInputValueDef,_.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===_.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),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(_.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(_.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new qi(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 pe(this._lexer.source,r.start,`Expected ${rE(t)}, found ${xc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===_.NAME&&r.value===t)this.advanceLexer();else throw pe(this._lexer.source,r.start,`Expected "${t}", found ${xc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===_.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return pe(this._lexer.source,r.start,`Unexpected ${xc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==_.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw pe(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function xc(e){let t=e.value;return rE(e.kind)+(t!=null?` "${t}"`:"")}s(xc,"getTokenDesc");function rE(e){return Z_(e)?`"${e}"`:e}s(rE,"getTokenKindDesc");function Uc(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(Uc,"didYouMean");function Qp(e){return e}s(Qp,"identityFunc");function Kn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Kn,"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 Bi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(Bi,"mapValue");function nE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if(Mc(i)&&Mc(o)){let a=0;do++r,a=a*10+i-Yp,i=e.charCodeAt(r);while(Mc(i)&&a>0);let c=0;do++n,c=c*10+o-Yp,o=t.charCodeAt(n);while(Mc(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(nE,"naturalCompare");var Yp=48,QC=57;function Mc(e){return!isNaN(e)&&Yp<=e&&e<=QC}s(Mc,"isDigit");function kc(e,t){let r=Object.create(null),n=new Zp(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:nE(o,a)})}s(kc,"suggestionList");var Zp=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=iE(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=iE(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],m=u[d%3],h=m[0]=d;for(let y=1;y<=c;y++){let w=i[d-1]===o[y-1]?0:1,T=Math.min(p[y]+1,m[y-1]+1,p[y-1]+w);if(d>1&&y>1&&i[d-1]===o[y-2]&&i[d-2]===o[y-1]){let S=u[(d-2)%3][y-2];T=Math.min(T,S+1)}T<h&&(h=T),m[y]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function iE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(iE,"stringToArray");function Me(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(Me,"toObjMap");function oE(e){return`"${e.replace(YC,ZC)}"`}s(oE,"printString");var YC=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function ZC(e){return XC[e.charCodeAt(0)]}s(ZC,"escapedReplacer");var XC=["\\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 Xp=Object.freeze({});function gr(e,t,r=zp){let n=new Map;for(let S of Object.values(b))n.set(S,Jn(t,S));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let S=c===a.length,U=S&&u.length!==0;if(S){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),U)if(o){l=l.slice();let O=0;for(let[te,re]of u){let ne=te-O;re===null?(l.splice(ne,1),O++):l[ne]=re}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[O,te]of u)l[O]=te}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;m.push(d)}let $;if(!Array.isArray(l)){var y,w;$i(l)||B(!1,`Invalid AST Node: ${P(l)}.`);let O=S?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(w=n.get(l.kind))===null||w===void 0?void 0:w.enter;if($=O?.call(t,l,d,p,m,h),$===Xp)break;if($===!1){if(!S){m.pop();continue}}else if($!==void 0&&(u.push([d,$]),!S))if($i($))l=$;else{m.pop();continue}}if($===void 0&&U&&u.push([d,l]),S)m.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 Jn(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(Jn,"getEnterLeaveForKind");function ke(e){return gr(e,tL)}s(ke,"print");var eL=80,tL={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("(",
|
|
98
|
-
`,
|
|
97
|
+
`)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>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>eL&&(a=o+J(`(
|
|
98
|
+
`,Hc(x(r,`
|
|
99
99
|
`)),`
|
|
100
|
-
)`)),
|
|
101
|
-
`)+
|
|
102
|
-
`)+
|
|
103
|
-
`)+
|
|
104
|
-
`)+t+(
|
|
105
|
-
`,
|
|
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?Q_(e):oE(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
|
+
`)+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
|
+
`)+x(["scalar",t,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
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+(sE(r)?J(`(
|
|
105
|
+
`,Hc(x(r,`
|
|
106
106
|
`)),`
|
|
107
|
-
)`):J("(",
|
|
108
|
-
`)+
|
|
109
|
-
`)+
|
|
110
|
-
`)+
|
|
111
|
-
`)+
|
|
112
|
-
`)+
|
|
113
|
-
`)+
|
|
114
|
-
`)+"directive @"+t+(
|
|
115
|
-
`,
|
|
107
|
+
)`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
|
|
108
|
+
`)+x([t+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
109
|
+
`)+x(["interface",t,J("implements ",x(r," & ")),x(n," "),pt(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>J("",e,`
|
|
110
|
+
`)+x(["union",t,x(r," "),J("= ",x(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>J("",e,`
|
|
111
|
+
`)+x(["enum",t,x(r," "),pt(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
112
|
+
`)+x([t,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
|
|
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+(sE(r)?J(`(
|
|
115
|
+
`,Hc(x(r,`
|
|
116
116
|
`)),`
|
|
117
|
-
)`):J("(",
|
|
118
|
-
`,
|
|
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
|
+
`,Hc(x(e,`
|
|
119
119
|
`)),`
|
|
120
|
-
}`)}s(pt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}s(J,"wrap");function
|
|
121
|
-
`))}s(
|
|
122
|
-
`)))!==null&&t!==void 0?t:!1}s(X_,"hasMultilineItems");function Gi(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=>Gi(r,t));case b.OBJECT:return Rt(e.fields,r=>r.name.value,r=>Gi(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Gi,"valueFromASTUntyped");function Ve(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new x("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Pc(e.charCodeAt(t)))throw new x(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!qi(e.charCodeAt(0)))throw new x(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function Zp(e){if(e==="true"||e==="false"||e==="null")throw new x(`Enum values cannot be named: ${e}`);return Ve(e)}s(Zp,"assertEnumValueName");function Hc(e){return br(e)||xe(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s(Hc,"isType");function br(e){return ze(e,We)}s(br,"isScalarType");function xe(e){return ze(e,Ne)}s(xe,"isObjectType");function Fc(e){if(!xe(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(Fc,"assertObjectType");function we(e){return ze(e,Gt)}s(we,"isInterfaceType");function qc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(qc,"assertInterfaceType");function nt(e){return ze(e,qr)}s(nt,"isUnionType");function Qe(e){return ze(e,Ot)}s(Qe,"isEnumType");function Ae(e){return ze(e,$r)}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)||Bi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Bt(e){return br(e)||xe(e)||we(e)||nt(e)||Qe(e)||Bi(e)&&Bt(e.ofType)}s(Bt,"isOutputType");function _r(e){return br(e)||Qe(e)}s(_r,"isLeafType");function Nt(e){return xe(e)||we(e)||nt(e)}s(Nt,"isCompositeType");function Er(e){return we(e)||nt(e)}s(Er,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){Hc(t)||B(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{s(this,"GraphQLNonNull")}constructor(t){$c(t)||B(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Bi(e){return Ge(e)||ce(e)}s(Bi,"isWrappingType");function $c(e){return Hc(e)&&!ce(e)}s($c,"isNullableType");function jc(e){if(!$c(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(jc,"assertNullableType");function Vc(e){if(e)return ce(e)?e.ofType:e}s(Vc,"getNullableType");function ht(e){if(e){let t=e;for(;Bi(t);)t=t.ofType;return t}}s(ht,"getNamedType");function Gc(e){return typeof e=="function"?e():e}s(Gc,"resolveReadonlyArrayThunk");function Bc(e){return typeof e=="function"?e():e}s(Bc,"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:zp;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:zp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Gi(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"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},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=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>tE(t),this._interfaces=()=>eE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:rE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function eE(e){var t;let r=Gc((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(eE,"defineInterfaces");function tE(e){let t=Bc(e.fields);return zn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Vi(t,(r,n)=>{var i;zn(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return zn(o)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:Xp(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}})}s(tE,"defineFieldMap");function Xp(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(Xp,"defineArguments");function zn(e){return Ee(e)&&!Array.isArray(e)}s(zn,"isPlainObj");function rE(e){return Vi(e,t=>({description:t.description,type:t.type,args:eh(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(rE,"fieldsToFieldsConfig");function eh(e){return Rt(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(eh,"argsToArgsConfig");var Gt=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=tE.bind(void 0,t),this._interfaces=eE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:rE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},qr=class{static{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=BC.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function BC(e){let t=Gc(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(BC,"defineTypes");var Ot=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=KC(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Kn(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 x(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new x(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Mc(this,n))}let r=this.getValue(t);if(r==null)throw new x(`Value "${t}" does not exist in "${this.name}" enum.`+Mc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=ke(t);throw new x(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Mc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=ke(t);throw new x(`Value "${i}" does not exist in "${this.name}" enum.`+Mc(this,i),{nodes:t})}return n.value}toConfig(){let t=Rt(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 Mc(e,t){let r=e.getValues().map(i=>i.name),n=Uc(t,r);return Lc("the enum value",n)}s(Mc,"didYouMeanEnumValue");function KC(e,t){return zn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(zn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:Zp(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Ue(n.extensions),astNode:n.astNode}))}s(KC,"defineEnumValues");var $r=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=JC.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Vi(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 JC(e){let t=Bc(e.fields);return zn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Vi(t,(r,n)=>(!("resolve"in r)||B(!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(JC,"defineInputFieldMap");var Kc=2147483647,Jc=-2147483648,th=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=Ki(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 x(`Int cannot represent non-integer value: ${P(t)}`);if(r>Kc||r<Jc)throw new x("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new x(`Int cannot represent non-integer value: ${P(e)}`);if(e>Kc||e<Jc)throw new x(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new x(`Int cannot represent non-integer value: ${ke(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Kc||t<Jc)throw new x(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),nE=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=Ki(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 x(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new x(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new x(`Float cannot represent non numeric value: ${ke(e)}`,e);return parseFloat(e.value)}}),oe=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Ki(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 x(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new x(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new x(`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=Ki(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new x(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new x(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new x(`Boolean cannot represent a non boolean value: ${ke(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=Ki(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new x(`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 x(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new x("ID cannot represent a non-string and non-integer value: "+ke(e),{nodes:e});return e.value}}),rh=Object.freeze([oe,th,nE,Me,zc]);function Ki(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(Ki,"serializeObject");function nh(e){return ze(e,ft)}s(nh,"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)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Xp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:eh(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},iE=new ft({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Included when true."}}}),oE=new ft({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Skipped when true."}}}),sE="No longer supported",aE=new ft({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:oe,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:sE}}}),cE=new ft({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(oe),description:"The URL that specifies the behavior of this scalar."}}}),ih=Object.freeze([iE,oE,aE,cE]);function Wc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(Wc,"isIterableObject");function jr(e,t){if(ce(t)){let r=jr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(Wc(e)){let n=[];for(let i of e){let o=jr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return jr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=jr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(_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 uE.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&&uE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}At(!1,"Unexpected input type: "+P(t))}s(jr,"astFromValue");var uE=/^-?(?:0|[1-9][0-9]*)$/;var Ji=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:oe,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(oh))),resolve:e=>e.getDirectives()}})}),oh=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 Hc(e){return J(" ",e.replace(/\n/g,`
|
|
121
|
+
`))}s(Hc,"indent");function sE(e){var t;return(t=e?.some(r=>r.includes(`
|
|
122
|
+
`)))!==null&&t!==void 0?t:!1}s(sE,"hasMultilineItems");function Ki(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=>Ki(r,t));case b.OBJECT:return Ot(e.fields,r=>r.name.value,r=>Ki(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Ki,"valueFromASTUntyped");function Be(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new C("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Rc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!ji(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Be,"assertName");function eh(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return Be(e)}s(eh,"assertEnumValueName");function qc(e){return br(e)||Le(e)||we(e)||it(e)||Ye(e)||Re(e)||Ke(e)||ue(e)}s(qc,"isType");function br(e){return We(e,Qe)}s(br,"isScalarType");function Le(e){return We(e,Ce)}s(Le,"isObjectType");function $c(e){if(!Le(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s($c,"assertObjectType");function we(e){return We(e,Gt)}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 it(e){return We(e,qr)}s(it,"isUnionType");function Ye(e){return We(e,Nt)}s(Ye,"isEnumType");function Re(e){return We(e,$r)}s(Re,"isInputObjectType");function Ke(e){return We(e,he)}s(Ke,"isListType");function ue(e){return We(e,j)}s(ue,"isNonNullType");function Ze(e){return br(e)||Ye(e)||Re(e)||Ji(e)&&Ze(e.ofType)}s(Ze,"isInputType");function Bt(e){return br(e)||Le(e)||we(e)||it(e)||Ye(e)||Ji(e)&&Bt(e.ofType)}s(Bt,"isOutputType");function _r(e){return br(e)||Ye(e)}s(_r,"isLeafType");function xt(e){return Le(e)||we(e)||it(e)}s(xt,"isCompositeType");function Er(e){return we(e)||it(e)}s(Er,"isAbstractType");var he=class{static{s(this,"GraphQLList")}constructor(t){qc(t)||B(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},j=class{static{s(this,"GraphQLNonNull")}constructor(t){Vc(t)||B(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Ji(e){return Ke(e)||ue(e)}s(Ji,"isWrappingType");function Vc(e){return qc(e)&&!ue(e)}s(Vc,"isNullableType");function Gc(e){if(!Vc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(Gc,"assertNullableType");function Bc(e){if(e)return ue(e)?e.ofType:e}s(Bc,"getNullableType");function ht(e){if(e){let t=e;for(;Ji(t);)t=t.ofType;return t}}s(ht,"getNamedType");function Kc(e){return typeof e=="function"?e():e}s(Kc,"resolveReadonlyArrayThunk");function Jc(e){return typeof e=="function"?e():e}s(Jc,"resolveObjMapThunk");var Qe=class{static{s(this,"GraphQLScalarType")}constructor(t){var r,n,i,o;let a=(r=t.parseValue)!==null&&r!==void 0?r:Qp;this.name=Be(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:Qp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Ki(c,u)),this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ce=class{static{s(this,"GraphQLObjectType")}constructor(t){var r;this.name=Be(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>cE(t),this._interfaces=()=>aE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:uE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function aE(e){var t;let r=Kc((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(aE,"defineInterfaces");function cE(e){let t=Jc(e.fields);return zn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Bi(t,(r,n)=>{var i;zn(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return zn(o)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Be(n),description:r.description,type:r.type,args:th(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Me(r.extensions),astNode:r.astNode}})}s(cE,"defineFieldMap");function th(e){return Object.entries(e).map(([t,r])=>({name:Be(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Me(r.extensions),astNode:r.astNode}))}s(th,"defineArguments");function zn(e){return Ee(e)&&!Array.isArray(e)}s(zn,"isPlainObj");function uE(e){return Bi(e,t=>({description:t.description,type:t.type,args:rh(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(uE,"fieldsToFieldsConfig");function rh(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(rh,"argsToArgsConfig");var Gt=class{static{s(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Be(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=cE.bind(void 0,t),this._interfaces=aE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:uE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},qr=class{static{s(this,"GraphQLUnionType")}constructor(t){var r;this.name=Be(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=rL.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function rL(e){let t=Kc(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(rL,"defineTypes");var Nt=class{static{s(this,"GraphQLEnumType")}constructor(t){var r;this.name=Be(t.name),this.description=t.description,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=nL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Kn(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}.`+Fc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+Fc(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}.`+Fc(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.`+Fc(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 Fc(e,t){let r=e.getValues().map(i=>i.name),n=kc(t,r);return Uc("the enum value",n)}s(Fc,"didYouMeanEnumValue");function nL(e,t){return zn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(zn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:eh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Me(n.extensions),astNode:n.astNode}))}s(nL,"defineEnumValues");var $r=class{static{s(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Be(t.name),this.description=t.description,this.extensions=Me(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=iL.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Bi(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 iL(e){let t=Jc(e.fields);return zn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Bi(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Be(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Me(r.extensions),astNode:r.astNode}))}s(iL,"defineInputFieldMap");var zc=2147483647,Wc=-2147483648,nh=new Qe({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=zi(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>zc||r<Wc)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>zc||e<Wc)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>zc||t<Wc)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),lE=new Qe({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=zi(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 Qe({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=zi(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}}),He=new Qe({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=zi(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}}),Qc=new Qe({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=zi(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}}),ih=Object.freeze([se,nh,lE,He,Qc]);function zi(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(zi,"serializeObject");function oh(e){return We(e,ft)}s(oh,"isDirective");var ft=class{static{s(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Be(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Me(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=th(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:rh(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},dE=new ft({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new j(He),description:"Included when true."}}}),pE=new ft({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new j(He),description:"Skipped when true."}}}),hE="No longer supported",fE=new ft({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type: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:hE}}}),mE=new ft({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new j(se),description:"The URL that specifies the behavior of this scalar."}}}),sh=Object.freeze([dE,pE,fE,mE]);function Yc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(Yc,"isIterableObject");function jr(e,t){if(ue(t)){let r=jr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ke(t)){let r=t.ofType;if(Yc(e)){let n=[];for(let i of e){let o=jr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return jr(e,r)}if(Re(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=jr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(_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 yE.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Ye(t)?{kind:b.ENUM,value:r}:t===Qc&&yE.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(jr,"astFromValue");var yE=/^-?(?:0|[1-9][0-9]*)$/;var Wi=new Ce({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 j(new he(new j(ot))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new j(ot),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ot,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ot,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new j(new he(new j(ah))),resolve:e=>e.getDirectives()}})}),ah=new Ce({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
123
123
|
|
|
124
|
-
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isRepeatable:{type:new $(Me),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(sh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(zi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),sh=new Ot({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new 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 $(uh),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;At(!1,`Unexpected type: "${P(e)}".`)}},name:{type:oe,resolve:e=>"name"in e?e.name:void 0},description:{type:oe,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:oe,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(ah)),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 $(ch)),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 $(zi)),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}})}),ah=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 $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},args:{type:new $(new pe(new $(zi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:e=>e.type},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),zi=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 $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=jr(r,t);return n?ke(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),ch=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 $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),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 uh=new Ot({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."}}}),Qc={name:"__schema",type:new $(Ji),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},Yc={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(oe),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Zc={name:"__typename",type:new $(oe),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},lh=Object.freeze([Ji,oh,sh,it,ah,zi,ch,uh]);var Wi=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=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:ih;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(nh(o))for(let a of o.args)mt(a.type,i);mt(Ji,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||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=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??zC,r&&(Ye(r)&&this._inputTypeStack.push(r),Nt(r)&&this._parentTypeStack.push(r),Bt(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(Nt(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(Bt(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(Bt(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=Vc(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 zC(e,t,r){let n=r.name.value;if(n===Qc.name&&e.getQueryType()===t)return Qc;if(n===Yc.name&&e.getQueryType()===t)return Yc;if(n===Zc.name&&Nt(t))return Zc;if(xe(t)||we(t))return t.getFields()[n]}s(zC,"getFieldDef");function Wn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Jn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),Fi(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=Jn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(Wn,"visitWithTypeInfo");function Xc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(Xc,"printPathArray");function dh(e,t,r){return{prev:e,key:t,typename:r}}s(dh,"addPath");function Kt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Kt,"pathToArray");function ph(e,t,r=WC){return Qi(e,t,r,void 0)}s(ph,"coerceInputValue");function WC(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${Xc(e)}"`),r.message=n+": "+r.message,r}s(WC,"defaultOnError");function Qi(e,t,r,n){if(ce(t)){if(e!=null)return Qi(e,t.ofType,r,n);r(Kt(n),e,new x(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return Wc(e)?Array.from(e,(o,a)=>{let c=dh(n,a,void 0);return Qi(o,i,r,c)}):[Qi(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Kt(n),e,new x(`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(Kt(n),e,new x(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Qi(c,a.type,r,dh(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=Uc(a,Object.keys(t.getFields()));r(Kt(n),e,new x(`Field "${a}" is not defined by type "${t.name}".`+Lc(c)))}return i}if(_r(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof x?r(Kt(n),e,o):r(Kt(n),e,new x(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Kt(n),e,new x(`Expected type "${t.name}".`)),i}At(!1,"Unexpected input type: "+P(t))}s(Qi,"coerceInputValueImpl");function xt(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:xt(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=xt(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=xt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Kn(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=xt(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}At(!1,"Unexpected input type: "+P(t))}}s(xt,"valueFromAST");function lE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(lE,"isMissingVariable");function eu(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=QC(e,t,r,c=>{if(o!=null&&i.length>=o)throw new x("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(eu,"getVariableValues");function QC(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 x(`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]=xt(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new x(`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 x(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=ph(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${Xc(l)}"`),n(new x(m+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(QC,"coerceVariableValues");function Yi(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Kn(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 x(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let y=p.name.value;if(r==null||!dE(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}m=r[y]==null}if(m&&ce(l))throw new x(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=xt(p,l,r);if(h===void 0)throw new x(`Argument "${u}" has invalid value ${ke(p)}.`,{nodes:p});i[u]=h}return i}s(Yi,"getArgumentValues");function Zi(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 Yi(e,i,r)}s(Zi,"getDirectiveValues");function dE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(dE,"hasOwnProperty");var tu=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}},pE=class extends tu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Qn=class extends tu{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,Wn(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 ru(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 j(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new j(He),resolve:e=>e.isRepeatable},locations:{type:new j(new he(new j(ch))),resolve:e=>e.locations},args:{type:new j(new he(new j(Qi))),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),ch=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:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),ot=new Ce({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new j(dh),resolve(e){if(br(e))return ee.SCALAR;if(Le(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(it(e))return ee.UNION;if(Ye(e))return ee.ENUM;if(Re(e))return ee.INPUT_OBJECT;if(Ke(e))return ee.LIST;if(ue(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 he(new j(uh)),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Le(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new he(new j(ot)),resolve(e){if(Le(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new he(new j(ot)),resolve(e,t,r,{schema:n}){if(Er(e))return n.getPossibleTypes(e)}},enumValues:{type:new he(new j(lh)),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ye(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new he(new j(Qi)),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Re(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:ot,resolve:e=>"ofType"in e?e.ofType:void 0}})}),uh=new Ce({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new j(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new j(new he(new j(Qi))),args:{includeDeprecated:{type:He,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new j(ot),resolve:e=>e.type},isDeprecated:{type:new j(He),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Qi=new Ce({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new j(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new j(ot),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=jr(r,t);return n?ke(n):null}},isDeprecated:{type:new j(He),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),lh=new Ce({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new j(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new j(He),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 dh=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."}}}),Zc={name:"__schema",type:new j(Wi),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},Xc={name:"__type",type:ot,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new j(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},eu={name:"__typename",type:new j(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},ph=Object.freeze([Wi,ah,ch,ot,uh,Qi,lh,dh]);var Yi=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=Me(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:sh;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(oh(o))for(let a of o.args)mt(a.type,i);mt(Wi,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||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=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(Le(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 nt.QUERY:return this.getQueryType();case nt.MUTATION:return this.getMutationType();case nt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return it(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),it(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),it(r))for(let n of r.getTypes())mt(n,t);else if(Le(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(Re(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 he(r)}case b.NON_NULL_TYPE:{let r=wr(e,t.type);return r&&new j(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??oL,r&&(Ze(r)&&this._inputTypeStack.push(r),xt(r)&&this._parentTypeStack.push(r),Bt(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(Bt(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(Le(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(Bt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=wr(r,t.type);this._inputTypeStack.push(Ze(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(Ze(o)?o:void 0);break}case b.LIST:{let i=Bc(this.getInputType()),o=Ke(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ze(o)?o:void 0);break}case b.OBJECT_FIELD:{let i=ht(this.getInputType()),o,a;Re(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ze(o)?o:void 0);break}case b.ENUM:{let i=ht(this.getInputType()),o;Ye(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 oL(e,t,r){let n=r.name.value;if(n===Zc.name&&e.getQueryType()===t)return Zc;if(n===Xc.name&&e.getQueryType()===t)return Xc;if(n===eu.name&&xt(t))return eu;if(Le(t)||we(t))return t.getFields()[n]}s(oL,"getFieldDef");function Wn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Jn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),$i(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=Jn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(Wn,"visitWithTypeInfo");function tu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(tu,"printPathArray");function hh(e,t,r){return{prev:e,key:t,typename:r}}s(hh,"addPath");function Kt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Kt,"pathToArray");function fh(e,t,r=sL){return Zi(e,t,r,void 0)}s(fh,"coerceInputValue");function sL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${tu(e)}"`),r.message=n+": "+r.message,r}s(sL,"defaultOnError");function Zi(e,t,r,n){if(ue(t)){if(e!=null)return Zi(e,t.ofType,r,n);r(Kt(n),e,new C(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ke(t)){let i=t.ofType;return Yc(e)?Array.from(e,(o,a)=>{let c=hh(n,a,void 0);return Zi(o,i,r,c)}):[Zi(e,i,r,n)]}if(Re(t)){if(!Ee(e)){r(Kt(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(ue(a.type)){let u=P(a.type);r(Kt(n),e,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Zi(c,a.type,r,hh(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=kc(a,Object.keys(t.getFields()));r(Kt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+Uc(c)))}return i}if(_r(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof C?r(Kt(n),e,o):r(Kt(n),e,new C(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Kt(n),e,new C(`Expected type "${t.name}".`)),i}Rt(!1,"Unexpected input type: "+P(t))}s(Zi,"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&&ue(t)?void 0:i}if(ue(t))return e.kind===b.NULL?void 0:Ct(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ke(t)){let n=t.ofType;if(e.kind===b.LIST){let o=[];for(let a of e.values)if(gE(a,r)){if(ue(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(Re(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Kn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||gE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ue(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 gE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(gE,"isMissingVariable");function ru(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=aL(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(ru,"getVariableValues");function aL(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=wr(e,o.type);if(!Ze(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(!bE(r,a)){if(o.defaultValue)i[a]=Ct(o.defaultValue,c);else if(ue(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&&ue(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=fh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${tu(l)}"`),n(new C(m+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(aL,"coerceVariableValues");function Xi(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Kn(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(ue(l))throw new C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let y=p.name.value;if(r==null||!bE(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ue(l))throw new C(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}m=r[y]==null}if(m&&ue(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(Xi,"getArgumentValues");function eo(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 Xi(e,i,r)}s(eo,"getDirectiveValues");function bE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(bE,"hasOwnProperty");var nu=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}},_E=class extends nu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Qn=class extends nu{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,Wn(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 iu(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(ru,"getIntrospectionQuery");function nu(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Rt(r.types,E=>E.name,E=>m(E));for(let E of[...rh,...lh])n[E.name]&&(n[E.name]=E);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 Wi({description:r.description,query:i,mutation:o,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===ee.LIST){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(E.kind===ee.NON_NULL){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ce=u(H);return new $(jc(Ce))}return l(E)}function l(E){let H=E.name;if(!H)throw new Error(`Unknown type reference: ${P(E)}.`);let Ce=n[H];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(E){return Fc(l(E))}function p(E){return qc(l(E))}function m(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ee.SCALAR:return h(E);case ee.OBJECT:return v(E);case ee.INTERFACE:return T(E);case ee.UNION:return S(E);case ee.ENUM:return M(E);case ee.INPUT_OBJECT:return j(E)}let H=P(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(E){return new We({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function y(E){if(E.interfaces===null&&E.kind===ee.INTERFACE)return[];if(!E.interfaces){let H=P(E);throw new Error(`Introspection result missing interfaces: ${H}.`)}return E.interfaces.map(p)}function v(E){return new Ne({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>C(E)})}function T(E){return new Gt({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>C(E)})}function S(E){if(!E.possibleTypes){let H=P(E);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new qr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function M(E){if(!E.enumValues){let H=P(E);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Ot({name:E.name,description:E.description,values:Rt(E.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function j(E){if(!E.inputFields){let H=P(E);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new $r({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function C(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${P(E)}.`);return Rt(E.fields,H=>H.name,re)}function re(E){let H=u(E.type);if(!Bt(H)){let Ce=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=P(E);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:H,args:ne(E.args)}}function ne(E){return Rt(E,H=>H.name,me)}function me(E){let H=u(E.type);if(!Ye(H)){let ou=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${ou}.`)}let Ce=E.defaultValue!=null?xt(Cc(E.defaultValue),H):void 0;return{description:E.description,type:H,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Be(E){if(!E.args){let H=P(E);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!E.locations){let H=P(E);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ft({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}s(nu,"buildClientSchema");function EL(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(EL,"queryComplexityMessage");function hE(e){let t=new vr(e.schema),r=[],n=new Qn(e.schema,e.query,t,o=>r.push(o)),i=new hh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(gr(e.query,Wn(t,i)),r.length)throw r.pop();return i.complexity}s(hE,"getComplexity");var hh=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}=eu(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 Gt)&&(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&&Zi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Zi(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 m=ht(p.type),h;try{h=Yi(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let y=0;Nt(m)&&(y=this.nodeComplexity(c,m));let v={childComplexity:y,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let M=S(v);return typeof M=="number"&&!isNaN(M)?(u=Yn(M,a,i),!0):!1}))return this.context.reportError(new x(`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 m=this.context.getSchema().getType(p.typeCondition.name.value);if(!Nt(m))break;let h=this.nodeComplexity(p,m);Er(m)?u=Yn(h,a,this.context.getSchema().getPossibleTypes(m).map(y=>y.name)):u=Yn(h,a,[m.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,!Nt(p)))break;let m=this.nodeComplexity(c,p);Er(p)?u=Yn(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Yn(m,a,[p.name]);break}default:{u=Yn(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 x(EL(this.options.maximumComplexity,this.complexity))}};function Yn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(Yn,"addComplexities");function fE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(fE,"simpleEstimator");var mE=s((e,t,r={})=>{let{definitions:n}=e,i=wL(n),o=vL(n);return Object.entries(o).map(([a,c])=>iu(c,i,0,t,a,r))},"depthLimit");function wL(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(wL,"getFragments");function vL(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(vL,"getQueriesAndMutations");function iu(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new x(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return TL(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>iu(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return iu(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=>iu(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(iu,"determineDepth");var TL=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var SL=s(async(e,t)=>{if(!t.complexityLimit)throw new Zn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Zn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=ru(),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 x("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=nu(c,{assumeValid:!0}),l=hE({estimators:[fE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new x(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),IL=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Zn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...mE(e,r))},"applyDepthLimitPolicy"),yE=s(async(e,t,r)=>{let n=Zn.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=xc(o.query);r.useDepthLimit&&await IL(a,r.useDepthLimit),r.useComplexityLimit&&await SL(a,r.useComplexityLimit)}catch(i){if(i instanceof x)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var gE=yh(Lt());function PL(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(PL,"isIntrospectionQuery");var bE=s(async(e,t)=>{let n=await e.clone().json();return PL(n.query)?gE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
229
|
+
`}s(iu,"getIntrospectionQuery");function ou(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Ot(r.types,E=>E.name,E=>m(E));for(let E of[...ih,...ph])n[E.name]&&(n[E.name]=E);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(ve):[];return new Yi({description:r.description,query:i,mutation:o,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===ee.LIST){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new he(u(H))}if(E.kind===ee.NON_NULL){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let De=u(H);return new j(Gc(De))}return l(E)}function l(E){let H=E.name;if(!H)throw new Error(`Unknown type reference: ${P(E)}.`);let De=n[H];if(!De)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return De}function d(E){return $c(l(E))}function p(E){return jc(l(E))}function m(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ee.SCALAR:return h(E);case ee.OBJECT:return w(E);case ee.INTERFACE:return T(E);case ee.UNION:return S(E);case ee.ENUM:return U(E);case ee.INPUT_OBJECT:return $(E)}let H=P(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(E){return new Qe({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function y(E){if(E.interfaces===null&&E.kind===ee.INTERFACE)return[];if(!E.interfaces){let H=P(E);throw new Error(`Introspection result missing interfaces: ${H}.`)}return E.interfaces.map(p)}function w(E){return new Ce({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>O(E)})}function T(E){return new Gt({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>O(E)})}function S(E){if(!E.possibleTypes){let H=P(E);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new qr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function U(E){if(!E.enumValues){let H=P(E);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Nt({name:E.name,description:E.description,values:Ot(E.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function $(E){if(!E.inputFields){let H=P(E);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new $r({name:E.name,description:E.description,fields:()=>re(E.inputFields)})}function O(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${P(E)}.`);return Ot(E.fields,H=>H.name,te)}function te(E){let H=u(E.type);if(!Bt(H)){let De=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${De}.`)}if(!E.args){let De=P(E);throw new Error(`Introspection result missing field args: ${De}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:H,args:re(E.args)}}function re(E){return Ot(E,H=>H.name,ne)}function ne(E){let H=u(E.type);if(!Ze(H)){let au=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${au}.`)}let De=E.defaultValue!=null?Ct(Dc(E.defaultValue),H):void 0;return{description:E.description,type:H,defaultValue:De,deprecationReason:E.deprecationReason}}function ve(E){if(!E.args){let H=P(E);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!E.locations){let H=P(E);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ft({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:re(E.args)})}}s(ou,"buildClientSchema");function xL(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(xL,"queryComplexityMessage");function EE(e){let t=new vr(e.schema),r=[],n=new Qn(e.schema,e.query,t,o=>r.push(o)),i=new mh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(gr(e.query,Wn(t,i)),r.length)throw r.pop();return i.complexity}s(EE,"getComplexity");var mh=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}=ru(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 Ce||r instanceof Gt)&&(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&&eo(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&eo(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 m=ht(p.type),h;try{h=Xi(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let y=0;xt(m)&&(y=this.nodeComplexity(c,m));let w={childComplexity:y,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let U=S(w);return typeof U=="number"&&!isNaN(U)?(u=Yn(U,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 m=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(m))break;let h=this.nodeComplexity(p,m);Er(m)?u=Yn(h,a,this.context.getSchema().getPossibleTypes(m).map(y=>y.name)):u=Yn(h,a,[m.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 m=this.nodeComplexity(c,p);Er(p)?u=Yn(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Yn(m,a,[p.name]);break}default:{u=Yn(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(xL(this.options.maximumComplexity,this.complexity))}};function Yn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(Yn,"addComplexities");function wE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(wE,"simpleEstimator");var vE=s((e,t,r={})=>{let{definitions:n}=e,i=CL(n),o=LL(n);return Object.entries(o).map(([a,c])=>su(c,i,0,t,a,r))},"depthLimit");function CL(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(CL,"getFragments");function LL(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(LL,"getQueriesAndMutations");function su(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 DL(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>su(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return su(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=>su(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(su,"determineDepth");var DL=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var UL=s(async(e,t)=>{if(!t.complexityLimit)throw new Zn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Zn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=iu(),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=ou(c,{assumeValid:!0}),l=EE({estimators:[wE({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"),ML=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Zn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...vE(e,r))},"applyDepthLimitPolicy"),TE=s(async(e,t,r)=>{let n=Zn.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=Lc(o.query);r.useDepthLimit&&await ML(a,r.useDepthLimit),r.useComplexityLimit&&await UL(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 SE=bh(Dt());function kL(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(kL,"isIntrospectionQuery");var IE=s(async(e,t)=>{let n=await e.clone().json();return kL(n.query)?SE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
230
230
|
/*! For license information please see index.minified.js.LEGAL.txt */
|