@zuplo/graphql 5.1563.0 → 5.1565.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 Lb=Object.create;var Bn=Object.defineProperty;var Db=Object.getOwnPropertyDescriptor;var Ub=Object.getOwnPropertyNames;var Mb=Object.getPrototypeOf,kb=Object.prototype.hasOwnProperty;var o=(t,e)=>Bn(t,"name",{value:e,configurable:!0});var I=(t,e)=>()=>(t&&(e=t(t=0)),e);var g=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Vi=(t,e)=>{for(var r in e)Bn(t,r,{get:e[r],enumerable:!0})},kp=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ub(e))!kb.call(t,i)&&i!==r&&Bn(t,i,{get:()=>e[i],enumerable:!(n=Db(e,i))||n.enumerable});return t};var Fp=(t,e,r)=>(r=t!=null?Lb(Mb(t)):{},kp(e||!t||!t.__esModule?Bn(r,"default",{value:t,enumerable:!0}):r,t)),Gi=t=>kp(Bn({},"__esModule",{value:!0}),t);var D=g(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.FeatureNotEnabledError=ht.ConfigurationError=ht.RuntimeError=ht.SystemError=void 0;var qc=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};ht.SystemError=qc;var Kn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(e,r){typeof e=="string"?super(e,r):(super(e.message,r),this.extensionMembers=e.extensionMembers),this.name="RuntimeError"}};ht.RuntimeError=Kn;var $c=class extends Kn{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};ht.ConfigurationError=$c;var jc=class extends Kn{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};ht.FeatureNotEnabledError=jc});var ee=g(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.Environment=void 0;var Fb=D(),Vc=class t{static{o(this,"Environment")}config;static#e;static initialize(e,r){this.#e||(this.#e=new t(e,r))}static get instance(){if(!this.#e)throw new Fb.SystemError("Environment has not been initialized");return this.#e}constructor(e,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=e,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 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"}};Bi.Environment=Vc});var jp=g($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});var Hp=ee();Function.prototype.toString=function(){return"[native code]"};var Ki=globalThis,qp=Ki.caches;if(qp){let t=qp.open;Ki.caches.open=function(e){let r=Hp.Environment.instance.deploymentName??Hp.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete Ki.caches.default,Object.freeze(Ki.caches)}});var Kc=g(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.MemoryCache=void 0;var Hb=1e4,qb=1e3,Vp=new Map,Gc=class{static{o(this,"InnerCache")}constructor(e){this.#e=e.maxSize}#e;#t=0;#r=new Map;#n=[];get(e){let r=this.#r.get(e);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(e);return}return r.lastUsed=n,this.#i(),r?.data}put(e,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(e),this.#r.set(e,s)}delete(e){let r=this.#n.indexOf(e);r>=0&&this.#n.slice(r,1),this.#r.delete(e)}get size(){return this.#r.size}#i(){let e=Date.now();this.#t+Hb*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},Bc=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:qb}){this.name=e;let n=Vp.get(e);n||(n=new Gc(r),Vp.set(e,n)),this.#e=n}name;#e;get(e){return this.#e.get(e)}put(e,r,n){return this.#e.put(e,r,n)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}purge(){this.#e.purge()}};Ji.MemoryCache=Bc});var Wc=g(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.ZoneCache=void 0;var Jc="__zuplo-expiry-header",zc=class{static{o(this,"ZoneCache")}constructor(e,r){this.#t=e,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(e){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(e)}`)}async get(e){try{let r=await this.#n(),n=this.#i(e),i=await r.match(n);if(!i)return;let s=i.headers.get(Jc);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(e)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(e)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(e,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Jc,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(e),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(e){let r=await this.#n(),n=this.#i(e);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(e)}}async deleteFallback(e){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Jc,`${Date.now()}`);let n=await this.#n(),i=this.#i(e),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...e){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,e):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,e)}};zi.ZoneCache=zc});var _r=g(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.MemoryZoneReadThroughCache=void 0;var $b=Kc(),jb=Wc(),Qc=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new $b.MemoryCache(n),this.#r=new jb.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(e){let r=this.#t.get(e);if(r)return r;let n=await this.#r.get(e);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(e,n.data,i),n.data}}put(e,r,n){this.#t.put(e,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(e,i,n).catch(s=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s)})}};Wi.MemoryZoneReadThroughCache=Qc});var Gp=g(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.VALID_COMPATIBILITY_DATES=void 0;Qi.VALID_COMPATIBILITY_DATES=Object.freeze(["2023-03-14"])});var Jn=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 Xp=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 Bp=!0,Yc=!Bp;function Vb(t){Bp||(Yc=t)}o(Vb,"setColorEnabled");w.setColorEnabled=Vb;function Gb(){return Yc}o(Gb,"getColorEnabled");w.getColorEnabled=Gb;function H(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(H,"code");function q(t,e){return Yc?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o(q,"run");function Bb(t){return q(t,H([0],0))}o(Bb,"reset");w.reset=Bb;function Kb(t){return q(t,H([1],22))}o(Kb,"bold");w.bold=Kb;function Jb(t){return q(t,H([2],22))}o(Jb,"dim");w.dim=Jb;function zb(t){return q(t,H([3],23))}o(zb,"italic");w.italic=zb;function Wb(t){return q(t,H([4],24))}o(Wb,"underline");w.underline=Wb;function Qb(t){return q(t,H([7],27))}o(Qb,"inverse");w.inverse=Qb;function Yb(t){return q(t,H([8],28))}o(Yb,"hidden");w.hidden=Yb;function Zb(t){return q(t,H([9],29))}o(Zb,"strikethrough");w.strikethrough=Zb;function Xb(t){return q(t,H([30],39))}o(Xb,"black");w.black=Xb;function Kp(t){return q(t,H([31],39))}o(Kp,"red");w.red=Kp;function Jp(t){return q(t,H([32],39))}o(Jp,"green");w.green=Jp;function zp(t){return q(t,H([33],39))}o(zp,"yellow");w.yellow=zp;function Wp(t){return q(t,H([34],39))}o(Wp,"blue");w.blue=Wp;function Qp(t){return q(t,H([35],39))}o(Qp,"magenta");w.magenta=Qp;function Yp(t){return q(t,H([36],39))}o(Yp,"cyan");w.cyan=Yp;function eE(t){return q(t,H([37],39))}o(eE,"white");w.white=eE;function tE(t){return Zp(t)}o(tE,"gray");w.gray=tE;function Zp(t){return q(t,H([90],39))}o(Zp,"brightBlack");w.brightBlack=Zp;function rE(t){return q(t,H([91],39))}o(rE,"brightRed");w.brightRed=rE;function nE(t){return q(t,H([92],39))}o(nE,"brightGreen");w.brightGreen=nE;function iE(t){return q(t,H([93],39))}o(iE,"brightYellow");w.brightYellow=iE;function oE(t){return q(t,H([94],39))}o(oE,"brightBlue");w.brightBlue=oE;function sE(t){return q(t,H([95],39))}o(sE,"brightMagenta");w.brightMagenta=sE;function aE(t){return q(t,H([96],39))}o(aE,"brightCyan");w.brightCyan=aE;function cE(t){return q(t,H([97],39))}o(cE,"brightWhite");w.brightWhite=cE;function uE(t){return q(t,H([40],49))}o(uE,"bgBlack");w.bgBlack=uE;function lE(t){return q(t,H([41],49))}o(lE,"bgRed");w.bgRed=lE;function dE(t){return q(t,H([42],49))}o(dE,"bgGreen");w.bgGreen=dE;function pE(t){return q(t,H([43],49))}o(pE,"bgYellow");w.bgYellow=pE;function hE(t){return q(t,H([44],49))}o(hE,"bgBlue");w.bgBlue=hE;function fE(t){return q(t,H([45],49))}o(fE,"bgMagenta");w.bgMagenta=fE;function mE(t){return q(t,H([46],49))}o(mE,"bgCyan");w.bgCyan=mE;function yE(t){return q(t,H([47],49))}o(yE,"bgWhite");w.bgWhite=yE;function gE(t){return q(t,H([100],49))}o(gE,"bgBrightBlack");w.bgBrightBlack=gE;function _E(t){return q(t,H([101],49))}o(_E,"bgBrightRed");w.bgBrightRed=_E;function bE(t){return q(t,H([102],49))}o(bE,"bgBrightGreen");w.bgBrightGreen=bE;function EE(t){return q(t,H([103],49))}o(EE,"bgBrightYellow");w.bgBrightYellow=EE;function wE(t){return q(t,H([104],49))}o(wE,"bgBrightBlue");w.bgBrightBlue=wE;function vE(t){return q(t,H([105],49))}o(vE,"bgBrightMagenta");w.bgBrightMagenta=vE;function TE(t){return q(t,H([106],49))}o(TE,"bgBrightCyan");w.bgBrightCyan=TE;function SE(t){return q(t,H([107],49))}o(SE,"bgBrightWhite");w.bgBrightWhite=SE;function jt(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o(jt,"clampAndTruncate");function IE(t,e){return q(t,H([38,5,jt(e)],39))}o(IE,"rgb8");w.rgb8=IE;function AE(t,e){return q(t,H([48,5,jt(e)],49))}o(AE,"bgRgb8");w.bgRgb8=AE;function PE(t,e){return typeof e=="number"?q(t,H([38,2,e>>16&255,e>>8&255,e&255],39)):q(t,H([38,2,jt(e.r),jt(e.g),jt(e.b)],39))}o(PE,"rgb24");w.rgb24=PE;function RE(t,e){return typeof e=="number"?q(t,H([48,2,e>>16&255,e>>8&255,e&255],49)):q(t,H([48,2,jt(e.r),jt(e.g),jt(e.b)],49))}o(RE,"bgRgb24");w.bgRgb24=RE;var OE=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 xE(t){return t.replace(OE,"")}o(xE,"stripColor");w.stripColor=xE;w.colorFunctions=[Kp,Jp,zp,Wp,Qp,Yp];function NE(t){let e=0,r=t.length,n=0;if(r>0)for(;n<r;)e=(e<<5)-e+t.charCodeAt(n++)|0;return e}o(NE,"hashCode");function CE(t){let e=Math.abs(NE(t));return w.colorFunctions[e%w.colorFunctions.length]}o(CE,"generateColor");w.generateColor=CE});var eh=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.format=void 0;function LE(t,e,...r){let n=0,i=r.length,s=String(e).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 t(r[n++]).split(`
|
|
26
|
-
`).map(c=>c.trim()).join(" ");case"%O":return
|
|
25
|
+
"use strict";var kb=Object.create;var Jn=Object.defineProperty;var Fb=Object.getOwnPropertyDescriptor;var Hb=Object.getOwnPropertyNames;var qb=Object.getPrototypeOf,$b=Object.prototype.hasOwnProperty;var o=(e,t)=>Jn(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),Ki=(e,t)=>{for(var r in t)Jn(e,r,{get:t[r],enumerable:!0})},jp=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Hb(t))!$b.call(e,i)&&i!==r&&Jn(e,i,{get:()=>t[i],enumerable:!(n=Fb(t,i))||n.enumerable});return e};var Vp=(e,t,r)=>(r=e!=null?kb(qb(e)):{},jp(t||!e||!e.__esModule?Jn(r,"default",{value:e,enumerable:!0}):r,e)),Ji=e=>jp(Jn({},"__esModule",{value:!0}),e);var L=g(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.FeatureNotEnabledError=ht.ConfigurationError=ht.RuntimeError=ht.SystemError=void 0;var Vc=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};ht.SystemError=Vc;var zn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};ht.RuntimeError=zn;var Gc=class extends zn{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};ht.ConfigurationError=Gc;var Bc=class extends zn{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};ht.FeatureNotEnabledError=Bc});var ee=g(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.Environment=void 0;var jb=L(),Kc=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new jb.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 authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};zi.Environment=Kc});var Jp=g(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});var Gp=ee();Function.prototype.toString=function(){return"[native code]"};var Wi=globalThis,Bp=Wi.caches;if(Bp){let e=Bp.open;Wi.caches.open=function(t){let r=Gp.Environment.instance.deploymentName??Gp.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete Wi.caches.default,Object.freeze(Wi.caches)}});var Wc=g(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.MemoryCache=void 0;var Vb=1e4,Gb=1e3,zp=new Map,Jc=class{static{o(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,s)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+Vb*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},zc=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:Gb}){this.name=t;let n=zp.get(t);n||(n=new Jc(r),zp.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()}};Qi.MemoryCache=zc});var Zc=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.ZoneCache=void 0;var Qc="__zuplo-expiry-header",Yc=class{static{o(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let s=i.headers.get(Qc);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Qc,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Qc,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};Yi.ZoneCache=Yc});var wr=g(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.MemoryZoneReadThroughCache=void 0;var Bb=Wc(),Kb=Zc(),Xc=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new Bb.MemoryCache(n),this.#r=new Kb.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(t,i,n).catch(s=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s)})}};Zi.MemoryZoneReadThroughCache=Xc});var Wp=g(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.VALID_COMPATIBILITY_DATES=void 0;Xi.VALID_COMPATIBILITY_DATES=Object.freeze(["2023-03-14"])});var Wn=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 ih=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 Qp=!0,eu=!Qp;function Jb(e){Qp||(eu=e)}o(Jb,"setColorEnabled");w.setColorEnabled=Jb;function zb(){return eu}o(zb,"getColorEnabled");w.getColorEnabled=zb;function H(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(H,"code");function q(e,t){return eu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function Wb(e){return q(e,H([0],0))}o(Wb,"reset");w.reset=Wb;function Qb(e){return q(e,H([1],22))}o(Qb,"bold");w.bold=Qb;function Yb(e){return q(e,H([2],22))}o(Yb,"dim");w.dim=Yb;function Zb(e){return q(e,H([3],23))}o(Zb,"italic");w.italic=Zb;function Xb(e){return q(e,H([4],24))}o(Xb,"underline");w.underline=Xb;function eE(e){return q(e,H([7],27))}o(eE,"inverse");w.inverse=eE;function tE(e){return q(e,H([8],28))}o(tE,"hidden");w.hidden=tE;function rE(e){return q(e,H([9],29))}o(rE,"strikethrough");w.strikethrough=rE;function nE(e){return q(e,H([30],39))}o(nE,"black");w.black=nE;function Yp(e){return q(e,H([31],39))}o(Yp,"red");w.red=Yp;function Zp(e){return q(e,H([32],39))}o(Zp,"green");w.green=Zp;function Xp(e){return q(e,H([33],39))}o(Xp,"yellow");w.yellow=Xp;function eh(e){return q(e,H([34],39))}o(eh,"blue");w.blue=eh;function th(e){return q(e,H([35],39))}o(th,"magenta");w.magenta=th;function rh(e){return q(e,H([36],39))}o(rh,"cyan");w.cyan=rh;function iE(e){return q(e,H([37],39))}o(iE,"white");w.white=iE;function oE(e){return nh(e)}o(oE,"gray");w.gray=oE;function nh(e){return q(e,H([90],39))}o(nh,"brightBlack");w.brightBlack=nh;function sE(e){return q(e,H([91],39))}o(sE,"brightRed");w.brightRed=sE;function aE(e){return q(e,H([92],39))}o(aE,"brightGreen");w.brightGreen=aE;function cE(e){return q(e,H([93],39))}o(cE,"brightYellow");w.brightYellow=cE;function uE(e){return q(e,H([94],39))}o(uE,"brightBlue");w.brightBlue=uE;function lE(e){return q(e,H([95],39))}o(lE,"brightMagenta");w.brightMagenta=lE;function dE(e){return q(e,H([96],39))}o(dE,"brightCyan");w.brightCyan=dE;function pE(e){return q(e,H([97],39))}o(pE,"brightWhite");w.brightWhite=pE;function hE(e){return q(e,H([40],49))}o(hE,"bgBlack");w.bgBlack=hE;function fE(e){return q(e,H([41],49))}o(fE,"bgRed");w.bgRed=fE;function mE(e){return q(e,H([42],49))}o(mE,"bgGreen");w.bgGreen=mE;function yE(e){return q(e,H([43],49))}o(yE,"bgYellow");w.bgYellow=yE;function gE(e){return q(e,H([44],49))}o(gE,"bgBlue");w.bgBlue=gE;function _E(e){return q(e,H([45],49))}o(_E,"bgMagenta");w.bgMagenta=_E;function bE(e){return q(e,H([46],49))}o(bE,"bgCyan");w.bgCyan=bE;function EE(e){return q(e,H([47],49))}o(EE,"bgWhite");w.bgWhite=EE;function wE(e){return q(e,H([100],49))}o(wE,"bgBrightBlack");w.bgBrightBlack=wE;function vE(e){return q(e,H([101],49))}o(vE,"bgBrightRed");w.bgBrightRed=vE;function TE(e){return q(e,H([102],49))}o(TE,"bgBrightGreen");w.bgBrightGreen=TE;function SE(e){return q(e,H([103],49))}o(SE,"bgBrightYellow");w.bgBrightYellow=SE;function IE(e){return q(e,H([104],49))}o(IE,"bgBrightBlue");w.bgBrightBlue=IE;function AE(e){return q(e,H([105],49))}o(AE,"bgBrightMagenta");w.bgBrightMagenta=AE;function PE(e){return q(e,H([106],49))}o(PE,"bgBrightCyan");w.bgBrightCyan=PE;function RE(e){return q(e,H([107],49))}o(RE,"bgBrightWhite");w.bgBrightWhite=RE;function Vt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(Vt,"clampAndTruncate");function OE(e,t){return q(e,H([38,5,Vt(t)],39))}o(OE,"rgb8");w.rgb8=OE;function xE(e,t){return q(e,H([48,5,Vt(t)],49))}o(xE,"bgRgb8");w.bgRgb8=xE;function NE(e,t){return typeof t=="number"?q(e,H([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,H([38,2,Vt(t.r),Vt(t.g),Vt(t.b)],39))}o(NE,"rgb24");w.rgb24=NE;function CE(e,t){return typeof t=="number"?q(e,H([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,H([48,2,Vt(t.r),Vt(t.g),Vt(t.b)],49))}o(CE,"bgRgb24");w.bgRgb24=CE;var LE=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 DE(e){return e.replace(LE,"")}o(DE,"stripColor");w.stripColor=DE;w.colorFunctions=[Yp,Zp,Xp,eh,th,rh];function UE(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}o(UE,"hashCode");function ME(e){let t=Math.abs(UE(e));return w.colorFunctions[t%w.colorFunctions.length]}o(ME,"generateColor");w.generateColor=ME});var oh=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.format=void 0;function kE(e,t,...r){let n=0,i=r.length,s=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
|
|
26
|
+
`).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+e(a);return s}o(kE,"format");eo.format=kE});var dh=g(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.inspect=void 0;function vr(e,t,r,n){let i={seen:[],stylize:FE,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=qE),to(i,e,i.depth)}o(vr,"inspect");ro.inspect=vr;vr.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};vr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function FE(e,t){return e}o(FE,"stylizeNoColor");function HE(e){return typeof e=="boolean"}o(HE,"isBoolean");function ah(e){return e===void 0}o(ah,"isUndefined");function qE(e,t){let r=vr.styles[t];return r?"\x1B["+vr.colors[r][0]+"m"+e+"\x1B["+vr.colors[r][1]+"m":e}o(qE,"stylizeWithColor");function tu(e){return typeof e=="function"}o(tu,"isFunction");function ch(e){return typeof e=="string"}o(ch,"isString");function $E(e){return typeof e=="number"}o($E,"isNumber");function uh(e){return e===null}o(uh,"isNull");function lh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(lh,"hasOwn");function ru(e){return su(e)&&au(e)==="[object RegExp]"}o(ru,"isRegExp");function su(e){return typeof e=="object"&&e!==null}o(su,"isObject");function nu(e){return su(e)&&(au(e)==="[object Error]"||e instanceof Error)}o(nu,"isError");function sh(e){return su(e)&&au(e)==="[object Date]"}o(sh,"isDate");function au(e){return Object.prototype.toString.call(e)}o(au,"objectToString");function jE(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(jE,"arrayToHash");function VE(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)lh(t,String(a))?s.push(ou(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(ou(e,t,r,n,a,!0))}),s}o(VE,"formatArray");function iu(e){return"["+Error.prototype.toString.call(e)+"]"}o(iu,"formatError");function to(e,t,r){if(e.customInspect&&t&&tu(t.inspect)&&t.inspect!==vr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return ch(d)||(d=to(e,d,r)),d}let n=GE(e,t);if(n)return n;let i=Object.keys(t),s=jE(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(nu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return iu(t);if(i.length===0){if(tu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(ru(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(sh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(nu(t))return iu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),tu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),ru(t)&&(a=" "+RegExp.prototype.toString.call(t)),sh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),nu(t)&&(a=" "+iu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return ru(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=VE(e,t,r,s,i):l=i.map(function(d){return ou(e,t,r,s,d,c)}),e.seen.pop(),BE(l,a,u)}o(to,"formatValue");function ou(e,t,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),lh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(uh(r)?c=to(e,u.value,null):c=to(e,u.value,r-1),c.indexOf(`
|
|
27
27
|
`)>-1&&(s?c=c.split(`
|
|
28
28
|
`).map(function(l){return" "+l}).join(`
|
|
29
29
|
`).substr(2):c=`
|
|
30
30
|
`+c.split(`
|
|
31
31
|
`).map(function(l){return" "+l}).join(`
|
|
32
|
-
`))):c=
|
|
33
|
-
`)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(
|
|
34
|
-
`)+" "+
|
|
35
|
-
`)+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}o($E,"reduceToSingleString")});var ah=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.format=void 0;var jE=eh(),VE=sh(),GE=o((t,...e)=>(0,jE.format)(VE.inspect,t,e),"format");eo.format=GE});var Er=g(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.debug=Vt.withoutEnv=Vt.Debugger=void 0;var BE=Xp(),KE=ah(),to=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,BE.generateColor)(r),this.last=0,this.enabled=e.enabled.some(n=>n.test(r))}log(...e){if(!this.enabled)return;let r,n=e[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,KE.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Vt.Debugger=to;var ro=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function ch(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(ch,"extract");var zn;function JE(t){t||(t=[]),typeof t=="string"&&(t=ch(t)),zn=new ro(t)}o(JE,"withoutEnv");Vt.withoutEnv=JE;function zE(t){let e=globalThis.DEBUG;zn||(zn=new ro(ch(e)));let r=new to(zn,t);return zn.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(zE,"debug");Vt.debug=zE});var io=g(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.ProblemResponseFormatter=Fr.InternalProblemResponseFormatter=void 0;var WE=D(),no=class t{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async e=>{let r=e.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:e.problem.status,statusText:e.statusText,headers:{...e.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(e){e&&(t.problemResponseFormat=(r,n,i)=>{try{return e(r,n,i)}catch(s){throw new WE.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};Fr.InternalProblemResponseFormatter=no;var ou=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await no.problemResponseFormat(e,r,n)}};Fr.ProblemResponseFormatter=ou});var Rt=g(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.initializeRuntime=me.invokeOnResponseSendingFinalExtensions=me.invokeOnResponseSendingExtensions=me.invokeOnRequestExtensions=me.plugins=me.runtimeExtensions=me.InitializableRuntimePlugin=me.RuntimePlugin=void 0;var QE=io(),so=class{static{o(this,"RuntimePlugin")}};me.RuntimePlugin=so;var ao=class extends so{static{o(this,"InitializableRuntimePlugin")}};me.InitializableRuntimePlugin=ao;me.runtimeExtensions={};var su=[];me.plugins=su;var uh=[],lh=[],dh=[],oo={addPlugin(t){su.push(t)},addRequestHook(t){uh.push(t)},addResponseSendingHook(t){lh.push(t)},addResponseSendingFinalHook(t){dh.push(t)}},YE=o(async(t,e)=>{let r=t;for(let n of uh)if(r=await n(r,e),r instanceof Response)return r;return r},"invokeOnRequestExtensions");me.invokeOnRequestExtensions=YE;var ZE=o(async(t,e,r)=>{let n=t;for(let i of lh)n=await i(t,e,r);return n},"invokeOnResponseSendingExtensions");me.invokeOnResponseSendingExtensions=ZE;var XE=o(async(t,e,r)=>{for(let n of dh)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");me.invokeOnResponseSendingFinalExtensions=XE;async function ew(t=()=>Promise.resolve()){await t(oo),me.runtimeExtensions.value=oo;let e=su.filter(r=>r instanceof ao);for(let r of e)await r.initialize(oo);QE.InternalProblemResponseFormatter.setProblemResponseFormat(oo.problemResponseFormat)}o(ew,"initializeRuntime");me.initializeRuntime=ew});var Gt=g(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.Pipeline=void 0;var tw=ke(),au=wr(),ph=Rt(),cu=class{static{o(this,"Pipeline")}constructor(e,r,n){this.execute=this.#t(e,r,n)}execute;#e=(e,r)=>async(n,i)=>{try{return await e(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=(e,r,n)=>async(i,s)=>{let a=[...e],c=o(async m=>{let v=a.pop();return v?v(i,s,n,c):await this.#e(async S=>{let k=await r(S,s);return rw(k)},n)(m,s)},"nextPipe"),l=await c(i),d=new au.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=au.ZuploContextExtensions.getContextExtensions(s),y=p.latestRequest,h;try{h=await d.mutableResponse}catch(m){return s.log.error(m),n.errorHandler(i,s,m)}try{h=await p.onResponseSending(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),n.errorHandler(i,s,m)}try{h=await(0,ph.invokeOnResponseSendingExtensions)(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),n.errorHandler(i,s,m)}s.dispatchEvent(new au.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}try{await(0,ph.invokeOnResponseSendingFinalExtensions)(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}return h}};co.Pipeline=cu;function rw(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,tw.serialize)(t),{headers:{"content-type":"application/json"}})}o(rw,"resultToResponse")});var lo=g(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.MetricsPlugin=void 0;var nw=Rt(),uu=class extends nw.RuntimePlugin{static{o(this,"MetricsPlugin")}};uo.MetricsPlugin=uu});var Be=g(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.SystemLogMap=void 0;var iw=D(),lu=class t{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(e){let r=t.#e.get(e);if(!r){let n=`No system logger found for context with requestId '${e.requestId}'`;throw console.error(n),new iw.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};po.SystemLogMap=lu});var we=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.BatchDispatch=void 0;var du=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=e=>{this.#i.push(e),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}};ho.BatchDispatch=du});var fh=g(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.EllieMetricsTransport=void 0;var hh=Be(),ow=we(),fo=ee(),pu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=fo.Environment.instance.loggingId,this.#e=e,this.#t=new ow.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,hh.SystemLogMap.getLogger(e))}pushMetrics(e,r){this.#r!==void 0&&(this.#t.enqueue(e),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async e=>{if(e.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=fo.Environment.instance,a=e.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":fo.Environment.instance.deploymentName??"unknown","user-agent":fo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();hh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};mo.EllieMetricsTransport=pu});var ft=g(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.systemNoVersion=vr.SystemRouteConfiguration=void 0;var hu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:e,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=e,this.path=r,this.methods=n,this.corsPolicy=s,this.version=vr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};vr.SystemRouteConfiguration=hu;vr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Tr=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.metricsProcessor=void 0;var mh=Jn(),sw=wr(),aw=Rt(),cw=lo(),uw=fh(),lw=ft(),dw=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(mh.RAY_ID_HEADER)??void 0,u=t.headers.get(mh.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof lw.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=sw.ZuploContextExtensions.getContextExtensions(e).latestRequest,y={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:t.headers.get("content-length")?Number(t.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:e.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:e.requestId,method:t.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 uw.EllieMetricsTransport(e)),aw.plugins.forEach(m=>{if(m instanceof cw.MetricsPlugin){let v=m.getTransport();h.push(v)}}),h.forEach(m=>{m.pushMetrics(y,e)}),a},"metricsProcessor");yo.metricsProcessor=dw});var gh=g(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.SystemRouteName=void 0;var yh;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(yh||(go.SystemRouteName=yh={}))});var bh=g(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0})});var Sr=g(Bt=>{"use strict";var pw=Bt&&Bt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Eh=Bt&&Bt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&pw(e,t,r)};Object.defineProperty(Bt,"__esModule",{value:!0});Eh(gh(),Bt);Eh(bh(),Bt)});var wh=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.registerBuildRoute=void 0;var hw=Ot(),fw=Gt(),mw=Tr(),yw=Sr(),gw=ft(),_w=Be(),bw=ee(),Ew=o((t,e)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return hw.HttpProblems.notFound(s,a);let l=bw.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&_w.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 fw.Pipeline([mw.metricsProcessor],r,e),i=new gw.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:yw.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");_o.registerBuildRoute=Ew});var fu=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.HTTP_STATUS_TITLES=Hr.HttpStatusCode=void 0;var vh;(function(t){t[t.CONTINUE=100]="CONTINUE",t[t.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",t[t.PROCESSING=102]="PROCESSING",t[t.EARLY_HINTS=103]="EARLY_HINTS",t[t.OK=200]="OK",t[t.CREATED=201]="CREATED",t[t.ACCEPTED=202]="ACCEPTED",t[t.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",t[t.NO_CONTENT=204]="NO_CONTENT",t[t.RESET_CONTENT=205]="RESET_CONTENT",t[t.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",t[t.MULTI_STATUS=207]="MULTI_STATUS",t[t.ALREADY_REPORTED=208]="ALREADY_REPORTED",t[t.IM_USED=226]="IM_USED",t[t.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",t[t.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",t[t.FOUND=302]="FOUND",t[t.SEE_OTHER=303]="SEE_OTHER",t[t.NOT_MODIFIED=304]="NOT_MODIFIED",t[t.USE_PROXY=305]="USE_PROXY",t[t.SWITCH_PROXY=306]="SWITCH_PROXY",t[t.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",t[t.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",t[t.BAD_REQUEST=400]="BAD_REQUEST",t[t.UNAUTHORIZED=401]="UNAUTHORIZED",t[t.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",t[t.FORBIDDEN=403]="FORBIDDEN",t[t.NOT_FOUND=404]="NOT_FOUND",t[t.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",t[t.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",t[t.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",t[t.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",t[t.CONFLICT=409]="CONFLICT",t[t.GONE=410]="GONE",t[t.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",t[t.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",t[t.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",t[t.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",t[t.URI_TOO_LONG=414]="URI_TOO_LONG",t[t.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",t[t.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",t[t.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",t[t.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",t[t.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",t[t.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",t[t.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",t[t.LOCKED=423]="LOCKED",t[t.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",t[t.TOO_EARLY=425]="TOO_EARLY",t[t.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",t[t.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",t[t.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",t[t.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",t[t.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",t[t.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",t[t.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",t[t.BAD_GATEWAY=502]="BAD_GATEWAY",t[t.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",t[t.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",t[t.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",t[t.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",t[t.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",t[t.LOOP_DETECTED=508]="LOOP_DETECTED",t[t.NOT_EXTENDED=510]="NOT_EXTENDED",t[t.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(vh||(Hr.HttpStatusCode=vh={}));Hr.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 ve=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.HttpProblems=void 0;var ww=ke(),vw=Jn(),O=fu(),Tw=ee(),mu=io();function Sw(t){return`${new URL(t.url).pathname}`}o(Sw,"instance");function Iw(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:Tw.Environment.instance.build.BUILD_ID},n=t.headers.get(vw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(Iw,"trace");var Aw=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:Sw(e),trace:Iw(e,r),...n},additionalHeaders:i,statusText:ww.httpStatuses[t.status]}),"merge"),yu=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?mu.ProblemResponseFormatter.format(e,r,n):mu.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:O.HTTP_STATUS_TITLES[e],...r}}},gu=class extends yu{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=Aw(this.getProblemFromStatus(e),r,n,i,s);return mu.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(O.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(O.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(O.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};bo.HttpProblems=gu});var _u=g(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.generateCorsHeaders=qr.findMatchingOrigin=void 0;var Pw=o((t,e)=>{if(e!==null)if(t){let r=Eo(t).split(",");if(r.find(c=>c==="*"))return e;let i=r.map(c=>c.trim().toLowerCase()),s=e.toLowerCase();return i.find(c=>c===s)}else return},"findMatchingOrigin");qr.findMatchingOrigin=Pw;var Rw=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=Eo(t.allowedHeaders)),t.allowedMethods&&(r["access-control-allow-methods"]=Eo(t.allowedMethods)),t.exposeHeaders&&(r["access-control-expose-headers"]=Eo(t.exposeHeaders));let n=t.allowCredentials?.toString()??void 0;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");qr.generateCorsHeaders=Rw;var Eo=o(t=>Array.isArray(t)?t.map(e=>e.trim()).join(", "):t,"normalizePolicies")});var Sh=g(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.registerCorsRoute=void 0;var Ow=D(),xw=Gt(),bu=ve(),Nw=Tr(),Cw=Sr(),Lw=ft(),Th=_u(),Dw=o((t,e)=>{let r=e.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return bu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let y=t.lookup(l,u);if(!y)return bu.HttpProblems.notFound(a,c);let h=y.routeConfiguration,m=Uw(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):bu.HttpProblems.notFound(a,c)},"optionsHandler"),i=new xw.Pipeline([Nw.metricsProcessor],n,e),s=new Lw.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Cw.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");wo.registerCorsRoute=Dw;var Uw=o((t,e,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":t,"access-control-allow-headers":e??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return s;let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new Ow.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section`);let c=(0,Th.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Th.generateCorsHeaders)(a,c)}:s},"validateAndBuildResponseHeaders")});var Ih=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.registerNoRoutes=void 0;var Mw=Gt(),kw=Tr(),Fw=Sr(),Hw=ft(),qw=o((t,e)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new Mw.Pipeline([kw.metricsProcessor],r,e),i=new Hw.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Fw.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");vo.registerNoRoutes=qw});var Ah=g(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.registerNotMatchedHandler=Ir.notFoundRouteConfiguration=void 0;var $w=wr(),jw=Rt(),Vw=Gt(),Gw=ve(),Bw=Tr(),Kw=Sr(),Jw=ft();Ir.notFoundRouteConfiguration=new Jw.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Kw.SystemRouteName.UnmatchedPath});var zw=o((t,e)=>{let r=o(async(i,s)=>{let a=jw.runtimeExtensions.value?.notFoundHandler;if(a){let c=$w.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Gw.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new Vw.Pipeline([Bw.metricsProcessor],r,e);t.addRoute(Ir.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Ir.registerNotMatchedHandler=zw});var Eu=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.corsProcessor=void 0;var Oh=D(),Ph=_u(),Ww=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Rh=o(t=>{Ww.forEach(e=>t.delete(e))},"stripCorsHeaders"),Qw=o(async(t,e,r,n)=>{let i=e.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(t),p=new Headers(d.headers);return Rh(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(t);if(!(s instanceof Response))throw new Oh.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=Yw(i,r.routeData.corsPolicies),c=Zw(t,a),u=new Headers(s.headers);return Rh(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");To.corsProcessor=Qw;var Yw=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:["*"],allowedOrigins:["*"],allowedMethods:t.methods,exposeHeaders:["*"],allowCredentials:!0,maxAge:600};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new Oh.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),Zw=o((t,e)=>{let r=(0,Ph.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,Ph.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var xh=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.registerPingRoute=void 0;var Xw=Gt(),ev=Eu(),tv=Sr(),rv=ft(),nv=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new Xw.Pipeline([ev.corsProcessor],r,e),i=new rv.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:tv.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");So.registerPingRoute=nv});var Ch=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.deepFreeze=void 0;function Nh(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&Nh(r)}return Object.freeze(t)}o(Nh,"deepFreeze");Io.deepFreeze=Nh});var Wn=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.ZuploRequest=void 0;var Lh=Ch(),wu=class t extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(e,r){super(e,r);let n=r?.params;n?this.#t=n:e instanceof t?this.#t=e.#t:this.#t={};let i=r?.user;i?this.user=i:e instanceof t&&(this.user=e.user)}get query(){if(this.#e===void 0){this.#e={};let e=new URL(this.url).searchParams;for(let[r,n]of e.entries())this.#e[r]=n}return(0,Lh.deepFreeze)(this.#e)}get params(){return(0,Lh.deepFreeze)(this.#t)}user};Ao.ZuploRequest=wu});var Qn=g(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.policyProcessor=xt.toStackedInboundHandler=xt.getInboundPolicyHandlerAndOptions=void 0;var iv=wr(),$r=D(),Dh=Wn();function Uh(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.map(s=>{let a=e?.find(u=>u.name===s);if(!a)throw new $r.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(Uh,"getInboundPolicyHandlerAndOptions");xt.getInboundPolicyHandlerAndOptions=Uh;function ov(t,e){return(t.policies?.outbound??[]).map(i=>{let s=e?.find(c=>c.name===i);if(!s)throw new $r.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(ov,"getOutboundPolicyHandlerAndOptions");var sv=o(t=>async(e,r)=>{let n=iv.ZuploContextExtensions.getContextExtensions(r),i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof Dh.ZuploRequest)s=c;else if(c instanceof Request)s=new Dh.ZuploRequest(c);else{if(c instanceof Response)return c;throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");xt.toStackedInboundHandler=sv;var av=o(t=>async(e,r,n)=>{let i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),cv=o(async(t,e,r,n)=>{let i=Uh(e.route,r.routeData.policies),s=ov(e.route,r.routeData.policies),a=(0,xt.toStackedInboundHandler)(i);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await n(c),l=av(s);return u.ok?l(u,t,e):u}catch(c){return e.log.error(c),r.errorHandler(t,e,c)}},"policyProcessor");xt.policyProcessor=cv});var Mh=g(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.serialize=jr.parse=void 0;var uv=Object.prototype.toString,Po=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function lv(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||pv,s=0;for(;s<t.length;){let a=t.indexOf("=",s);if(a===-1)break;let c=t.indexOf(";",s);if(c===-1)c=t.length;else if(c<a){s=t.lastIndexOf(";",a-1)+1;continue}let u=t.slice(s,a).trim();if(r[u]===void 0){let l=t.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=mv(l,i)}s=c+1}return r}o(lv,"parse");jr.parse=lv;function dv(t,e,r){let n=r||{},i=n.encode||hv;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Po.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!Po.test(s))throw new TypeError("argument val is invalid");let a=t+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Po.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Po.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!fv(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(dv,"serialize");jr.serialize=dv;function pv(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(pv,"decode");function hv(t){return encodeURIComponent(t)}o(hv,"encode");function fv(t){return uv.call(t)==="[object Date]"||t instanceof Date}o(fv,"isDate");function mv(t,e){try{return e(t)}catch{return t}}o(mv,"tryDecode")});var kh=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.devPortalBaseURL=void 0;var yv=Mh();function gv(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,yv.parse)(e.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:t}catch{}return t}o(gv,"devPortalBaseURL");Ro.devPortalBaseURL=gv});var jh=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.registerDevPortalLegacyRedirectRoute=Vr.registerDevPortalV3Route=void 0;var vu=Ot(),Hh=Gt(),qh=Tr(),_v=Qn(),$h=ft(),bv=kh(),Kt=ee(),Fh="/__zuplo/dev-portal",Ev="dev-portal-id",wv="dev-portal-host",vv="zp-account",Tv="zp-project",Sv="dev-portal-build",Iv=`
|
|
32
|
+
`))):c=e.stylize("[Circular]","special")),ah(a)){if(s&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}o(ou,"formatProperty");function GE(e,t){if(ah(t))return e.stylize("undefined","undefined");if(ch(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if($E(t))return e.stylize(""+t,"number");if(HE(t))return e.stylize(""+t,"boolean");if(uh(t))return e.stylize("null","null")}o(GE,"formatPrimitive");function BE(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
|
|
33
|
+
`)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
|
|
34
|
+
`)+" "+e.join(`,
|
|
35
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(BE,"reduceToSingleString")});var ph=g(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.format=void 0;var KE=oh(),JE=dh(),zE=o((e,...t)=>(0,KE.format)(JE.inspect,e,t),"format");no.format=zE});var Tr=g(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.debug=Gt.withoutEnv=Gt.Debugger=void 0;var WE=ih(),QE=ph(),io=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,WE.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,QE.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Gt.Debugger=io;var oo=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function hh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(hh,"extract");var Qn;function YE(e){e||(e=[]),typeof e=="string"&&(e=hh(e)),Qn=new oo(e)}o(YE,"withoutEnv");Gt.withoutEnv=YE;function ZE(e){let t=globalThis.DEBUG;Qn||(Qn=new oo(hh(t)));let r=new io(Qn,e);return Qn.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(ZE,"debug");Gt.debug=ZE});var ao=g(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.ProblemResponseFormatter=jr.InternalProblemResponseFormatter=void 0;var XE=L(),so=class e{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(s){throw new XE.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};jr.InternalProblemResponseFormatter=so;var cu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await so.problemResponseFormat(t,r,n)}};jr.ProblemResponseFormatter=cu});var Ot=g(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.initializeRuntime=me.invokeOnResponseSendingFinalExtensions=me.invokeOnResponseSendingExtensions=me.invokeOnRequestExtensions=me.plugins=me.runtimeExtensions=me.InitializableRuntimePlugin=me.RuntimePlugin=void 0;var ew=ao(),uo=class{static{o(this,"RuntimePlugin")}};me.RuntimePlugin=uo;var lo=class extends uo{static{o(this,"InitializableRuntimePlugin")}};me.InitializableRuntimePlugin=lo;me.runtimeExtensions={};var uu=[];me.plugins=uu;var fh=[],mh=[],yh=[],co={addPlugin(e){uu.push(e)},addRequestHook(e){fh.push(e)},addResponseSendingHook(e){mh.push(e)},addResponseSendingFinalHook(e){yh.push(e)}},tw=o(async(e,t)=>{let r=e;for(let n of fh)if(r=await n(r,t),r instanceof Response)return r;return r},"invokeOnRequestExtensions");me.invokeOnRequestExtensions=tw;var rw=o(async(e,t,r)=>{let n=e;for(let i of mh)n=await i(e,t,r);return n},"invokeOnResponseSendingExtensions");me.invokeOnResponseSendingExtensions=rw;var nw=o(async(e,t,r)=>{for(let n of yh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");me.invokeOnResponseSendingFinalExtensions=nw;async function iw(e=()=>Promise.resolve()){await e(co),me.runtimeExtensions.value=co;let t=uu.filter(r=>r instanceof lo);for(let r of t)await r.initialize(co);ew.InternalProblemResponseFormatter.setProblemResponseFormat(co.problemResponseFormat)}o(iw,"initializeRuntime");me.initializeRuntime=iw});var Bt=g(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.Pipeline=void 0;var ow=ke(),lu=Sr(),gh=Ot(),du=class{static{o(this,"Pipeline")}constructor(t,r,n){this.execute=this.#t(t,r,n)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=(t,r,n)=>async(i,s)=>{let a=[...t],c=o(async m=>{let v=a.pop();return v?v(i,s,n,c):await this.#e(async S=>{let k=await r(S,s);return sw(k)},n)(m,s)},"nextPipe"),l=await c(i),d=new lu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=lu.ZuploContextExtensions.getContextExtensions(s),y=p.latestRequest,h;try{h=await d.mutableResponse}catch(m){return s.log.error(m),n.errorHandler(i,s,m)}try{h=await p.onResponseSending(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),n.errorHandler(i,s,m)}try{h=await(0,gh.invokeOnResponseSendingExtensions)(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),n.errorHandler(i,s,m)}s.dispatchEvent(new lu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}try{await(0,gh.invokeOnResponseSendingFinalExtensions)(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}return h}};po.Pipeline=du;function sw(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,ow.serialize)(e),{headers:{"content-type":"application/json"}})}o(sw,"resultToResponse")});var fo=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.MetricsPlugin=void 0;var aw=Ot(),pu=class extends aw.RuntimePlugin{static{o(this,"MetricsPlugin")}};ho.MetricsPlugin=pu});var Be=g(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.SystemLogMap=void 0;var cw=L(),hu=class e{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new cw.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};mo.SystemLogMap=hu});var we=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.BatchDispatch=void 0;var fu=class{static{o(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};yo.BatchDispatch=fu});var bh=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.EllieMetricsTransport=void 0;var _h=Be(),uw=we(),go=ee(),mu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=go.Environment.instance.loggingId,this.#e=t,this.#t=new uw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,_h.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=go.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":go.Environment.instance.deploymentName??"unknown","user-agent":go.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();_h.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};_o.EllieMetricsTransport=mu});var ft=g(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.systemNoVersion=Ir.SystemRouteConfiguration=void 0;var yu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Ir.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Ir.SystemRouteConfiguration=yu;Ir.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Ar=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.metricsProcessor=void 0;var Eh=Wn(),lw=Sr(),dw=Ot(),pw=fo(),hw=bh(),fw=ft(),mw=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(Eh.RAY_ID_HEADER)??void 0,u=e.headers.get(Eh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof fw.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=lw.ZuploContextExtensions.getContextExtensions(t).latestRequest,y={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new hw.EllieMetricsTransport(t)),dw.plugins.forEach(m=>{if(m instanceof pw.MetricsPlugin){let v=m.getTransport();h.push(v)}}),h.forEach(m=>{m.pushMetrics(y,t)}),a},"metricsProcessor");bo.metricsProcessor=mw});var vh=g(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.SystemRouteName=void 0;var wh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(wh||(Eo.SystemRouteName=wh={}))});var Sh=g(Th=>{"use strict";Object.defineProperty(Th,"__esModule",{value:!0})});var Pr=g(Kt=>{"use strict";var yw=Kt&&Kt.__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]}),Ih=Kt&&Kt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&yw(t,e,r)};Object.defineProperty(Kt,"__esModule",{value:!0});Ih(vh(),Kt);Ih(Sh(),Kt)});var Ah=g(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.registerBuildRoute=void 0;var gw=xt(),_w=Bt(),bw=Ar(),Ew=Pr(),ww=ft(),vw=Be(),Tw=ee(),Sw=o((e,t)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return gw.HttpProblems.notFound(s,a);let l=Tw.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&vw.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 _w.Pipeline([bw.metricsProcessor],r,t),i=new ww.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Ew.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");wo.registerBuildRoute=Sw});var gu=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.HTTP_STATUS_TITLES=Vr.HttpStatusCode=void 0;var Ph;(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"})(Ph||(Vr.HttpStatusCode=Ph={}));Vr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var ve=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.HttpProblems=void 0;var Iw=ke(),Aw=Wn(),O=gu(),Pw=ee(),_u=ao();function Rw(e){return`${new URL(e.url).pathname}`}o(Rw,"instance");function Ow(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Pw.Environment.instance.build.BUILD_ID},n=e.headers.get(Aw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(Ow,"trace");var xw=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:Rw(t),trace:Ow(t,r),...n},additionalHeaders:i,statusText:Iw.httpStatuses[e.status]}),"merge"),bu=class{static{o(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:O.HTTP_STATUS_TITLES[t],...r}}},Eu=class extends bu{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=xw(this.getProblemFromStatus(t),r,n,i,s);return _u.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)};vo.HttpProblems=Eu});var Jt=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:Nw}=Object.prototype,{propertyIsEnumerable:Cw}=Object.prototype;function Rh(e){return Nw.call(e)}o(Rh,"toString");U.toString=Rh;function To(e){return typeof e=="string"}o(To,"isString");U.isString=To;function Lw(e){return To(e)&&e!==""}o(Lw,"isNonEmptyString");U.isNonEmptyString=Lw;function Dw(e){return Array.isArray(e)&&e.every(t=>To(t))}o(Dw,"isStringArray");U.isStringArray=Dw;function Uw(e){return Rh(e)==="[object RegExp]"}o(Uw,"isRegexp");U.isRegexp=Uw;function Mw(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Cw.call(e,t))]}o(Mw,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=Mw;function wu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(wu,"isObject");U.isObject=wu;function kw(e){return wu(e)&&Array.isArray(e)}o(kw,"isArray");U.isArray=kw;function Fw(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(Fw,"isTypedArray");U.isTypedArray=Fw;function Hw(e){return typeof e=="number"&&!isNaN(e)}o(Hw,"isNumber");U.isNumber=Hw;function qw(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(qw,"isIterable");U.isIterable=qw;function $w(e){return e===!0||e===!1}o($w,"isBoolean");U.isBoolean=$w;function Oh(e){return typeof e>"u"}o(Oh,"isUndefined");U.isUndefined=Oh;function jw(e){return!Yn(e)}o(jw,"isDefined");U.isDefined=jw;function Yn(e){return Oh(e)||e===null}o(Yn,"isUndefinedOrNull");U.isUndefinedOrNull=Yn;function Vw(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(Vw,"assertType");U.assertType=Vw;function Gw(e){if(Yn(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(Gw,"assertIsDefined");U.assertIsDefined=Gw;function Bw(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(Yn(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(Bw,"assertAllDefined");U.assertAllDefined=Bw;var Kw=Object.prototype.hasOwnProperty;function Jw(e){if(!wu(e))return!1;for(let t in e)if(Kw.call(e,t))return!1;return!0}o(Jw,"isEmptyObject");U.isEmptyObject=Jw;function vu(e){return typeof e=="function"}o(vu,"isFunction");U.isFunction=vu;function zw(...e){return e.length>0&&e.every(vu)}o(zw,"areFunctions");U.areFunctions=zw;function Ww(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)xh(e[n],t[n])}o(Ww,"validateConstraints");U.validateConstraints=Ww;function xh(e,t){if(To(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(!Yn(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(xh,"validateConstraint");U.validateConstraint=xh;function Qw(e){return e===null?void 0:e}o(Qw,"withNullAsUndefined");U.withNullAsUndefined=Qw;function Yw(e){return typeof e>"u"?null:e}o(Yw,"withUndefinedAsNull");U.withUndefinedAsNull=Yw;function Zw(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(Zw,"isErrorLike");U.isErrorLike=Zw});var Zn=g(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.parseValueToBoolean=mt.parseValueToStringArray=mt.getValueFromRequestUser=mt.statusCodesStringToNumberArray=void 0;var Gr=L(),Tu=Jt(),Nh=new Map;function Xw(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=Nh.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return Nh.set(e,n),n}o(Xw,"statusCodesStringToNumberArray");mt.statusCodesStringToNumberArray=Xw;function ev(e,t,r){if(!t.startsWith("."))throw new Gr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(s=>{if(i===void 0)throw new Gr.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(ev,"getValueFromRequestUser");mt.getValueFromRequestUser=ev;function tv(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Gr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Tu.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Gr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(tv,"parseValueToStringArray");mt.parseValueToStringArray=tv;function rv(e){if((0,Tu.isBoolean)(e))return e;if((0,Tu.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Gr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Gr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(rv,"parseValueToBoolean");mt.parseValueToBoolean=rv});var Io=g(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.generateCorsHeaders=zt.findMatchingOrigin=zt.parseCorsPolicies=void 0;var Rr=L(),Ch=Zn(),So=Jt();function nv(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,So.isObject)(r))throw new Rr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,So.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,So.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,So.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=Su(r,"allowedHeaders"),i=Su(r,"allowedMethods"),s=Su(r,"exposeHeaders"),a;try{a=(0,Ch.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:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(nv,"parseCorsPolicies");zt.parseCorsPolicies=nv;function Su(e,t){let r;if(e[t]!==void 0)try{r=(0,Ch.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}o(Su,"parseOptionalProperty");var iv=o((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");zt.findMatchingOrigin=iv;var ov=o((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");zt.generateCorsHeaders=ov});var Dh=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.registerCorsRoute=void 0;var sv=L(),av=Bt(),Iu=ve(),cv=Ar(),uv=Pr(),lv=ft(),Lh=Io(),dv=o((e,t)=>{let r=t.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return Iu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let y=e.lookup(l,u);if(!y)return Iu.HttpProblems.notFound(a,c);let h=y.routeConfiguration,m=pv(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):(m.error&&c.log.warn(m.error),Iu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new av.Pipeline([cv.metricsProcessor],n,t),s=new lv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:uv.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");Ao.registerCorsRoute=dv;var pv=o((e,t,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...s,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new sv.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Lh.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Lh.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Uh=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.registerNoRoutes=void 0;var hv=Bt(),fv=Ar(),mv=Pr(),yv=ft(),gv=o((e,t)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new hv.Pipeline([fv.metricsProcessor],r,t),i=new yv.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:mv.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Po.registerNoRoutes=gv});var Mh=g(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.registerNotMatchedHandler=Or.notFoundRouteConfiguration=void 0;var _v=Sr(),bv=Ot(),Ev=Bt(),wv=ve(),vv=Ar(),Tv=Pr(),Sv=ft();Or.notFoundRouteConfiguration=new Sv.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Tv.SystemRouteName.UnmatchedPath});var Iv=o((e,t)=>{let r=o(async(i,s)=>{let a=bv.runtimeExtensions.value?.notFoundHandler;if(a){let c=_v.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return wv.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new Ev.Pipeline([vv.metricsProcessor],r,t);e.addRoute(Or.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Or.registerNotMatchedHandler=Iv});var Au=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.corsProcessor=void 0;var Hh=L(),kh=Io(),Av=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Fh=o(e=>{Av.forEach(t=>e.delete(t))},"stripCorsHeaders"),Pv=o(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return Fh(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(e);if(!(s instanceof Response))throw new Hh.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=Rv(i,r.routeData.corsPolicies),c=Ov(e,a),u=new Headers(s.headers);return Fh(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");Ro.corsProcessor=Pv;var Rv=o((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new Hh.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),Ov=o((e,t)=>{let r=(0,kh.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,kh.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var qh=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.registerPingRoute=void 0;var xv=Bt(),Nv=Au(),Cv=Pr(),Lv=ft(),Dv=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new xv.Pipeline([Nv.corsProcessor],r,t),i=new Lv.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:Cv.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Oo.registerPingRoute=Dv});var jh=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.deepFreeze=void 0;function $h(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&$h(r)}return Object.freeze(e)}o($h,"deepFreeze");xo.deepFreeze=$h});var Xn=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.ZuploRequest=void 0;var Vh=jh(),Pu=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){this.#e={};let t=new URL(this.url).searchParams;for(let[r,n]of t.entries())this.#e[r]=n}return(0,Vh.deepFreeze)(this.#e)}get params(){return(0,Vh.deepFreeze)(this.#t)}user};No.ZuploRequest=Pu});var ei=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.policyProcessor=Nt.toStackedInboundHandler=Nt.getInboundPolicyHandlerAndOptions=void 0;var Uv=Sr(),Br=L(),Gh=Xn();function Bh(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(s=>{let a=t?.find(u=>u.name===s);if(!a)throw new Br.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(Bh,"getInboundPolicyHandlerAndOptions");Nt.getInboundPolicyHandlerAndOptions=Bh;function Mv(e,t){return(e.policies?.outbound??[]).map(i=>{let s=t?.find(c=>c.name===i);if(!s)throw new Br.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(Mv,"getOutboundPolicyHandlerAndOptions");var kv=o(e=>async(t,r)=>{let n=Uv.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof Gh.ZuploRequest)s=c;else if(c instanceof Request)s=new Gh.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");Nt.toStackedInboundHandler=kv;var Fv=o(e=>async(t,r,n)=>{let i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),Hv=o(async(e,t,r,n)=>{let i=Bh(t.route,r.routeData.policies),s=Mv(t.route,r.routeData.policies),a=(0,Nt.toStackedInboundHandler)(i);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await n(c),l=Fv(s);return u.ok?l(u,e,t):u}catch(c){return t.log.error(c),r.errorHandler(e,t,c)}},"policyProcessor");Nt.policyProcessor=Hv});var Kh=g(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.serialize=Kr.parse=void 0;var qv=Object.prototype.toString,Co=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function $v(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||Vv,s=0;for(;s<e.length;){let a=e.indexOf("=",s);if(a===-1)break;let c=e.indexOf(";",s);if(c===-1)c=e.length;else if(c<a){s=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(s,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=Kv(l,i)}s=c+1}return r}o($v,"parse");Kr.parse=$v;function jv(e,t,r){let n=r||{},i=n.encode||Gv;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Co.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!Co.test(s))throw new TypeError("argument val is invalid");let a=e+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Co.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Co.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!Bv(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(jv,"serialize");Kr.serialize=jv;function Vv(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(Vv,"decode");function Gv(e){return encodeURIComponent(e)}o(Gv,"encode");function Bv(e){return qv.call(e)==="[object Date]"||e instanceof Date}o(Bv,"isDate");function Kv(e,t){try{return t(e)}catch{return e}}o(Kv,"tryDecode")});var Jh=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.devPortalBaseURL=void 0;var Jv=Kh();function zv(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,Jv.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(zv,"devPortalBaseURL");Lo.devPortalBaseURL=zv});var Zh=g(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.registerDevPortalLegacyRedirectRoute=Jr.registerDevPortalV3Route=void 0;var Ru=xt(),Wh=Bt(),Qh=Ar(),Wv=ei(),Yh=ft(),Qv=Jh(),Wt=ee(),zh="/__zuplo/dev-portal",Yv="dev-portal-id",Zv="dev-portal-host",Xv="zp-account",eT="zp-project",tT="dev-portal-build",rT=`
|
|
36
36
|
<!DOCTYPE html>
|
|
37
37
|
<html lang="en">
|
|
38
38
|
<head>
|
|
@@ -46,33 +46,33 @@
|
|
|
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(
|
|
51
|
-
`)}o(
|
|
49
|
+
`,nT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Wt.Environment.instance.deploymentName,i=Wt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Wt.Environment.instance.isLocalDevelopment)return new Response(rT,{headers:{"content-type":"text/html"}});if(!n)return Ru.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,Qv.devPortalBaseURL)(i,u.headers),y=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:m,body:v}=u;return Wt.Environment.instance.build.ACCOUNT_NAME&&h.set(Xv,Wt.Environment.instance.build.ACCOUNT_NAME),Wt.Environment.instance.build.PROJECT_NAME&&h.set(eT,Wt.Environment.instance.build.PROJECT_NAME),h.set(Yv,n),h.set(Zv,d.host),h.set(tT,Wt.Environment.instance.build.BUILD_ID),await fetch(y.toString(),{headers:h,method:m,body:v,redirect:"manual"})},"devPortalRoute"),a=new Wh.Pipeline([Qh.metricsProcessor,Wv.policyProcessor],s,t),c=new Yh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Ru.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Jr.registerDevPortalV3Route=nT;var iT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(zh.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Wh.Pipeline([Qh.metricsProcessor],n,t),s=new Yh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${zh}(.*)`,systemRouteName:Ru.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Jr.registerDevPortalLegacyRedirectRoute=iT});var Ou=g(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.API_KEY=zr.SYSTEM_LOGGER=void 0;zr.SYSTEM_LOGGER="system-logger";zr.API_KEY="api-key"});var Xh=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.CoreLogger=void 0;var xu=0,Nu=class{static{o(this,"CoreLogger")}constructor(t,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=o(()=>{},"emptyFunction"),s=o((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:s,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,s,a){xu>=Number.MAX_SAFE_INTEGER&&(xu=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:xu++};this.#t[t](c,a)}};Do.CoreLogger=Nu});var Ct=g(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.LogPlugin=void 0;var oT=Ot(),Cu=class extends oT.RuntimePlugin{static{o(this,"LogPlugin")}};Uo.LogPlugin=Cu});var ef=g(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.LoggingContext=void 0;var Lu=class{static{o(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};Mo.LoggingContext=Lu});var tf=g(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.RequestLogger=void 0;var Du=class{static{o(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};ko.RequestLogger=Du});var xr=g(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.cleanStack=Qt.serializeError=Qt.NonError=void 0;var rf=Jt(),sT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),aT=new Map(sT),Uu=class e extends Error{static{o(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};Qt.NonError=Uu;var cT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Mu=Symbol(".toJSON was called"),uT=o(e=>{e[Mu]=!0;let t=e.toJSON();return delete e[Mu],t},"toJSON"),lT=o(e=>aT.get(e)??Error,"getErrorConstructor"),nf=o(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,rf.isErrorLike)(e)){let l=lT(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[Mu]!==!0)return uT(e);let u=o(l=>nf({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){s++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of cT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,rf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function dT(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?nf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o(dT,"serializeError");Qt.serializeError=dT;var pT=/file:\/\/\/(.*?)\/dist\//g,hT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,fT="at async Event.respondWith";function mT(e){return typeof e!="string"?e:e.split(`
|
|
50
|
+
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(pT,"").replaceAll(hT,"").replaceAll(fT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
|
|
51
|
+
`)}o(mT,"cleanStack");Qt.cleanStack=mT});var of=g(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});var ku=Jt();function yT(e,t,r=""){let n=[],i=t?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
|
|
52
52
|
`,newlineOrSpace:`
|
|
53
53
|
`,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let y=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let m=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return m.length<=c.inlineCharacterLimit?m:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
|
|
54
|
-
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,
|
|
55
|
-
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(t,
|
|
56
|
-
`)}o(lT,"messagesToMultilineText");Fe.messagesToMultilineText=lT;function tf(t){return typeof t=="string"?t:JSON.stringify(t)}o(tf,"stringifyNonString");Fe.stringifyNonString=tf;function rf(t){return typeof t=="string"?t:t===null?"null":typeof t>"u"?"undefined":typeof t=="number"||typeof t=="boolean"||typeof t=="bigint"||typeof t=="symbol"?t.toString():typeof t=="function"?`[function ${t.name}]`:typeof t=="object"&&Array.isArray(t)?`[array ${t.length}]`:t instanceof Error?`${t.name??"Error"}: ${t.message??"unknown"}`:typeof t=="object"?(0,ef.toString)(t):"unknown"}o(rf,"stringifyNonStringToText");Fe.stringifyNonStringToText=rf});var L,se,Te=I(()=>{L=crypto,se=o(t=>t instanceof CryptoKey,"isCryptoKey")});var dT,Do,Uu=I(()=>{Te();dT=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await L.subtle.digest(r,e))},"digest"),Do=dT});function Se(...t){let e=t.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(e),n=0;return t.forEach(i=>{r.set(i,n),n+=i.length}),r}function nf(t,e){return Se(Y.encode(t),new Uint8Array([0]),e)}function Mu(t,e,r){if(e<0||e>=Uo)throw new RangeError(`value must be >= 0 and <= ${Uo-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function Mo(t){let e=Math.floor(t/Uo),r=t%Uo,n=new Uint8Array(8);return Mu(n,e,0),Mu(n,r,4),n}function ko(t){let e=new Uint8Array(4);return Mu(e,t),e}function Fo(t){return Se(ko(t.length),t)}async function of(t,e,r){let n=Math.ceil((e>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+t.length+r.length);a.set(ko(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await Do("sha256",a),s*32)}return i.slice(0,e>>3)}var Y,ce,Uo,ye=I(()=>{Uu();Y=new TextEncoder,ce=new TextDecoder,Uo=2**32;o(Se,"concat");o(nf,"p2s");o(Mu,"writeUInt32BE");o(Mo,"uint64be");o(ko,"uint32be");o(Fo,"lengthAndInput");o(of,"concatKdf")});var Ho,Z,ku,te,Ie=I(()=>{ye();Ho=o(t=>{let e=t;typeof e=="string"&&(e=Y.encode(e));let r=32768,n=[];for(let i=0;i<e.length;i+=r)n.push(String.fromCharCode.apply(null,e.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),Z=o(t=>Ho(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),ku=o(t=>{let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r},"decodeBase64"),te=o(t=>{let e=t;e instanceof Uint8Array&&(e=ce.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ku(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Fu={};Vi(Fu,{JOSEAlgNotAllowed:()=>zt,JOSEError:()=>pe,JOSENotSupported:()=>U,JWEDecryptionFailed:()=>Ct,JWEInvalid:()=>P,JWKInvalid:()=>Zn,JWKSInvalid:()=>Wt,JWKSMultipleMatchingKeys:()=>Xn,JWKSNoMatchingKey:()=>Pr,JWKSTimeout:()=>ei,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Rr,JWTClaimValidationFailed:()=>ge,JWTExpired:()=>Kr,JWTInvalid:()=>ue});var pe,ge,Kr,zt,U,Ct,P,z,ue,Zn,Wt,Pr,Xn,ei,Rr,V=I(()=>{pe=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var r;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},ge=class extends pe{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Kr=class extends pe{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},zt=class extends pe{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},U=class extends pe{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Ct=class extends pe{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},P=class extends pe{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends pe{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ue=class extends pe{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Zn=class extends pe{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},Wt=class extends pe{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Pr=class extends pe{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},Xn=class extends pe{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},ei=class extends pe{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Rr=class extends pe{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var Qt,ti=I(()=>{Te();Qt=L.getRandomValues.bind(L)});function Hu(t){switch(t){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 U(`Unsupported JWE Algorithm: ${t}`)}}var qo,$o=I(()=>{V();ti();o(Hu,"bitLength");qo=o(t=>Qt(new Uint8Array(Hu(t)>>3)),"default")});var pT,jo,qu=I(()=>{V();$o();pT=o((t,e)=>{if(e.length<<3!==Hu(t))throw new P("Invalid Initialization Vector length")},"checkIvLength"),jo=pT});var hT,Jr,$u=I(()=>{V();hT=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new P(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),Jr=hT});var fT,af,cf=I(()=>{fT=o((t,e)=>{if(!(t instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(e instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(t.length!==e.length)throw new TypeError("Input buffers must have the same length");let r=t.length,n=0,i=-1;for(;++i<r;)n|=t[i]^e[i];return n===0},"timingSafeEqual"),af=fT});function Ae(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function Yt(t,e){return t.name===e}function Vo(t){return parseInt(t.name.slice(4),10)}function mT(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function uf(t,e){if(e.length&&!e.some(r=>t.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(e.length>2){let n=e.pop();r+=`one of ${e.join(", ")}, or ${n}.`}else e.length===2?r+=`one of ${e[0]} or ${e[1]}.`:r+=`${e[0]}.`;throw new TypeError(r)}}function lf(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!Yt(t.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(e.slice(2),10);if(Vo(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!Yt(t.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Vo(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!Yt(t.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(e.slice(2),10);if(Vo(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!Yt(t.algorithm,"ECDSA"))throw Ae("ECDSA");let n=mT(e);if(t.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}uf(t,r)}function He(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!Yt(t.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!Yt(t.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(t.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(!Yt(t.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!Yt(t.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Vo(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}uf(t,r)}var Zt=I(()=>{o(Ae,"unusable");o(Yt,"isAlgorithm");o(Vo,"getHashLength");o(mT,"getNamedCurve");o(uf,"checkUsage");o(lf,"checkSigCryptoKey");o(He,"checkEncCryptoKey")});function df(t,e,...r){if(r.length>2){let n=r.pop();t+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?t+=`one of type ${r[0]} or ${r[1]}.`:t+=`of type ${r[0]}.`;return e==null?t+=` Received ${e}`:typeof e=="function"&&e.name?t+=` Received function ${e.name}`:typeof e=="object"&&e!=null&&e.constructor&&e.constructor.name&&(t+=` Received an instance of ${e.constructor.name}`),t}function ju(t,e,...r){return df(`Key for the ${t} algorithm must be `,e,...r)}var ie,ot=I(()=>{o(df,"message");ie=o((t,...e)=>df("Key must be ",t,...e),"default");o(ju,"withAlg")});var Vu,W,st=I(()=>{Te();Vu=o(t=>se(t),"default"),W=["CryptoKey"]});async function yT(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(ie(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await L.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await L.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,Mo(s.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=af(i,d)}catch{}if(!p)throw new Ct;let y;try{y=new Uint8Array(await L.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!y)throw new Ct;return y}async function gT(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await L.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(He(e,t,"decrypt"),a=e);try{return new Uint8Array(await L.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Ct}}var _T,Go,Gu=I(()=>{ye();qu();$u();cf();V();Te();Zt();ot();st();o(yT,"cbcDecrypt");o(gT,"gcmDecrypt");_T=o(async(t,e,r,n,i,s)=>{if(!se(e)&&!(e instanceof Uint8Array))throw new TypeError(ie(e,...W,"Uint8Array"));switch(jo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&Jr(e,parseInt(t.slice(-3),10)),yT(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&Jr(e,parseInt(t.slice(1,4),10)),gT(t,e,r,n,i,s);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Go=_T});var pf,hf,Bu=I(()=>{V();pf=o(async()=>{throw new U('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),hf=o(async()=>{throw new U('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 bT,yt,zr=I(()=>{bT=o((...t)=>{let e=t.filter(Boolean);if(e.length===0||e.length===1)return!0;let r;for(let n of e){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),yt=bT});function ET(t){return typeof t=="object"&&t!==null}function Q(t){if(!ET(t)||Object.prototype.toString.call(t)!=="[object Object]")return!1;if(Object.getPrototypeOf(t)===null)return!0;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}var qe=I(()=>{o(ET,"isObjectLike");o(Q,"isObject")});var wT,Wr,Ku=I(()=>{wT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Wr=wT});function ff(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function mf(t,e,r){if(se(t))return He(t,e,r),t;if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(ie(t,...W,"Uint8Array"))}var ri,ni,Bo=I(()=>{Ku();Te();Zt();ot();st();o(ff,"checkKeySize");o(mf,"getCryptoKey");ri=o(async(t,e,r)=>{let n=await mf(e,t,"wrapKey");ff(n,t);let i=await L.subtle.importKey("raw",r,...Wr);return new Uint8Array(await L.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ni=o(async(t,e,r)=>{let n=await mf(e,t,"unwrapKey");ff(n,t);let i=await L.subtle.unwrapKey("raw",r,n,"AES-KW",...Wr);return new Uint8Array(await L.subtle.exportKey("raw",i))},"unwrap")});async function Ko(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(t))throw new TypeError(ie(t,...W));if(He(t,"ECDH"),!se(e))throw new TypeError(ie(e,...W));He(e,"ECDH","deriveBits");let a=Se(Fo(Y.encode(r)),Fo(i),Fo(s),ko(n)),c;t.algorithm.name==="X25519"?c=256:t.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(t.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await L.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return of(u,n,a)}async function yf(t){if(!se(t))throw new TypeError(ie(t,...W));return L.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function Jo(t){if(!se(t))throw new TypeError(ie(t,...W));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var Ju=I(()=>{ye();Te();Zt();ot();st();o(Ko,"deriveKey");o(yf,"generateEpk");o(Jo,"ecdhAllowed")});function zu(t){if(!(t instanceof Uint8Array)||t.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var _f=I(()=>{V();o(zu,"checkP2s")});function vT(t,e){if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(se(t))return He(t,e,"deriveBits","deriveKey"),t;throw new TypeError(ie(t,...W,"Uint8Array"))}async function bf(t,e,r,n){zu(t);let i=nf(e,t),s=parseInt(e.slice(13,16),10),a={hash:`SHA-${e.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await vT(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await L.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return L.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Ef,wf,Wu=I(()=>{ti();ye();Ie();Bo();_f();Te();Zt();ot();st();o(vT,"getCryptoKey");o(bf,"deriveKey");Ef=o(async(t,e,r,n=2048,i=Qt(new Uint8Array(16)))=>{let s=await bf(i,t,n,e);return{encryptedKey:await ri(t.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),wf=o(async(t,e,r,n,i)=>{let s=await bf(i,t,n,e);return ni(t.slice(-6),s,r)},"decrypt")});function Qr(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var vf=I(()=>{V();o(Qr,"subtleRsaEs")});var Or,zo=I(()=>{Or=o((t,e)=>{if(t.startsWith("RS")||t.startsWith("PS")){let{modulusLength:r}=e.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Tf,Sf,Qu=I(()=>{vf();Ku();Te();Zt();zo();ot();st();Tf=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ie(e,...W));if(He(e,t,"encrypt","wrapKey"),Or(t,e),e.usages.includes("encrypt"))return new Uint8Array(await L.subtle.encrypt(Qr(t),e,r));if(e.usages.includes("wrapKey")){let n=await L.subtle.importKey("raw",r,...Wr);return new Uint8Array(await L.subtle.wrapKey("raw",n,e,Qr(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Sf=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ie(e,...W));if(He(e,t,"decrypt","unwrapKey"),Or(t,e),e.usages.includes("decrypt"))return new Uint8Array(await L.subtle.decrypt(Qr(t),e,r));if(e.usages.includes("unwrapKey")){let n=await L.subtle.unwrapKey("raw",r,e,Qr(t),...Wr);return new Uint8Array(await L.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function ii(t){switch(t){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 U(`Unsupported JWE Algorithm: ${t}`)}}var gt,oi=I(()=>{V();ti();o(ii,"bitLength");gt=o(t=>Qt(new Uint8Array(ii(t)>>3)),"default")});var Yu,If=I(()=>{Yu=o((t,e)=>{let r=(t.match(/.{1,64}/g)||[]).join(`
|
|
57
|
-
`);return`-----BEGIN ${
|
|
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,ku.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((m,v)=>{let T=a.length-1===v?p.newline:","+p.newlineOrSpace,S=s(m,c,u+d,l+1);return c.transform&&(S=c.transform(a,v,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),y(h)}if((0,ku.isObject)(a)){let h=(0,ku.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(v=>c.filter?.(a,v))),h.length===0)return"{}";n.push(a);let m="{"+p.newline+h.map((v,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,k=typeof v=="symbol",j=!k&&/^[a-z$_][$\w]*$/i.test(v),C=k||j?v:s(v,c,"",l+1),re=s(a[v],c,u+d,l+1);return c.transform&&(re=c.transform(a,v,re)),p.indent+String(C)+": "+re+S}).join("")+p.pad+"}";return n.pop(),y(m)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
|
|
55
|
+
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(yT,"stringifyObject");Fu.default=yT});var yt=g(Fe=>{"use strict";var gT=Fe&&Fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var Hu=xr(),sf=gT(of()),af=Jt();function _T(e){return e.map(t=>(0,Hu.serializeError)(t))}o(_T,"makeErrorsSerializable");Fe.makeErrorsSerializable=_T;function bT(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:cf((0,Hu.serializeError)(t))}o(bT,"extractBestMessage");Fe.extractBestMessage=bT;function ET(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,af.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,sf.default)((0,Hu.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,sf.default)(r);t.push(n)}else{let n=uf(r);t.push(n)}}),t.join(`
|
|
56
|
+
`)}o(ET,"messagesToMultilineText");Fe.messagesToMultilineText=ET;function cf(e){return typeof e=="string"?e:JSON.stringify(e)}o(cf,"stringifyNonString");Fe.stringifyNonString=cf;function uf(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,af.toString)(e):"unknown"}o(uf,"stringifyNonStringToText");Fe.stringifyNonStringToText=uf});var D,se,Te=I(()=>{D=crypto,se=o(e=>e instanceof CryptoKey,"isCryptoKey")});var wT,Fo,qu=I(()=>{Te();wT=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Fo=wT});function Se(...e){let t=e.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function lf(e,t){return Se(Y.encode(e),new Uint8Array([0]),t)}function $u(e,t,r){if(t<0||t>=Ho)throw new RangeError(`value must be >= 0 and <= ${Ho-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function qo(e){let t=Math.floor(e/Ho),r=e%Ho,n=new Uint8Array(8);return $u(n,t,0),$u(n,r,4),n}function $o(e){let t=new Uint8Array(4);return $u(t,e),t}function jo(e){return Se($o(e.length),e)}async function df(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+e.length+r.length);a.set($o(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Fo("sha256",a),s*32)}return i.slice(0,t>>3)}var Y,ce,Ho,ye=I(()=>{qu();Y=new TextEncoder,ce=new TextDecoder,Ho=2**32;o(Se,"concat");o(lf,"p2s");o($u,"writeUInt32BE");o(qo,"uint64be");o($o,"uint32be");o(jo,"lengthAndInput");o(df,"concatKdf")});var Vo,Z,ju,te,Ie=I(()=>{ye();Vo=o(e=>{let t=e;typeof t=="string"&&(t=Y.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),Z=o(e=>Vo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),ju=o(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),te=o(e=>{let t=e;t instanceof Uint8Array&&(t=ce.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ju(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Vu={};Ki(Vu,{JOSEAlgNotAllowed:()=>Yt,JOSEError:()=>pe,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Lt,JWEInvalid:()=>P,JWKInvalid:()=>ti,JWKSInvalid:()=>Zt,JWKSMultipleMatchingKeys:()=>ri,JWKSNoMatchingKey:()=>Nr,JWKSTimeout:()=>ni,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Cr,JWTClaimValidationFailed:()=>ge,JWTExpired:()=>Wr,JWTInvalid:()=>ue});var pe,ge,Wr,Yt,M,Lt,P,z,ue,ti,Zt,Nr,ri,ni,Cr,V=I(()=>{pe=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},ge=class extends pe{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Wr=class extends pe{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},Yt=class extends pe{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends pe{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Lt=class extends pe{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},P=class extends pe{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends pe{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ue=class extends pe{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ti=class extends pe{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},Zt=class extends pe{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Nr=class extends pe{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},ri=class extends pe{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},ni=class extends pe{static{o(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 pe{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var Xt,ii=I(()=>{Te();Xt=D.getRandomValues.bind(D)});function Gu(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var Go,Bo=I(()=>{V();ii();o(Gu,"bitLength");Go=o(e=>Xt(new Uint8Array(Gu(e)>>3)),"default")});var vT,Ko,Bu=I(()=>{V();Bo();vT=o((e,t)=>{if(t.length<<3!==Gu(e))throw new P("Invalid Initialization Vector length")},"checkIvLength"),Ko=vT});var TT,Qr,Ku=I(()=>{V();TT=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new P(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Qr=TT});var ST,hf,ff=I(()=>{ST=o((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),hf=ST});function Ae(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function er(e,t){return e.name===t}function Jo(e){return parseInt(e.name.slice(4),10)}function IT(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function mf(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function yf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!er(e.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(t.slice(2),10);if(Jo(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!er(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Jo(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!er(e.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(t.slice(2),10);if(Jo(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(!er(e.algorithm,"ECDSA"))throw Ae("ECDSA");let n=IT(t);if(e.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}mf(e,r)}function He(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!er(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(!er(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(!er(e.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!er(e.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Jo(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}mf(e,r)}var tr=I(()=>{o(Ae,"unusable");o(er,"isAlgorithm");o(Jo,"getHashLength");o(IT,"getNamedCurve");o(mf,"checkUsage");o(yf,"checkSigCryptoKey");o(He,"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 Ju(e,t,...r){return gf(`Key for the ${e} algorithm must be `,t,...r)}var ie,ot=I(()=>{o(gf,"message");ie=o((e,...t)=>gf("Key must be ",e,...t),"default");o(Ju,"withAlg")});var zu,W,st=I(()=>{Te();zu=o(e=>se(e),"default"),W=["CryptoKey"]});async function AT(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(ie(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,qo(s.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=hf(i,d)}catch{}if(!p)throw new Lt;let y;try{y=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!y)throw new Lt;return y}async function PT(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(He(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Lt}}var RT,zo,Wu=I(()=>{ye();Bu();Ku();ff();V();Te();tr();ot();st();o(AT,"cbcDecrypt");o(PT,"gcmDecrypt");RT=o(async(e,t,r,n,i,s)=>{if(!se(t)&&!(t instanceof Uint8Array))throw new TypeError(ie(t,...W,"Uint8Array"));switch(Ko(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Qr(t,parseInt(e.slice(-3),10)),AT(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Qr(t,parseInt(e.slice(1,4),10)),PT(e,t,r,n,i,s);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),zo=RT});var _f,bf,Qu=I(()=>{V();_f=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),bf=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var OT,gt,Yr=I(()=>{OT=o((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),gt=OT});function xT(e){return typeof e=="object"&&e!==null}function Q(e){if(!xT(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var qe=I(()=>{o(xT,"isObjectLike");o(Q,"isObject")});var NT,Zr,Yu=I(()=>{NT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Zr=NT});function Ef(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function wf(e,t,r){if(se(e))return He(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 oi,si,Wo=I(()=>{Yu();Te();tr();ot();st();o(Ef,"checkKeySize");o(wf,"getCryptoKey");oi=o(async(e,t,r)=>{let n=await wf(t,e,"wrapKey");Ef(n,e);let i=await D.subtle.importKey("raw",r,...Zr);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),si=o(async(e,t,r)=>{let n=await wf(t,e,"unwrapKey");Ef(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...Zr);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function Qo(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(e))throw new TypeError(ie(e,...W));if(He(e,"ECDH"),!se(t))throw new TypeError(ie(t,...W));He(t,"ECDH","deriveBits");let a=Se(jo(Y.encode(r)),jo(i),jo(s),$o(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 df(u,n,a)}async function vf(e){if(!se(e))throw new TypeError(ie(e,...W));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function Yo(e){if(!se(e))throw new TypeError(ie(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var Zu=I(()=>{ye();Te();tr();ot();st();o(Qo,"deriveKey");o(vf,"generateEpk");o(Yo,"ecdhAllowed")});function Xu(e){if(!(e instanceof Uint8Array)||e.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var Sf=I(()=>{V();o(Xu,"checkP2s")});function CT(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(se(e))return He(e,t,"deriveBits","deriveKey"),e;throw new TypeError(ie(e,...W,"Uint8Array"))}async function If(e,t,r,n){Xu(e);let i=lf(t,e),s=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await CT(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Af,Pf,el=I(()=>{ii();ye();Ie();Wo();Sf();Te();tr();ot();st();o(CT,"getCryptoKey");o(If,"deriveKey");Af=o(async(e,t,r,n=2048,i=Xt(new Uint8Array(16)))=>{let s=await If(i,e,n,t);return{encryptedKey:await oi(e.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),Pf=o(async(e,t,r,n,i)=>{let s=await If(i,e,n,t);return si(e.slice(-6),s,r)},"decrypt")});function Xr(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Rf=I(()=>{V();o(Xr,"subtleRsaEs")});var Lr,Zo=I(()=>{Lr=o((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Of,xf,tl=I(()=>{Rf();Yu();Te();tr();Zo();ot();st();Of=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(He(t,e,"encrypt","wrapKey"),Lr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(Xr(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...Zr);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,Xr(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),xf=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(He(t,e,"decrypt","unwrapKey"),Lr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(Xr(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,Xr(e),...Zr);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 ai(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var _t,ci=I(()=>{V();ii();o(ai,"bitLength");_t=o(e=>Xt(new Uint8Array(ai(e)>>3)),"default")});var rl,Nf=I(()=>{rl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
57
|
+
`);return`-----BEGIN ${t}-----
|
|
58
58
|
${r}
|
|
59
|
-
-----END ${e}-----`},"default")});function Pf(t){let e=[],r=0;for(;r<t.length;){let n=Lf(t.subarray(r));e.push(n),r+=n.byteLength}return e}function Lf(t){let e=0,r=t[0]&31;if(e++,r===31){for(r=0;t[e]>=128;)r=r*128+t[e]-128,e++;r=r*128+t[e]-128,e++}let n=0;if(t[e]<128)n=t[e],e++;else if(n===128){for(n=0;t[e+n]!==0||t[e+n+1]!==0;){if(n>t.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=e+n+2;return{byteLength:s,contents:t.subarray(e,e+n),raw:t.subarray(0,s)}}else{let s=t[e]&127;e++,n=0;for(let a=0;a<s;a++)n=n*256+t[e],e++}let i=e+n;return{byteLength:i,contents:t.subarray(e,i),raw:t.subarray(0,i)}}function TT(t){let e=Pf(Pf(Lf(t).contents)[0].contents);return Ho(e[e[0].raw[0]===160?6:5].raw)}function ST(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=ku(e);return Yu(TT(r),"PUBLIC KEY")}var Rf,Of,xf,Xt,Af,Nf,Cf,Zu,Df,Wo=I(()=>{Te();ot();Ie();If();V();st();Rf=o(async(t,e,r)=>{if(!se(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return Yu(Ho(new Uint8Array(await L.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),Of=o(t=>Rf("public","spki",t),"toSPKI"),xf=o(t=>Rf("private","pkcs8",t),"toPKCS8"),Xt=o((t,e,r=0)=>{r===0&&(e.unshift(e.length),e.unshift(6));let n=t.indexOf(e[0],r);if(n===-1)return!1;let i=t.subarray(n,n+e.length);return i.length!==e.length?!1:i.every((s,a)=>s===e[a])||Xt(t,e,n+1)},"findOid"),Af=o(t=>{switch(!0){case Xt(t,[42,134,72,206,61,3,1,7]):return"P-256";case Xt(t,[43,129,4,0,34]):return"P-384";case Xt(t,[43,129,4,0,35]):return"P-521";case Xt(t,[43,101,110]):return"X25519";case Xt(t,[43,101,111]):return"X448";case Xt(t,[43,101,112]):return"Ed25519";case Xt(t,[43,101,113]):return"Ed448";default:throw new U("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Nf=o(async(t,e,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(t,"")).split("").map(d=>d.charCodeAt(0))),l=e==="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=Af(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Af(u)},c=l?["verify"]:["sign"];break;default:throw new U('Invalid or unsupported "alg" (Algorithm) value')}return L.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),Cf=o((t,e,r)=>Nf(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),Zu=o((t,e,r)=>Nf(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(Pf,"getElement");o(Lf,"parseElement");o(TT,"spkiFromX509");o(ST,"getSPKI");Df=o((t,e,r)=>{let n;try{n=ST(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Zu(n,e,r)},"fromX509")});function IT(t){let e,r;switch(t.kty){case"oct":{switch(t.alg){case"HS256":case"HS384":case"HS512":e={name:"HMAC",hash:`SHA-${t.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new U(`${t.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":e={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":e={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":e={name:"PBKDF2"},r=["deriveBits"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(t.alg){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(t.alg.slice(-3),10)||1}`},r=t.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(t.alg){case"ES256":e={name:"ECDSA",namedCurve:"P-256"},r=t.d?["sign"]:["verify"];break;case"ES384":e={name:"ECDSA",namedCurve:"P-384"},r=t.d?["sign"]:["verify"];break;case"ES512":e={name:"ECDSA",namedCurve:"P-521"},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:"ECDH",namedCurve:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(t.alg){case"EdDSA":e={name:t.crv},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new U('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var AT,Xu,Uf=I(()=>{Te();V();Ie();o(IT,"subtleMapping");AT=o(async t=>{var e,r;if(!t.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=IT(t),s=[n,(e=t.ext)!==null&&e!==void 0?e:!1,(r=t.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return L.subtle.importKey("raw",te(t.k),...s);let a={...t};return delete a.alg,delete a.use,L.subtle.importKey("jwk",a,...s)},"parse"),Xu=AT});async function Mf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Zu(t,e,r)}async function kf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Df(t,e,r)}async function Ff(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Cf(t,e,r)}async function er(t,e,r){var n;if(!Q(t))throw new TypeError("JWK must be an object");switch(e||(e=t.alg),t.kty){case"oct":if(typeof t.k!="string"||!t.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=t.ext!==!0),r?Xu({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):te(t.k);case"RSA":if(t.oth!==void 0)throw new U('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Xu({...t,alg:e});default:throw new U('Unsupported "kty" (Key Type) Parameter value')}}var si=I(()=>{Ie();Wo();Uf();V();qe();o(Mf,"importSPKI");o(kf,"importX509");o(Ff,"importPKCS8");o(er,"importJWK")});var PT,RT,OT,tr,ai=I(()=>{ot();st();PT=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!Vu(e))throw new TypeError(ju(t,e,...W,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),RT=o((t,e,r)=>{if(!Vu(e))throw new TypeError(ju(t,e,...W));if(e.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),OT=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?PT(t,e):RT(t,e,r)},"checkKeyType"),tr=OT});async function xT(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await L.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await L.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await L.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=Se(i,n,u,Mo(i.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function NT(t,e,r,n,i){let s;r instanceof Uint8Array?s=await L.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(He(r,t,"encrypt"),s=r);let a=new Uint8Array(await L.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,e)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var CT,ci,el=I(()=>{ye();qu();$u();Te();Zt();ot();V();st();o(xT,"cbcEncrypt");o(NT,"gcmEncrypt");CT=o(async(t,e,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(jo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Jr(r,parseInt(t.slice(-3),10)),xT(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Jr(r,parseInt(t.slice(1,4),10)),NT(t,e,r,n,i);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),ci=CT});async function Hf(t,e,r,n){let i=t.slice(0,7);n||(n=qo(i));let{ciphertext:s,tag:a}=await ci(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function qf(t,e,r,n,i){let s=t.slice(0,7);return Go(s,e,r,n,i,new Uint8Array(0))}var tl=I(()=>{el();Gu();$o();Ie();o(Hf,"wrap");o(qf,"unwrap")});async function LT(t,e,r,n,i){switch(tr(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return e}case"ECDH-ES":if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new P('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Jo(e))throw new U("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await er(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await Ko(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?ii(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return ni(t.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new P("JWE Encrypted Key missing");return Sf(t,e,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new P('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new P('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new P('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return wf(t,e,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return ni(t,e,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new P('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new P('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return qf(t,e,r,s,a)}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var $f,jf=I(()=>{Bo();Ju();Wu();Qu();Ie();V();oi();si();ai();qe();tl();o(LT,"decryptKeyManagement");$f=LT});function DT(t,e,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new t('"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 t('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...e.entries()]):s=e;for(let a of n.crit){if(!s.has(a))throw new U(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new t(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new t(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var _t,Yr=I(()=>{V();o(DT,"validateCrit");_t=DT});var UT,ui,rl=I(()=>{UT=o((t,e)=>{if(e!==void 0&&(!Array.isArray(e)||e.some(r=>typeof r!="string")))throw new TypeError(`"${t}" option must be an array of strings`);if(e)return new Set(e)},"validateAlgorithms"),ui=UT});async function Zr(t,e,r){var n;if(!Q(t))throw new P("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new P("JOSE Header missing");if(typeof t.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new P("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new P("JWE AAD incorrect type");if(t.header!==void 0&&!Q(t.header))throw new P("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!Q(t.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let j=te(t.protected);i=JSON.parse(ce.decode(j))}catch{throw new P("JWE Protected Header is invalid")}if(!yt(i,t.header,t.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(_t(P,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new U('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new P("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new P("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&ui("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&ui("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new zt('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new zt('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=te(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let y;try{y=await $f(a,e,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof P||j instanceof U)throw j;y=gt(c)}let h=te(t.iv),m=te(t.tag),v=Y.encode((n=t.protected)!==null&&n!==void 0?n:""),T;t.aad!==void 0?T=Se(v,Y.encode("."),Y.encode(t.aad)):T=v;let S=await Go(c,y,te(t.ciphertext),h,m,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||pf)(S));let k={plaintext:S};return t.protected!==void 0&&(k.protectedHeader=i),t.aad!==void 0&&(k.additionalAuthenticatedData=te(t.aad)),t.unprotected!==void 0&&(k.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(k.unprotectedHeader=t.header),p?{...k,key:e}:k}var Qo=I(()=>{Ie();Gu();Bu();V();zr();qe();jf();ye();oi();Yr();rl();o(Zr,"flattenedDecrypt")});async function Yo(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="string")throw new P("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=t.split(".");if(u!==5)throw new P("Invalid Compact JWE");let l=await Zr({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},e,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof e=="function"?{...d,key:l.key}:d}var nl=I(()=>{Qo();V();ye();o(Yo,"compactDecrypt")});async function Vf(t,e,r){if(!Q(t))throw new P("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new P("JWE Recipients has no members");for(let n of t.recipients)try{return await Zr({aad:t.aad,ciphertext:t.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:t.iv,protected:t.protected,tag:t.tag,unprotected:t.unprotected},e,r)}catch{}throw new Ct}var Gf=I(()=>{Qo();V();qe();o(Vf,"generalDecrypt")});var MT,Bf,Kf=I(()=>{Te();ot();Ie();st();MT=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:Z(t)};if(!se(t))throw new TypeError(ie(t,...W,"Uint8Array"));if(!t.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:e,key_ops:r,alg:n,use:i,...s}=await L.subtle.exportKey("jwk",t);return s},"keyToJWK"),Bf=MT});async function Jf(t){return Of(t)}async function zf(t){return xf(t)}async function Zo(t){return Bf(t)}var il=I(()=>{Wo();Wo();Kf();o(Jf,"exportSPKI");o(zf,"exportPKCS8");o(Zo,"exportJWK")});async function kT(t,e,r,n,i={}){let s,a,c;switch(tr(t,r,"encrypt"),t){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Jo(r))throw new U("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,crv:h,kty:m}=await Zo(d),v=await Ko(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?ii(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:m}},m==="EC"&&(a.epk.y=y),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),t==="ECDH-ES"){c=v;break}c=n||gt(e);let T=t.slice(-6);s=await ri(T,v,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||gt(e),s=await Tf(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||gt(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Ef(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||gt(e),s=await ri(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||gt(e);let{iv:u}=i;({encryptedKey:s,...a}=await Hf(t,r,c,u));break}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var Xo,ol=I(()=>{Bo();Ju();Wu();Qu();Ie();oi();V();il();ai();tl();o(kT,"encryptKeyManagement");Xo=kT});var sl,Lt,es=I(()=>{Ie();el();Bu();$o();ol();V();zr();ye();Yr();sl=Symbol(),Lt=class{static{o(this,"FlattenedEncrypt")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new P("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!yt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(_t(P,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new U('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let m;({cek:c,encryptedKey:a,parameters:m}=await Xo(i,s,e,this._cek,this._keyManagementParameters)),m&&(r&&sl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=qo(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Se(l,Y.encode("."),Y.encode(d))):u=l;let p,y;if(n.zip==="DEF"){let m=await(r?.deflateRaw||hf)(this._plaintext);({ciphertext:p,tag:y}=await ci(s,m,c,this._iv,u))}else({ciphertext:p,tag:y}=await ci(s,this._plaintext,c,this._iv,u));let h={ciphertext:Z(p),iv:Z(this._iv),tag:Z(y)};return a&&(h.encrypted_key=Z(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var al,ts,Wf=I(()=>{es();V();oi();zr();ol();Ie();Yr();al=class{static{o(this,"IndividualRecipient")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}},ts=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new al(this,e,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var r,n,i;if(!this._recipients.length)throw new P("at least one recipient must be added");if(e={deflateRaw:e?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Lt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...e}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!yt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new P('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(_t(P,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=gt(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let y={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Lt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:y}).encrypt(l.key,{...l.options,...e,[sl]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:h,parameters:m}=await Xo(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:y});d.encrypted_key=Z(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}return c}}});function li(t,e){let r=`SHA-${t.slice(-3)}`;switch(t){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:t.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:e.namedCurve};case"EdDSA":return{name:e.name};default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var cl=I(()=>{V();o(li,"subtleDsa")});function di(t,e,r){if(se(e))return lf(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(ie(e,...W));return L.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(e,...W,"Uint8Array"))}var ul=I(()=>{Te();Zt();ot();st();o(di,"getCryptoKey")});var FT,Qf,Yf=I(()=>{cl();Te();zo();ul();FT=o(async(t,e,r,n)=>{let i=await di(t,e,"verify");Or(t,i);let s=li(t,i.algorithm);try{return await L.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),Qf=FT});async function Xr(t,e,r){var n;if(!Q(t))throw new z("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new z("JWS Protected Header incorrect type");if(t.payload===void 0)throw new z("JWS Payload missing");if(typeof t.signature!="string")throw new z("JWS Signature missing or incorrect type");if(t.header!==void 0&&!Q(t.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let T=te(t.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!yt(i,t.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=_t(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&ui("algorithms",r.algorithms);if(l&&!l.has(u))throw new zt('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),tr(u,e,"verify");let p=Se(Y.encode((n=t.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof t.payload=="string"?Y.encode(t.payload):t.payload),y=te(t.signature);if(!await Qf(u,e,y,p))throw new Rr;let m;c?m=te(t.payload):typeof t.payload=="string"?m=Y.encode(t.payload):m=t.payload;let v={payload:m};return t.protected!==void 0&&(v.protectedHeader=i),t.header!==void 0&&(v.unprotectedHeader=t.header),d?{...v,key:e}:v}var rs=I(()=>{Ie();Yf();V();ye();zr();qe();ai();Yr();rl();o(Xr,"flattenedVerify")});async function ns(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await Xr({payload:i,protected:n,signature:s},e,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof e=="function"?{...u,key:c.key}:u}var ll=I(()=>{rs();V();ye();o(ns,"compactVerify")});async function Zf(t,e,r){if(!Q(t))throw new z("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await Xr({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Rr}var Xf=I(()=>{rs();V();qe();o(Zf,"generalVerify")});var en,dl=I(()=>{en=o(t=>Math.floor(t.getTime()/1e3),"default")});var HT,tn,pl=I(()=>{HT=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,tn=o(t=>{let e=HT.exec(t);if(!e)throw new TypeError("Invalid time period format");let r=parseFloat(e[1]);switch(e[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 em,qT,rn,is=I(()=>{V();ye();dl();pl();qe();em=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),qT=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),rn=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||em(t.typ)!==em(n)))throw new ge('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(e))}catch{}if(!Q(i))throw new ue("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new ge(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new ge('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new ge('unexpected "sub" claim value',"sub","check_failed");if(u&&!qT(i.aud,typeof u=="string"?[u]:u))throw new ge('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=tn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,y=en(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new ge('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new ge('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>y+d)throw new ge('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new ge('"exp" claim must be a number',"exp","invalid");if(i.exp<=y-d)throw new Kr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=y-i.iat,m=typeof l=="number"?l:tn(l);if(h-d>m)throw new Kr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new ge('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function tm(t,e,r){var n;let i=await ns(t,e,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");let a={payload:rn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var rm=I(()=>{ll();is();V();o(tm,"jwtVerify")});async function nm(t,e,r){let n=await Yo(t,e,r),i=rn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new ge('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new ge('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new ge('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var im=I(()=>{nl();is();V();o(nm,"jwtDecrypt")});var nn,hl=I(()=>{es();nn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Lt(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,r){let n=await this._flattened.encrypt(e,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var $T,om,sm=I(()=>{cl();Te();zo();ul();$T=o(async(t,e,r)=>{let n=await di(t,e,"sign");Or(t,n);let i=await L.subtle.sign(li(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),om=$T});var rr,os=I(()=>{Ie();sm();zr();V();ye();ai();Yr();rr=class{static{o(this,"FlattenedSign")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!yt(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=_t(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');tr(a,e,"sign");let c=this._payload;s&&(c=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Se(u,Y.encode("."),c),d=await om(a,e,l),p={signature:Z(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var on,fl=I(()=>{os();on=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new rr(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,r){let n=await this._flattened.sign(e,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 ml,ss,am=I(()=>{os();V();ml=class{static{o(this,"IndividualSignature")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}},ss=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new ml(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let e={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new rr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)e.payload=s;else if(e.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var nr,as=I(()=>{dl();qe();pl();nr=class{static{o(this,"ProduceJWT")}constructor(e){if(!Q(e))throw new TypeError("JWT Claims Set MUST be an object");this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return typeof e=="number"?this._payload={...this._payload,nbf:e}:this._payload={...this._payload,nbf:en(new Date)+tn(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:en(new Date)+tn(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:en(new Date)}:this._payload={...this._payload,iat:e},this}}});var cs,cm=I(()=>{fl();V();ye();as();cs=class extends nr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new on(Y.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");return i.sign(e,r)}}});var us,um=I(()=>{hl();ye();as();us=class extends nr{static{o(this,"EncryptJWT")}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,r){let n=new nn(Y.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(e,r)}}});async function yl(t,e){if(!Q(t))throw new TypeError("JWK must be an object");if(e??(e="sha256"),e!=="sha256"&&e!=="sha384"&&e!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(t.kty){case"EC":ir(t.crv,'"crv" (Curve) Parameter'),ir(t.x,'"x" (X Coordinate) Parameter'),ir(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":ir(t.crv,'"crv" (Subtype of Key Pair) Parameter'),ir(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":ir(t.e,'"e" (Exponent) Parameter'),ir(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":ir(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new U('"kty" (Key Type) Parameter missing or unsupported')}let n=Y.encode(JSON.stringify(r));return Z(await Do(e,n))}async function lm(t,e){e??(e="sha256");let r=await yl(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var ir,dm=I(()=>{Uu();Ie();V();ye();qe();ir=o((t,e)=>{if(typeof t!="string"||!t)throw new Zn(`${e} missing or invalid`)},"check");o(yl,"calculateJwkThumbprint");o(lm,"calculateJwkThumbprintUri")});async function pm(t,e){let r={...t,...e?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await er({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var hm=I(()=>{si();qe();V();o(pm,"EmbeddedJWK")});function jT(t){switch(typeof t=="string"&&t.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new U('Unsupported "alg" value for a JSON Web Key Set')}}function gl(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(VT)}function VT(t){return Q(t)}function GT(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function fm(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await er({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new Wt("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function mm(t){let e=new pi(t);return async function(r,n){return e.getKey(r,n)}}var pi,_l=I(()=>{si();V();qe();o(jT,"getKtyFromAlg");o(gl,"isJWKSLike");o(VT,"isJWKLike");o(GT,"clone");pi=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!gl(e))throw new Wt("JSON Web Key Set malformed");this._jwks=GT(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=jT(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new Pr;if(u!==1){let l=new Xn,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await fm(d,p,n)}catch{continue}},l}return fm(this._cached,c,n)}};o(fm,"importWithAlgCache");o(mm,"createLocalJWKSet")});var BT,ym,gm=I(()=>{V();BT=o(async(t,e,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},e));let a=await fetch(t.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new ei:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new pe("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new pe("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),ym=BT});function KT(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function _m(t,e){let r=new bl(t,e);return async function(n,i){return r.getKey(n,i)}}var bl,bm=I(()=>{gm();V();_l();o(KT,"isCloudflareWorkers");bl=class extends pi{static{o(this,"RemoteJWKSet")}constructor(e,r){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.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(e,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(e,r)}catch(n){if(n instanceof Pr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&KT()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=ym(this._url,this._timeoutDuration,this._options).then(e=>{if(!gl(e))throw new Wt("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e})),await this._pendingFetch}};o(_m,"createRemoteJWKSet")});var ls,Em=I(()=>{Ie();ye();V();is();as();ls=class extends nr{static{o(this,"UnsecuredJWT")}encode(){let e=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new ue("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new ue("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new ue("Invalid Unsecured JWT")}return{payload:rn(c,te(i),r),header:c}}}});var El={};Vi(El,{decode:()=>hi,encode:()=>JT});var JT,hi,ds=I(()=>{Ie();JT=Z,hi=te});function wm(t){let e;if(typeof t=="string"){let r=t.split(".");(r.length===3||r.length===5)&&([e]=r)}else if(typeof t=="object"&&t)if("protected"in t)e=t.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof e!="string"||!e)throw new Error;let r=JSON.parse(ce.decode(hi(e)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var vm=I(()=>{ds();ye();qe();o(wm,"decodeProtectedHeader")});function Tm(t){if(typeof t!="string")throw new ue("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.split(".");if(r===5)throw new ue("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new ue("Invalid JWT");if(!e)throw new ue("JWTs must contain a payload");let n;try{n=hi(e)}catch{throw new ue("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ce.decode(n))}catch{throw new ue("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new ue("Invalid JWT Claims Set");return i}var Sm=I(()=>{ds();ye();qe();V();o(Tm,"decodeJwt")});async function Im(t,e){var r;let n,i,s;switch(t){case"HS256":case"HS384":case"HS512":n=parseInt(t.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(t.slice(-3),10),Qt(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(t.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(t.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function wl(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new U("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Am(t,e){var r,n,i;let s,a;switch(t){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:wl(e)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:wl(e)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(t.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:wl(e)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=e?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new U("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=e?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new U("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var vl=I(()=>{Te();V();ti();o(Im,"generateSecret");o(wl,"getModulusLengthOption");o(Am,"generateKeyPair")});async function Pm(t,e){return Am(t,e)}var Rm=I(()=>{vl();o(Pm,"generateKeyPair")});async function Om(t,e){return Im(t,e)}var xm=I(()=>{vl();o(Om,"generateSecret")});var ps={};Vi(ps,{CompactEncrypt:()=>nn,CompactSign:()=>on,EmbeddedJWK:()=>pm,EncryptJWT:()=>us,FlattenedEncrypt:()=>Lt,FlattenedSign:()=>rr,GeneralEncrypt:()=>ts,GeneralSign:()=>ss,SignJWT:()=>cs,UnsecuredJWT:()=>ls,base64url:()=>El,calculateJwkThumbprint:()=>yl,calculateJwkThumbprintUri:()=>lm,compactDecrypt:()=>Yo,compactVerify:()=>ns,createLocalJWKSet:()=>mm,createRemoteJWKSet:()=>_m,decodeJwt:()=>Tm,decodeProtectedHeader:()=>wm,errors:()=>Fu,exportJWK:()=>Zo,exportPKCS8:()=>zf,exportSPKI:()=>Jf,flattenedDecrypt:()=>Zr,flattenedVerify:()=>Xr,generalDecrypt:()=>Vf,generalVerify:()=>Zf,generateKeyPair:()=>Pm,generateSecret:()=>Om,importJWK:()=>er,importPKCS8:()=>Ff,importSPKI:()=>Mf,importX509:()=>kf,jwtDecrypt:()=>nm,jwtVerify:()=>tm});var hs=I(()=>{nl();Qo();Gf();Wf();ll();rs();Xf();rm();im();hl();es();fl();os();am();cm();um();dm();hm();_l();bm();Em();il();si();vm();Sm();V();Rm();xm();ds()});var ms=g(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.fetchRetry=void 0;var zT=D();async function WT(t,e,r){for(let n=0;n<=t.retries;n++){let i=fetch(e,r);if(n===t.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;t?.logger?.error("Request failed, retrying",{method:typeof e=="string"?"GET":e.method,url:typeof e=="string"?e:e.url,status:s.status}),await new Promise(a=>setTimeout(a,t.retryDelayMs*Math.pow(2,n)))}throw new zT.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(WT,"fetchRetry");fs.fetchRetry=WT});var sn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Nm=(hs(),Gi(ps)),QT=D(),YT=ms();async function ZT({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new Nm.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(ZT,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=ZT;async function XT(t,e,r){return Sl(t,{token:e,returnSecureToken:!0},r)}o(XT,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=XT;async function eS(t,e,r){return Sl(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(eS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=eS;async function Sl(t,e,r){let n=await(0,YT.fetchRetry)(r,t,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(e)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new QT.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Sl,"fetchToken");Ze.fetchToken=Sl;var Tl=class t{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:e,privateKey:r}){this.#t=e,this.#e=r}static async init(e){let r=JSON.parse(e),n=await(0,Nm.importPKCS8)(r.private_key.trim(),"RS256");return new t({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=Tl});var gs=g(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.GoogleLogTransport=Dt.ZuploToGCPMap=Dt.GoogleCloudLoggingPlugin=void 0;var tS=we(),Il=ee(),Al=sn(),rS=Nt(),Cm=mt(),Pl=class extends rS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new ys(this.options)}};Dt.GoogleCloudLoggingPlugin=Pl;var nS="https://logging.googleapis.com/v2/entries:write?alt=json";Dt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var ys=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Il.Environment.instance.loggingEnvironmentType,this.#o=Il.Environment.instance.loggingEnvironmentStage,this.#n=Il.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(e,r){if(e.messages.length===0)return;let n={allMessages:(0,Cm.makeErrorsSerializable)(e.messages)};this.#t||(this.#t=await Al.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Dt.ZuploToGCPMap[e.level],timestamp:e.timestamp,trace:`projects/${i}/traces/${e.requestId}`,labels:{requestId:e.requestId,buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};e.rayId&&(s.labels.rayId=e.rayId);let a=(0,Cm.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;this.#t||(this.#t=await Al.GcpServiceAccount.init(this.#e));let r=await(0,Al.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(nS,{method:"POST",body:JSON.stringify({entries:e}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new tS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Dt.GoogleLogTransport=ys});var Rl=g(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.gcpLogFormat=an.GCP_LOG_FORMAT=void 0;var Lm=mt(),iS=gs();an.GCP_LOG_FORMAT="gcp";function oS(t){let e={allMessages:(0,Lm.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,Lm.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:iS.ZuploToGCPMap[t.level],timestamp:t.timestamp,"logging.googleapis.com/labels":{buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${t.requestId}`,allMessages:e.allMessages};return t.rayId&&(i["logging.googleapis.com/labels"].rayId=t.rayId),i}o(oS,"gcpLogFormat");an.gcpLogFormat=oS});var Um=g(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.ConsoleTransport=void 0;var Dm=Rl(),Ol=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;async log(e){if(this.#t===Dm.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Dm.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,level:e.level,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId}])}};_s.ConsoleTransport=Ol});var Ul=g(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.DataDogTransport=cn.DataDogLoggingPlugin=void 0;var sS=we(),xl=ee(),aS=Nt(),Mm=mt(),Dl=class extends aS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new bs(this.options)}};cn.DataDogLoggingPlugin=Dl;var Nl="__ddtags",Cl="__ddattr",Ll=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),cS=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(Ll(n)):r.push(`${Ll(n)}:${Ll(i.toString())}`)}),r.join(",")},"formatTags"),bs=class{static{o(this,"DataDogTransport")}constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=xl.Environment.instance.loggingEnvironmentType,this.#i=xl.Environment.instance.loggingEnvironmentStage,this.#r=xl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){let n={},i=r.custom[Nl];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(h=>h[Nl]!==void 0);a>-1&&(Object.assign(n,s[a][Nl]),s.splice(a,1));let c={},u=r.custom[Cl];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(h=>h[Cl]!==void 0);l>-1&&(Object.assign(c,s[l][Cl]),s.splice(l,1));let d=(0,Mm.makeErrorsSerializable)(s),y={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Mm.extractBestMessage)(d),service:e.loggingId,ddtags:cS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(y,c),this.batcher.enqueue(y),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{e.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...e]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new sS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};cn.DataDogTransport=bs});var Fm=g(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.ProcessTransport=void 0;var km=Rl(),Ml=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;async log(e){if(this.#t===km.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,km.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId,vectorClock:e.vectorClock}])}};Es.ProcessTransport=Ml});var qm=g(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.RemoteLogTransport=void 0;var uS=we(),Hm=ee(),lS=mt(),dS=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,lS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Hm.Environment.instance.systemUserAgent,"zp-dn":Hm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),ws,kl=class{static{o(this,"RemoteLogTransport")}constructor(e){ws||(ws=new uS.BatchDispatch("remote-log-transport",1,dS(e)))}async log(e,r){ws.enqueue(e),r.waitUntil(ws.waitUntilFlushed())}};vs.RemoteLogTransport=kl});var $m=g(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.unifiedFormatter=xr.SeverityNumberOpenTelemetryMap=void 0;xr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var pS=o((t,e)=>r=>{let n={};return n.deploymentName=t,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:e.BUILD_ID,buildTimestamp:e.TIMESTAMP,gitSHA:e.GIT_SHA,version:e.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:xr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");xr.unifiedFormatter=pS});var Vm=g(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.UnifiedLogTransport=void 0;var hS=we(),jm=ee(),fS=$m(),mS=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,fS.unifiedFormatter)(r,n);fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":jm.Environment.instance.systemUserAgent,"zp-dn":jm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ts,Fl=class{static{o(this,"UnifiedLogTransport")}constructor(e){Ts||(Ts=new hS.BatchDispatch("unified-log-transport",1,mS(e)))}async log(e,r){Ts.enqueue(e),r.waitUntil(Ts.waitUntilFlushed())}};Ss.UnifiedLogTransport=Fl});var Qm=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.LogInitializer=void 0;var yS=Er(),gS=Rt(),Gm=Tu(),Bm=ee(),Km=Vh(),_S=Nt(),bS=Gh(),Jm=Bh(),zm=Um(),ES=Ul(),wS=gs(),Wm=Fm(),vS=qm(),TS=Vm(),Hl=(0,yS.debug)("zuplo:logging"),ql=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(e){this.serviceProvider=e,this.systemCoreLogger=this.setupSystemCoreLogger(Bm.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Bm.Environment.instance)}setupSystemCoreLogger(e){let{build:r}=e;Hl("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(Gm.SYSTEM_LOGGER);return i?n.push(new Wm.ProcessTransport(i.logger,e.logFormat)):e.isDeno&&n.push(new zm.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&n.push(new TS.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),new Km.CoreLogger(e.systemLogLevel,"system",e.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(e){Hl("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=e,s=this.serviceProvider.getService(Gm.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new Wm.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&r.push(new zm.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&r.push(new vS.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new wS.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 ES.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return gS.plugins.forEach(a=>{a instanceof _S.LogPlugin&&r.push(a.getTransport())}),new Km.CoreLogger(e.userLogLevel,"user",e.loggingId,i.BUILD_ID,r)}createRequestLoggers(e,r,n,i,s){Hl("Gateway.createRequestLoggers");let a=new bS.LoggingContext(n,i,s),c=new Jm.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new Jm.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};Is.LogInitializer=ql});var jl=g(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.UserRouteConfiguration=void 0;var $l=class{static{o(this,"UserRouteConfiguration")}constructor(e){this.path=e.path,this.methods=e.methods,this.label=e.label,this.key=e.key,this.handler=e.handler,this.corsPolicy=e.corsPolicy,this.custom=e.custom,this.version=e.version,this.policies=e.policies,this.excludeFromOpenApi=e.excludeFromOpenApi,this.pathPattern=e.pathPattern,e.raw?(this.#e=e.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=e.operationId,this.summary=e.summary,this.tags=e.tags,this.parameters=e.parameters,this.responses=e.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};As.UserRouteConfiguration=$l});var Gl=g(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.Router=bt.RouterError=bt.LookupResult=bt.RouterEntry=void 0;var Ym=D(),SS=ft(),IS=jl(),Ps=class{static{o(this,"RouterEntry")}constructor(e,r,n,i){this.fullPath=e,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};bt.RouterEntry=Ps;var fi=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};bt.LookupResult=fi;var Rs=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};bt.RouterError=Rs;var Vl=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof IS.UserRouteConfiguration||e instanceof SS.SystemRouteConfiguration))throw new Ym.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===e.version)?.pathPrefix,i;"pathPattern"in e&&e.pathPattern?i=`${n??""}${e.pathPattern}`:i=`${n??""}${e.path}`;try{let s=new URLPattern({pathname:i}),a=new Ps(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Rs(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Ym.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(e));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new fi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(e){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:e});if(a!==null){let c=new fi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};bt.Router=Vl});var un=g(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.Gateway=void 0;var AS=Er(),Zm=wh(),Xm=Sh(),PS=Ih(),ey=Ah(),ty=xh(),Ut=Jn(),Os=wr(),ry=jh(),wt=D(),Bl=Rt(),RS=Qm(),OS=Gt(),xS=ve(),NS=Eu(),CS=Tr(),LS=Qn(),DS=Wn(),US=Gl(),Kl=ft(),ny=jl(),MS=Be(),iy=ee(),oy=Ar(),kS=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],Et=(0,AS.debug)("zuplo:runtime"),FS=o(t=>{let e=t.findIndex(r=>r.name===Kl.systemNoVersion.name);return e>-1?[...t.splice(e),Kl.systemNoVersion]:[...t,Kl.systemNoVersion]},"setupSystemNoVersion"),Jl=class t{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(e,r,n,i){this.routeData=e,this.runtimeSettings=r,this.schemaValidator=i,Et("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new RS.LogInitializer(n)}static async initialize(e,r,n,i,s){if(Et("Gateway.initialize"),!t.#e){await(0,Bl.initializeRuntime)(s);let a=new t(e,r,n,i);t.#e=a}return t.#e}static purgeGatewayCache(){Et("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new wt.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[LS.policyProcessor,NS.corsProcessor,CS.metricsProcessor];#i;setupRoutes=()=>{Et("Gateway.setupRoutes");let e=this.routeData,r=FS(e.versions),n=new US.Router(r);if(e.routes.length===0)return(0,Zm.registerBuildRoute)(n,this),(0,ty.registerPingRoute)(n,this),(0,Xm.registerCorsRoute)(n,this),(0,PS.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;return i&&((0,ry.registerDevPortalLegacyRedirectRoute)(n,this),(0,ry.registerDevPortalV3Route)(n,this)),(0,Zm.registerBuildRoute)(n,this),(0,ty.registerPingRoute)(n,this),(0,Xm.registerCorsRoute)(n,this),e.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new wt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=a,u=new OS.Pipeline(this.#n,c,this),l=new ny.UserRouteConfiguration(s);n.addRoute(l,u.execute)}),(0,ey.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let e;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(e=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof e!="function")throw new wt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else e=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return e};errorHandler(e,r,n){try{return this.#i(e,r,n)}catch(i){return Et("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){Et("Gateway.internalErrorResponse");let i={};if(iy.Environment.instance.isDeno){if(n instanceof wt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,oy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,oy.cleanStack)(s.stack)),i={cause:s}}}return xS.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}#s(e){let r=new Headers(e.headers);return Ut.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),iy.Environment.instance.isDeno&&Ut.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(e,{headers:r})}async handleRequest(e,r){let n=e.headers.get(Ut.REQUEST_ID_HEADER)??e.headers.get(Ut.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(Ut.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(e.headers);T.set(Ut.REQUEST_ID_HEADER,n),e=new Request(e,{headers:T})}if(["GET","HEAD"].includes(e.method)&&e.body){let T=new Headers(e.headers);T.set(Ut.BODY_REMOVED_HEADER,"true"),e=new Request(e,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,e),u=new URL(e.url),l=u.pathname,d=this.#r.lookup(e.method,l);if(!d)throw new wt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Os.HeaderIncomingRequestProperties(e.headers),y=this.#s(e),h=new DS.ZuploRequest(y,{params:d.params}),m=new Os.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=Os.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===ey.notFoundRouteConfiguration&&Bl.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof ny.UserRouteConfiguration)}try{if(MS.SystemLogMap.addLogger(m,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,Bl.invokeOnRequestExtensions)(h,m);if(j instanceof Response)return j;{let C=Os.ZuploContextExtensions.getContextExtensions(m);h=j,C.latestRequest=h}}[...kS,...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:e.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;HS(S,d,e),Et("Gateway.handleRequest - call user handler");let k=await S(h,m);if(Et("Gateway.handleRequest - user handler"),!(k instanceof Response))throw new wt.RuntimeError(`Invalid Response type from the request handler: ${typeof k}`);if(k.bodyUsed)throw new wt.RuntimeError("The response object has already been used. Return a new response instead.");if(k.headers.get(Ut.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(Ut.REQUEST_ID_HEADER,n),new Response(k.body,{status:k.status,statusText:k.statusText,headers:j,cf:k.cf})}else return k}catch(T){return Et("Gateway - error executing handler",T),T instanceof wt.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,m,T)}}};xs.Gateway=Jl;function HS(t,e,r){if(Et("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new wt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new wt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${e.routeConfiguration.path}'`)}o(HS,"checkHandler")});var sy=g(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.invokeInboundPolicy=void 0;var qS=D(),$S=un(),jS=Qn(),VS=o(async(t,e,r)=>{let n=$S.Gateway.instance.routeData.policies,i=(0,jS.getInboundPolicyHandlerAndOptions)([t],n);if(i.length===0)throw new qS.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);let s=i[0];return s.handler(e,r,s.options,t)},"invokeInboundPolicy");Ns.invokeInboundPolicy=VS});var wr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Jn(),GS=D(),BS=sy(),zl=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(_e.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}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=zl;var Wl=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Wl;var Ql=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};Xe.ResponseSentEvent=Ql;var Cs=class t{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(e,r){if(!t.#e.has(e)){let n=new t(r);return t.#e.set(e,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${e.requestId}'`)}static getContextExtensions(e){let r=t.#e.get(e);if(!r)throw new GS.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${e.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(e){this.latestRequest=e,this.#t=[],this.#r=[]}addResponseSendingHook(e){this.#r.push(e)}addResponseSendingFinalHook(e){this.#t.push(e)}onResponseSendingFinal=async(e,r,n)=>{for(let i of this.#t)await i(e,r,n)};onResponseSending=async(e,r,n)=>{let i=e;for(let s of this.#r)i=await s(e,r,n);return i}};Xe.ZuploContextExtensions=Cs;var Yl=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(e),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,BS.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingFinalHook=c=>{Cs.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingFinalHook;addEventListener(e,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),a}},"wrapped");super.addEventListener(e,i,n)}};Xe.SystemZuploContext=Yl});var ay=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.ContextData=void 0;var Zl=class t{static{o(this,"ContextData")}static#e;#t;constructor(e){this.#t=e}set(e,r){t.set(e,this.#t,r)}get(e){return t.get(e,this.#t)}static set(e,r,n){t.#e||(t.#e=new WeakMap);let i=t.#e.get(e);i||(i=new Map),i.set(r,n)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};Ls.ContextData=Zl});var Xl=g(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.environment=or.isZuploReadableEnvVariableName=or.isRestrictedEnvVariableName=void 0;var KS=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function cy(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!KS.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(cy,"isRestrictedEnvVariableName");or.isRestrictedEnvVariableName=cy;function uy(t){return!!t.startsWith("ZUPLO_")}o(uy,"isZuploReadableEnvVariableName");or.isZuploReadableEnvVariableName=uy;var JS=new Proxy({},{get(t,e){if(cy(String(e))&&!uy(String(e)))return;let r=globalThis,n;return r.process?n=r.process.env[e]:n=r[e],n}});or.environment=JS});var ed=g(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.externalServiceHandler=ln.externalServiceTunnelConfig=void 0;var zS=Er(),Nr=D(),WS=td(),mi=ee(),at=(0,zS.debug)("zuplo:runtime:external-service");function dy(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=mi.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(dy,"getServiceAuth");async function QS(t){let e=dy();if(!e)throw at("There is no external service auth configured for this zup."),new Nr.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw at("Cannot call external service with Request object"),new Nr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(t).hostname,i={};i["CF-Access-Client-Id"]=e.clientId,i["CF-Access-Client-Secret"]=e.clientSecret;let s;if(e.customServiceMapping&&e.customServiceMapping[n])s=`https://${e.customServiceMapping[n]}`;else if(mi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let a=mi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await py(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Nr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(QS,"externalServiceTunnelConfig");ln.externalServiceTunnelConfig=QS;async function YS(t,e){let r=dy();if(r)if(at(`Using external service auth. ClientId: ${r.clientId})`),typeof t=="string"){let n=new URL(t),i=n.hostname,s=e??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(mi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let d=mi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await py(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Nr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);at(`Calling external service: ${u.toString()}`);let l=await(0,WS.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Nr.RuntimeError("Could not connect to secure tunnel.");return l}else throw at("Cannot call external service with Request object"),new Nr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw at("There is no external service auth configured for this zup."),new Nr.RuntimeError("There are no external services configured for this zup.")}o(YS,"externalServiceHandler");ln.externalServiceHandler=YS;async function py(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=ZS(n);at(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await ly(`${s}-${i}`),l=await ly(`${s}-${a}-${c}`);return`${u}.${l}`}o(py,"hashServiceName");async function ly(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(ly,"hashSegment");function ZS(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(ZS,"sanitizeEnvironmentType")});var td=g(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.originalFetch=void 0;var XS=ed(),hy=new Map;hy.set("service:",XS.externalServiceHandler);dn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=eI(e);if(typeof t=="string"){let n=new URL(t),i=hy.get(n.protocol);return i?i(t,r):(0,dn.originalFetch)(t,r)}else return(0,dn.originalFetch)(t,r)};var eI=o(t=>{if(!t||t instanceof Request)return t;let e=t;if(!e.zuplo)return t;let r=t;return r.cf={cacheEverything:e.zuplo?.cacheEverything,cacheTtl:e.zuplo?.cacheTtlSeconds},delete t.zuplo,t},"transformInit")});var yy=g(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.Handler=pn.purgeGatewayCache=void 0;var my=un(),fy=ee(),tI=o(()=>{my.Gateway.purgeGatewayCache()},"purgeGatewayCache");pn.purgeGatewayCache=tI;var rd=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a,c){this.routeData=e,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(e,r)=>{fy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await my.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:"Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.",instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:fy.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(s,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(e,r)}};pn.Handler=rd});var Ey=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 rI(t){for(var e=[],r=0;r<t.length;){var n=t[r];if(n==="*"||n==="+"||n==="?"){e.push({type:"MODIFIER",index:r,value:t[r++]});continue}if(n==="\\"){e.push({type:"ESCAPED_CHAR",index:r++,value:t[r++]});continue}if(n==="{"){e.push({type:"OPEN",index:r,value:t[r++]});continue}if(n==="}"){e.push({type:"CLOSE",index:r,value:t[r++]});continue}if(n===":"){for(var i="",s=r+1;s<t.length;){var a=t.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=t[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));e.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(t[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<t.length;){if(t[s]==="\\"){u+=t[s++]+t[s++];continue}if(t[s]===")"){if(c--,c===0){s++;break}}else if(t[s]==="("&&(c++,t[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=t[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));e.push({type:"PATTERN",index:r,value:u}),r=s;continue}e.push({type:"CHAR",index:r,value:t[r++]})}return e.push({type:"END",index:r,value:""}),e}o(rI,"lexer");function nd(t,e){e===void 0&&(e={});for(var r=rI(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(hn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var fe=d(ne);if(fe!==void 0)return fe;var Ge=r[u],E=Ge.type,F=Ge.index;throw new TypeError("Unexpected ".concat(E," at ").concat(F,", expected ").concat(ne))},"mustConsume"),y=o(function(){for(var ne="",fe;fe=d("CHAR")||d("ESCAPED_CHAR");)ne+=fe;return ne},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),v=d("PATTERN");if(m||v){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=y(),j=d("NAME")||"",C=d("PATTERN")||"",re=y();p("CLOSE"),a.push({name:j||(C?c++:""),pattern:j&&!C?s:C,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(nd,"parse");Re.parse=nd;function nI(t,e){return gy(nd(t,e),e)}o(nI,"compile");Re.compile=nI;function gy(t,e){e===void 0&&(e={});var r=id(e),n=e.encode,i=n===void 0?function(u){return u}:n,s=e.validate,a=s===void 0?!0:s,c=t.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<t.length;d++){var p=t[d];if(typeof p=="string"){l+=p;continue}var y=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(y)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(y.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<y.length;v++){var T=i(y[v],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof y=="string"||typeof y=="number"){var T=i(String(y),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o(gy,"tokensToFunction");Re.tokensToFunction=gy;function iI(t,e){var r=[],n=od(t,r,e);return _y(n,r,e)}o(iI,"match");Re.match=iI;function _y(t,e,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=t.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(y){if(a[y]===void 0)return"continue";var h=e[y-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[y].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[y],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(_y,"regexpToFunction");Re.regexpToFunction=_y;function hn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(hn,"escapeString");function id(t){return t&&t.sensitive?"":"i"}o(id,"flags");function oI(t,e){if(!e)return t;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(t.source);i;)e.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(t.source);return t}o(oI,"regexpToRegexp");function sI(t,e,r){var n=t.map(function(i){return od(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),id(r))}o(sI,"arrayToRegexp");function aI(t,e,r){return by(nd(t,r),e,r)}o(aI,"stringToRegexp");function by(t,e,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(F){return F}:l,p=r.delimiter,y=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,v="[".concat(hn(m),"]|$"),T="[".concat(hn(y),"]"),S=a?"^":"",k=0,j=t;k<j.length;k++){var C=j[k];if(typeof C=="string")S+=hn(d(C));else{var re=hn(d(C.prefix)),ne=hn(d(C.suffix));if(C.pattern)if(e&&e.push(C),re||ne)if(C.modifier==="+"||C.modifier==="*"){var fe=C.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(C.pattern,")(?:").concat(ne).concat(re,"(?:").concat(C.pattern,"))*)").concat(ne,")").concat(fe)}else S+="(?:".concat(re,"(").concat(C.pattern,")").concat(ne,")").concat(C.modifier);else C.modifier==="+"||C.modifier==="*"?S+="((?:".concat(C.pattern,")").concat(C.modifier,")"):S+="(".concat(C.pattern,")").concat(C.modifier);else S+="(?:".concat(re).concat(ne,")").concat(C.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(v,")"):"$";else{var Ge=t[t.length-1],E=typeof Ge=="string"?T.indexOf(Ge[Ge.length-1])>-1:Ge===void 0;i||(S+="(?:".concat(T,"(?=").concat(v,"))?")),E||(S+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(S,id(r))}o(by,"tokensToRegexp");Re.tokensToRegexp=by;function od(t,e,r){return t instanceof RegExp?oI(t,e):Array.isArray(t)?sI(t,e,r):aI(t,e,r)}o(od,"pathToRegexp");Re.pathToRegexp=od});var ud=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.AwsV4Signer=fn.AwsClient=void 0;var cI=Er(),Sy=D(),uI=(0,cI.debug)("zuplo:runtime"),ad=new TextEncoder,wy={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"},lI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],cd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:e,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(e==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=e,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(e,r){let n=new Ds(Object.assign({url:e},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(e,r){uI("AWS fetch",e);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(e,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Sy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};fn.AwsClient=cd;var Ds=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:e,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:y,appendSessionToken:h,allHeaders:m,singleEncode:v}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=e||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=dI(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=y,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let k=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),k.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&k.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(C=>m||!lI.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"&&!k.has("X-Amz-Expires")&&k.set("X-Amz-Expires","86400"),k.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),k.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),k.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,"/");v||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=
|
|
59
|
+
-----END ${t}-----`},"default")});function Lf(e){let t=[],r=0;for(;r<e.length;){let n=Hf(e.subarray(r));t.push(n),r+=n.byteLength}return t}function Hf(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=t+n+2;return{byteLength:s,contents:e.subarray(t,t+n),raw:e.subarray(0,s)}}else{let s=e[t]&127;t++,n=0;for(let a=0;a<s;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function LT(e){let t=Lf(Lf(Hf(e).contents)[0].contents);return Vo(t[t[0].raw[0]===160?6:5].raw)}function DT(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=ju(t);return rl(LT(r),"PUBLIC KEY")}var Df,Uf,Mf,rr,Cf,kf,Ff,nl,qf,Xo=I(()=>{Te();ot();Ie();Nf();V();st();Df=o(async(e,t,r)=>{if(!se(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return rl(Vo(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Uf=o(e=>Df("public","spki",e),"toSPKI"),Mf=o(e=>Df("private","pkcs8",e),"toPKCS8"),rr=o((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((s,a)=>s===t[a])||rr(e,t,n+1)},"findOid"),Cf=o(e=>{switch(!0){case rr(e,[42,134,72,206,61,3,1,7]):return"P-256";case rr(e,[43,129,4,0,34]):return"P-384";case rr(e,[43,129,4,0,35]):return"P-521";case rr(e,[43,101,110]):return"X25519";case rr(e,[43,101,111]):return"X448";case rr(e,[43,101,112]):return"Ed25519";case rr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),kf=o(async(e,t,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Cf(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Cf(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),Ff=o((e,t,r)=>kf(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),nl=o((e,t,r)=>kf(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(Lf,"getElement");o(Hf,"parseElement");o(LT,"spkiFromX509");o(DT,"getSPKI");qf=o((e,t,r)=>{let n;try{n=DT(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return nl(n,t,r)},"fromX509")});function UT(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new M(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new M('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var MT,il,$f=I(()=>{Te();V();Ie();o(UT,"subtleMapping");MT=o(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=UT(e),s=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return D.subtle.importKey("raw",te(e.k),...s);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...s)},"parse"),il=MT});async function jf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return nl(e,t,r)}async function Vf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return qf(e,t,r)}async function Gf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Ff(e,t,r)}async function nr(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?il({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):te(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return il({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var ui=I(()=>{Ie();Xo();$f();V();qe();o(jf,"importSPKI");o(Vf,"importX509");o(Gf,"importPKCS8");o(nr,"importJWK")});var kT,FT,HT,ir,li=I(()=>{ot();st();kT=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!zu(t))throw new TypeError(Ju(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),FT=o((e,t,r)=>{if(!zu(t))throw new TypeError(Ju(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"),HT=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?kT(e,t):FT(e,t,r)},"checkKeyType"),ir=HT});async function qT(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(r,"Uint8Array"));let s=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,qo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function $T(e,t,r,n,i){let s;r instanceof Uint8Array?s=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(He(r,e,"encrypt"),s=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var jT,di,ol=I(()=>{ye();Bu();Ku();Te();tr();ot();V();st();o(qT,"cbcEncrypt");o($T,"gcmEncrypt");jT=o(async(e,t,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Ko(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Qr(r,parseInt(e.slice(-3),10)),qT(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Qr(r,parseInt(e.slice(1,4),10)),$T(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),di=jT});async function Bf(e,t,r,n){let i=e.slice(0,7);n||(n=Go(i));let{ciphertext:s,tag:a}=await di(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function Kf(e,t,r,n,i){let s=e.slice(0,7);return zo(s,t,r,n,i,new Uint8Array(0))}var sl=I(()=>{ol();Wu();Bo();Ie();o(Bf,"wrap");o(Kf,"unwrap")});async function VT(e,t,r,n,i){switch(ir(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new P('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Yo(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await nr(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await Qo(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?ai(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return si(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new P("JWE Encrypted Key missing");return xf(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new P('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new P('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new P('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Pf(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return si(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new P('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new P('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return Kf(e,t,r,s,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Jf,zf=I(()=>{Wo();Zu();el();tl();Ie();V();ci();ui();li();qe();sl();o(VT,"decryptKeyManagement");Jf=VT});function GT(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...t.entries()]):s=t;for(let a of n.crit){if(!s.has(a))throw new M(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var bt,en=I(()=>{V();o(GT,"validateCrit");bt=GT});var BT,pi,al=I(()=>{BT=o((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),pi=BT});async function tn(e,t,r){var n;if(!Q(e))throw new P("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new P("JOSE Header missing");if(typeof e.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new P("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new P("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new P("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let j=te(e.protected);i=JSON.parse(ce.decode(j))}catch{throw new P("JWE Protected Header is invalid")}if(!gt(i,e.header,e.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(bt(P,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new P("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new P("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&pi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&pi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new Yt('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new Yt('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let y;try{y=await Jf(a,t,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof P||j instanceof M)throw j;y=_t(c)}let h=te(e.iv),m=te(e.tag),v=Y.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(v,Y.encode("."),Y.encode(e.aad)):T=v;let S=await zo(c,y,te(e.ciphertext),h,m,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||_f)(S));let k={plaintext:S};return e.protected!==void 0&&(k.protectedHeader=i),e.aad!==void 0&&(k.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(k.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(k.unprotectedHeader=e.header),p?{...k,key:t}:k}var es=I(()=>{Ie();Wu();Qu();V();Yr();qe();zf();ye();ci();en();al();o(tn,"flattenedDecrypt")});async function ts(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new P("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new P("Invalid Compact JWE");let l=await tn({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var cl=I(()=>{es();V();ye();o(ts,"compactDecrypt")});async function Wf(e,t,r){if(!Q(e))throw new P("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new P("JWE Recipients has no members");for(let n of e.recipients)try{return await tn({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 Lt}var Qf=I(()=>{es();V();qe();o(Wf,"generalDecrypt")});var KT,Yf,Zf=I(()=>{Te();ot();Ie();st();KT=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:Z(e)};if(!se(e))throw new TypeError(ie(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await D.subtle.exportKey("jwk",e);return s},"keyToJWK"),Yf=KT});async function Xf(e){return Uf(e)}async function em(e){return Mf(e)}async function rs(e){return Yf(e)}var ul=I(()=>{Xo();Xo();Zf();o(Xf,"exportSPKI");o(em,"exportPKCS8");o(rs,"exportJWK")});async function JT(e,t,r,n,i={}){let s,a,c;switch(ir(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(!Yo(r))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await vf(r)).privateKey);let{x:p,y,crv:h,kty:m}=await rs(d),v=await Qo(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?ai(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:m}},m==="EC"&&(a.epk.y=y),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),e==="ECDH-ES"){c=v;break}c=n||_t(t);let T=e.slice(-6);s=await oi(T,v,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||_t(t),s=await Of(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||_t(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Af(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||_t(t),s=await oi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||_t(t);let{iv:u}=i;({encryptedKey:s,...a}=await Bf(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var ns,ll=I(()=>{Wo();Zu();el();tl();Ie();ci();V();ul();li();sl();o(JT,"encryptKeyManagement");ns=JT});var dl,Dt,is=I(()=>{Ie();ol();Qu();Bo();ll();V();Yr();ye();en();dl=Symbol(),Dt=class{static{o(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new P("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!gt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(bt(P,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let m;({cek:c,encryptedKey:a,parameters:m}=await ns(i,s,t,this._cek,this._keyManagementParameters)),m&&(r&&dl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=Go(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Se(l,Y.encode("."),Y.encode(d))):u=l;let p,y;if(n.zip==="DEF"){let m=await(r?.deflateRaw||bf)(this._plaintext);({ciphertext:p,tag:y}=await di(s,m,c,this._iv,u))}else({ciphertext:p,tag:y}=await di(s,this._plaintext,c,this._iv,u));let h={ciphertext:Z(p),iv:Z(this._iv),tag:Z(y)};return a&&(h.encrypted_key=Z(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var pl,os,tm=I(()=>{is();V();ci();Yr();ll();Ie();en();pl=class{static{o(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},os=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new pl(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new P("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Dt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!gt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new P('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(bt(P,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=_t(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let y={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Dt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:y}).encrypt(l.key,{...l.options,...t,[dl]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:h,parameters:m}=await ns(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:y});d.encrypted_key=Z(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}return c}}});function hi(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var hl=I(()=>{V();o(hi,"subtleDsa")});function fi(e,t,r){if(se(t))return yf(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 fl=I(()=>{Te();tr();ot();st();o(fi,"getCryptoKey")});var zT,rm,nm=I(()=>{hl();Te();Zo();fl();zT=o(async(e,t,r,n)=>{let i=await fi(e,t,"verify");Lr(e,i);let s=hi(e,i.algorithm);try{return await D.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),rm=zT});async function rn(e,t,r){var n;if(!Q(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Q(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=te(e.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!gt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=bt(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&pi("algorithms",r.algorithms);if(l&&!l.has(u))throw new Yt('"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),ir(u,t,"verify");let p=Se(Y.encode((n=e.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof e.payload=="string"?Y.encode(e.payload):e.payload),y=te(e.signature);if(!await rm(u,t,y,p))throw new Cr;let m;c?m=te(e.payload):typeof e.payload=="string"?m=Y.encode(e.payload):m=e.payload;let v={payload:m};return e.protected!==void 0&&(v.protectedHeader=i),e.header!==void 0&&(v.unprotectedHeader=e.header),d?{...v,key:t}:v}var ss=I(()=>{Ie();nm();V();ye();Yr();qe();li();en();al();o(rn,"flattenedVerify")});async function as(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await rn({payload:i,protected:n,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var ml=I(()=>{ss();V();ye();o(as,"compactVerify")});async function im(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 rn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Cr}var om=I(()=>{ss();V();qe();o(im,"generalVerify")});var nn,yl=I(()=>{nn=o(e=>Math.floor(e.getTime()/1e3),"default")});var WT,on,gl=I(()=>{WT=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,on=o(e=>{let t=WT.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var sm,QT,sn,cs=I(()=>{V();ye();yl();gl();qe();sm=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),QT=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),sn=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||sm(e.typ)!==sm(n)))throw new ge('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(t))}catch{}if(!Q(i))throw new ue("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new ge(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new ge('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new ge('unexpected "sub" claim value',"sub","check_failed");if(u&&!QT(i.aud,typeof u=="string"?[u]:u))throw new ge('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=on(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,y=nn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new ge('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new ge('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>y+d)throw new ge('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new ge('"exp" claim must be a number',"exp","invalid");if(i.exp<=y-d)throw new Wr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=y-i.iat,m=typeof l=="number"?l:on(l);if(h-d>m)throw new Wr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new ge('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function am(e,t,r){var n;let i=await as(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");let a={payload:sn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var cm=I(()=>{ml();cs();V();o(am,"jwtVerify")});async function um(e,t,r){let n=await ts(e,t,r),i=sn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new ge('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new ge('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new ge('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var lm=I(()=>{cl();cs();V();o(um,"jwtDecrypt")});var an,_l=I(()=>{is();an=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Dt(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 YT,dm,pm=I(()=>{hl();Te();Zo();fl();YT=o(async(e,t,r)=>{let n=await fi(e,t,"sign");Lr(e,n);let i=await D.subtle.sign(hi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),dm=YT});var or,us=I(()=>{Ie();pm();Yr();V();ye();li();en();or=class{static{o(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!gt(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=bt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');ir(a,t,"sign");let c=this._payload;s&&(c=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Se(u,Y.encode("."),c),d=await dm(a,t,l),p={signature:Z(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var cn,bl=I(()=>{us();cn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new or(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 El,ls,hm=I(()=>{us();V();El=class{static{o(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},ls=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new El(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 or(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=s;else if(t.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var sr,ds=I(()=>{yl();qe();gl();sr=class{static{o(this,"ProduceJWT")}constructor(t){if(!Q(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:nn(new Date)+on(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:nn(new Date)+on(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:nn(new Date)}:this._payload={...this._payload,iat:t},this}}});var ps,fm=I(()=>{bl();V();ye();ds();ps=class extends sr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new cn(Y.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var hs,mm=I(()=>{_l();ye();ds();hs=class extends sr{static{o(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new an(Y.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function wl(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":ar(e.crv,'"crv" (Curve) Parameter'),ar(e.x,'"x" (X Coordinate) Parameter'),ar(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":ar(e.crv,'"crv" (Subtype of Key Pair) Parameter'),ar(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":ar(e.e,'"e" (Exponent) Parameter'),ar(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":ar(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Y.encode(JSON.stringify(r));return Z(await Fo(t,n))}async function ym(e,t){t??(t="sha256");let r=await wl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var ar,gm=I(()=>{qu();Ie();V();ye();qe();ar=o((e,t)=>{if(typeof e!="string"||!e)throw new ti(`${t} missing or invalid`)},"check");o(wl,"calculateJwkThumbprint");o(ym,"calculateJwkThumbprintUri")});async function _m(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 nr({...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 bm=I(()=>{ui();qe();V();o(_m,"EmbeddedJWK")});function ZT(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new M('Unsupported "alg" value for a JSON Web Key Set')}}function vl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(XT)}function XT(e){return Q(e)}function eS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Em(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await nr({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new Zt("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function wm(e){let t=new mi(e);return async function(r,n){return t.getKey(r,n)}}var mi,Tl=I(()=>{ui();V();qe();o(ZT,"getKtyFromAlg");o(vl,"isJWKSLike");o(XT,"isJWKLike");o(eS,"clone");mi=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!vl(t))throw new Zt("JSON Web Key Set malformed");this._jwks=eS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=ZT(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new Nr;if(u!==1){let l=new ri,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Em(d,p,n)}catch{continue}},l}return Em(this._cached,c,n)}};o(Em,"importWithAlgCache");o(wm,"createLocalJWKSet")});var tS,vm,Tm=I(()=>{V();tS=o(async(e,t,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new ni:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new pe("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new pe("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),vm=tS});function rS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Sm(e,t){let r=new Sl(e,t);return async function(n,i){return r.getKey(n,i)}}var Sl,Im=I(()=>{Tm();V();Tl();o(rS,"isCloudflareWorkers");Sl=class extends mi{static{o(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof Nr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&rS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=vm(this._url,this._timeoutDuration,this._options).then(t=>{if(!vl(t))throw new Zt("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};o(Sm,"createRemoteJWKSet")});var fs,Am=I(()=>{Ie();ye();V();cs();ds();fs=class extends sr{static{o(this,"UnsecuredJWT")}encode(){let t=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new ue("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new ue("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new ue("Invalid Unsecured JWT")}return{payload:sn(c,te(i),r),header:c}}}});var Il={};Ki(Il,{decode:()=>yi,encode:()=>nS});var nS,yi,ms=I(()=>{Ie();nS=Z,yi=te});function Pm(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ce.decode(yi(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Rm=I(()=>{ms();ye();qe();o(Pm,"decodeProtectedHeader")});function Om(e){if(typeof e!="string")throw new ue("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new ue("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new ue("Invalid JWT");if(!t)throw new ue("JWTs must contain a payload");let n;try{n=yi(t)}catch{throw new ue("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ce.decode(n))}catch{throw new ue("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new ue("Invalid JWT Claims Set");return i}var xm=I(()=>{ms();ye();qe();V();o(Om,"decodeJwt")});async function Nm(e,t){var r;let n,i,s;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),Xt(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function Al(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new M("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Cm(e,t){var r,n,i;let s,a;switch(e){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Al(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Al(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Al(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new M("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new M("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Pl=I(()=>{Te();V();ii();o(Nm,"generateSecret");o(Al,"getModulusLengthOption");o(Cm,"generateKeyPair")});async function Lm(e,t){return Cm(e,t)}var Dm=I(()=>{Pl();o(Lm,"generateKeyPair")});async function Um(e,t){return Nm(e,t)}var Mm=I(()=>{Pl();o(Um,"generateSecret")});var ys={};Ki(ys,{CompactEncrypt:()=>an,CompactSign:()=>cn,EmbeddedJWK:()=>_m,EncryptJWT:()=>hs,FlattenedEncrypt:()=>Dt,FlattenedSign:()=>or,GeneralEncrypt:()=>os,GeneralSign:()=>ls,SignJWT:()=>ps,UnsecuredJWT:()=>fs,base64url:()=>Il,calculateJwkThumbprint:()=>wl,calculateJwkThumbprintUri:()=>ym,compactDecrypt:()=>ts,compactVerify:()=>as,createLocalJWKSet:()=>wm,createRemoteJWKSet:()=>Sm,decodeJwt:()=>Om,decodeProtectedHeader:()=>Pm,errors:()=>Vu,exportJWK:()=>rs,exportPKCS8:()=>em,exportSPKI:()=>Xf,flattenedDecrypt:()=>tn,flattenedVerify:()=>rn,generalDecrypt:()=>Wf,generalVerify:()=>im,generateKeyPair:()=>Lm,generateSecret:()=>Um,importJWK:()=>nr,importPKCS8:()=>Gf,importSPKI:()=>jf,importX509:()=>Vf,jwtDecrypt:()=>um,jwtVerify:()=>am});var gs=I(()=>{cl();es();Qf();tm();ml();ss();om();cm();lm();_l();is();bl();us();hm();fm();mm();gm();bm();Tl();Im();Am();ul();ui();Rm();xm();V();Dm();Mm();ms()});var bs=g(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.fetchRetry=void 0;var iS=L();async function oS(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:s.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new iS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(oS,"fetchRetry");_s.fetchRetry=oS});var un=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var km=(gs(),Ji(ys)),sS=L(),aS=bs();async function cS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new km.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(cS,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=cS;async function uS(e,t,r){return Ol(e,{token:t,returnSecureToken:!0},r)}o(uS,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=uS;async function lS(e,t,r){return Ol(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(lS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=lS;async function Ol(e,t,r){let n=await(0,aS.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new sS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Ol,"fetchToken");Ze.fetchToken=Ol;var Rl=class e{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,km.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=Rl});var ws=g(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.GoogleLogTransport=Ut.ZuploToGCPMap=Ut.GoogleCloudLoggingPlugin=void 0;var dS=we(),xl=ee(),Nl=un(),pS=Ct(),Fm=yt(),Cl=class extends pS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Es(this.options)}};Ut.GoogleCloudLoggingPlugin=Cl;var hS="https://logging.googleapis.com/v2/entries:write?alt=json";Ut.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Es=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=xl.Environment.instance.loggingEnvironmentType,this.#o=xl.Environment.instance.loggingEnvironmentStage,this.#n=xl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,Fm.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await Nl.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Ut.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(s.labels.rayId=t.rayId);let a=(0,Fm.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await Nl.GcpServiceAccount.init(this.#e));let r=await(0,Nl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(hS,{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 dS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ut.GoogleLogTransport=Es});var Ll=g(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.gcpLogFormat=ln.GCP_LOG_FORMAT=void 0;var Hm=yt(),fS=ws();ln.GCP_LOG_FORMAT="gcp";function mS(e){let t={allMessages:(0,Hm.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,Hm.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:fS.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}o(mS,"gcpLogFormat");ln.gcpLogFormat=mS});var $m=g(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.ConsoleTransport=void 0;var qm=Ll(),Dl=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===qm.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,qm.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}])}};vs.ConsoleTransport=Dl});var ql=g(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.DataDogTransport=dn.DataDogLoggingPlugin=void 0;var yS=we(),Ul=ee(),gS=Ct(),jm=yt(),Hl=class extends gS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ts(this.options)}};dn.DataDogLoggingPlugin=Hl;var Ml="__ddtags",kl="__ddattr",Fl=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),_S=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(Fl(n)):r.push(`${Fl(n)}:${Fl(i.toString())}`)}),r.join(",")},"formatTags"),Ts=class{static{o(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Ul.Environment.instance.loggingEnvironmentType,this.#i=Ul.Environment.instance.loggingEnvironmentStage,this.#r=Ul.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[Ml];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[Ml]!==void 0);a>-1&&(Object.assign(n,s[a][Ml]),s.splice(a,1));let c={},u=r.custom[kl];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[kl]!==void 0);l>-1&&(Object.assign(c,s[l][kl]),s.splice(l,1));let d=(0,jm.makeErrorsSerializable)(s),y={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,jm.extractBestMessage)(d),service:t.loggingId,ddtags:_S(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(y,c),this.batcher.enqueue(y),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new yS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};dn.DataDogTransport=Ts});var Gm=g(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.ProcessTransport=void 0;var Vm=Ll(),$l=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===Vm.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Vm.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}])}};Ss.ProcessTransport=$l});var Km=g(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.RemoteLogTransport=void 0;var bS=we(),Bm=ee(),ES=yt(),wS=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,ES.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Bm.Environment.instance.systemUserAgent,"zp-dn":Bm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Is,jl=class{static{o(this,"RemoteLogTransport")}constructor(t){Is||(Is=new bS.BatchDispatch("remote-log-transport",1,wS(t)))}async log(t,r){Is.enqueue(t),r.waitUntil(Is.waitUntilFlushed())}};As.RemoteLogTransport=jl});var Jm=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 vS=o((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Dr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Dr.unifiedFormatter=vS});var Wm=g(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.UnifiedLogTransport=void 0;var TS=we(),zm=ee(),SS=Jm(),IS=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,SS.unifiedFormatter)(r,n);fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":zm.Environment.instance.systemUserAgent,"zp-dn":zm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ps,Vl=class{static{o(this,"UnifiedLogTransport")}constructor(t){Ps||(Ps=new TS.BatchDispatch("unified-log-transport",1,IS(t)))}async log(t,r){Ps.enqueue(t),r.waitUntil(Ps.waitUntilFlushed())}};Rs.UnifiedLogTransport=Vl});var ry=g(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.LogInitializer=void 0;var AS=Tr(),PS=Ot(),Qm=Ou(),Ym=ee(),Zm=Xh(),RS=Ct(),OS=ef(),Xm=tf(),ey=$m(),xS=ql(),NS=ws(),ty=Gm(),CS=Km(),LS=Wm(),Gl=(0,AS.debug)("zuplo:logging"),Bl=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(Ym.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Ym.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;Gl("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(Qm.SYSTEM_LOGGER);return i?n.push(new ty.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new ey.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new LS.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new Zm.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){Gl("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,s=this.serviceProvider.getService(Qm.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new ty.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&r.push(new ey.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new CS.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 NS.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 xS.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return PS.plugins.forEach(a=>{a instanceof RS.LogPlugin&&r.push(a.getTransport())}),new Zm.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,s){Gl("Gateway.createRequestLoggers");let a=new OS.LoggingContext(n,i,s),c=new Xm.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Xm.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Os.LogInitializer=Bl});var Jl=g(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.UserRouteConfiguration=void 0;var Kl=class{static{o(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};xs.UserRouteConfiguration=Kl});var Wl=g(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.Router=Et.RouterError=Et.LookupResult=Et.RouterEntry=void 0;var ny=L(),DS=ft(),US=Jl(),Ns=class{static{o(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Et.RouterEntry=Ns;var gi=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Et.LookupResult=gi;var Cs=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};Et.RouterError=Cs;var zl=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof US.UserRouteConfiguration||t instanceof DS.SystemRouteConfiguration))throw new ny.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let s=new URLPattern({pathname:i}),a=new Ns(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Cs(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}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 s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new gi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new gi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Et.Router=zl});var pn=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.Gateway=void 0;var MS=Tr(),iy=Ah(),oy=Dh(),kS=Uh(),sy=Mh(),ay=qh(),Mt=Wn(),Ls=Sr(),cy=Zh(),vt=L(),Ql=Ot(),FS=ry(),HS=Bt(),qS=ve(),$S=Au(),jS=Ar(),VS=ei(),GS=Xn(),BS=Wl(),Yl=ft(),uy=Jl(),KS=Be(),JS=Io(),ly=ee(),dy=xr(),zS=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],wt=(0,MS.debug)("zuplo:runtime"),WS=o(e=>{let t=e.findIndex(r=>r.name===Yl.systemNoVersion.name);return t>-1?[...e.splice(t),Yl.systemNoVersion]:[...e,Yl.systemNoVersion]},"setupSystemNoVersion"),Zl=class e{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,wt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new FS.LogInitializer(n)}static async initialize(t,r,n,i,s){if(wt("Gateway.initialize"),!e.#e){await(0,Ql.initializeRuntime)(s);let a={...t,corsPolicies:(0,JS.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){wt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new vt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[VS.policyProcessor,$S.corsProcessor,jS.metricsProcessor];#i;setupRoutes=()=>{wt("Gateway.setupRoutes");let t=this.routeData,r=WS(t.versions),n=new BS.Router(r);if(t.routes.length===0)return(0,iy.registerBuildRoute)(n,this),(0,ay.registerPingRoute)(n,this),(0,oy.registerCorsRoute)(n,this),(0,kS.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;return i&&((0,cy.registerDevPortalLegacyRedirectRoute)(n,this),(0,cy.registerDevPortalV3Route)(n,this)),(0,iy.registerBuildRoute)(n,this),(0,ay.registerPingRoute)(n,this),(0,oy.registerCorsRoute)(n,this),t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new vt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=a,u=new HS.Pipeline(this.#n,c,this),l=new uy.UserRouteConfiguration(s);n.addRoute(l,u.execute)}),(0,sy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new vt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return wt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){wt("Gateway.internalErrorResponse");let i={};if(ly.Environment.instance.isDeno){if(n instanceof vt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,dy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,dy.cleanStack)(s.stack)),i={cause:s}}}return qS.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Mt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),ly.Environment.instance.isDeno&&Mt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Mt.REQUEST_ID_HEADER)??t.headers.get(Mt.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Mt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Mt.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(Mt.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new vt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Ls.HeaderIncomingRequestProperties(t.headers),y=this.#s(t),h=new GS.ZuploRequest(y,{params:d.params}),m=new Ls.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=Ls.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===sy.notFoundRouteConfiguration&&Ql.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof uy.UserRouteConfiguration)}try{if(KS.SystemLogMap.addLogger(m,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,Ql.invokeOnRequestExtensions)(h,m);if(j instanceof Response)return j;{let C=Ls.ZuploContextExtensions.getContextExtensions(m);h=j,C.latestRequest=h}}[...zS,...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;QS(S,d,t),wt("Gateway.handleRequest - call user handler");let k=await S(h,m);if(wt("Gateway.handleRequest - user handler"),!(k instanceof Response))throw new vt.RuntimeError(`Invalid Response type from the request handler: ${typeof k}`);if(k.bodyUsed)throw new vt.RuntimeError("The response object has already been used. Return a new response instead.");if(k.headers.get(Mt.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(Mt.REQUEST_ID_HEADER,n),new Response(k.body,{status:k.status,statusText:k.statusText,headers:j,cf:k.cf})}else return k}catch(T){return wt("Gateway - error executing handler",T),T instanceof vt.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,m,T)}}};Ds.Gateway=Zl;function QS(e,t,r){if(wt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new vt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new vt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(QS,"checkHandler")});var py=g(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.invokeInboundPolicy=void 0;var YS=L(),ZS=pn(),XS=ei(),eI=o(async(e,t,r)=>{let n=ZS.Gateway.instance.routeData.policies,i=(0,XS.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new YS.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let s=i[0];return s.handler(t,r,s.options,e)},"invokeInboundPolicy");Us.invokeInboundPolicy=eI});var Sr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Wn(),tI=L(),rI=py(),Xl=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=Xl;var ed=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=ed;var td=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=td;var Ms=class e{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new tI.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let s of this.#r)i=await s(t,r,n);return i}};Xe.ZuploContextExtensions=Ms;var rd=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,rI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingFinalHook=c=>{Ms.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=rd});var hy=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.ContextData=void 0;var nd=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};ks.ContextData=nd});var id=g(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.environment=cr.isZuploReadableEnvVariableName=cr.isRestrictedEnvVariableName=void 0;var nI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function fy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!nI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(fy,"isRestrictedEnvVariableName");cr.isRestrictedEnvVariableName=fy;function my(e){return!!e.startsWith("ZUPLO_")}o(my,"isZuploReadableEnvVariableName");cr.isZuploReadableEnvVariableName=my;var iI=new Proxy({},{get(e,t){if(fy(String(t))&&!my(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});cr.environment=iI});var od=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.externalServiceHandler=hn.externalServiceTunnelConfig=void 0;var oI=Tr(),Ur=L(),sI=sd(),_i=ee(),at=(0,oI.debug)("zuplo:runtime:external-service");function gy(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=_i.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(gy,"getServiceAuth");async function aI(e){let t=gy();if(!t)throw at("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 at("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 s;if(t.customServiceMapping&&t.customServiceMapping[n])s=`https://${t.customServiceMapping[n]}`;else if(_i.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let a=_i.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await _y(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(aI,"externalServiceTunnelConfig");hn.externalServiceTunnelConfig=aI;async function cI(e,t){let r=gy();if(r)if(at(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,s=t??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(_i.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let d=_i.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await _y(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("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}`);at(`Calling external service: ${u.toString()}`);let l=await(0,sI.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Ur.RuntimeError("Could not connect to secure tunnel.");return l}else throw at("Cannot call external service with Request object"),new Ur.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw at("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.")}o(cI,"externalServiceHandler");hn.externalServiceHandler=cI;async function _y(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=uI(n);at(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await yy(`${s}-${i}`),l=await yy(`${s}-${a}-${c}`);return`${u}.${l}`}o(_y,"hashServiceName");async function yy(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(yy,"hashSegment");function uI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(uI,"sanitizeEnvironmentType")});var sd=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.originalFetch=void 0;var lI=od(),by=new Map;by.set("service:",lI.externalServiceHandler);fn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=dI(t);if(typeof e=="string"){let n=new URL(e),i=by.get(n.protocol);return i?i(e,r):(0,fn.originalFetch)(e,r)}else return(0,fn.originalFetch)(e,r)};var dI=o(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var vy=g(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.Handler=mn.purgeGatewayCache=void 0;var pI=L(),wy=pn(),Ey=ee(),hI=o(()=>{wy.Gateway.purgeGatewayCache()},"purgeGatewayCache");mn.purgeGatewayCache=hI;var ad=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeData=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Ey.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 s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof pI.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Ey.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)}};mn.Handler=ad});var Ay=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 fI(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",s=r+1;s<e.length;){var a=e.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(e[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;){if(e[s]==="\\"){u+=e[s++]+e[s++];continue}if(e[s]===")"){if(c--,c===0){s++;break}}else if(e[s]==="("&&(c++,e[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=e[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}o(fI,"lexer");function cd(e,t){t===void 0&&(t={});for(var r=fI(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(yn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var fe=d(ne);if(fe!==void 0)return fe;var Ge=r[u],E=Ge.type,F=Ge.index;throw new TypeError("Unexpected ".concat(E," at ").concat(F,", expected ").concat(ne))},"mustConsume"),y=o(function(){for(var ne="",fe;fe=d("CHAR")||d("ESCAPED_CHAR");)ne+=fe;return ne},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),v=d("PATTERN");if(m||v){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=y(),j=d("NAME")||"",C=d("PATTERN")||"",re=y();p("CLOSE"),a.push({name:j||(C?c++:""),pattern:j&&!C?s:C,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(cd,"parse");Re.parse=cd;function mI(e,t){return Ty(cd(e,t),t)}o(mI,"compile");Re.compile=mI;function Ty(e,t){t===void 0&&(t={});var r=ud(t),n=t.encode,i=n===void 0?function(u){return u}:n,s=t.validate,a=s===void 0?!0:s,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var y=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(y)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(y.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<y.length;v++){var T=i(y[v],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof y=="string"||typeof y=="number"){var T=i(String(y),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o(Ty,"tokensToFunction");Re.tokensToFunction=Ty;function yI(e,t){var r=[],n=ld(e,r,t);return Sy(n,r,t)}o(yI,"match");Re.match=yI;function Sy(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=e.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(y){if(a[y]===void 0)return"continue";var h=t[y-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[y].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[y],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Sy,"regexpToFunction");Re.regexpToFunction=Sy;function yn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(yn,"escapeString");function ud(e){return e&&e.sensitive?"":"i"}o(ud,"flags");function gI(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}o(gI,"regexpToRegexp");function _I(e,t,r){var n=e.map(function(i){return ld(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),ud(r))}o(_I,"arrayToRegexp");function bI(e,t,r){return Iy(cd(e,r),t,r)}o(bI,"stringToRegexp");function Iy(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(F){return F}:l,p=r.delimiter,y=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,v="[".concat(yn(m),"]|$"),T="[".concat(yn(y),"]"),S=a?"^":"",k=0,j=e;k<j.length;k++){var C=j[k];if(typeof C=="string")S+=yn(d(C));else{var re=yn(d(C.prefix)),ne=yn(d(C.suffix));if(C.pattern)if(t&&t.push(C),re||ne)if(C.modifier==="+"||C.modifier==="*"){var fe=C.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(C.pattern,")(?:").concat(ne).concat(re,"(?:").concat(C.pattern,"))*)").concat(ne,")").concat(fe)}else S+="(?:".concat(re,"(").concat(C.pattern,")").concat(ne,")").concat(C.modifier);else C.modifier==="+"||C.modifier==="*"?S+="((?:".concat(C.pattern,")").concat(C.modifier,")"):S+="(".concat(C.pattern,")").concat(C.modifier);else S+="(?:".concat(re).concat(ne,")").concat(C.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(v,")"):"$";else{var Ge=e[e.length-1],E=typeof Ge=="string"?T.indexOf(Ge[Ge.length-1])>-1:Ge===void 0;i||(S+="(?:".concat(T,"(?=").concat(v,"))?")),E||(S+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(S,ud(r))}o(Iy,"tokensToRegexp");Re.tokensToRegexp=Iy;function ld(e,t,r){return e instanceof RegExp?gI(e,t):Array.isArray(e)?_I(e,t,r):bI(e,t,r)}o(ld,"pathToRegexp");Re.pathToRegexp=ld});var fd=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.AwsV4Signer=gn.AwsClient=void 0;var EI=Tr(),xy=L(),wI=(0,EI.debug)("zuplo:runtime"),pd=new TextEncoder,Py={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"},vI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],hd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Fs(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){wI("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(t,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new xy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};gn.AwsClient=hd;var Fs=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:y,appendSessionToken:h,allHeaders:m,singleEncode:v}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=TI(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=y,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let k=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),k.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&k.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(C=>m||!vI.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"&&!k.has("X-Amz-Expires")&&k.set("X-Amz-Expires","86400"),k.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),k.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),k.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,"/");v||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Oy(this.encodedPath);let j=new Set;this.encodedSearch=[...this.url.searchParams].filter(([C])=>{if(!C)return!1;if(this.service==="s3"){if(j.has(C))return!1;j.add(C)}return!0}).map(C=>C.map(re=>Oy(encodeURIComponent(re)))).sort(([C,re],[ne,fe])=>C<ne?-1:C>ne?1:re<fe?-1:re>fe?1:0).map(C=>C.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 bi("AWS4"+this.secretAccessKey,t),s=await bi(i,this.region),a=await bi(s,this.service);n=await bi(a,"aws4_request"),this.cache.set(r,n)}return dd(await bi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,dd(await Ry(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 e=this.headers.get("X-Amz-Content-Sha256");if(e==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Sy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=sd(await vy(this.body||""))}return e}};fn.AwsV4Signer=Ds;async function yi(t,e){let r=await crypto.subtle.importKey("raw",typeof t=="string"?ad.encode(t):t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,ad.encode(e))}o(yi,"hmac");async function vy(t){return crypto.subtle.digest("SHA-256",typeof t=="string"?ad.encode(t):t)}o(vy,"hash");function sd(t){return Array.prototype.map.call(new Uint8Array(t),e=>("0"+e.toString(16)).slice(-2)).join("")}o(sd,"buf2hex");function Ty(t){return t.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}o(Ty,"encodeRfc3986");function dI(t,e){let{hostname:r,pathname:n}=t,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(e.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in wy?[wy[s],a]:[s,a]}o(dI,"guessServiceRegion")});var Iy=g(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.convertStringToUtf8Array=vt.convertUtf8ArrayToString=vt.base64Encode=vt.base64Decode=void 0;function pI(t){return t>64&&t<91?t-65:t>96&&t<123?t-71:t>47&&t<58?t+4:t===43?62:t===47?63:0}o(pI,"b64ToUint6");function hI(t,e){let r=t.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=e?Math.ceil((n*3+1>>2)/e)*e:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=pI(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(hI,"base64Decode");vt.base64Decode=hI;function Us(t){return t<26?t+65:t<52?t+71:t<62?t-4:t===62?43:t===63?47:65}o(Us,"uint6ToB64");function fI(t){let e=2,r="",n=t.length,i=0;for(let s=0;s<n;s++)e=s%3,i|=t[s]<<(16>>>e&24),(e===2||t.length-s===1)&&(r+=String.fromCodePoint(Us(i>>>18&63),Us(i>>>12&63),Us(i>>>6&63),Us(i&63)),i=0);return r.substring(0,r.length-2+e)+(e===2?"":e===1?"=":"==")}o(fI,"base64Encode");vt.base64Encode=fI;function mI(t){let e="",r,n=t.length;for(let i=0;i<n;i++)r=t[i],e+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(t[++i]-128<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(t[++i]-128<<6)+t[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+t[++i]-128:r);return e}o(mI,"convertUtf8ArrayToString");vt.convertUtf8ArrayToString=mI;function yI(t){let e,r=t.length,n=0;for(let c=0;c<r;c++)e=t.codePointAt(c),e>=65536&&c++,n+=e<128?1:e<2048?2:e<65536?3:e<2097152?4:e<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)e=t.codePointAt(a),e<128?i[s++]=e:e<2048?(i[s++]=192+(e>>>6),i[s++]=128+(e&63)):e<65536?(i[s++]=224+(e>>>12),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63)):e<2097152?(i[s++]=240+(e>>>18),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):e<67108864?(i[s++]=248+(e>>>24),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):(i[s++]=252+(e>>>30),i[s++]=128+(e>>>24&63),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++),a++;return i}o(yI,"convertStringToUtf8Array");vt.convertStringToUtf8Array=yI});var Ay=g(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.toCLFDate=void 0;function mn(t){let e=t.toString();return`${e.length===1?"0":""}${e}`}o(mn,"numberToString");function gI(t){let e=t.getTimezoneOffset(),r=Math.abs(e),n=e>0?"-":"+",i=mn(Math.floor(r/60)),s=mn(r%60);return`${n}${i}${s}`}o(gI,"getCLFOffset");function _I(t=new Date){if(!(t instanceof Date))throw new Error("clf-date: invalid parameter");let e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=mn(t.getDate()),n=e[t.getMonth()],i=t.getFullYear(),s=mn(t.getHours()),a=mn(t.getMinutes()),c=mn(t.getSeconds()),u=gI(t);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(_I,"toCLFDate");Ms.toCLFDate=_I});var Ly=g(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.getResponse=sr.awsLambdaHandler=sr.AwsLambdaHandlerExtensions=void 0;var bI=Er(),Py=Ey(),gi=D(),EI=Ot(),wI=ud(),Oy=Iy(),xy=Ay(),Ry=(0,bI.debug)("zuplo:runtime"),vI="X-Amzn-Trace-Id",TI="x-amzn-errortype",Ny=[],SI=o(async(t,e,r)=>{let n=r;for await(let i of Ny)n=await i(t,e,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends gi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(e,r){super(`Failed to invoke AWS Lambda function. ${e}`),this.traceId=r.get(vI)??void 0,this.errorType=r.get(TI)??void 0}};sr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:t=>{Ny.push(t)}};async function II(t,e){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=e.route.handler.options;if(!r)throw new gi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new gi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new gi.ConfigurationError("region is not set in the handler options");if(!s)throw new gi.ConfigurationError("functionName is not set in the handler options");let l=new wI.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Ry(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await t.arrayBuffer()});let[p,y]=await RI(t,{binaryMediaTypes:u}),{options:h}=e.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=PI(t,e):m=await AI(t,e,{useAwsResourcePathStyle:c}),Ry("Calling onSendingAwsLambdaEvent hook");let v=await SI(t,e,m);v.body=p,v.isBase64Encoded=y;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return Cy(T)}catch(S){if(S instanceof Ke){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return EI.HttpProblems.internalServerError(t,e,void 0,k)}throw S}}o(II,"awsLambdaHandler");sr.awsLambdaHandler=II;async function Cy(t){let e;try{e=await t.json()}catch{throw new Ke("Lambda response did not contain valid JSON",t.headers)}if(t.status!==200)throw e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"?new Ke(e.message,t.headers):new Ke(`Status: ${t.statusText}`,t.headers);if(e&&typeof e=="object"&&"errorMessage"in e&&typeof e.errorMessage=="string")throw new Ke(e.errorMessage,t.headers);if(!e||typeof e!="object"||!("statusCode"in e)||typeof e.statusCode!="number")return new Response(JSON.stringify(e),{status:t.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in e&&e.headers){if(typeof e.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof e.headers}`,t.headers);for(let[i,s]of Object.entries(e.headers))r.set(i,s)}if("cookies"in e&&e.cookies){if(!Array.isArray(e.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof e.cookies}`,t.headers);r.set("cookie",e.cookies.join(";"))}let n;if("isBase64Encoded"in e&&typeof e.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof e.isBase64Encoded}`,t.headers);if("isBase64Encoded"in e&&e.isBase64Encoded===!0){if(!("body"in e))throw new Ke("Response was set to base64 encoded but no body was set",t.headers);if(typeof e.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",t.headers);n=(0,Oy.base64Decode)(e.body)}else"body"in e&&typeof e.body=="string"?n=e.statusCode===204&&e.body===""?null:e.body:"body"in e&&e.body!==null&&e.body!==void 0?n=JSON.stringify(e.body):n=null;if(n!==null&&"bodyEncoding"in e){if(typeof e.bodyEncoding!="string"||!(e.bodyEncoding==="gzip"||e.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${e.bodyEncoding}`,t.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(e.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:e.statusCode})}o(Cy,"getResponse");sr.getResponse=Cy;async function AI(t,e,{useAwsResourcePathStyle:r}){let n={},i={};t.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=t.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(t.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:t.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:e.requestId,httpMethod:t.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:t.headers.get("CF-Connecting-IP"),user:null,userAgent:t.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:e.requestId,requestTime:(0,xy.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:e.route.operationId??null,resourcePath:xI(e.route.path,r),stage:null},pathParameters:t.params,stageVariables:null}}o(AI,"buildEventVersion1");function PI(t,e){let r={};t.headers.forEach((s,a)=>{r[a]=s});let n=new URL(t.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:t.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:t.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:t.headers.get("CF-Connecting-IP"),userAgent:t.headers.get("user-agent")},requestId:e.requestId,routeKey:null,stage:null,time:(0,xy.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:t.params,stageVariables:null}}o(PI,"buildEventVersion2");async function RI(t,{binaryMediaTypes:e}){let r,n=!1,i=t.headers.get("content-type");if(t.method==="GET"||t.method==="HEAD")r=null;else if(e&&i&&OI(e,i)){let s=await t.arrayBuffer();r=(0,Oy.base64Encode)(new Uint8Array(s)),n=!0}else r=await t.clone().text();return[r,n]}o(RI,"getBodyResult");function OI(t,e){let r=e.split(";")[0].trim().toLowerCase();return t.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(OI,"matchesContentType");function xI(t,e=!1){if(!e)return t;let r=(0,Py.parse)(t),n=(0,Py.compile)(t),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(xI,"getResourcePath")});var gn=g(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.getHandlerUserLogFunction=yn.logBadGatewayResponses=void 0;var NI=Be(),CI=ee(),LI=[502,503,504];async function DI(t,e){if(LI.includes(t.status)){let r=NI.SystemLogMap.getLogger(e),i=await t.clone().text(),s={};for(let[a,c]of t.headers)s[a]=c;r.warn(`BadGatewayResponse ${t.status}`,{status:t.status,statusText:t.statusText,body:i,headers:s})}}o(DI,"logBadGatewayResponses");yn.logBadGatewayResponses=DI;var ld;function UI(t){if(ld===void 0){let r=CI.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),ld=r}return t.log[ld]}o(UI,"getHandlerUserLogFunction");yn.getHandlerUserLogFunction=UI});var Uy=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.openApiSpecHandler=void 0;var Dy=D(),MI=ve(),dd=ee(),kI=gn();async function FI(t,e){let r=dd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=dd.Environment.instance,i=e.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Dy.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=HI(s);if(!a.isValid)throw new Dy.ConfigurationError(a.error);let c;dd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:t.method,body:t.body,headers:t.headers});if(u.status!==200)return MI.HttpProblems.notFound(t,e,{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,kI.logBadGatewayResponses)(l,e),l}o(FI,"openApiSpecHandler");ks.openApiSpecHandler=FI;var HI=o(t=>t.startsWith("./")?t.startsWith("./config")?t.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 My=g(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.redirectHandler=void 0;var qI=D();async function $I(t,e){let r=e.route.handler.options;if(!r.location)throw new qI.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o($I,"redirectHandler");Fs.redirectHandler=$I});var Fy=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.urlForwardHandler=void 0;var jI=D(),ky=gn();function VI(t,e){let r=t.endsWith("/"),n=e.startsWith("/");return r&&n?`${t.substring(0,t.length-1)}${e}`:!r&&!n?`${t}/${e}`:`${t}${e}`}o(VI,"join");async function GI(t,e){let r=(0,ky.getHandlerUserLogFunction)(e),n=e.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 jI.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},a=new URL(t.url),c=n.__rewriteFunction(t,s),u=VI(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:t.method,body:t.body,headers:t.headers}),y=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${y}ms`),(0,ky.logBadGatewayResponses)(p,e),p}o(GI,"urlForwardHandler");Hs.urlForwardHandler=GI});var qy=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.urlRewriteHandler=void 0;var BI=D(),Hy=gn(),KI=o((t,e)=>{let r=new URL(t),n=new URL(e);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function JI(t,e){let r=(0,Hy.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new BI.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=i?KI(c,t.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:t.method,body:t.body,headers:t.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,Hy.logBadGatewayResponses)(d,e),d}o(JI,"urlRewriteHandler");qs.urlRewriteHandler=JI});var jy=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.webSocketHandler=void 0;var $y=D(),zI=ed(),WI=Ot(),QI=ee(),YI=gn();async function ZI(t,e){let r=QI.Environment.instance,n=e.route.handler.options,i=(0,YI.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new $y.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return WI.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new $y.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(t.headers);if(c.startsWith("service:")){let h=await(0,zI.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let y=JSON.stringify({url:c});return new Response(y,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let p=await l.text(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(y)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(ZI,"webSocketHandler");$s.webSocketHandler=ZI});var Vy=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.webSocketPolicyProcessor=_n.getWebSocketPolicyFunctions=void 0;var XI=D(),eA=o((t,e)=>t.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=e==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new XI.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");_n.getWebSocketPolicyFunctions=eA;var tA=o(async(t,e,r,n,i,s)=>{let a=t.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,e,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");_n.webSocketPolicyProcessor=tA});var By=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.webSocketPipelineHandler=void 0;var pd=D(),rA=Ot(),nA=ee(),iA=gn(),hd=Vy();function Gy(t,e,r,n,i){t.addEventListener("close",()=>{e.close()}),t.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),e.send(JSON.stringify(s))}),t.addEventListener("message",s=>{try{o(async c=>{let u=await(0,hd.webSocketPolicyProcessor)(c,t,e,r,n,i);u!==void 0&&e.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(Gy,"wireUpListeners");async function oA(t,e){let r=nA.Environment.instance,n=e.route.handler.options,i=(0,iA.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new pd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return rA.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new pd.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new pd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let S=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(k)}let d=new WebSocketPair,[p,y]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),y.accept();let v=n.policies&&n.policies.inbound?(0,hd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,hd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Gy(y,m,t,e,v),Gy(m,y,t,e,T),new Response(null,{status:101,webSocket:p})}o(oA,"webSocketPipelineHandler");js.webSocketPipelineHandler=oA});var Ky=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.DynaTraceLoggingPlugin=void 0;var sA=we(),fd=ee(),aA=Ar(),cA=Nt(),uA=mt(),md=class extends cA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new yd(this.options)}};Vs.DynaTraceLoggingPlugin=md;var yd=class{static{o(this,"DynaTraceTransport")}constructor(e){this.#e=e.url,this.#t=e.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(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,uA.stringifyNonString)((0,aA.serializeError)(n)),severity:e.level,"log.source":e.logSource,requestId:e.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":e.loggingId,"custom.rayId":e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async e=>{e.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(e),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 Jy=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.LokiLoggingPlugin=void 0;var lA=we(),gd=ee(),dA=Ar(),pA=Nt(),hA=mt(),_d=class extends pA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ed(this.options)}};Gs.LokiLoggingPlugin=_d;var bd=class{static{o(this,"LokiStream")}constructor(e,r,n,i,s){this.level=e,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=e=>this.level===e.level&&this.requestId===e.requestId};function fA(t,e){return btoa(`${t}:${e}`)}o(fA,"createBasicDigest");var Ed=class{static{o(this,"LokiTransport")}constructor(e){this.#e=e.url,this.#t=fA(e.username,e.password),this.#n=gd.Environment.instance.loggingEnvironmentType,this.#i=gd.Environment.instance.loggingEnvironmentStage,this.#r=gd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){let n=new bd(e.level,this.#r,this.#n,this.#i,e.requestId);e.messages.forEach(i=>{let s={stream:n,message:(0,hA.stringifyNonString)((0,dA.serializeError)(i)),nanoSecondEpoch:`${e.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=e=>{let r={streams:[]};return e.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async e=>{if(e.length===0)return;let r=this.#o(e);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 zy=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.SumoLogicLoggingPlugin=void 0;var mA=we(),wd=ee(),yA=Ar(),gA=Nt(),_A=mt(),vd=class extends gA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Td(this.options)}};Bs.SumoLogicLoggingPlugin=vd;var Td=class{static{o(this,"SumoLogicTransport")}constructor(e){this.#e=e.url,this.#i=e.category,this.#o=e.name,this.#r=wd.Environment.instance.loggingEnvironmentType,this.#n=wd.Environment.instance.loggingEnvironmentStage,this.#t=wd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,_A.stringifyNonString)((0,yA.serializeError)(n)),severity:e.level,source:e.logSource,requestId:e.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async e=>{if(e.length===0)return;let r=e.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 Ys(await n.text())}};cr.DynaTraceMetricsTransport=Qs;var Ys=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};cr.DynaTraceMetricsError=Ys});var rg=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.DynatraceMetricsPlugin=wn.DataDogMetricsPlugin=void 0;var VA=eg();Object.defineProperty(wn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return VA.DataDogMetricsPlugin}});var GA=tg();Object.defineProperty(wn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return GA.DynatraceMetricsPlugin}})});var ng=g(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.AuditLogDataStaxProvider=void 0;var Nd=class{static{o(this,"AuditLogDataStaxProvider")}constructor(e){this.#e=e}#e;writeLogBatch=async e=>{await Promise.allSettled(e.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)})}))}};Zs.AuditLogDataStaxProvider=Nd});var og=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.AuditLogPlugin=void 0;var BA=Rt(),KA=we(),Cd=class extends BA.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new Ld(e,this.#e,this.#t)}};Xs.AuditLogPlugin=Cd;var ig=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),JA={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Ld=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...JA};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,e.addRequestHook(this.#o),this.#r=new KA.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async e=>{await this.#t.writeLogBatch(e)};#i=async(e,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?ig(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:e.status,statusText:e.statusText,headers:this.#e.include?.response?.headers?ig(e.headers):void 0,body:this.#e.include?.response?.body?await e.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(e,r)=>{try{if(!await this.#e.requestFilter(e,r))return e;let i=new Date,s=Date.now(),a=e.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(y=>{r.log.error(y)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var ea=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.getValueFromRequestUser=vn.statusCodesStringToNumberArray=void 0;var sg=D(),ag=new Map;function zA(t){if(typeof t!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=ag.get(t);if(e)return e;let r=t.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return ag.set(t,n),n}o(zA,"statusCodesStringToNumberArray");vn.statusCodesStringToNumberArray=zA;function WA(t,e,r){if(!e.startsWith("."))throw new sg.ConfigurationError(`Invalid ${r} - must start with '.' - '${e}' does not`);let n=e.split(".").splice(1),i=t;return n.forEach(s=>{if(i===void 0)throw new sg.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(WA,"getValueFromRequestUser");vn.getValueFromRequestUser=WA});var pg=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.AmberfloMeteringInboundPolicy=Tn.AmberfloMeteringPolicy=void 0;var cg=D(),QA=we(),ug=ea(),dg=new WeakMap,lg={},Dd=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){dg.set(e,r)}};Tn.AmberfloMeteringPolicy=Dd;async function YA(t,e,r,n){if(!r.statusCodes)throw new cg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,ug.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=dg.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new cg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,ug.getValueFromRequestUser)(t.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},y=lg[r.apiKey];if(!y){let h=r.apiKey,m=t.headers.get("zm-test-id")??"";y=new QA.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});S.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),lg[h]=y}y.enqueue(p),e.waitUntil(y.waitUntilFlushed())}}),t}o(YA,"AmberfloMeteringInboundPolicy");Tn.AmberfloMeteringInboundPolicy=YA});var Ud=g(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.sha256=void 0;async function ZA(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest({name:"SHA-256"},e);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(ZA,"sha256");ta.sha256=ZA});var ur=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.getPolicyCacheName=void 0;var XA=Ud(),hg=new Map;async function eP(t,e){let r,n=hg.get(t);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,XA.sha256)(JSON.stringify({policyName:t,options:e}))}`,hg.set(t,r)),r}o(eP,"getPolicyCacheName");ra.getPolicyCacheName=eP});var gg=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.ApiAuthKeyInboundPolicy=Sn.ApiKeyInboundPolicy=void 0;var tP=ur(),rP=_r(),fg=Xl(),Md=D(),nP=Ot(),kd=Be(),Fd=ee(),iP=ms(),mg="key-metadata-cache-type";function oP(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(oP,"getKeyValue");async function yg(t,e,r,n){if(!r.bucketName)if(fg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=fg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Md.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 Md.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?t:nP.HttpProblems.unauthorized(t,e,{detail:T}),"unauthorizedResponse"),a=t.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=oP(a,i);if(!c||c==="")return s("No key present");let u=await sP(c),l=await(0,tP.getPolicyCacheName)(n,i),d=new rP.MemoryZoneReadThroughCache(l,{logger:kd.SystemLogMap.getLogger(e)}),p=await d.get(u);if(p&&p.isValid===!0)return t.user=p.user,t;if(p&&!p.isValid)return p.typeId!==mg&&kd.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let y={key:c},h=await(0,iP.fetchRetry)({retryDelayMs:5,retries:2,logger:kd.SystemLogMap.getLogger(e)},`${Fd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":Fd.Environment.instance.deploymentName??"unknown","User-Agent":Fd.Environment.instance.systemUserAgent},body:JSON.stringify(y)});if(h.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);e.log.error("Unexpected response from key service",S)}catch{e.log.error("Invalid response from key service")}throw new Md.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),v={isValid:!0,typeId:mg,user:{sub:m.name,data:m.metadata}};return t.user=v.user,d.put(u,v,i.cacheTtlSeconds),t}o(yg,"ApiKeyInboundPolicy");Sn.ApiKeyInboundPolicy=yg;async function sP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(sP,"hashValue");Sn.ApiAuthKeyInboundPolicy=yg});var Mt=g(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.OpenIdJwtInboundPolicy=void 0;var qd=(hs(),Gi(ps)),$d=D(),aP=ve(),Hd={},cP=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new $d.ConfigurationError("Invalid State - jwkUrl not set");Hd[e.jwkUrl]||(Hd[e.jwkUrl]=(0,qd.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,qd.jwtVerify)(t,Hd[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),uP=o(async(t,e)=>{let r;if(e.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof e.secret=="string"){let s=new TextEncoder().encode(e.secret);r=new Uint8Array(s)}else r=e.secret;let{payload:n}=await(0,qd.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),lP=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(y=>aP.HttpProblems.unauthorized(t,e,{detail:y}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new $d.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new $d.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?cP:uP,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let y=i.substring(s.length);if(!y||y.length===0)return a("No bearer token on authorization header");try{return await c(y,r)}catch(h){let m=new URL(t.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${m.pathname} `,h):e.log.warn(`Invalid token on: ${t.method} ${m.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?t:l;let d=r.subPropertyName??"sub",p=l[d];return p?(t.user={sub:p,data:l},t):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");na.OpenIdJwtInboundPolicy=lP});var _g=g(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.Auth0JwtInboundPolicy=void 0;var dP=Mt(),pP=o(async(t,e,r,n)=>(0,dP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");ia.Auth0JwtInboundPolicy=pP});var bg=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.BasicAuthInboundPolicy=void 0;var hP=ve(),fP=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>hP.HttpProblems.unauthorized(t,e,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let y=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(v=>v.username===y&&v.password===h);return m||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?t:c;let u=c.username;return t.user={sub:u,data:c.data},t},"BasicAuthInboundPolicy");oa.BasicAuthInboundPolicy=fP});var Eg=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.CachingInboundPolicy=void 0;var mP=ur(),yP=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function gP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(gP,"digestMessage");var _P=o(async(t,e)=>{let r=[...e.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...e.headers??[]],n=[];for(let[d,p]of t.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await gP(JSON.stringify(n)),s=new URL(t.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=e.cacheHttpMethods?.includes(t.method.toUpperCase())&&t.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",t.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":t.method})},"createCacheKeyRequest");async function bP(t,e,r,n){let i=await(0,mP.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await _P(t,r),u=await s.match(c);return u||(e.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(t.method.toUpperCase()))return;let y=r?.expirationSecondsTtl??60,h=new Response(p.body,p);yP.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${y}`),e.waitUntil(s.put(c,h))}catch(d){e.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),t)}o(bP,"CachingInboundPolicy");sa.CachingInboundPolicy=bP});var wg=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.ChangeMethodInboundPolicy=void 0;var EP=D(),wP=Wn(),vP=o(async(t,e,r,n)=>{if(!r.method)throw new EP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new wP.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");aa.ChangeMethodInboundPolicy=vP});var vg=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.ClearHeadersInboundPolicy=void 0;var TP=ke(),SP=o(async(t,e,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=t.headers.get(a);c&&i.set(a,c)}),new TP.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");ca.ClearHeadersInboundPolicy=SP});var Tg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.ClearHeadersOutboundPolicy=void 0;var IP=o(async(t,e,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=t.headers.get(c);u&&s.set(c,u)}),new Response(t.body,{headers:s,status:t.status,statusText:t.statusText})},"ClearHeadersOutboundPolicy");ua.ClearHeadersOutboundPolicy=IP});var Sg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.ClerkJwtInboundPolicy=void 0;var AP=Mt(),PP=o(async(t,e,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,AP.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");la.ClerkJwtInboundPolicy=PP});var Ag=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.CognitoJwtInboundPolicy=void 0;var Ig=D(),RP=Mt(),OP=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new Ig.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Ig.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,RP.OpenIdJwtInboundPolicy)(t,e,{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");da.CognitoJwtInboundPolicy=OP});var Rg=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.CompositeInboundPolicy=void 0;var xP=D(),NP=un(),Pg=Qn(),CP=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new xP.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=NP.Gateway.instance,s=(0,Pg.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Pg.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");pa.CompositeInboundPolicy=CP});var lr=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.optionValidator=void 0;var _i=D();function LP(t,e){let r=o((s,a,c)=>{let u=t[s];if(!(c&&u===void 0)){if(u===void 0)throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' 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 _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' 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 _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(LP,"optionValidator");ha.optionValidator=LP});var Og=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.FirebaseJwtInboundPolicy=void 0;var DP=lr(),UP=Mt(),MP=o(async(t,e,r,n)=>((0,DP.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,UP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");fa.FirebaseJwtInboundPolicy=MP});var xg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.FormDataToJsonInboundPolicy=void 0;var kP=ke(),FP=o(async(t,e,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=t.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):t;let a=await t.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(t.headers);return u.set("content-type","application/json"),u.delete("content-length"),new kP.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");ma.FormDataToJsonInboundPolicy=FP});var Ng=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.GeoFilterInboundPolicy=void 0;var HP=D(),qP=ve(),In="__unknown__",$P=o(async(t,e,r,n)=>{let i={allow:{countries:Pn(r.allow?.countries,"allow.countries",n),regionCodes:Pn(r.allow?.regionCodes,"allow.regionCode",n),asns:Pn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Pn(r.block?.countries,"block.countries",n),regionCodes:Pn(r.block?.regionCodes,"block.regionCode",n),asns:Pn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??In,a=e.incomingRequestProperties.regionCode?.toLowerCase()??In,c=e.incomingRequestProperties.asn?.toString()??In,u=i.ignoreUnknown&&s===In,l=i.ignoreUnknown&&a===In,d=i.ignoreUnknown&&c===In,p=i.allow.countries,y=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||y.length>0&&!y.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return An(t,e,n,s,a,c);let m=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return m.length>0&&m.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?An(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");ya.GeoFilterInboundPolicy=$P;function An(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),qP.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(An,"blockedResponse");function Pn(t,e,r){if(typeof t=="string")return t.split(",").map(n=>n.trim().toLowerCase());if(typeof t>"u")return[];if(Array.isArray(t))return t.map(n=>n.trim().toLowerCase());throw new HP.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(Pn,"toLowerStringArray")});var Cg=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.JWTScopeValidationInboundPolicy=void 0;var jP=o(async(t,e,r)=>{let n=t.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return t},"JWTScopeValidationInboundPolicy");ga.JWTScopeValidationInboundPolicy=jP});var Dg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.MockApiInboundPolicy=void 0;var VP=ve(),GP=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return jd(n,t,e,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return jd(n,t,e,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(y=>{a.push({responseName:c,contentName:l,exampleName:y,exampleValue:d[y]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return Lg(a[c])}else return a.length>0?Lg(a[0]):jd(n,t,e,"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");_a.MockApiInboundPolicy=GP;function Lg(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",t.contentName),t.responseName){case"1XX":return new Response(e,{status:100,headers:r});case"2XX":return new Response(e,{status:200,headers:r});case"3XX":return new Response(e,{status:300,headers:r});case"4XX":return new Response(e,{status:400,headers:r});case"5XX":case"default":return new Response(e,{status:500,headers:r});default:return new Response(e,{status:Number(t.responseName),headers:r})}}o(Lg,"generateResponse");var jd=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return VP.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var Hg=g(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.MoesifInboundPolicy=Rn.setMoesifContext=void 0;var BP=D(),KP=we(),JP="Incoming",zP={logRequestBody:!0,logResponseBody:!0};function Ug(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(Ug,"headersToObject");function Mg(){return new Date().toISOString()}o(Mg,"timestamp");var Vd=new WeakMap,WP={};function QP(t,e){let r=Vd.get(t);r||(r=WP);let n=Object.assign({...r},e);Vd.set(t,n)}o(QP,"setMoesifContext");Rn.setMoesifContext=QP;async function kg(t,e){let r=t.headers.get("content-type"),n=t.clone();if(r&&r.indexOf("json")!==0)try{return await n.json()}catch(s){e.log.error(s)}let i=await n.text();return e.log.debug({textBody:i}),i}o(kg,"readBody");var YP={},Gd;function Fg(){if(!Gd)throw new BP.RuntimeError("Invalid State - no _lastLogger");return Gd}o(Fg,"getLastLogger");function ZP(t){let e=YP[t];return e||(e=new KP.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Fg().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":t},body:n});i.ok||Fg().error({status:i.status,body:await i.text()})})),e}o(ZP,"getDispatcher");async function XP(t,e,r,n){Gd=e.log;let i=Mg(),s=Object.assign(zP,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await kg(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=ZP(s.applicationId),d=t.headers.get("true-client-ip"),p=Vd.get(e)??{},y={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Ug(t.headers)},h=s.logResponseBody?await kg(c,e):void 0,m={time:Mg(),status:c.status,headers:Ug(c.headers),body:h},v={request:y,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:JP};l.enqueue(v),e.waitUntil(l.waitUntilFlushed())}),t}o(XP,"MoesifInboundPolicy");Rn.MoesifInboundPolicy=XP});var qg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.OktaJwtInboundPolicy=void 0;var eR=Mt(),tR=o(async(t,e,r,n)=>(0,eR.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");ba.OktaJwtInboundPolicy=tR});var $g=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.PropelAuthJwtInboundPolicy=void 0;var rR=(hs(),Gi(ps)),nR=Mt(),Bd,iR=o(async(t,e,r,n)=>{if(!Bd)try{Bd=await(0,rR.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,nR.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:Bd,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ea.PropelAuthJwtInboundPolicy=iR});var jg=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var $e=Br(),et=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};G.ValidationError=et;var bi=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};G.ArgumentUndefinedError=bi;var Ei=class extends et{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ei;function oR(t,e){if((0,$e.isUndefined)(t))throw new bi(e)}o(oR,"throwIfUndefined");G.throwIfUndefined=oR;function Kd(t,e){if((0,$e.isUndefinedOrNull)(t))throw new bi(e)}o(Kd,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Kd;function sR(t,e){if(Kd(t,e),!(0,$e.isString)(t))throw new Ei(e,"string")}o(sR,"throwIfNotString");G.throwIfNotString=sR;function aR(t,e){if(Kd(t,e),!(0,$e.isNumber)(t))throw new Ei(e,"number")}o(aR,"throwIfNotNumber");G.throwIfNotNumber=aR;var wi=class extends et{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};G.OptionUndefinedError=wi;var On=class extends et{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=On;function cR(t,e,r,n){if((0,$e.isUndefined)(n))throw new wi(t,e,r)}o(cR,"throwIfOptionUndefined");G.throwIfOptionUndefined=cR;function wa(t,e,r,n){if((0,$e.isUndefinedOrNull)(n))throw new wi(t,e,r)}o(wa,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=wa;function uR(t,e,r,n){if(wa(t,e,r,n),!(0,$e.isString)(n))throw new On(t,e,r,"string")}o(uR,"throwIfOptionNotString");G.throwIfOptionNotString=uR;function lR(t,e,r,n){if(wa(t,e,r,n),!(0,$e.isNumber)(n))throw new On(t,e,r,"number")}o(lR,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=lR;function dR(t,e,r,n){if(wa(t,e,r,n),!(0,$e.isObject)(n))throw new On(t,e,r,"object")}o(dR,"throwIfOptionNotObject");G.throwIfOptionNotObject=dR;function pR(t,e){if((0,$e.isUndefined)(t))throw new et(e)}o(pR,"throwIfStateUndefined");G.throwIfStateUndefined=pR;function va(t,e){if((0,$e.isUndefinedOrNull)(t))throw new et(e)}o(va,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=va;function hR(t,e){if(va(t,e),!(0,$e.isString)(t))throw new et(e);return!0}o(hR,"throwIfStateNotString");G.throwIfStateNotString=hR;function fR(t,e){if(va(t,e),!(0,$e.isNumber)(t))throw new et(e);return!0}o(fR,"throwIfStateNotNumber");G.throwIfStateNotNumber=fR;function mR(t,e){if(va(t,e),!(0,$e.isObject)(t))throw new et(e);return!0}o(mR,"throwIfStateNotObject");G.throwIfStateNotObject=mR});var Vg=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.InMemoryRedisClient=xn.StandardRedisClient=void 0;var Jd=D(),Ta=jg(),zd=class t{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(e,r,n,i){this.redisClientUrl=e,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(e,r,n,i){return(0,Ta.throwIfNotString)(e,"redisClientUrl"),(0,Ta.throwIfNotString)(r,"clientAuthToken"),t.instance||(t.instance=new t(e,r,n,i)),t.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:e,body:r,method:n,requestId:i}){(0,Ta.throwIfNotString)(e,"url");let s=await fetch(`${this.redisClientUrl}${e}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new Jd.SystemError("Redis client failed with 401: Unauthorized"):new Jd.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};xn.StandardRedisClient=zd;var Wd=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,Ta.throwIfNotString)(e,"url"),n==="POST"&&e==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Jd.SystemError("The in-memory redis client only supports /rate-limit calls")}};xn.InMemoryRedisClient=Wd});var zg=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.RateLimitInboundPolicy=void 0;var yR=Er(),gR=ke(),_R=ur(),kt=D(),bR=ve(),Gg=Be(),vi=ee(),Bg=Vg(),Kg=Br(),Sa=(0,yR.debug)("zuplo:policies:RateLimitInboundPolicy"),ER="strict",wR=o(t=>{let e=t.headers.get("cf-connecting-ip")??t.headers.get("true-client-ip");if(e)return e;let r=t.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),vR=o(async t=>({key:`ip-${wR(t)}`}),"getIP"),TR=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser"),SR=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ia;function IR(t,e){let r;if(Ia)return Ia;if(vi.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new Bg.InMemoryRedisClient,Ia=r,r;let{authApiJWT:n,redisURL:i}=vi.Environment.instance;if(!(0,Kg.isString)(i))throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,Kg.isString)(n))throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=Bg.StandardRedisClient.initialize(i,n,vi.Environment.instance.deploymentName??"unknown",vi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ia=r,r}o(IR,"getRedisClient");async function Jg(t,e,r,n,i){let s=Math.floor(e*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:t}),requestId:i})}o(Jg,"getCountAndUpdateExpiry");function AR(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=t.identifier.module[t.identifier.export],!r||typeof r!="function")throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new kt.RuntimeError(u)}return c},"outerFunction")}o(AR,"wrapUserFunction");var PR="Retry-After",RR=o(async(t,e,r,n)=>{let i=Date.now(),s=Gg.SystemLogMap.getLogger(e),a=o((u,l)=>{if(r.throwOnFailure)throw new kt.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[PR]=l.toString()),bR.HttpProblems.tooManyRequests(t,e,void 0,d)},"rateLimited");try{let l={function:AR(r,n),user:TR,ip:vR,all:SR}[r.rateLimitBy],d=await l(t,e,n),p=d.key,y=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",v=IR(n,s),S=`bucket/${vi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??ER)==="async"){let C=await(0,_R.getPolicyCacheName)(n,r),re=new gR.ZoneCache(C,{logger:Gg.SystemLogMap.getLogger(e)}),ne=Jg(S,h,v,s,e.requestId),fe=await re.get(S);if(fe!==void 0&&fe<=Date.now()){Sa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Ge=Math.round((fe-Date.now())/1e3);return c(m,Ge)}return e.addEventListener("responseSending",Ge=>{try{let E=Ge,F=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>y){let Hc=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,Hc,Ce.ttlSeconds).catch(Mp=>{throw s.error(Mp),Mp}),Sa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(m,Ce.ttlSeconds)}return F})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),t}let j=await Jg(S,h,v,s,e.requestId);return j.count>y?(Sa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(m,j.ttlSeconds)):t}catch(u){return a(u.message,u),t}finally{let u=Date.now()-i;Sa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Aa.RateLimitInboundPolicy=RR});var Zg=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ReadmeMetricsInboundPolicy=void 0;var OR=we(),Qd=ee(),Wg=ea(),Yd;function Qg(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(Qg,"headersToNameValuePairs");function xR(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(xR,"queryToNameValueParis");function NR(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(NR,"parseIntOrUndefined");var Yg={};async function CR(t,e,r,n){let i=new Date,s=Date.now();return Yd||(Yd={name:"zuplo",version:Qd.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Qd.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,Wg.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,Wg.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Qd.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:Yd,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:t.method,url:r.useFullRequestPath?new URL(t.url).pathname:e.route.path,httpVersion:"2",headers:Qg(t.headers),queryString:xR(t.query)},response:{status:a.status,statusText:a.statusText,headers:Qg(a.headers),content:{size:NR(t.headers.get("content-length"))}}}]}}},d=Yg[r.apiKey];if(!d){let p=r.apiKey;d=new OR.BatchDispatch("readme-metering-inbound-policy",10,async y=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(y),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),Yg[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(CR,"ReadmeMetricsInboundPolicy");Pa.ReadmeMetricsInboundPolicy=CR});var Xg=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.RemoveHeadersInboundPolicy=void 0;var LR=ke(),DR=D(),UR=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new DR.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(t.headers);return i.forEach(c=>{s.delete(c)}),new LR.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");Ra.RemoveHeadersInboundPolicy=UR});var e_=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.RemoveHeadersOutboundPolicy=void 0;var MR=D(),kR=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new MR.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(t.headers);return s.forEach(u=>{a.delete(u)}),new Response(t.body,{headers:a,status:t.status,statusText:t.statusText})},"RemoveHeadersOutboundPolicy");Oa.RemoveHeadersOutboundPolicy=kR});var t_=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.RemoveQueryParamsInboundPolicy=void 0;var FR=ke(),HR=D(),qR=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new HR.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(t.url);return i.forEach(c=>{s.searchParams.delete(c)}),new FR.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");xa.RemoveQueryParamsInboundPolicy=qR});var r_=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ReplaceStringOutboundPolicy=void 0;var $R=o(async(t,e,r,n)=>{let i=await t.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:t.headers,status:t.status,statusText:t.statusText})},"ReplaceStringOutboundPolicy");Na.ReplaceStringOutboundPolicy=$R});var i_=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.RequestSizeLimitInboundPolicy=void 0;var n_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),jR=o(async(t,e,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(t.method))return t;let i=t.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?n_():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?n_():t},"RequestSizeLimitInboundPolicy");Ca.RequestSizeLimitInboundPolicy=jR});var La=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function VR(t,e,r){return`_${Cr(t+"_"+e+"_"+r)}`}o(VR,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=VR;function GR(t,e,r,n){return`_${Cr(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(GR,"getIdForParameterSchema");tt.getIdForParameterSchema=GR;function BR(t,e,r){return`_${Cr(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${Cr(r.toLowerCase())}`}o(BR,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=BR;function KR(t,e){return`_${Cr(t)}__${Cr(e)}`}o(KR,"getIdForRefSchema");tt.getIdForRefSchema=KR;function Cr(t){let e=[];for(let r=0;r<t.length;r++){let n=t.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)?e.push(t.charAt(r)):e.push("_")}return e.join("")}o(Cr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Cr});var Ti=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var JR=un(),Da=Lr(),zR=La(),WR=o(t=>{let e=t.route.raw();return e.parameters?e.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=WR;var QR=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{if(u.required&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,zR.getIdForParameterSchema)(r,n,i,u.name),d=JR.Gateway.instance.schemaValidator[l],p=d(e[u.name]),y=(0,Le.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${y.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Le.validateParameters=QR;var YR=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");Le.logErrors=YR;var ZR=o(t=>t===Da.ValidationOptions.logOnly||t===Da.ValidationOptions.rejectAndLog,"shouldLog");Le.shouldLog=ZR;var XR=o(t=>t===Da.ValidationOptions.rejectOnly||t===Da.ValidationOptions.rejectAndLog,"shouldReject");Le.shouldReject=XR;var eO=o(t=>t?.map(e=>e.instancePath===void 0||e.instancePath===""?e.message??"Unknown validation error":e.instancePath.replace("/","")+" "+e.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=eO});var o_=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.handleBodyValidation=void 0;var tO=un(),rO=Lr(),Ua=ve(),nO=La(),Je=Ti();async function iO(t,e,r){if(!r.validateBody||r.validateBody===rO.ValidationOptions.none)return;let n;try{n=await e.clone().json()}catch(h){let m=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,v=Ua.HttpProblems.badRequest(e,t,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(t,r.logLevel??"info",m,[n],h),(0,Je.shouldReject)(r.validateBody))return v}if(!e.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,m=Ua.HttpProblems.badRequest(e,t,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,nO.getIdForRequestBodySchema)(t.route.path,e.method,i),c=tO.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,m=Ua.HttpProblems.badRequest(e,t,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),y=Ua.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(t,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return y}o(iO,"handleBodyValidation");Ma.handleBodyValidation=iO});var s_=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.handleHeadersValidation=void 0;var oO=Lr(),sO=ve(),Si=Ti();function aO(t,e,r){if(!r.validateHeaders||r.validateHeaders===oO.ValidationOptions.none)return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,Si.getParametersForOperation)(t),s=(0,Si.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=sO.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Si.shouldLog)(r.validateHeaders)&&(0,Si.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Si.shouldReject)(r.validateHeaders))return c}}o(aO,"handleHeadersValidation");ka.handleHeadersValidation=aO});var a_=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.handlePathParameterValidation=void 0;var cO=Lr(),uO=ve(),Ii=Ti();function lO(t,e,r){if(!r.validatePathParameters||r.validatePathParameters===cO.ValidationOptions.none)return;let n=(0,Ii.getParametersForOperation)(t),i=(0,Ii.validateParameters)(n.filter(s=>s.location==="path"),e.params,t.route.path,e.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=uO.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ii.shouldLog)(r.validatePathParameters)&&(0,Ii.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ii.shouldReject)(r.validatePathParameters))return a}}o(lO,"handlePathParameterValidation");Fa.handlePathParameterValidation=lO});var c_=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.handleQueryParameterValidation=void 0;var dO=Lr(),pO=ve(),Ai=Ti();function hO(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters===dO.ValidationOptions.none)return;let n=(0,Ai.getParametersForOperation)(t),i=(0,Ai.validateParameters)(n.filter(s=>s.location==="query"),e.query,t.route.path,e.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=pO.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ai.shouldLog)(r.validateQueryParameters)&&(0,Ai.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ai.shouldReject)(r.validateQueryParameters))return a}}o(hO,"handleQueryParameterValidation");Ha.handleQueryParameterValidation=hO});var Lr=g(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.SchemaBasedRequestValidation=Ft.RequestValidationInboundPolicy=Ft.ValidationOptions=void 0;var fO=o_(),mO=s_(),yO=a_(),gO=c_(),u_;(function(t){t.none="none",t.logOnly="log-only",t.rejectAndLog="reject-and-log",t.rejectOnly="reject-only"})(u_||(Ft.ValidationOptions=u_={}));var _O=o(async(t,e,r)=>{let n=(0,gO.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,yO.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,mO.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,fO.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");Ft.RequestValidationInboundPolicy=_O;Ft.SchemaBasedRequestValidation=Ft.RequestValidationInboundPolicy});var l_=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.RequireOriginInboundPolicy=void 0;var bO=ke(),EO=D(),wO=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new EO.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=t.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return bO.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");qa.RequireOriginInboundPolicy=wO});var d_=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.SetBodyInboundPolicy=void 0;var vO=ke(),TO=o(async(t,e,r)=>new vO.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");$a.SetBodyInboundPolicy=TO});var h_=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.SetHeadersInboundPolicy=void 0;var SO=ke(),p_=D(),IO=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new p_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(t.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new p_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new SO.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");ja.SetHeadersInboundPolicy=IO});var m_=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.SetHeadersOutboundPolicy=void 0;var f_=D(),AO=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new f_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(t.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new f_.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(t.body,{headers:a,status:t.status,statusText:t.statusText})},"SetHeadersOutboundPolicy");Va.SetHeadersOutboundPolicy=AO});var g_=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.SetQueryParamsInboundPolicy=void 0;var PO=ke(),y_=D(),RO=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new y_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(t.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new y_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new PO.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");Ga.SetQueryParamsInboundPolicy=RO});var __=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.SetStatusOutboundPolicy=void 0;var OO=o(async(t,e,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(t.body,{headers:t.headers,status:n.status,statusText:n.statusText??t.statusText})},"SetStatusOutboundPolicy");Ba.SetStatusOutboundPolicy=OO});var b_=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.SleepInboundPolicy=void 0;var xO=D(),NO=o(async t=>new Promise(r=>{setTimeout(r,t)}),"sleep"),CO=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new xO.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await NO(r.sleepInMs),t},"SleepInboundPolicy");Ka.SleepInboundPolicy=CO});var w_=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.SupabaseJwtInboundPolicy=void 0;var LO=ke(),E_=D(),DO=ve(),UO=lr(),MO=Mt(),kO=o(async(t,e,r,n)=>{(0,UO.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,MO.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof LO.ZuploRequest))throw new E_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=t.user?.data.app_metadata;if(!c)throw new E_.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?DO.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Ja.SupabaseJwtInboundPolicy=kO});var T_=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var FO=ur(),HO=_r(),v_=D(),qO=Be(),$O=ms(),jO=lr(),VO=o(async(t,e,r,n)=>{(0,jO.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,FO.getPolicyCacheName)(n,r),s=new HO.MemoryZoneReadThroughCache(i,{logger:qO.SystemLogMap.getLogger(e)}),a=await s.get(n);if(!a){let c=await GO(r,e);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");za.UpstreamAzureAdServiceAuthInboundPolicy=VO;async function GO(t,e){let r=new URLSearchParams({client_id:t.activeDirectoryClientId,scope:`${t.activeDirectoryClientId}/.default`,client_secret:t.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,$O.fetchRetry)({retries:t.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${t.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();e.log.error("Could not get token from Azure AD",s)}catch{}throw new v_.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 v_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(GO,"getAccessToken")});var I_=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var BO=ur(),KO=_r(),JO=D(),zO=Be(),Zd=sn(),WO=lr(),S_="https://accounts.google.com/o/oauth2/token",Xd,QO=o(async(t,e,r,n)=>{(0,WO.optionValidator)(r,n).required("serviceAccountJson","string"),Xd||(Xd=await Zd.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,BO.getPolicyCacheName)(n,r),a=new KO.MemoryZoneReadThroughCache(s,{logger:zO.SystemLogMap.getLogger(e)}),c=await a.get(n);if(!c){let u=await(0,Zd.getTokenFromGcpServiceAccount)({serviceAccount:Xd,audience:S_,payload:i}),l=await(0,Zd.exchangeGgpJwtForIdToken)(S_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new JO.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");Wa.UpstreamFirebaseAdminAuthInboundPolicy=QO});var A_=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.UpstreamFirebaseUserAuthInboundPolicy=void 0;var YO=ur(),ZO=_r(),Nn=D(),XO=Be(),e0=Ud(),ep=sn(),t0=ea(),r0=lr(),n0="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",i0=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],tp,o0=o(async(t,e,r,n)=>{if((0,r0.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Nn.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(i0.indexOf(p)!==-1)throw new Nn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}tp||(tp=await ep.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new Nn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=t.user?.sub}else if(r.userIdPropertyPath){if(!t.user)throw new Nn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,t0.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Nn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,YO.getPolicyCacheName)(n,r),c=new ZO.MemoryZoneReadThroughCache(a,{logger:XO.SystemLogMap.getLogger(e)}),u={uid:s,claims:i},l=await(0,e0.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,ep.getTokenFromGcpServiceAccount)({serviceAccount:tp,audience:n0,payload:u}),y=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,ep.exchangeFirebaseJwtForIdToken)(y,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Nn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${d}`),t},"UpstreamFirebaseUserAuthInboundPolicy");Qa.UpstreamFirebaseUserAuthInboundPolicy=o0});var R_=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.UpstreamGcpJwtInboundPolicy=void 0;var P_=sn(),s0=lr(),rp,a0=o(async(t,e,r,n)=>{(0,s0.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),rp||(rp=await P_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,P_.getTokenFromGcpServiceAccount)({serviceAccount:rp,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");Ya.UpstreamGcpJwtInboundPolicy=a0});var x_=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.UpstreamGcpServiceAuthInboundPolicy=void 0;var c0=ur(),u0=Kc(),l0=_r(),d0=D(),np=sn(),p0=lr(),O_="https://www.googleapis.com/oauth2/v4/token",ip,h0=o(async(t,e,r,n)=>{(0,p0.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),ip||(ip=await np.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,c0.getPolicyCacheName)(n,r),s;r.useMemoryCacheOnly?s=new u0.MemoryCache(i):s=new l0.MemoryZoneReadThroughCache(i,e);let a=await s.get(n);if(!a){let c=await(0,np.getTokenFromGcpServiceAccount)({serviceAccount:ip,audience:O_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,np.exchangeGgpJwtForIdToken)(O_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new d0.RuntimeError("Invalid token response from GCP");a=u,s.put(n,a,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamGcpServiceAuthInboundPolicy");Za.UpstreamGcpServiceAuthInboundPolicy=h0});var C_=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.ValidateJsonSchemaInbound=void 0;var f0=D(),N_=ve(),m0=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return N_.HttpProblems.badRequest(t,e,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return t;let{errors:a}=r.validator;if(!a)throw new f0.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 N_.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Xa.ValidateJsonSchemaInbound=m0});var L_=g(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.serialize=dr.ContentTypes=void 0;dr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function y0(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(dr.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(dr.ContentTypes.Json)||!e?JSON.stringify(t):t}o(y0,"serialize");dr.serialize=y0});var D_=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.ServiceProviderImpl=void 0;var g0=D(),op=class t{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return t.#e||(t.#e=new t),t.#e}setInstance(e){t.#e=e}addService(e,r){if(this.services.get(e))throw new g0.SystemError(`A service with the name ${e} already exists -- you cannot have duplicate services`);this.services.set(e,r)}getService(e){return this.services.get(e)}};ec.ServiceProviderImpl=op});var U_=g(sp=>{"use strict";Object.defineProperty(sp,"__esModule",{value:!0});var _0={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"};sp.default=_0});var ke=g(f=>{"use strict";var b0=f&&f.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),M_=f&&f.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&b0(e,t,r)},E0=f&&f.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(f,"__esModule",{value:!0});f.ReadmeMetricsInboundPolicy=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.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.VALID_COMPATIBILITY_DATES=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.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=void 0;jp();var w0=_r();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return w0.MemoryZoneReadThroughCache}});var v0=Wc();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return v0.ZoneCache}});var T0=Gp();Object.defineProperty(f,"VALID_COMPATIBILITY_DATES",{enumerable:!0,get:function(){return T0.VALID_COMPATIBILITY_DATES}});var k_=wr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return k_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return k_.ResponseSentEvent}});var S0=ay();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return S0.ContextData}});var ap=Xl();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return ap.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return ap.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return ap.isZuploReadableEnvVariableName}});var I0=D();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return I0.ConfigurationError}});var A0=td();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return A0.originalFetch}});var F_=yy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return F_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return F_.purgeGatewayCache}});var H_=Ly();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return H_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return H_.awsLambdaHandler}});var P0=Uy();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return P0.openApiSpecHandler}});var R0=My();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return R0.redirectHandler}});var O0=Fy();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return O0.urlForwardHandler}});var x0=qy();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return x0.urlRewriteHandler}});var N0=jy();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return N0.webSocketHandler}});var C0=By();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return C0.webSocketPipelineHandler}});var L0=fu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return L0.HttpStatusCode}});M_(Xy(),f);M_(rg(),f);var D0=ng();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return D0.AuditLogDataStaxProvider}});var U0=og();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return U0.AuditLogPlugin}});var q_=pg();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return q_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return q_.AmberfloMeteringPolicy}});var $_=gg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return $_.ApiAuthKeyInboundPolicy}});Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return $_.ApiKeyInboundPolicy}});var M0=_g();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return M0.Auth0JwtInboundPolicy}});var k0=bg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return k0.BasicAuthInboundPolicy}});var F0=Eg();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return F0.CachingInboundPolicy}});var H0=wg();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return H0.ChangeMethodInboundPolicy}});var q0=vg();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return q0.ClearHeadersInboundPolicy}});var $0=Tg();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return $0.ClearHeadersOutboundPolicy}});var j0=Sg();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return j0.ClerkJwtInboundPolicy}});var V0=Ag();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return V0.CognitoJwtInboundPolicy}});var G0=Rg();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return G0.CompositeInboundPolicy}});var B0=Og();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return B0.FirebaseJwtInboundPolicy}});var K0=xg();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return K0.FormDataToJsonInboundPolicy}});var J0=Ng();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return J0.GeoFilterInboundPolicy}});var z0=Cg();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return z0.JWTScopeValidationInboundPolicy}});var W0=Dg();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return W0.MockApiInboundPolicy}});var j_=Hg();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return j_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return j_.setMoesifContext}});var Q0=qg();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return Q0.OktaJwtInboundPolicy}});var Y0=Mt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return Y0.OpenIdJwtInboundPolicy}});var Z0=$g();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return Z0.PropelAuthJwtInboundPolicy}});var V_=zg();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return V_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return V_.RateLimitInboundPolicy}});var X0=Zg();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return X0.ReadmeMetricsInboundPolicy}});var ex=Xg();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return ex.RemoveHeadersInboundPolicy}});var tx=e_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return tx.RemoveHeadersOutboundPolicy}});var rx=t_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return rx.RemoveQueryParamsInboundPolicy}});var nx=r_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return nx.ReplaceStringOutboundPolicy}});var ix=i_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return ix.RequestSizeLimitInboundPolicy}});var G_=Lr();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return G_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return G_.SchemaBasedRequestValidation}});var ox=l_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return ox.RequireOriginInboundPolicy}});var sx=d_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return sx.SetBodyInboundPolicy}});var ax=h_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return ax.SetHeadersInboundPolicy}});var cx=m_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return cx.SetHeadersOutboundPolicy}});var ux=g_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return ux.SetQueryParamsInboundPolicy}});var lx=__();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return lx.SetStatusOutboundPolicy}});var dx=b_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return dx.SleepInboundPolicy}});var px=w_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return px.SupabaseJwtInboundPolicy}});var hx=T_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return hx.UpstreamAzureAdServiceAuthInboundPolicy}});var fx=I_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return fx.UpstreamFirebaseAdminAuthInboundPolicy}});var mx=A_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return mx.UpstreamFirebaseUserAuthInboundPolicy}});var yx=R_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return yx.UpstreamGcpJwtInboundPolicy}});var gx=x_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return gx.UpstreamGcpServiceAuthInboundPolicy}});var _x=C_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return _x.ValidateJsonSchemaInbound}});var bx=ve();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return bx.HttpProblems}});var Ex=io();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return Ex.ProblemResponseFormatter}});var wx=Wn();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return wx.ZuploRequest}});var vx=Sr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return vx.SystemRouteName}});var B_=Gl();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return B_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return B_.Router}});var K_=L_();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return K_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return K_.serialize}});var Tx=D_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return Tx.ServiceProviderImpl}});var J_=Tu();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return J_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return J_.SYSTEM_LOGGER}});var Sx=U_();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return E0(Sx).default}});var Ix=Be();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return Ix.SystemLogMap}});var Pi=La();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Pi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Pi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Pi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Pi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Pi.sanitizedIdentifierName}})});var z_=g(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.BaseCryptoBeta=Cn.supportedDigests=void 0;Cn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var cp=class{static{o(this,"BaseCryptoBeta")}};Cn.BaseCryptoBeta=cp});var W_=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.WorkerCryptoBeta=void 0;var up=z_(),Ax=D(),lp=class extends up.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!up.supportedDigests.includes(e.toLowerCase()))throw new Ax.RuntimeError(`Algorithm ${e} is not supported. Try using ${up.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(e,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};tc.WorkerCryptoBeta=lp});var Q_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.BaseKeyValueStore=void 0;var dp=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};rc.BaseKeyValueStore=dp});var Z_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.WorkerKeyValueStore=void 0;var Y_=D(),Px=Q_(),pp=class extends Px.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let n=globalThis.ZUPLO_KV;if(!n)throw new Y_.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(e,r,n){if(typeof e!="string")throw new Y_.ConfigurationError("value must be of type string");return this.#e.put(e,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(e,r){return this.#e.get(e,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(e){return this.#e.delete(e)}};nc.WorkerKeyValueStore=pp});var Ot=g(ct=>{"use strict";var Rx=ct&&ct.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ox=ct&&ct.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Rx(e,t,r)};Object.defineProperty(ct,"__esModule",{value:!0});ct.KeyValueStore=ct.CryptoBeta=void 0;Ox(ke(),ct);var xx=W_();Object.defineProperty(ct,"CryptoBeta",{enumerable:!0,get:function(){return xx.WorkerCryptoBeta}});var Nx=Z_();Object.defineProperty(ct,"KeyValueStore",{enumerable:!0,get:function(){return Nx.WorkerKeyValueStore}})});var FN={};Vi(FN,{GraphQLComplexityLimitInboundPolicy:()=>xb,GraphQLDisableIntrospectionInboundPolicy:()=>Cb});module.exports=Gi(FN);var Gn=Fp(Ot());function B(t,e){if(!!!t)throw new Error(e)}o(B,"devAssert");function be(t){return typeof t=="object"&&t!==null}o(be,"isObjectLike");function Tt(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(Tt,"invariant");var Cx=/\r\n|[\n\r]/g;function Ln(t,e){let r=0,n=1;for(let i of t.body.matchAll(Cx)){if(typeof i.index=="number"||Tt(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(Ln,"getLocation");function hp(t){return ic(t.source,Ln(t.source,t.start))}o(hp,"printLocation");function ic(t,e){let r=t.locationOffset.column-1,n="".padStart(r)+t.body,i=e.line-1,s=t.locationOffset.line-1,a=e.line+s,c=e.line===1?r:0,u=e.column+c,l=`${t.name}:${a}:${u}
|
|
66
|
-
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let y=Math.floor(u/80),h=u%80,m=[];for(let v=0;v<p.length;v+=80)m.push(p.slice(v,v+80));return l+
|
|
67
|
-
`)}o(
|
|
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 xy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=dd(await Ry(this.body||""))}return t}};gn.AwsV4Signer=Fs;async function bi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?pd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,pd.encode(t))}o(bi,"hmac");async function Ry(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?pd.encode(e):e)}o(Ry,"hash");function dd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(dd,"buf2hex");function Oy(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Oy,"encodeRfc3986");function TI(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in Py?[Py[s],a]:[s,a]}o(TI,"guessServiceRegion")});var Ny=g(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.convertStringToUtf8Array=Tt.convertUtf8ArrayToString=Tt.base64Encode=Tt.base64Decode=void 0;function SI(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}o(SI,"b64ToUint6");function II(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=SI(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(II,"base64Decode");Tt.base64Decode=II;function Hs(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(Hs,"uint6ToB64");function AI(e){let t=2,r="",n=e.length,i=0;for(let s=0;s<n;s++)t=s%3,i|=e[s]<<(16>>>t&24),(t===2||e.length-s===1)&&(r+=String.fromCodePoint(Hs(i>>>18&63),Hs(i>>>12&63),Hs(i>>>6&63),Hs(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(AI,"base64Encode");Tt.base64Encode=AI;function PI(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}o(PI,"convertUtf8ArrayToString");Tt.convertUtf8ArrayToString=PI;function RI(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)t=e.codePointAt(a),t<128?i[s++]=t:t<2048?(i[s++]=192+(t>>>6),i[s++]=128+(t&63)):t<65536?(i[s++]=224+(t>>>12),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63)):t<2097152?(i[s++]=240+(t>>>18),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):t<67108864?(i[s++]=248+(t>>>24),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):(i[s++]=252+(t>>>30),i[s++]=128+(t>>>24&63),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++),a++;return i}o(RI,"convertStringToUtf8Array");Tt.convertStringToUtf8Array=RI});var Cy=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.toCLFDate=void 0;function _n(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(_n,"numberToString");function OI(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=_n(Math.floor(r/60)),s=_n(r%60);return`${n}${i}${s}`}o(OI,"getCLFOffset");function xI(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=_n(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=_n(e.getHours()),a=_n(e.getMinutes()),c=_n(e.getSeconds()),u=OI(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(xI,"toCLFDate");qs.toCLFDate=xI});var Hy=g(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.getResponse=ur.awsLambdaHandler=ur.AwsLambdaHandlerExtensions=void 0;var NI=Tr(),Ly=Ay(),Ei=L(),CI=xt(),LI=fd(),Uy=Ny(),My=Cy(),Dy=(0,NI.debug)("zuplo:runtime"),DI="X-Amzn-Trace-Id",UI="x-amzn-errortype",ky=[],MI=o(async(e,t,r)=>{let n=r;for await(let i of ky)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Ei.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(DI)??void 0,this.errorType=r.get(UI)??void 0}};ur.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{ky.push(e)}};async function kI(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Ei.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ei.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ei.ConfigurationError("region is not set in the handler options");if(!s)throw new Ei.ConfigurationError("functionName is not set in the handler options");let l=new LI.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Dy(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,y]=await qI(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=HI(e,t):m=await FI(e,t,{useAwsResourcePathStyle:c}),Dy("Calling onSendingAwsLambdaEvent hook");let v=await MI(e,t,m);v.body=p,v.isBase64Encoded=y;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return Fy(T)}catch(S){if(S instanceof Ke){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return CI.HttpProblems.internalServerError(e,t,void 0,k)}throw S}}o(kI,"awsLambdaHandler");ur.awsLambdaHandler=kI;async function Fy(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Uy.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(Fy,"getResponse");ur.getResponse=Fy;async function FI(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=e.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,My.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:jI(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(FI,"buildEventVersion1");function HI(e,t){let r={};e.headers.forEach((s,a)=>{r[a]=s});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,My.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(HI,"buildEventVersion2");async function qI(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&&$I(t,i)){let s=await e.arrayBuffer();r=(0,Uy.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(qI,"getBodyResult");function $I(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o($I,"matchesContentType");function jI(e,t=!1){if(!t)return e;let r=(0,Ly.parse)(e),n=(0,Ly.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(jI,"getResourcePath")});var En=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.getHandlerUserLogFunction=bn.logBadGatewayResponses=void 0;var VI=Be(),GI=ee(),BI=[502,503,504];async function KI(e,t){if(BI.includes(e.status)){let r=VI.SystemLogMap.getLogger(t),i=await e.clone().text(),s={};for(let[a,c]of e.headers)s[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:s})}}o(KI,"logBadGatewayResponses");bn.logBadGatewayResponses=KI;var md;function JI(e){if(md===void 0){let r=GI.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),md=r}return e.log[md]}o(JI,"getHandlerUserLogFunction");bn.getHandlerUserLogFunction=JI});var $y=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.openApiSpecHandler=void 0;var qy=L(),zI=ve(),yd=ee(),WI=En();async function QI(e,t){let r=yd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=yd.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new qy.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=YI(s);if(!a.isValid)throw new qy.ConfigurationError(a.error);let c;yd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return zI.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,WI.logBadGatewayResponses)(l,t),l}o(QI,"openApiSpecHandler");$s.openApiSpecHandler=QI;var YI=o(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var jy=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.redirectHandler=void 0;var ZI=L();async function XI(e,t){let r=t.route.handler.options;if(!r.location)throw new ZI.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(XI,"redirectHandler");js.redirectHandler=XI});var Gy=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.urlForwardHandler=void 0;var eA=L(),Vy=En();function tA(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}o(tA,"join");async function rA(e,t){let r=(0,Vy.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 eA.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,s),u=tA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),y=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${y}ms`),(0,Vy.logBadGatewayResponses)(p,t),p}o(rA,"urlForwardHandler");Vs.urlForwardHandler=rA});var Ky=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.urlRewriteHandler=void 0;var nA=L(),By=En(),iA=o((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function oA(e,t){let r=(0,By.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new nA.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?iA(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,By.logBadGatewayResponses)(d,t),d}o(oA,"urlRewriteHandler");Gs.urlRewriteHandler=oA});var zy=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.webSocketHandler=void 0;var Jy=L(),sA=od(),aA=xt(),cA=ee(),uA=En();async function lA(e,t){let r=cA.Environment.instance,n=t.route.handler.options,i=(0,uA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Jy.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return aA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Jy.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,sA.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let y=JSON.stringify({url:c});return new Response(y,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(y)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(lA,"webSocketHandler");Bs.webSocketHandler=lA});var Wy=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.webSocketPolicyProcessor=wn.getWebSocketPolicyFunctions=void 0;var dA=L(),pA=o((e,t)=>e.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new dA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");wn.getWebSocketPolicyFunctions=pA;var hA=o(async(e,t,r,n,i,s)=>{let a=e.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");wn.webSocketPolicyProcessor=hA});var Yy=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.webSocketPipelineHandler=void 0;var gd=L(),fA=xt(),mA=ee(),yA=En(),_d=Wy();function Qy(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),t.send(JSON.stringify(s))}),e.addEventListener("message",s=>{try{o(async c=>{let u=await(0,_d.webSocketPolicyProcessor)(c,e,t,r,n,i);u!==void 0&&t.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(Qy,"wireUpListeners");async function gA(e,t){let r=mA.Environment.instance,n=t.route.handler.options,i=(0,yA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new gd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return fA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new gd.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new gd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let S=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(k)}let d=new WebSocketPair,[p,y]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),y.accept();let v=n.policies&&n.policies.inbound?(0,_d.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,_d.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Qy(y,m,e,t,v),Qy(m,y,e,t,T),new Response(null,{status:101,webSocket:p})}o(gA,"webSocketPipelineHandler");Ks.webSocketPipelineHandler=gA});var Zy=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.DynaTraceLoggingPlugin=void 0;var _A=we(),bd=ee(),bA=xr(),EA=Ct(),wA=yt(),Ed=class extends EA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new wd(this.options)}};Js.DynaTraceLoggingPlugin=Ed;var wd=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=bd.Environment.instance.loggingEnvironmentType,this.#i=bd.Environment.instance.loggingEnvironmentStage,this.#r=bd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,wA.stringifyNonString)((0,bA.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 _A.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Xy=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.LokiLoggingPlugin=void 0;var vA=we(),vd=ee(),TA=xr(),SA=Ct(),IA=yt(),Td=class extends SA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Id(this.options)}};zs.LokiLoggingPlugin=Td;var Sd=class{static{o(this,"LokiStream")}constructor(t,r,n,i,s){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function AA(e,t){return btoa(`${e}:${t}`)}o(AA,"createBasicDigest");var Id=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=AA(t.username,t.password),this.#n=vd.Environment.instance.loggingEnvironmentType,this.#i=vd.Environment.instance.loggingEnvironmentStage,this.#r=vd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new Sd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,IA.stringifyNonString)((0,TA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new vA.BatchDispatch("loki-log-transport",10,this.#s)}});var eg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.SumoLogicLoggingPlugin=void 0;var PA=we(),Ad=ee(),RA=xr(),OA=Ct(),xA=yt(),Pd=class extends OA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Rd(this.options)}};Ws.SumoLogicLoggingPlugin=Pd;var Rd=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Ad.Environment.instance.loggingEnvironmentType,this.#n=Ad.Environment.instance.loggingEnvironmentStage,this.#t=Ad.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,xA.stringifyNonString)((0,RA.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 PA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var rg=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.VMWareLogInsightTransport=vn.VMWareLogInsightLoggingPlugin=void 0;var NA=L(),CA=we(),Od=ee(),LA=Ct(),tg=yt(),DA="d3a5b78f-8236-48f5-b1df-4fe269d41172",xd=class extends LA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Qs(this.options)}};vn.VMWareLogInsightLoggingPlugin=xd;var Qs=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new NA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Od.Environment.instance.loggingEnvironmentType,this.#n=Od.Environment.instance.loggingEnvironmentStage,this.#t=Od.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,tg.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,tg.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${DA}`,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8"}});if(r.status!==200)try{let n=await r.text();console.error("Error logging to Log Insight",n)}catch(n){console.error(n)}};batcher=new CA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};vn.VMWareLogInsightTransport=Qs});var ig=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.AWSLogTransport=Tn.AWSLoggingPlugin=void 0;var UA=we(),ng=ee(),MA=xr(),kA=Ct(),FA=yt(),HA=fd(),Nd=class extends kA.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ys(this.options)}};Tn.AWSLoggingPlugin=Nd;var Ys=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new UA.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new HA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=ng.Environment.instance.loggingEnvironmentType,this.environment=ng.Environment.instance.deploymentName}async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,FA.stringifyNonString)((0,MA.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())}};Tn.AWSLogTransport=Ys});var og=g(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var qA=ql();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return qA.DataDogLoggingPlugin}});var $A=Zy();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return $A.DynaTraceLoggingPlugin}});var jA=ws();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return jA.GoogleCloudLoggingPlugin}});var VA=Xy();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return VA.LokiLoggingPlugin}});var GA=eg();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return GA.SumoLogicLoggingPlugin}});var BA=rg();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return BA.VMWareLogInsightLoggingPlugin}});var KA=ig();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return KA.AWSLoggingPlugin}})});var sg=g(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.DataDogMetricsError=lr.DataDogMetricsTransport=lr.DataDogMetricsPlugin=void 0;var JA=Be(),zA=we(),WA=fo(),Cd=new WeakMap,QA={tags:[]},Ld=class extends WA.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Zs(this.options)}static setContext(t,r){let n=Cd.get(t);n||(n=QA);let i=Object.assign({...n},r);Cd.set(t,i)}};lr.DataDogMetricsPlugin=Ld;var Zs=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new zA.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,JA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(Cd.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let s=t.systemRouteName||t.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new Xs(await n.text())}};lr.DataDogMetricsTransport=Zs;var Xs=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};lr.DataDogMetricsError=Xs});var ag=g(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.DynaTraceMetricsError=dr.DynaTraceMetricsTransport=dr.DynatraceMetricsPlugin=void 0;var YA=Be(),ZA=we(),XA=fo(),Dd=new WeakMap,eP={dimensions:[]},Ud=class extends XA.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ea(this.options)}static setContext(t,r){let n=Dd.get(t);n||(n=eP);let i=Object.assign({...n},r);Dd.set(t,i)}};dr.DynatraceMetricsPlugin=Ud;var ea=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new ZA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,YA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(Dd.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
|
|
65
|
+
`),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new ta(await n.text())}};dr.DynaTraceMetricsTransport=ea;var ta=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};dr.DynaTraceMetricsError=ta});var cg=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.DynatraceMetricsPlugin=Sn.DataDogMetricsPlugin=void 0;var tP=sg();Object.defineProperty(Sn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return tP.DataDogMetricsPlugin}});var rP=ag();Object.defineProperty(Sn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return rP.DynatraceMetricsPlugin}})});var ug=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.AuditLogDataStaxProvider=void 0;var Md=class{static{o(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};ra.AuditLogDataStaxProvider=Md});var dg=g(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.AuditLogPlugin=void 0;var nP=Ot(),iP=we(),kd=class extends nP.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new Fd(t,this.#e,this.#t)}};na.AuditLogPlugin=kd;var lg=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),oP={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Fd=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...oP};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 iP.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?lg(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?lg(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,s=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(y=>{r.log.error(y)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var yg=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.AmberfloMeteringInboundPolicy=In.AmberfloMeteringPolicy=void 0;var pg=L(),sP=we(),hg=Zn(),mg=new WeakMap,fg={},Hd=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){mg.set(t,r)}};In.AmberfloMeteringPolicy=Hd;async function aP(e,t,r,n){if(!r.statusCodes)throw new pg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,hg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=mg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new pg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,hg.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},y=fg[r.apiKey];if(!y){let h=r.apiKey,m=e.headers.get("zm-test-id")??"";y=new sP.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),fg[h]=y}y.enqueue(p),t.waitUntil(y.waitUntilFlushed())}}),e}o(aP,"AmberfloMeteringInboundPolicy");In.AmberfloMeteringInboundPolicy=aP});var qd=g(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.sha256=void 0;async function cP(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(cP,"sha256");ia.sha256=cP});var pr=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.getPolicyCacheName=void 0;var uP=qd(),gg=new Map;async function lP(e,t){let r,n=gg.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,uP.sha256)(JSON.stringify({policyName:e,options:t}))}`,gg.set(e,r)),r}o(lP,"getPolicyCacheName");oa.getPolicyCacheName=lP});var wg=g(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.ApiAuthKeyInboundPolicy=An.ApiKeyInboundPolicy=void 0;var dP=pr(),pP=wr(),_g=id(),$d=L(),hP=xt(),jd=Be(),Vd=ee(),fP=bs(),bg="key-metadata-cache-type";function mP(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(mP,"getKeyValue");async function Eg(e,t,r,n){if(!r.bucketName)if(_g.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=_g.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new $d.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 $d.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?e:hP.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=mP(a,i);if(!c||c==="")return s("No key present");let u=await yP(c),l=await(0,dP.getPolicyCacheName)(n,i),d=new pP.MemoryZoneReadThroughCache(l,{logger:jd.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!==bg&&jd.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let y={key:c},h=await(0,fP.fetchRetry)({retryDelayMs:5,retries:2,logger:jd.SystemLogMap.getLogger(t)},`${Vd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":Vd.Environment.instance.deploymentName??"unknown","User-Agent":Vd.Environment.instance.systemUserAgent},body:JSON.stringify(y)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);t.log.error("Unexpected response from key service",S)}catch{t.log.error("Invalid response from key service")}throw new $d.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),v={isValid:!0,typeId:bg,user:{sub:m.name,data:m.metadata}};return e.user=v.user,d.put(u,v,i.cacheTtlSeconds),e}o(Eg,"ApiKeyInboundPolicy");An.ApiKeyInboundPolicy=Eg;async function yP(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(yP,"hashValue");An.ApiAuthKeyInboundPolicy=Eg});var kt=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.OpenIdJwtInboundPolicy=void 0;var Bd=(gs(),Ji(ys)),Kd=L(),gP=ve(),Gd={},_P=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Kd.ConfigurationError("Invalid State - jwkUrl not set");Gd[t.jwkUrl]||(Gd[t.jwkUrl]=(0,Bd.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Bd.jwtVerify)(e,Gd[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),bP=o(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let s=new TextEncoder().encode(t.secret);r=new Uint8Array(s)}else r=t.secret;let{payload:n}=await(0,Bd.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),EP=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(y=>gP.HttpProblems.unauthorized(e,t,{detail:y}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Kd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Kd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?_P:bP,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let y=i.substring(s.length);if(!y||y.length===0)return a("No bearer token on authorization header");try{return await c(y,r)}catch(h){let m=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${m.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${m.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");sa.OpenIdJwtInboundPolicy=EP});var vg=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.Auth0JwtInboundPolicy=void 0;var wP=kt(),vP=o(async(e,t,r,n)=>(0,wP.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");aa.Auth0JwtInboundPolicy=vP});var Tg=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.BasicAuthInboundPolicy=void 0;var TP=ve(),SP=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>TP.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let y=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(v=>v.username===y&&v.password===h);return m||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");ca.BasicAuthInboundPolicy=SP});var Sg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.CachingInboundPolicy=void 0;var IP=pr(),AP=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function PP(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(PP,"digestMessage");var RP=o(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await PP(JSON.stringify(n)),s=new URL(e.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function OP(e,t,r,n){let i=await(0,IP.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await RP(e,r),u=await s.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let y=r?.expirationSecondsTtl??60,h=new Response(p.body,p);AP.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${y}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(OP,"CachingInboundPolicy");ua.CachingInboundPolicy=OP});var Ig=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.ChangeMethodInboundPolicy=void 0;var xP=L(),NP=Xn(),CP=o(async(e,t,r,n)=>{if(!r.method)throw new xP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new NP.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");la.ChangeMethodInboundPolicy=CP});var Ag=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.ClearHeadersInboundPolicy=void 0;var LP=ke(),DP=o(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new LP.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");da.ClearHeadersInboundPolicy=DP});var Pg=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.ClearHeadersOutboundPolicy=void 0;var UP=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");pa.ClearHeadersOutboundPolicy=UP});var Rg=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.ClerkJwtInboundPolicy=void 0;var MP=kt(),kP=o(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,MP.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");ha.ClerkJwtInboundPolicy=kP});var xg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.CognitoJwtInboundPolicy=void 0;var Og=L(),FP=kt(),HP=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new Og.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Og.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,FP.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");fa.CognitoJwtInboundPolicy=HP});var Cg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.CompositeInboundPolicy=void 0;var qP=L(),$P=pn(),Ng=ei(),jP=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new qP.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=$P.Gateway.instance,s=(0,Ng.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Ng.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");ma.CompositeInboundPolicy=jP});var hr=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.optionValidator=void 0;var wi=L();function VP(e,t){let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new wi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new wi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new wi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new wi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new wi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(VP,"optionValidator");ya.optionValidator=VP});var Lg=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.FirebaseJwtInboundPolicy=void 0;var GP=hr(),BP=kt(),KP=o(async(e,t,r,n)=>((0,GP.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,BP.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");ga.FirebaseJwtInboundPolicy=KP});var Dg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.FormDataToJsonInboundPolicy=void 0;var JP=ke(),zP=o(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=e.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new JP.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");_a.FormDataToJsonInboundPolicy=zP});var Ug=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.GeoFilterInboundPolicy=void 0;var WP=L(),QP=ve(),Pn="__unknown__",YP=o(async(e,t,r,n)=>{let i={allow:{countries:On(r.allow?.countries,"allow.countries",n),regionCodes:On(r.allow?.regionCodes,"allow.regionCode",n),asns:On(r.allow?.asns,"allow.asOrganization",n)},block:{countries:On(r.block?.countries,"block.countries",n),regionCodes:On(r.block?.regionCodes,"block.regionCode",n),asns:On(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??Pn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Pn,c=t.incomingRequestProperties.asn?.toString()??Pn,u=i.ignoreUnknown&&s===Pn,l=i.ignoreUnknown&&a===Pn,d=i.ignoreUnknown&&c===Pn,p=i.allow.countries,y=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||y.length>0&&!y.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Rn(e,t,n,s,a,c);let m=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return m.length>0&&m.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Rn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");ba.GeoFilterInboundPolicy=YP;function Rn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),QP.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Rn,"blockedResponse");function On(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 WP.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(On,"toLowerStringArray")});var Mg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.JWTScopeValidationInboundPolicy=void 0;var ZP=o(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Ea.JWTScopeValidationInboundPolicy=ZP});var Fg=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.MockApiInboundPolicy=void 0;var XP=ve(),eR=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Jd(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return Jd(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(y=>{a.push({responseName:c,contentName:l,exampleName:y,exampleValue:d[y]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return kg(a[c])}else return a.length>0?kg(a[0]):Jd(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");wa.MockApiInboundPolicy=eR;function kg(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}o(kg,"generateResponse");var Jd=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return XP.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var Vg=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.MoesifInboundPolicy=xn.setMoesifContext=void 0;var tR=L(),rR=we(),nR="Incoming",iR={logRequestBody:!0,logResponseBody:!0};function Hg(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(Hg,"headersToObject");function qg(){return new Date().toISOString()}o(qg,"timestamp");var zd=new WeakMap,oR={};function sR(e,t){let r=zd.get(e);r||(r=oR);let n=Object.assign({...r},t);zd.set(e,n)}o(sR,"setMoesifContext");xn.setMoesifContext=sR;async function $g(e,t){let r=e.headers.get("content-type"),n=e.clone();if(r&&r.indexOf("json")!==0)try{return await n.json()}catch(s){t.log.error(s)}let i=await n.text();return t.log.debug({textBody:i}),i}o($g,"readBody");var aR={},Wd;function jg(){if(!Wd)throw new tR.RuntimeError("Invalid State - no _lastLogger");return Wd}o(jg,"getLastLogger");function cR(e){let t=aR[e];return t||(t=new rR.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);jg().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||jg().error({status:i.status,body:await i.text()})})),t}o(cR,"getDispatcher");async function uR(e,t,r,n){Wd=t.log;let i=qg(),s=Object.assign(iR,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await $g(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=cR(s.applicationId),d=e.headers.get("true-client-ip"),p=zd.get(t)??{},y={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Hg(e.headers)},h=s.logResponseBody?await $g(c,t):void 0,m={time:qg(),status:c.status,headers:Hg(c.headers),body:h},v={request:y,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:nR};l.enqueue(v),t.waitUntil(l.waitUntilFlushed())}),e}o(uR,"MoesifInboundPolicy");xn.MoesifInboundPolicy=uR});var Gg=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.OktaJwtInboundPolicy=void 0;var lR=kt(),dR=o(async(e,t,r,n)=>(0,lR.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");va.OktaJwtInboundPolicy=dR});var Bg=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.PropelAuthJwtInboundPolicy=void 0;var pR=(gs(),Ji(ys)),hR=kt(),Qd,fR=o(async(e,t,r,n)=>{if(!Qd)try{Qd=await(0,pR.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,hR.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Qd,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ta.PropelAuthJwtInboundPolicy=fR});var Kg=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var $e=Jt(),et=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var vi=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=vi;var Ti=class extends et{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ti;function mR(e,t){if((0,$e.isUndefined)(e))throw new vi(t)}o(mR,"throwIfUndefined");G.throwIfUndefined=mR;function Yd(e,t){if((0,$e.isUndefinedOrNull)(e))throw new vi(t)}o(Yd,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Yd;function yR(e,t){if(Yd(e,t),!(0,$e.isString)(e))throw new Ti(t,"string")}o(yR,"throwIfNotString");G.throwIfNotString=yR;function gR(e,t){if(Yd(e,t),!(0,$e.isNumber)(e))throw new Ti(t,"number")}o(gR,"throwIfNotNumber");G.throwIfNotNumber=gR;var Si=class extends et{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Si;var Nn=class extends et{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=Nn;function _R(e,t,r,n){if((0,$e.isUndefined)(n))throw new Si(e,t,r)}o(_R,"throwIfOptionUndefined");G.throwIfOptionUndefined=_R;function Sa(e,t,r,n){if((0,$e.isUndefinedOrNull)(n))throw new Si(e,t,r)}o(Sa,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Sa;function bR(e,t,r,n){if(Sa(e,t,r,n),!(0,$e.isString)(n))throw new Nn(e,t,r,"string")}o(bR,"throwIfOptionNotString");G.throwIfOptionNotString=bR;function ER(e,t,r,n){if(Sa(e,t,r,n),!(0,$e.isNumber)(n))throw new Nn(e,t,r,"number")}o(ER,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=ER;function wR(e,t,r,n){if(Sa(e,t,r,n),!(0,$e.isObject)(n))throw new Nn(e,t,r,"object")}o(wR,"throwIfOptionNotObject");G.throwIfOptionNotObject=wR;function vR(e,t){if((0,$e.isUndefined)(e))throw new et(t)}o(vR,"throwIfStateUndefined");G.throwIfStateUndefined=vR;function Ia(e,t){if((0,$e.isUndefinedOrNull)(e))throw new et(t)}o(Ia,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Ia;function TR(e,t){if(Ia(e,t),!(0,$e.isString)(e))throw new et(t);return!0}o(TR,"throwIfStateNotString");G.throwIfStateNotString=TR;function SR(e,t){if(Ia(e,t),!(0,$e.isNumber)(e))throw new et(t);return!0}o(SR,"throwIfStateNotNumber");G.throwIfStateNotNumber=SR;function IR(e,t){if(Ia(e,t),!(0,$e.isObject)(e))throw new et(t);return!0}o(IR,"throwIfStateNotObject");G.throwIfStateNotObject=IR});var Jg=g(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.InMemoryRedisClient=Cn.StandardRedisClient=void 0;var Zd=L(),Aa=Kg(),Xd=class e{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,Aa.throwIfNotString)(t,"redisClientUrl"),(0,Aa.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,Aa.throwIfNotString)(t,"url");let s=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new Zd.SystemError("Redis client failed with 401: Unauthorized"):new Zd.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Cn.StandardRedisClient=Xd;var ep=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Aa.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Zd.SystemError("The in-memory redis client only supports /rate-limit calls")}};Cn.InMemoryRedisClient=ep});var Zg=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.RateLimitInboundPolicy=void 0;var AR=Tr(),PR=ke(),RR=pr(),Ft=L(),OR=ve(),zg=Be(),Ii=ee(),Wg=Jg(),Qg=Jt(),Pa=(0,AR.debug)("zuplo:policies:RateLimitInboundPolicy"),xR="strict",NR=o(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),CR=o(async e=>({key:`ip-${NR(e)}`}),"getIP"),LR=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),DR=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ra;function UR(e,t){let r;if(Ra)return Ra;if(Ii.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Wg.InMemoryRedisClient,Ra=r,r;let{authApiJWT:n,redisURL:i}=Ii.Environment.instance;if(!(0,Qg.isString)(i))throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,Qg.isString)(n))throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Wg.StandardRedisClient.initialize(i,n,Ii.Environment.instance.deploymentName??"unknown",Ii.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ra=r,r}o(UR,"getRedisClient");async function Yg(e,t,r,n,i){let s=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:e}),requestId:i})}o(Yg,"getCountAndUpdateExpiry");function MR(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Ft.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 Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new Ft.RuntimeError(u)}return c},"outerFunction")}o(MR,"wrapUserFunction");var kR="Retry-After",FR=o(async(e,t,r,n)=>{let i=Date.now(),s=zg.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new Ft.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[kR]=l.toString()),OR.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:MR(r,n),user:LR,ip:CR,all:DR}[r.rateLimitBy],d=await l(e,t,n),p=d.key,y=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",v=UR(n,s),S=`bucket/${Ii.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??xR)==="async"){let C=await(0,RR.getPolicyCacheName)(n,r),re=new PR.ZoneCache(C,{logger:zg.SystemLogMap.getLogger(t)}),ne=Yg(S,h,v,s,t.requestId),fe=await re.get(S);if(fe!==void 0&&fe<=Date.now()){Pa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Ge=Math.round((fe-Date.now())/1e3);return c(m,Ge)}return t.addEventListener("responseSending",Ge=>{try{let E=Ge,F=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>y){let jc=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,jc,Ce.ttlSeconds).catch($p=>{throw s.error($p),$p}),Pa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(m,Ce.ttlSeconds)}return F})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let j=await Yg(S,h,v,s,t.requestId);return j.count>y?(Pa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(m,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Pa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Oa.RateLimitInboundPolicy=FR});var r_=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.ReadmeMetricsInboundPolicy=void 0;var HR=we(),tp=ee(),Xg=Zn(),rp;function e_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(e_,"headersToNameValuePairs");function qR(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(qR,"queryToNameValueParis");function $R(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o($R,"parseIntOrUndefined");var t_={};async function jR(e,t,r,n){let i=new Date,s=Date.now();return rp||(rp={name:"zuplo",version:tp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${tp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,Xg.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,Xg.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:tp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:rp,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:e_(e.headers),queryString:qR(e.query)},response:{status:a.status,statusText:a.statusText,headers:e_(a.headers),content:{size:$R(e.headers.get("content-length"))}}}]}}},d=t_[r.apiKey];if(!d){let p=r.apiKey;d=new HR.BatchDispatch("readme-metering-inbound-policy",10,async y=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(y),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),t_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(jR,"ReadmeMetricsInboundPolicy");xa.ReadmeMetricsInboundPolicy=jR});var n_=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.RemoveHeadersInboundPolicy=void 0;var VR=ke(),GR=L(),BR=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new GR.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(e.headers);return i.forEach(c=>{s.delete(c)}),new VR.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");Na.RemoveHeadersInboundPolicy=BR});var i_=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.RemoveHeadersOutboundPolicy=void 0;var KR=L(),JR=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new KR.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return s.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Ca.RemoveHeadersOutboundPolicy=JR});var o_=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.RemoveQueryParamsInboundPolicy=void 0;var zR=ke(),WR=L(),QR=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new WR.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(e.url);return i.forEach(c=>{s.searchParams.delete(c)}),new zR.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");La.RemoveQueryParamsInboundPolicy=QR});var s_=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ReplaceStringOutboundPolicy=void 0;var YR=o(async(e,t,r,n)=>{let i=await e.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Da.ReplaceStringOutboundPolicy=YR});var c_=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.RequestSizeLimitInboundPolicy=void 0;var a_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),ZR=o(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?a_():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?a_():e},"RequestSizeLimitInboundPolicy");Ua.RequestSizeLimitInboundPolicy=ZR});var Ma=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function XR(e,t,r){return`_${Mr(e+"_"+t+"_"+r)}`}o(XR,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=XR;function e0(e,t,r,n){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(e0,"getIdForParameterSchema");tt.getIdForParameterSchema=e0;function t0(e,t,r){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Mr(r.toLowerCase())}`}o(t0,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=t0;function r0(e,t){return`_${Mr(e)}__${Mr(t)}`}o(r0,"getIdForRefSchema");tt.getIdForRefSchema=r0;function Mr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}o(Mr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Mr});var Ai=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var n0=pn(),ka=kr(),i0=Ma(),o0=o(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=o0;var s0=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{if(u.required&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,i0.getIdForParameterSchema)(r,n,i,u.name),d=n0.Gateway.instance.schemaValidator[l],p=d(t[u.name]),y=(0,Le.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${y.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Le.validateParameters=s0;var a0=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=a0;var c0=o(e=>e===ka.ValidationOptions.logOnly||e===ka.ValidationOptions.rejectAndLog,"shouldLog");Le.shouldLog=c0;var u0=o(e=>e===ka.ValidationOptions.rejectOnly||e===ka.ValidationOptions.rejectAndLog,"shouldReject");Le.shouldReject=u0;var l0=o(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=l0});var u_=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.handleBodyValidation=void 0;var d0=pn(),p0=kr(),Fa=ve(),h0=Ma(),Je=Ai();async function f0(e,t,r){if(!r.validateBody||r.validateBody===p0.ValidationOptions.none)return;let n;try{n=await t.clone().json()}catch(h){let m=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,v=Fa.HttpProblems.badRequest(t,e,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",m,[n],h),(0,Je.shouldReject)(r.validateBody))return v}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,m=Fa.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,h0.getIdForRequestBodySchema)(e.route.path,t.method,i),c=d0.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,m=Fa.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),y=Fa.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return y}o(f0,"handleBodyValidation");Ha.handleBodyValidation=f0});var l_=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.handleHeadersValidation=void 0;var m0=kr(),y0=ve(),Pi=Ai();function g0(e,t,r){if(!r.validateHeaders||r.validateHeaders===m0.ValidationOptions.none)return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Pi.getParametersForOperation)(e),s=(0,Pi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=y0.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Pi.shouldLog)(r.validateHeaders)&&(0,Pi.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Pi.shouldReject)(r.validateHeaders))return c}}o(g0,"handleHeadersValidation");qa.handleHeadersValidation=g0});var d_=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.handlePathParameterValidation=void 0;var _0=kr(),b0=ve(),Ri=Ai();function E0(e,t,r){if(!r.validatePathParameters||r.validatePathParameters===_0.ValidationOptions.none)return;let n=(0,Ri.getParametersForOperation)(e),i=(0,Ri.validateParameters)(n.filter(s=>s.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=b0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ri.shouldLog)(r.validatePathParameters)&&(0,Ri.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ri.shouldReject)(r.validatePathParameters))return a}}o(E0,"handlePathParameterValidation");$a.handlePathParameterValidation=E0});var p_=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.handleQueryParameterValidation=void 0;var w0=kr(),v0=ve(),Oi=Ai();function T0(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters===w0.ValidationOptions.none)return;let n=(0,Oi.getParametersForOperation)(e),i=(0,Oi.validateParameters)(n.filter(s=>s.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=v0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Oi.shouldLog)(r.validateQueryParameters)&&(0,Oi.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Oi.shouldReject)(r.validateQueryParameters))return a}}o(T0,"handleQueryParameterValidation");ja.handleQueryParameterValidation=T0});var kr=g(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.SchemaBasedRequestValidation=Ht.RequestValidationInboundPolicy=Ht.ValidationOptions=void 0;var S0=u_(),I0=l_(),A0=d_(),P0=p_(),h_;(function(e){e.none="none",e.logOnly="log-only",e.rejectAndLog="reject-and-log",e.rejectOnly="reject-only"})(h_||(Ht.ValidationOptions=h_={}));var R0=o(async(e,t,r)=>{let n=(0,P0.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,A0.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,I0.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,S0.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Ht.RequestValidationInboundPolicy=R0;Ht.SchemaBasedRequestValidation=Ht.RequestValidationInboundPolicy});var f_=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.RequireOriginInboundPolicy=void 0;var O0=ke(),x0=L(),N0=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new x0.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=e.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return O0.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");Va.RequireOriginInboundPolicy=N0});var m_=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.SetBodyInboundPolicy=void 0;var C0=ke(),L0=o(async(e,t,r)=>new C0.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Ga.SetBodyInboundPolicy=L0});var g_=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.SetHeadersInboundPolicy=void 0;var D0=ke(),y_=L(),U0=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new y_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new y_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new D0.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");Ba.SetHeadersInboundPolicy=U0});var b_=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.SetHeadersOutboundPolicy=void 0;var __=L(),M0=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new __.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new __.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");Ka.SetHeadersOutboundPolicy=M0});var w_=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.SetQueryParamsInboundPolicy=void 0;var k0=ke(),E_=L(),F0=o(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 s=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;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new k0.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");Ja.SetQueryParamsInboundPolicy=F0});var v_=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.SetStatusOutboundPolicy=void 0;var H0=o(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");za.SetStatusOutboundPolicy=H0});var T_=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.SleepInboundPolicy=void 0;var q0=L(),$0=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),j0=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new q0.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await $0(r.sleepInMs),e},"SleepInboundPolicy");Wa.SleepInboundPolicy=j0});var I_=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.SupabaseJwtInboundPolicy=void 0;var V0=ke(),S_=L(),G0=ve(),B0=hr(),K0=kt(),J0=o(async(e,t,r,n)=>{(0,B0.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,K0.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof V0.ZuploRequest))throw new S_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=e.user?.data.app_metadata;if(!c)throw new S_.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?G0.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Qa.SupabaseJwtInboundPolicy=J0});var P_=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var z0=pr(),W0=wr(),A_=L(),Q0=Be(),Y0=bs(),Z0=hr(),X0=o(async(e,t,r,n)=>{(0,Z0.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,z0.getPolicyCacheName)(n,r),s=new W0.MemoryZoneReadThroughCache(i,{logger:Q0.SystemLogMap.getLogger(t)}),a=await s.get(n);if(!a){let c=await eO(r,t);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");Ya.UpstreamAzureAdServiceAuthInboundPolicy=X0;async function eO(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,Y0.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();t.log.error("Could not get token from Azure AD",s)}catch{}throw new A_.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 A_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(eO,"getAccessToken")});var O_=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var tO=pr(),rO=wr(),nO=L(),iO=Be(),np=un(),oO=hr(),R_="https://accounts.google.com/o/oauth2/token",ip,sO=o(async(e,t,r,n)=>{(0,oO.optionValidator)(r,n).required("serviceAccountJson","string"),ip||(ip=await np.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,tO.getPolicyCacheName)(n,r),a=new rO.MemoryZoneReadThroughCache(s,{logger:iO.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,np.getTokenFromGcpServiceAccount)({serviceAccount:ip,audience:R_,payload:i}),l=await(0,np.exchangeGgpJwtForIdToken)(R_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new nO.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");Za.UpstreamFirebaseAdminAuthInboundPolicy=sO});var x_=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.UpstreamFirebaseUserAuthInboundPolicy=void 0;var aO=pr(),cO=wr(),Ln=L(),uO=Be(),lO=qd(),op=un(),dO=Zn(),pO=hr(),hO="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",fO=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],sp,mO=o(async(e,t,r,n)=>{if((0,pO.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Ln.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(fO.indexOf(p)!==-1)throw new Ln.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}sp||(sp=await op.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new Ln.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Ln.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,dO.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Ln.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,aO.getPolicyCacheName)(n,r),c=new cO.MemoryZoneReadThroughCache(a,{logger:uO.SystemLogMap.getLogger(t)}),u={uid:s,claims:i},l=await(0,lO.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,op.getTokenFromGcpServiceAccount)({serviceAccount:sp,audience:hO,payload:u}),y=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,op.exchangeFirebaseJwtForIdToken)(y,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Ln.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");Xa.UpstreamFirebaseUserAuthInboundPolicy=mO});var C_=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.UpstreamGcpJwtInboundPolicy=void 0;var N_=un(),yO=hr(),ap,gO=o(async(e,t,r,n)=>{(0,yO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),ap||(ap=await N_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,N_.getTokenFromGcpServiceAccount)({serviceAccount:ap,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");ec.UpstreamGcpJwtInboundPolicy=gO});var D_=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.UpstreamGcpServiceAuthInboundPolicy=void 0;var _O=pr(),bO=Wc(),EO=wr(),wO=L(),cp=un(),vO=hr(),L_="https://www.googleapis.com/oauth2/v4/token",up,TO=o(async(e,t,r,n)=>{(0,vO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),up||(up=await cp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,_O.getPolicyCacheName)(n,r),s;r.useMemoryCacheOnly?s=new bO.MemoryCache(i):s=new EO.MemoryZoneReadThroughCache(i,t);let a=await s.get(n);if(!a){let c=await(0,cp.getTokenFromGcpServiceAccount)({serviceAccount:up,audience:L_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,cp.exchangeGgpJwtForIdToken)(L_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new wO.RuntimeError("Invalid token response from GCP");a=u,s.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");tc.UpstreamGcpServiceAuthInboundPolicy=TO});var M_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.ValidateJsonSchemaInbound=void 0;var SO=L(),U_=ve(),IO=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return U_.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 SO.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 U_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");rc.ValidateJsonSchemaInbound=IO});var k_=g(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.serialize=fr.ContentTypes=void 0;fr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function AO(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(fr.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(fr.ContentTypes.Json)||!t?JSON.stringify(e):e}o(AO,"serialize");fr.serialize=AO});var F_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.ServiceProviderImpl=void 0;var PO=L(),lp=class e{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return e.#e||(e.#e=new e),e.#e}setInstance(t){e.#e=t}addService(t,r){if(this.services.get(t))throw new PO.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)}};nc.ServiceProviderImpl=lp});var H_=g(dp=>{"use strict";Object.defineProperty(dp,"__esModule",{value:!0});var RO={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"};dp.default=RO});var ke=g(f=>{"use strict";var OO=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]}),q_=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&OO(t,e,r)},xO=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.ReadmeMetricsInboundPolicy=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.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.VALID_COMPATIBILITY_DATES=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.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=void 0;Jp();var NO=wr();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return NO.MemoryZoneReadThroughCache}});var CO=Zc();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return CO.ZoneCache}});var LO=Wp();Object.defineProperty(f,"VALID_COMPATIBILITY_DATES",{enumerable:!0,get:function(){return LO.VALID_COMPATIBILITY_DATES}});var $_=Sr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return $_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return $_.ResponseSentEvent}});var DO=hy();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return DO.ContextData}});var pp=id();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return pp.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return pp.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return pp.isZuploReadableEnvVariableName}});var UO=L();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return UO.ConfigurationError}});var MO=sd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return MO.originalFetch}});var j_=vy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return j_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return j_.purgeGatewayCache}});var V_=Hy();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return V_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return V_.awsLambdaHandler}});var kO=$y();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return kO.openApiSpecHandler}});var FO=jy();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return FO.redirectHandler}});var HO=Gy();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return HO.urlForwardHandler}});var qO=Ky();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return qO.urlRewriteHandler}});var $O=zy();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return $O.webSocketHandler}});var jO=Yy();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return jO.webSocketPipelineHandler}});var VO=gu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return VO.HttpStatusCode}});q_(og(),f);q_(cg(),f);var GO=ug();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return GO.AuditLogDataStaxProvider}});var BO=dg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return BO.AuditLogPlugin}});var G_=yg();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return G_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return G_.AmberfloMeteringPolicy}});var B_=wg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return B_.ApiAuthKeyInboundPolicy}});Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return B_.ApiKeyInboundPolicy}});var KO=vg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return KO.Auth0JwtInboundPolicy}});var JO=Tg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return JO.BasicAuthInboundPolicy}});var zO=Sg();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return zO.CachingInboundPolicy}});var WO=Ig();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return WO.ChangeMethodInboundPolicy}});var QO=Ag();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return QO.ClearHeadersInboundPolicy}});var YO=Pg();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return YO.ClearHeadersOutboundPolicy}});var ZO=Rg();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return ZO.ClerkJwtInboundPolicy}});var XO=xg();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return XO.CognitoJwtInboundPolicy}});var ex=Cg();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return ex.CompositeInboundPolicy}});var tx=Lg();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return tx.FirebaseJwtInboundPolicy}});var rx=Dg();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return rx.FormDataToJsonInboundPolicy}});var nx=Ug();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return nx.GeoFilterInboundPolicy}});var ix=Mg();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return ix.JWTScopeValidationInboundPolicy}});var ox=Fg();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return ox.MockApiInboundPolicy}});var K_=Vg();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return K_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return K_.setMoesifContext}});var sx=Gg();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return sx.OktaJwtInboundPolicy}});var ax=kt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return ax.OpenIdJwtInboundPolicy}});var cx=Bg();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return cx.PropelAuthJwtInboundPolicy}});var J_=Zg();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return J_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return J_.RateLimitInboundPolicy}});var ux=r_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return ux.ReadmeMetricsInboundPolicy}});var lx=n_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return lx.RemoveHeadersInboundPolicy}});var dx=i_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return dx.RemoveHeadersOutboundPolicy}});var px=o_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return px.RemoveQueryParamsInboundPolicy}});var hx=s_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return hx.ReplaceStringOutboundPolicy}});var fx=c_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return fx.RequestSizeLimitInboundPolicy}});var z_=kr();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return z_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return z_.SchemaBasedRequestValidation}});var mx=f_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return mx.RequireOriginInboundPolicy}});var yx=m_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return yx.SetBodyInboundPolicy}});var gx=g_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return gx.SetHeadersInboundPolicy}});var _x=b_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return _x.SetHeadersOutboundPolicy}});var bx=w_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return bx.SetQueryParamsInboundPolicy}});var Ex=v_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return Ex.SetStatusOutboundPolicy}});var wx=T_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return wx.SleepInboundPolicy}});var vx=I_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return vx.SupabaseJwtInboundPolicy}});var Tx=P_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return Tx.UpstreamAzureAdServiceAuthInboundPolicy}});var Sx=O_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return Sx.UpstreamFirebaseAdminAuthInboundPolicy}});var Ix=x_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return Ix.UpstreamFirebaseUserAuthInboundPolicy}});var Ax=C_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return Ax.UpstreamGcpJwtInboundPolicy}});var Px=D_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return Px.UpstreamGcpServiceAuthInboundPolicy}});var Rx=M_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return Rx.ValidateJsonSchemaInbound}});var Ox=ve();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return Ox.HttpProblems}});var xx=ao();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return xx.ProblemResponseFormatter}});var Nx=Xn();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return Nx.ZuploRequest}});var Cx=Pr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return Cx.SystemRouteName}});var W_=Wl();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return W_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return W_.Router}});var Q_=k_();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return Q_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return Q_.serialize}});var Lx=F_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return Lx.ServiceProviderImpl}});var Y_=Ou();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return Y_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return Y_.SYSTEM_LOGGER}});var Dx=H_();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return xO(Dx).default}});var Ux=Be();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return Ux.SystemLogMap}});var xi=Ma();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return xi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return xi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return xi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return xi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return xi.sanitizedIdentifierName}})});var Z_=g(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.BaseCryptoBeta=Dn.supportedDigests=void 0;Dn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var hp=class{static{o(this,"BaseCryptoBeta")}};Dn.BaseCryptoBeta=hp});var X_=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.WorkerCryptoBeta=void 0;var fp=Z_(),Mx=L(),mp=class extends fp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!fp.supportedDigests.includes(t.toLowerCase()))throw new Mx.RuntimeError(`Algorithm ${t} is not supported. Try using ${fp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};ic.WorkerCryptoBeta=mp});var eb=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.BaseKeyValueStore=void 0;var yp=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};oc.BaseKeyValueStore=yp});var rb=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.WorkerKeyValueStore=void 0;var tb=L(),kx=eb(),gp=class extends kx.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new tb.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 tb.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)}};sc.WorkerKeyValueStore=gp});var xt=g(ct=>{"use strict";var Fx=ct&&ct.__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]}),Hx=ct&&ct.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Fx(t,e,r)};Object.defineProperty(ct,"__esModule",{value:!0});ct.KeyValueStore=ct.CryptoBeta=void 0;Hx(ke(),ct);var qx=X_();Object.defineProperty(ct,"CryptoBeta",{enumerable:!0,get:function(){return qx.WorkerCryptoBeta}});var $x=rb();Object.defineProperty(ct,"KeyValueStore",{enumerable:!0,get:function(){return $x.WorkerKeyValueStore}})});var zN={};Ki(zN,{GraphQLComplexityLimitInboundPolicy:()=>Db,GraphQLDisableIntrospectionInboundPolicy:()=>Mb});module.exports=Ji(zN);var Kn=Vp(xt());function B(e,t){if(!!!e)throw new Error(t)}o(B,"devAssert");function be(e){return typeof e=="object"&&e!==null}o(be,"isObjectLike");function St(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(St,"invariant");var jx=/\r\n|[\n\r]/g;function Un(e,t){let r=0,n=1;for(let i of e.body.matchAll(jx)){if(typeof i.index=="number"||St(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(Un,"getLocation");function _p(e){return ac(e.source,Un(e.source,e.start))}o(_p,"printLocation");function ac(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
66
|
+
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let y=Math.floor(u/80),h=u%80,m=[];for(let v=0;v<p.length;v+=80)m.push(p.slice(v,v+80));return l+nb([[`${a} |`,m[0]],...m.slice(1,y+1).map(v=>["|",v]),["|","^".padStart(h)],["|",m[y+1]]])}return l+nb([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(ac,"printSourceLocation");function nb(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(`
|
|
67
|
+
`)}o(nb,"printPrefixedLines");function Vx(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}o(Vx,"toNormalizedOptions");var N=class e extends Error{static{o(this,"GraphQLError")}constructor(t,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=Vx(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=ib(Array.isArray(a)?a:a?[a]:void 0);let y=ib((n=this.nodes)===null||n===void 0?void 0:n.map(m=>m.loc).filter(m=>m!=null));this.source=c??(y==null||(i=y[0])===null||i===void 0?void 0:i.source),this.positions=u??y?.map(m=>m.start),this.locations=u&&c?u.map(m=>Un(c,m)):y?.map(m=>Un(m.source,m.start));let h=be(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
|
|
68
68
|
|
|
69
|
-
`+
|
|
69
|
+
`+_p(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
|
|
70
70
|
|
|
71
|
-
`+
|
|
71
|
+
`+ac(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 ib(e){return e===void 0||e.length===0?void 0:e}o(ib,"undefinedIfEmpty");function le(e,t,r){return new N(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(le,"syntaxError");var Ni=class{static{o(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},Mn=class{static{o(this,"Token")}constructor(t,r,n,i,s,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=s,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},bp={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"]},Gx=new Set(Object.keys(bp));function Ci(e){let t=e?.kind;return typeof t=="string"&&Gx.has(t)}o(Ci,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var K;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var _;(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"})(_||(_={}));function cc(e){return e===9||e===32}o(cc,"isWhiteSpace");function kn(e){return e>=48&&e<=57}o(kn,"isDigit");function ob(e){return e>=97&&e<=122||e>=65&&e<=90}o(ob,"isLetter");function Li(e){return ob(e)||e===95}o(Li,"isNameStart");function uc(e){return ob(e)||kn(e)||e===95}o(uc,"isNameContinue");function sb(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var s;let c=e[a],u=Bx(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}o(sb,"dedentBlockStringLines");function Bx(e){let t=0;for(;t<e.length&&cc(e.charCodeAt(t));)++t;return t}o(Bx,"leadingWhitespace");function ab(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(h=>h.length===0||cc(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||s||a),p="",y=i&&cc(e.charCodeAt(0));return(d&&!y||s)&&(p+=`
|
|
72
72
|
`),p+=r,(d||l)&&(p+=`
|
|
73
|
-
`),'"""'+p+'"""'}o(
|
|
74
|
-
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw le(
|
|
75
|
-
`));return
|
|
73
|
+
`),'"""'+p+'"""'}o(ab,"printBlockString");var b;(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"})(b||(b={}));var Ui=class{static{o(this,"Lexer")}constructor(t){let r=new Mn(b.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!==b.EOF)do if(t.next)t=t.next;else{let r=Kx(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===b.COMMENT);return t}};function ub(e){return e===b.BANG||e===b.DOLLAR||e===b.AMP||e===b.PAREN_L||e===b.PAREN_R||e===b.SPREAD||e===b.COLON||e===b.EQUALS||e===b.AT||e===b.BRACKET_L||e===b.BRACKET_R||e===b.BRACE_L||e===b.PIPE||e===b.BRACE_R}o(ub,"isPunctuatorTokenKind");function Fn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o(Fn,"isUnicodeScalarValue");function lc(e,t){return lb(e.charCodeAt(t))&&db(e.charCodeAt(t+1))}o(lc,"isSupplementaryCodePoint");function lb(e){return e>=55296&&e<=56319}o(lb,"isLeadingSurrogate");function db(e){return e>=56320&&e<=57343}o(db,"isTrailingSurrogate");function Fr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return b.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(Fr,"printCodePointAt");function he(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new Mn(t,r,n,s,a,i)}o(he,"createToken");function Kx(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return Jx(e,i);case 33:return he(e,b.BANG,i,i+1);case 36:return he(e,b.DOLLAR,i,i+1);case 38:return he(e,b.AMP,i,i+1);case 40:return he(e,b.PAREN_L,i,i+1);case 41:return he(e,b.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return he(e,b.SPREAD,i,i+3);break;case 58:return he(e,b.COLON,i,i+1);case 61:return he(e,b.EQUALS,i,i+1);case 64:return he(e,b.AT,i,i+1);case 91:return he(e,b.BRACKET_L,i,i+1);case 93:return he(e,b.BRACKET_R,i,i+1);case 123:return he(e,b.BRACE_L,i,i+1);case 124:return he(e,b.PIPE,i,i+1);case 125:return he(e,b.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?Xx(e,i):Wx(e,i)}if(kn(s)||s===45)return zx(e,i,s);if(Li(s))return eN(e,i);throw le(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Fn(s)||lc(r,i)?`Unexpected character: ${Fr(e,i)}.`:`Invalid character: ${Fr(e,i)}.`)}return he(e,b.EOF,n,n)}o(Kx,"readNextToken");function Jx(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(Fn(s))++i;else if(lc(r,i))i+=2;else break}return he(e,b.COMMENT,t,i,r.slice(t+1,i))}o(Jx,"readComment");function zx(e,t,r){let n=e.source.body,i=t,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),kn(s))throw le(e.source,i,`Invalid number, unexpected digit after 0: ${Fr(e,i)}.`)}else i=Ep(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=Ep(e,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=Ep(e,i,s),s=n.charCodeAt(i)),s===46||Li(s))throw le(e.source,i,`Invalid number, expected digit but got: ${Fr(e,i)}.`);return he(e,a?b.FLOAT:b.INT,t,i,n.slice(t,i))}o(zx,"readNumber");function Ep(e,t,r){if(!kn(r))throw le(e.source,t,`Invalid number, expected digit but got: ${Fr(e,t)}.`);let n=e.source.body,i=t+1;for(;kn(n.charCodeAt(i));)++i;return i}o(Ep,"readDigits");function Wx(e,t){let r=e.source.body,n=r.length,i=t+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),he(e,b.STRING,t,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?Qx(e,i):Yx(e,i):Zx(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(Fn(c))++i;else if(lc(r,i))i+=2;else throw le(e.source,i,`Invalid character within String: ${Fr(e,i)}.`)}throw le(e.source,i,"Unterminated string.")}o(Wx,"readString");function Qx(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(t+i++);if(s===125){if(i<5||!Fn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Di(s),n<0)break}throw le(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(Qx,"readEscapedUnicodeVariableWidth");function Yx(e,t){let r=e.source.body,n=cb(r,t+2);if(Fn(n))return{value:String.fromCodePoint(n),size:6};if(lb(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=cb(r,t+8);if(db(i))return{value:String.fromCodePoint(n,i),size:12}}throw le(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(Yx,"readEscapedUnicodeFixedWidth");function cb(e,t){return Di(e.charCodeAt(t))<<12|Di(e.charCodeAt(t+1))<<8|Di(e.charCodeAt(t+2))<<4|Di(e.charCodeAt(t+3))}o(cb,"read16BitHexCode");function Di(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(Di,"readHexDigit");function Zx(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:`
|
|
74
|
+
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw le(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(Zx,"readEscapedCharacter");function Xx(e,t){let r=e.source.body,n=r.length,i=e.lineStart,s=t+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=he(e,b.BLOCK_STRING,t,s+3,sb(u).join(`
|
|
75
|
+
`));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(Fn(l))++s;else if(lc(r,s))s+=2;else throw le(e.source,s,`Invalid character within String: ${Fr(e,s)}.`)}throw le(e.source,s,"Unterminated string.")}o(Xx,"readBlockString");function eN(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(uc(s))++i;else break}return he(e,b.NAME,t,i,r.slice(t,i))}o(eN,"readName");function A(e){return dc(e,[])}o(A,"inspect");function dc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return tN(e,t);default:return String(e)}}o(dc,"formatValue");function tN(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(rN(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:dc(n,r)}else if(Array.isArray(e))return iN(e,r);return nN(e,r)}o(tN,"formatObjectValue");function rN(e){return typeof e.toJSON=="function"}o(rN,"isJSONable");function nN(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+oN(e)+"]":"{ "+r.map(([i,s])=>i+": "+dc(s,t)).join(", ")+" }"}o(nN,"formatObject");function iN(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let s=0;s<r;++s)i.push(dc(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(iN,"formatArray");function oN(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}o(oN,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(t,r){return t instanceof r},"instanceOf"):o(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=A(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
|
|
76
76
|
|
|
77
77
|
Ensure that there is only one instance of "graphql" in the node_modules
|
|
78
78
|
directory. If different versions of "graphql" are the dependencies of other
|
|
@@ -83,36 +83,36 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
|
|
|
83
83
|
Duplicate "graphql" modules cannot be used at the same time since different
|
|
84
84
|
versions may have different capabilities and behavior. The data from one
|
|
85
85
|
version used in the function from another could produce confusing and
|
|
86
|
-
spurious results.`)}}return!1},"instanceOf");var kn=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||B(!1,`Body must be a string. Received: ${A(e)}.`),this.body=e,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 cb(t){return ze(t,kn)}o(cb,"isSource");function dc(t,e){return new lc(t,e).parseDocument()}o(dc,"parse");function pc(t,e){let r=new lc(t,e);r.expectToken(b.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(b.EOF),n}o(pc,"parseValue");var lc=class{static{o(this,"Parser")}constructor(e,r={}){let n=cb(e)?e:new kn(e);this._lexer=new Ci(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(b.NAME);return this.node(e,{kind:_.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:_.DOCUMENT,definitions:this.many(b.SOF,this.parseDefinition,b.EOF)})}parseDefinition(){if(this.peek(b.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===b.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(e)throw le(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 e=this._lexer.token;if(this.peek(b.BRACE_L))return this.node(e,{kind:_.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(b.NAME)&&(n=this.parseName()),this.node(e,{kind:_.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(b.NAME);switch(e.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(b.PAREN_L,this.parseVariableDefinition,b.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:_.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(b.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(b.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(b.DOLLAR),this.node(e,{kind:_.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:_.SELECTION_SET,selections:this.many(b.BRACE_L,this.parseSelection,b.BRACE_R)})}parseSelection(){return this.peek(b.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(b.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:_.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(b.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(b.PAREN_L,r,b.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(b.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(b.NAME)?this.node(e,{kind:_.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:_.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let e=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(e,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:_.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(e){let r=this._lexer.token;switch(r.kind){case b.BRACKET_L:return this.parseList(e);case b.BRACE_L:return this.parseObject(e);case b.INT:return this.advanceLexer(),this.node(r,{kind:_.INT,value:r.value});case b.FLOAT:return this.advanceLexer(),this.node(r,{kind:_.FLOAT,value:r.value});case b.STRING:case b.BLOCK_STRING:return this.parseStringLiteral();case b.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:_.BOOLEAN,value:!0});case"false":return this.node(r,{kind:_.BOOLEAN,value:!1});case"null":return this.node(r,{kind:_.NULL});default:return this.node(r,{kind:_.ENUM,value:r.value})}case b.DOLLAR:if(e)if(this.expectToken(b.DOLLAR),this._lexer.token.kind===b.NAME){let n=this._lexer.token.value;throw le(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 e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:_.STRING,value:e.value,block:e.kind===b.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:_.LIST,values:this.any(b.BRACKET_L,r,b.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:_.OBJECT,fields:this.any(b.BRACE_L,r,b.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(b.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(b.AT),this.node(r,{kind:_.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(b.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(b.BRACKET_R),r=this.node(e,{kind:_.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(b.BANG)?this.node(e,{kind:_.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:_.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(b.STRING)||this.peek(b.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);return this.node(e,{kind:_.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(b.COLON);let n=this.parseNamedType();return this.node(e,{kind:_.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(e,{kind:_.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(e,{kind:_.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(b.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseFieldDefinition,b.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(b.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:_.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(b.PAREN_L,this.parseInputValueDef,b.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(b.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(b.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:_.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(e,{kind:_.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(e,{kind:_.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(b.EQUALS)?this.delimitedMany(b.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(e,{kind:_.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(b.BRACE_L,this.parseEnumValueDefinition,b.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:_.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 le(this._lexer.source,this._lexer.token.start,`${uc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(e,{kind:_.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseInputValueDef,b.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===b.NAME)switch(e.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(e)}parseSchemaExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:_.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let e=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(e,{kind:_.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(e,{kind:_.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(e,{kind:_.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let e=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(e,{kind:_.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let e=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(e,{kind:_.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let e=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(e,{kind:_.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(b.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:_.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(b.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new Ri(e,this._lexer.lastToken,this._lexer.source)),r}peek(e){return this._lexer.token.kind===e}expectToken(e){let r=this._lexer.token;if(r.kind===e)return this.advanceLexer(),r;throw le(this._lexer.source,r.start,`Expected ${ub(e)}, found ${uc(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===b.NAME&&r.value===e)this.advanceLexer();else throw le(this._lexer.source,r.start,`Expected "${e}", found ${uc(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===b.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return le(this._lexer.source,r.start,`Unexpected ${uc(r)}.`)}any(e,r,n){this.expectToken(e);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(e,r,n){if(this.expectOptionalToken(e)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(e,r,n){this.expectToken(e);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(e,r){this.expectOptionalToken(e);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(e));return n}advanceLexer(){let{maxTokens:e}=this._options,r=this._lexer.advance();if(e!==void 0&&r.kind!==b.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw le(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function uc(t){let e=t.value;return ub(t.kind)+(e!=null?` "${e}"`:"")}o(uc,"getTokenDesc");function ub(t){return ob(t)?`"${t}"`:t}o(ub,"getTokenKindDesc");function hc(t,e){let[r,n]=e?[t,e]:[void 0,t],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(hc,"didYouMean");function yp(t){return t}o(yp,"identityFunc");function Fn(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(Fn,"keyMap");function St(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(St,"keyValMap");function Li(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(Li,"mapValue");function lb(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(fc(i)&&fc(s)){let a=0;do++r,a=a*10+i-gp,i=t.charCodeAt(r);while(fc(i)&&a>0);let c=0;do++n,c=c*10+s-gp,s=e.charCodeAt(n);while(fc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return t.length-e.length}o(lb,"naturalCompare");var gp=48,Qx=57;function fc(t){return!isNaN(t)&&gp<=t&&t<=Qx}o(fc,"isDigit");function mc(t,e){let r=Object.create(null),n=new _p(t),i=Math.floor(t.length*.4)+1;for(let s of e){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:lb(s,a)})}o(mc,"suggestionList");var _p=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=db(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,r){if(this._input===e)return 0;let n=e.toLowerCase();if(this._inputLowerCase===n)return 1;let i=db(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],y=u[d%3],h=y[0]=d;for(let m=1;m<=c;m++){let v=i[d-1]===s[m-1]?0:1,T=Math.min(p[m]+1,y[m-1]+1,p[m-1]+v);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let S=u[(d-2)%3][m-2];T=Math.min(T,S+1)}T<h&&(h=T),y[m]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function db(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o(db,"stringToArray");function De(t){if(t==null)return Object.create(null);if(Object.getPrototypeOf(t)===null)return t;let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=n;return e}o(De,"toObjMap");function pb(t){return`"${t.replace(Yx,Zx)}"`}o(pb,"printString");var Yx=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Zx(t){return Xx[t.charCodeAt(0)]}o(Zx,"escapedReplacer");var Xx=["\\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 bp=Object.freeze({});function pr(t,e,r=fp){let n=new Map;for(let S of Object.values(_))n.set(S,Hn(e,S));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,y=[],h=[];do{c++;let S=c===a.length,k=S&&u.length!==0;if(S){if(d=h.length===0?void 0:y[y.length-1],l=p,p=h.pop(),k)if(s){l=l.slice();let C=0;for(let[re,ne]of u){let fe=re-C;ne===null?(l.splice(fe,1),C++):l[fe]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[C,re]of u)l[C]=re}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;y.push(d)}let j;if(!Array.isArray(l)){var m,v;Oi(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let C=S?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=C?.call(e,l,d,p,y,h),j===bp)break;if(j===!1){if(!S){y.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(Oi(j))l=j;else{y.pop();continue}}if(j===void 0&&k&&u.push([d,l]),S)y.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(pr,"visit");function Hn(t,e){let r=t[e];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:t.enter,leave:t.leave}}o(Hn,"getEnterLeaveForKind");function Ue(t){return pr(t,tN)}o(Ue,"print");var eN=80,tN={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>x(t.definitions,`
|
|
86
|
+
spurious results.`)}}return!1},"instanceOf");var Hn=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${A(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function pb(e){return ze(e,Hn)}o(pb,"isSource");function fc(e,t){return new hc(e,t).parseDocument()}o(fc,"parse");function mc(e,t){let r=new hc(e,t);r.expectToken(b.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(b.EOF),n}o(mc,"parseValue");var hc=class{static{o(this,"Parser")}constructor(t,r={}){let n=pb(t)?t:new Hn(t);this._lexer=new Ui(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(b.NAME);return this.node(t,{kind:_.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:_.DOCUMENT,definitions:this.many(b.SOF,this.parseDefinition,b.EOF)})}parseDefinition(){if(this.peek(b.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===b.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 le(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(b.BRACE_L))return this.node(t,{kind:_.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(b.NAME)&&(n=this.parseName()),this.node(t,{kind:_.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(b.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(b.PAREN_L,this.parseVariableDefinition,b.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:_.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(b.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(b.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(b.DOLLAR),this.node(t,{kind:_.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:_.SELECTION_SET,selections:this.many(b.BRACE_L,this.parseSelection,b.BRACE_R)})}parseSelection(){return this.peek(b.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(b.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:_.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(b.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(b.PAREN_L,r,b.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(b.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(b.NAME)?this.node(t,{kind:_.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:_.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:_.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:_.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 b.BRACKET_L:return this.parseList(t);case b.BRACE_L:return this.parseObject(t);case b.INT:return this.advanceLexer(),this.node(r,{kind:_.INT,value:r.value});case b.FLOAT:return this.advanceLexer(),this.node(r,{kind:_.FLOAT,value:r.value});case b.STRING:case b.BLOCK_STRING:return this.parseStringLiteral();case b.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:_.BOOLEAN,value:!0});case"false":return this.node(r,{kind:_.BOOLEAN,value:!1});case"null":return this.node(r,{kind:_.NULL});default:return this.node(r,{kind:_.ENUM,value:r.value})}case b.DOLLAR:if(t)if(this.expectToken(b.DOLLAR),this._lexer.token.kind===b.NAME){let n=this._lexer.token.value;throw le(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:_.STRING,value:t.value,block:t.kind===b.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:_.LIST,values:this.any(b.BRACKET_L,r,b.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:_.OBJECT,fields:this.any(b.BRACE_L,r,b.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(b.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(b.AT),this.node(r,{kind:_.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(b.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(b.BRACKET_R),r=this.node(t,{kind:_.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(b.BANG)?this.node(t,{kind:_.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:_.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(b.STRING)||this.peek(b.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(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);return this.node(t,{kind:_.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(b.COLON);let n=this.parseNamedType();return this.node(t,{kind:_.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:_.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:_.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(b.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseFieldDefinition,b.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(b.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:_.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(b.PAREN_L,this.parseInputValueDef,b.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(b.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(b.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:_.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:_.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:_.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(b.EQUALS)?this.delimitedMany(b.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:_.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(b.BRACE_L,this.parseEnumValueDefinition,b.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:_.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 le(this._lexer.source,this._lexer.token.start,`${pc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:_.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseInputValueDef,b.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===b.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(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:_.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:_.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:_.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:_.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:_.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:_.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:_.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(b.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:_.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(b.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 Ni(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 le(this._lexer.source,r.start,`Expected ${hb(t)}, found ${pc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===b.NAME&&r.value===t)this.advanceLexer();else throw le(this._lexer.source,r.start,`Expected "${t}", found ${pc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===b.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return le(this._lexer.source,r.start,`Unexpected ${pc(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!==b.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw le(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function pc(e){let t=e.value;return hb(e.kind)+(t!=null?` "${t}"`:"")}o(pc,"getTokenDesc");function hb(e){return ub(e)?`"${e}"`:e}o(hb,"getTokenKindDesc");function yc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(yc,"didYouMean");function wp(e){return e}o(wp,"identityFunc");function qn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(qn,"keyMap");function It(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(It,"keyValMap");function Mi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(Mi,"mapValue");function fb(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(gc(i)&&gc(s)){let a=0;do++r,a=a*10+i-vp,i=e.charCodeAt(r);while(gc(i)&&a>0);let c=0;do++n,c=c*10+s-vp,s=t.charCodeAt(n);while(gc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return e.length-t.length}o(fb,"naturalCompare");var vp=48,sN=57;function gc(e){return!isNaN(e)&&vp<=e&&e<=sN}o(gc,"isDigit");function _c(e,t){let r=Object.create(null),n=new Tp(e),i=Math.floor(e.length*.4)+1;for(let s of t){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:fb(s,a)})}o(_c,"suggestionList");var Tp=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=mb(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=mb(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],y=u[d%3],h=y[0]=d;for(let m=1;m<=c;m++){let v=i[d-1]===s[m-1]?0:1,T=Math.min(p[m]+1,y[m-1]+1,p[m-1]+v);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let S=u[(d-2)%3][m-2];T=Math.min(T,S+1)}T<h&&(h=T),y[m]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function mb(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(mb,"stringToArray");function De(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(De,"toObjMap");function yb(e){return`"${e.replace(aN,cN)}"`}o(yb,"printString");var aN=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function cN(e){return uN[e.charCodeAt(0)]}o(cN,"escapedReplacer");var uN=["\\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 Sp=Object.freeze({});function mr(e,t,r=bp){let n=new Map;for(let S of Object.values(_))n.set(S,$n(t,S));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,y=[],h=[];do{c++;let S=c===a.length,k=S&&u.length!==0;if(S){if(d=h.length===0?void 0:y[y.length-1],l=p,p=h.pop(),k)if(s){l=l.slice();let C=0;for(let[re,ne]of u){let fe=re-C;ne===null?(l.splice(fe,1),C++):l[fe]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[C,re]of u)l[C]=re}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;y.push(d)}let j;if(!Array.isArray(l)){var m,v;Ci(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let C=S?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=C?.call(t,l,d,p,y,h),j===Sp)break;if(j===!1){if(!S){y.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(Ci(j))l=j;else{y.pop();continue}}if(j===void 0&&k&&u.push([d,l]),S)y.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(mr,"visit");function $n(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}o($n,"getEnterLeaveForKind");function Ue(e){return mr(e,dN)}o(Ue,"print");var lN=80,dN={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
|
|
87
87
|
|
|
88
|
-
`)},OperationDefinition:{leave(
|
|
89
|
-
`,
|
|
88
|
+
`)},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})=>ut(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=J("",e,": ")+t,a=s+J("(",x(r,", "),")");return a.length>lN&&(a=s+J(`(
|
|
89
|
+
`,bc(x(r,`
|
|
90
90
|
`)),`
|
|
91
|
-
)`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:
|
|
92
|
-
`)+x(["schema",x(
|
|
93
|
-
`)+x(["scalar",
|
|
94
|
-
`)+x(["type",
|
|
95
|
-
`)+
|
|
96
|
-
`,
|
|
91
|
+
)`)),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?ab(e):yb(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,`
|
|
92
|
+
`)+x(["schema",x(t," "),ut(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
93
|
+
`)+x(["scalar",t,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
94
|
+
`)+x(["type",t,J("implements ",x(r," & ")),x(n," "),ut(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
|
|
95
|
+
`)+t+(gb(r)?J(`(
|
|
96
|
+
`,bc(x(r,`
|
|
97
97
|
`)),`
|
|
98
|
-
)`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:
|
|
99
|
-
`)+x([
|
|
100
|
-
`)+x(["interface",
|
|
101
|
-
`)+x(["union",
|
|
102
|
-
`)+x(["enum",
|
|
103
|
-
`)+x([
|
|
104
|
-
`)+x(["input",
|
|
105
|
-
`)+"directive @"+
|
|
106
|
-
`,
|
|
98
|
+
)`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
|
|
99
|
+
`)+x([t+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
100
|
+
`)+x(["interface",t,J("implements ",x(r," & ")),x(n," "),ut(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>J("",e,`
|
|
101
|
+
`)+x(["union",t,x(r," "),J("= ",x(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>J("",e,`
|
|
102
|
+
`)+x(["enum",t,x(r," "),ut(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
103
|
+
`)+x([t,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
|
|
104
|
+
`)+x(["input",t,x(r," "),ut(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
|
|
105
|
+
`)+"directive @"+t+(gb(r)?J(`(
|
|
106
|
+
`,bc(x(r,`
|
|
107
107
|
`)),`
|
|
108
|
-
)`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:
|
|
109
|
-
`,
|
|
108
|
+
)`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),ut(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," "),ut(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),ut(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," "),ut(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),ut(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}o(x,"join");function ut(e){return J(`{
|
|
109
|
+
`,bc(x(e,`
|
|
110
110
|
`)),`
|
|
111
|
-
}`)}o(ut,"block");function J(t,
|
|
112
|
-
`))}o(
|
|
113
|
-
`)))!==null&&e!==void 0?e:!1}o(hb,"hasMultilineItems");function Di(t,e){switch(t.kind){case _.NULL:return null;case _.INT:return parseInt(t.value,10);case _.FLOAT:return parseFloat(t.value);case _.STRING:case _.ENUM:case _.BOOLEAN:return t.value;case _.LIST:return t.values.map(r=>Di(r,e));case _.OBJECT:return St(t.fields,r=>r.name.value,r=>Di(r.value,e));case _.VARIABLE:return e?.[t.name.value]}}o(Di,"valueFromASTUntyped");function je(t){if(t!=null||B(!1,"Must provide name."),typeof t=="string"||B(!1,"Expected name to be a string."),t.length===0)throw new N("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!sc(t.charCodeAt(e)))throw new N(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!xi(t.charCodeAt(0)))throw new N(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(je,"assertName");function Ep(t){if(t==="true"||t==="false"||t==="null")throw new N(`Enum values cannot be named: ${t}`);return je(t)}o(Ep,"assertEnumValueName");function _c(t){return hr(t)||Ne(t)||Ee(t)||nt(t)||Qe(t)||Pe(t)||Ve(t)||ae(t)}o(_c,"isType");function hr(t){return ze(t,We)}o(hr,"isScalarType");function Ne(t){return ze(t,xe)}o(Ne,"isObjectType");function bc(t){if(!Ne(t))throw new Error(`Expected ${A(t)} to be a GraphQL Object type.`);return t}o(bc,"assertObjectType");function Ee(t){return ze(t,Ht)}o(Ee,"isInterfaceType");function Ec(t){if(!Ee(t))throw new Error(`Expected ${A(t)} to be a GraphQL Interface type.`);return t}o(Ec,"assertInterfaceType");function nt(t){return ze(t,Ur)}o(nt,"isUnionType");function Qe(t){return ze(t,It)}o(Qe,"isEnumType");function Pe(t){return ze(t,Mr)}o(Pe,"isInputObjectType");function Ve(t){return ze(t,de)}o(Ve,"isListType");function ae(t){return ze(t,$)}o(ae,"isNonNullType");function Ye(t){return hr(t)||Qe(t)||Pe(t)||Ui(t)&&Ye(t.ofType)}o(Ye,"isInputType");function qt(t){return hr(t)||Ne(t)||Ee(t)||nt(t)||Qe(t)||Ui(t)&&qt(t.ofType)}o(qt,"isOutputType");function fr(t){return hr(t)||Qe(t)}o(fr,"isLeafType");function At(t){return Ne(t)||Ee(t)||nt(t)}o(At,"isCompositeType");function mr(t){return Ee(t)||nt(t)}o(mr,"isAbstractType");var de=class{static{o(this,"GraphQLList")}constructor(e){_c(e)||B(!1,`Expected ${A(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(e){wc(e)||B(!1,`Expected ${A(e)} to be a GraphQL nullable type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Ui(t){return Ve(t)||ae(t)}o(Ui,"isWrappingType");function wc(t){return _c(t)&&!ae(t)}o(wc,"isNullableType");function vc(t){if(!wc(t))throw new Error(`Expected ${A(t)} to be a GraphQL nullable type.`);return t}o(vc,"assertNullableType");function Tc(t){if(t)return ae(t)?t.ofType:t}o(Tc,"getNullableType");function lt(t){if(t){let e=t;for(;Ui(e);)e=e.ofType;return e}}o(lt,"getNamedType");function Sc(t){return typeof t=="function"?t():t}o(Sc,"resolveReadonlyArrayThunk");function Ic(t){return typeof t=="function"?t():t}o(Ic,"resolveObjMapThunk");var We=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:yp;this.name=je(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:yp,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Di(c,u)),this.extensions=De(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(e.specifiedByURL)}.`),e.serialize==null||typeof e.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.`),e.parseLiteral&&(typeof e.parseValue=="function"&&typeof e.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{o(this,"GraphQLObjectType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=De(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>mb(e),this._interfaces=()=>fb(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(e.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:yb(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function fb(t){var e;let r=Sc((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||B(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(fb,"defineInterfaces");function mb(t){let e=Ic(t.fields);return qn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Li(e,(r,n)=>{var i;qn(r)||B(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${t.name}.${n} field resolver must be a function if provided, but got: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return qn(s)||B(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:je(n),description:r.description,type:r.type,args:wp(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}o(mb,"defineFieldMap");function wp(t){return Object.entries(t).map(([e,r])=>({name:je(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(wp,"defineArguments");function qn(t){return be(t)&&!Array.isArray(t)}o(qn,"isPlainObj");function yb(t){return Li(t,e=>({description:e.description,type:e.type,args:vp(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(yb,"fieldsToFieldsConfig");function vp(t){return St(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(vp,"argsToArgsConfig");var Ht=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=De(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=mb.bind(void 0,e),this._interfaces=fb.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.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:yb(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ur=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=De(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=rN.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.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 rN(t){let e=Sc(t.types);return Array.isArray(e)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(rN,"defineTypes");var It=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=De(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=nN(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Fn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){let r=this._valueLookup.get(e);if(r===void 0)throw new N(`Enum "${this.name}" cannot represent value: ${A(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=A(e);throw new N(`Enum "${this.name}" cannot represent non-string value: ${n}.`+gc(this,n))}let r=this.getValue(e);if(r==null)throw new N(`Value "${e}" does not exist in "${this.name}" enum.`+gc(this,e));return r.value}parseLiteral(e,r){if(e.kind!==_.ENUM){let i=Ue(e);throw new N(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+gc(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=Ue(e);throw new N(`Value "${i}" does not exist in "${this.name}" enum.`+gc(this,i),{nodes:e})}return n.value}toConfig(){let e=St(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:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function gc(t,e){let r=t.getValues().map(i=>i.name),n=mc(e,r);return hc("the enum value",n)}o(gc,"didYouMeanEnumValue");function nN(t,e){return qn(e)||B(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(qn(n)||B(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:Ep(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}o(nN,"defineEnumValues");var Mr=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=De(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=iN.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=Li(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:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function iN(t){let e=Ic(t.fields);return qn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Li(e,(r,n)=>(!("resolve"in r)||B(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:je(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(iN,"defineInputFieldMap");var Ac=2147483647,Pc=-2147483648,Tp=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(t){let e=Mi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isInteger(r))throw new N(`Int cannot represent non-integer value: ${A(e)}`);if(r>Ac||r<Pc)throw new N("Int cannot represent non 32-bit signed integer value: "+A(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new N(`Int cannot represent non-integer value: ${A(t)}`);if(t>Ac||t<Pc)throw new N(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==_.INT)throw new N(`Int cannot represent non-integer value: ${Ue(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>Ac||e<Pc)throw new N(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),gb=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(t){let e=Mi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isFinite(r))throw new N(`Float cannot represent non numeric value: ${A(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new N(`Float cannot represent non numeric value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.FLOAT&&t.kind!==_.INT)throw new N(`Float cannot represent non numeric value: ${Ue(t)}`,t);return parseFloat(t.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(t){let e=Mi(t);if(typeof e=="string")return e;if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number"&&Number.isFinite(e))return e.toString();throw new N(`String cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t!="string")throw new N(`String cannot represent a non string value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.STRING)throw new N(`String cannot represent a non string value: ${Ue(t)}`,{nodes:t});return t.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=Mi(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new N(`Boolean cannot represent a non boolean value: ${A(e)}`)},parseValue(t){if(typeof t!="boolean")throw new N(`Boolean cannot represent a non boolean value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.BOOLEAN)throw new N(`Boolean cannot represent a non boolean value: ${Ue(t)}`,{nodes:t});return t.value}}),Rc=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(t){let e=Mi(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new N(`ID cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new N(`ID cannot represent value: ${A(t)}`)},parseLiteral(t){if(t.kind!==_.STRING&&t.kind!==_.INT)throw new N("ID cannot represent a non-string and non-integer value: "+Ue(t),{nodes:t});return t.value}}),Sp=Object.freeze([oe,Tp,gb,Me,Rc]);function Mi(t){if(be(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!be(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(Mi,"serializeObject");function Ip(t){return ze(t,dt)}o(Ip,"isDirective");var dt=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=je(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||B(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};be(i)&&!Array.isArray(i)||B(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=wp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:vp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},_b=new dt({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."}}}),bb=new dt({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."}}}),Eb="No longer supported",wb=new dt({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:Eb}}}),vb=new dt({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."}}}),Ap=Object.freeze([_b,bb,wb,vb]);function Oc(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o(Oc,"isIterableObject");function kr(t,e){if(ae(e)){let r=kr(t,e.ofType);return r?.kind===_.NULL?null:r}if(t===null)return{kind:_.NULL};if(t===void 0)return null;if(Ve(e)){let r=e.ofType;if(Oc(t)){let n=[];for(let i of t){let s=kr(i,r);s!=null&&n.push(s)}return{kind:_.LIST,values:n}}return kr(t,r)}if(Pe(e)){if(!be(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=kr(t[n.name],n.type);i&&r.push({kind:_.OBJECT_FIELD,name:{kind:_.NAME,value:n.name},value:i})}return{kind:_.OBJECT,fields:r}}if(fr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:_.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Tb.test(n)?{kind:_.INT,value:n}:{kind:_.FLOAT,value:n}}if(typeof r=="string")return Qe(e)?{kind:_.ENUM,value:r}:e===Rc&&Tb.test(r)?{kind:_.INT,value:r}:{kind:_.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}Tt(!1,"Unexpected input type: "+A(e))}o(kr,"astFromValue");var Tb=/^-?(?:0|[1-9][0-9]*)$/;var ki=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:oe,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new $(new de(new $(it))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new de(new $(Pp))),resolve:t=>t.getDirectives()}})}),Pp=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
111
|
+
}`)}o(ut,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function bc(e){return J(" ",e.replace(/\n/g,`
|
|
112
|
+
`))}o(bc,"indent");function gb(e){var t;return(t=e?.some(r=>r.includes(`
|
|
113
|
+
`)))!==null&&t!==void 0?t:!1}o(gb,"hasMultilineItems");function ki(e,t){switch(e.kind){case _.NULL:return null;case _.INT:return parseInt(e.value,10);case _.FLOAT:return parseFloat(e.value);case _.STRING:case _.ENUM:case _.BOOLEAN:return e.value;case _.LIST:return e.values.map(r=>ki(r,t));case _.OBJECT:return It(e.fields,r=>r.name.value,r=>ki(r.value,t));case _.VARIABLE:return t?.[e.name.value]}}o(ki,"valueFromASTUntyped");function je(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new N("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!uc(e.charCodeAt(t)))throw new N(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Li(e.charCodeAt(0)))throw new N(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(je,"assertName");function Ip(e){if(e==="true"||e==="false"||e==="null")throw new N(`Enum values cannot be named: ${e}`);return je(e)}o(Ip,"assertEnumValueName");function wc(e){return yr(e)||Ne(e)||Ee(e)||nt(e)||Qe(e)||Pe(e)||Ve(e)||ae(e)}o(wc,"isType");function yr(e){return ze(e,We)}o(yr,"isScalarType");function Ne(e){return ze(e,xe)}o(Ne,"isObjectType");function vc(e){if(!Ne(e))throw new Error(`Expected ${A(e)} to be a GraphQL Object type.`);return e}o(vc,"assertObjectType");function Ee(e){return ze(e,qt)}o(Ee,"isInterfaceType");function Tc(e){if(!Ee(e))throw new Error(`Expected ${A(e)} to be a GraphQL Interface type.`);return e}o(Tc,"assertInterfaceType");function nt(e){return ze(e,Hr)}o(nt,"isUnionType");function Qe(e){return ze(e,At)}o(Qe,"isEnumType");function Pe(e){return ze(e,qr)}o(Pe,"isInputObjectType");function Ve(e){return ze(e,de)}o(Ve,"isListType");function ae(e){return ze(e,$)}o(ae,"isNonNullType");function Ye(e){return yr(e)||Qe(e)||Pe(e)||Fi(e)&&Ye(e.ofType)}o(Ye,"isInputType");function $t(e){return yr(e)||Ne(e)||Ee(e)||nt(e)||Qe(e)||Fi(e)&&$t(e.ofType)}o($t,"isOutputType");function gr(e){return yr(e)||Qe(e)}o(gr,"isLeafType");function Pt(e){return Ne(e)||Ee(e)||nt(e)}o(Pt,"isCompositeType");function _r(e){return Ee(e)||nt(e)}o(_r,"isAbstractType");var de=class{static{o(this,"GraphQLList")}constructor(t){wc(t)||B(!1,`Expected ${A(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(t){Sc(t)||B(!1,`Expected ${A(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Fi(e){return Ve(e)||ae(e)}o(Fi,"isWrappingType");function Sc(e){return wc(e)&&!ae(e)}o(Sc,"isNullableType");function Ic(e){if(!Sc(e))throw new Error(`Expected ${A(e)} to be a GraphQL nullable type.`);return e}o(Ic,"assertNullableType");function Ac(e){if(e)return ae(e)?e.ofType:e}o(Ac,"getNullableType");function lt(e){if(e){let t=e;for(;Fi(t);)t=t.ofType;return t}}o(lt,"getNamedType");function Pc(e){return typeof e=="function"?e():e}o(Pc,"resolveReadonlyArrayThunk");function Rc(e){return typeof e=="function"?e():e}o(Rc,"resolveObjMapThunk");var We=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:wp;this.name=je(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:wp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(ki(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>bb(t),this._interfaces=()=>_b(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Eb(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function _b(e){var t;let r=Pc((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(_b,"defineInterfaces");function bb(e){let t=Rc(e.fields);return jn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Mi(t,(r,n)=>{var i;jn(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return jn(s)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:je(n),description:r.description,type:r.type,args:Ap(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}o(bb,"defineFieldMap");function Ap(e){return Object.entries(e).map(([t,r])=>({name:je(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(Ap,"defineArguments");function jn(e){return be(e)&&!Array.isArray(e)}o(jn,"isPlainObj");function Eb(e){return Mi(e,t=>({description:t.description,type:t.type,args:Pp(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Eb,"fieldsToFieldsConfig");function Pp(e){return It(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Pp,"argsToArgsConfig");var qt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=bb.bind(void 0,t),this._interfaces=_b.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Eb(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Hr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=pN.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function pN(e){let t=Pc(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(pN,"defineTypes");var At=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=hN(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=qn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new N(`Enum "${this.name}" cannot represent value: ${A(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=A(t);throw new N(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Ec(this,n))}let r=this.getValue(t);if(r==null)throw new N(`Value "${t}" does not exist in "${this.name}" enum.`+Ec(this,t));return r.value}parseLiteral(t,r){if(t.kind!==_.ENUM){let i=Ue(t);throw new N(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Ec(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new N(`Value "${i}" does not exist in "${this.name}" enum.`+Ec(this,i),{nodes:t})}return n.value}toConfig(){let t=It(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 Ec(e,t){let r=e.getValues().map(i=>i.name),n=_c(t,r);return yc("the enum value",n)}o(Ec,"didYouMeanEnumValue");function hN(e,t){return jn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(jn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:Ip(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}o(hN,"defineEnumValues");var qr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=fN.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Mi(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 fN(e){let t=Rc(e.fields);return jn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Mi(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:je(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(fN,"defineInputFieldMap");var Oc=2147483647,xc=-2147483648,Rp=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=Hi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new N(`Int cannot represent non-integer value: ${A(t)}`);if(r>Oc||r<xc)throw new N("Int cannot represent non 32-bit signed integer value: "+A(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new N(`Int cannot represent non-integer value: ${A(e)}`);if(e>Oc||e<xc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==_.INT)throw new N(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Oc||t<xc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),wb=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=Hi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new N(`Float cannot represent non numeric value: ${A(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new N(`Float cannot represent non numeric value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==_.FLOAT&&e.kind!==_.INT)throw new N(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),oe=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Hi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new N(`String cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e!="string")throw new N(`String cannot represent a non string value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==_.STRING)throw new N(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Hi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new N(`Boolean cannot represent a non boolean value: ${A(t)}`)},parseValue(e){if(typeof e!="boolean")throw new N(`Boolean cannot represent a non boolean value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==_.BOOLEAN)throw new N(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),Nc=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=Hi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new N(`ID cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new N(`ID cannot represent value: ${A(e)}`)},parseLiteral(e){if(e.kind!==_.STRING&&e.kind!==_.INT)throw new N("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),Op=Object.freeze([oe,Rp,wb,Me,Nc]);function Hi(e){if(be(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!be(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(Hi,"serializeObject");function xp(e){return ze(e,dt)}o(xp,"isDirective");var dt=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=je(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};be(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Ap(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Pp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},vb=new dt({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."}}}),Tb=new dt({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."}}}),Sb="No longer supported",Ib=new dt({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:Sb}}}),Ab=new dt({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."}}}),Np=Object.freeze([vb,Tb,Ib,Ab]);function Cc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(Cc,"isIterableObject");function $r(e,t){if(ae(t)){let r=$r(e,t.ofType);return r?.kind===_.NULL?null:r}if(e===null)return{kind:_.NULL};if(e===void 0)return null;if(Ve(t)){let r=t.ofType;if(Cc(e)){let n=[];for(let i of e){let s=$r(i,r);s!=null&&n.push(s)}return{kind:_.LIST,values:n}}return $r(e,r)}if(Pe(t)){if(!be(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=$r(e[n.name],n.type);i&&r.push({kind:_.OBJECT_FIELD,name:{kind:_.NAME,value:n.name},value:i})}return{kind:_.OBJECT,fields:r}}if(gr(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:_.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Pb.test(n)?{kind:_.INT,value:n}:{kind:_.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:_.ENUM,value:r}:t===Nc&&Pb.test(r)?{kind:_.INT,value:r}:{kind:_.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}St(!1,"Unexpected input type: "+A(t))}o($r,"astFromValue");var Pb=/^-?(?:0|[1-9][0-9]*)$/;var qi=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:oe,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new de(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 de(new $(Cp))),resolve:e=>e.getDirectives()}})}),Cp=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
114
114
|
|
|
115
|
-
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:t=>t.name},description:{type:oe,resolve:t=>t.description},isRepeatable:{type:new $(Me),resolve:t=>t.isRepeatable},locations:{type:new $(new de(new $(Rp))),resolve:t=>t.locations},args:{type:new $(new de(new $(Fi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),Rp=new It({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(Np),resolve(t){if(hr(t))return X.SCALAR;if(Ne(t))return X.OBJECT;if(Ee(t))return X.INTERFACE;if(nt(t))return X.UNION;if(Qe(t))return X.ENUM;if(Pe(t))return X.INPUT_OBJECT;if(Ve(t))return X.LIST;if(ae(t))return X.NON_NULL;Tt(!1,`Unexpected type: "${A(t)}".`)}},name:{type:oe,resolve:t=>"name"in t?t.name:void 0},description:{type:oe,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:oe,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new de(new $(Op)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Ne(t)||Ee(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new de(new $(it)),resolve(t){if(Ne(t)||Ee(t))return t.getInterfaces()}},possibleTypes:{type:new de(new $(it)),resolve(t,e,r,{schema:n}){if(mr(t))return n.getPossibleTypes(t)}},enumValues:{type:new de(new $(xp)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Qe(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new de(new $(Fi)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Pe(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:t=>"ofType"in t?t.ofType:void 0}})}),Op=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(oe),resolve:t=>t.name},description:{type:oe,resolve:t=>t.description},args:{type:new $(new de(new $(Fi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:t=>t.type},isDeprecated:{type:new $(Me),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:oe,resolve:t=>t.deprecationReason}})}),Fi=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(oe),resolve:t=>t.name},description:{type:oe,resolve:t=>t.description},type:{type:new $(it),resolve:t=>t.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=kr(r,e);return n?Ue(n):null}},isDeprecated:{type:new $(Me),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:oe,resolve:t=>t.deprecationReason}})}),xp=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(oe),resolve:t=>t.name},description:{type:oe,resolve:t=>t.description},isDeprecated:{type:new $(Me),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:oe,resolve:t=>t.deprecationReason}})}),X;(function(t){t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.INPUT_OBJECT="INPUT_OBJECT",t.LIST="LIST",t.NON_NULL="NON_NULL"})(X||(X={}));var Np=new It({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:X.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:X.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:X.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:X.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:X.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:X.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:X.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:X.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),xc={name:"__schema",type:new $(ki),description:"Access the current type schema of this server.",args:[],resolve:(t,e,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Nc={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:(t,{name:e},r,{schema:n})=>n.getType(e),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Cc={name:"__typename",type:new $(oe),description:"The name of the current Object type at runtime.",args:[],resolve:(t,e,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Cp=Object.freeze([ki,Pp,Rp,it,Op,Fi,xp,Np]);var Hi=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,be(e)||B(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||B(!1,`"types" must be Array if provided but got: ${A(e.types)}.`),!e.directives||Array.isArray(e.directives)||B(!1,`"directives" must be Array if provided but got: ${A(e.directives)}.`),this.description=e.description,this.extensions=De(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=(n=e.directives)!==null&&n!==void 0?n:Ap;let i=new Set(e.types);if(e.types!=null)for(let s of e.types)i.delete(s),pt(s,i);this._queryType!=null&&pt(this._queryType,i),this._mutationType!=null&&pt(this._mutationType,i),this._subscriptionType!=null&&pt(this._subscriptionType,i);for(let s of this._directives)if(Ip(s))for(let a of s.args)pt(a.type,i);pt(ki,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,Ee(s)){for(let c of s.getInterfaces())if(Ee(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ne(s)){for(let c of s.getInterfaces())if(Ee(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(e){switch(e){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return nt(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){let r=this._implementationsMap[e.name];return r??{objects:[],interfaces:[]}}isSubType(e,r){let n=this._subTypeMap[e.name];if(n===void 0){if(n=Object.create(null),nt(e))for(let i of e.getTypes())n[i.name]=!0;else{let i=this.getImplementations(e);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[e.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find(r=>r.name===e)}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 pt(t,e){let r=lt(t);if(!e.has(r)){if(e.add(r),nt(r))for(let n of r.getTypes())pt(n,e);else if(Ne(r)||Ee(r)){for(let n of r.getInterfaces())pt(n,e);for(let n of Object.values(r.getFields())){pt(n.type,e);for(let i of n.args)pt(i.type,e)}}else if(Pe(r))for(let n of Object.values(r.getFields()))pt(n.type,e)}return e}o(pt,"collectReferencedTypes");function yr(t,e){switch(e.kind){case _.LIST_TYPE:{let r=yr(t,e.type);return r&&new de(r)}case _.NON_NULL_TYPE:{let r=yr(t,e.type);return r&&new $(r)}case _.NAMED_TYPE:return t.getType(e.name.value)}}o(yr,"typeFromAST");var gr=class{static{o(this,"TypeInfo")}constructor(e,r,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??oN,r&&(Ye(r)&&this._inputTypeStack.push(r),At(r)&&this._parentTypeStack.push(r),qt(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(e){let r=this._schema;switch(e.kind){case _.SELECTION_SET:{let i=lt(this.getType());this._parentTypeStack.push(At(i)?i:void 0);break}case _.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,e),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(qt(a)?a:void 0);break}case _.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case _.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(Ne(i)?i:void 0);break}case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?yr(r,i):lt(this.getType());this._typeStack.push(qt(s)?s:void 0);break}case _.VARIABLE_DEFINITION:{let i=yr(r,e.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case _.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===e.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.LIST:{let i=Tc(this.getInputType()),s=Ve(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.OBJECT_FIELD:{let i=lt(this.getInputType()),s,a;Pe(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.ENUM:{let i=lt(this.getInputType()),s;Qe(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case _.SELECTION_SET:this._parentTypeStack.pop();break;case _.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case _.DIRECTIVE:this._directive=null;break;case _.OPERATION_DEFINITION:case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:this._typeStack.pop();break;case _.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case _.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.LIST:case _.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.ENUM:this._enumValue=null;break;default:}}};function oN(t,e,r){let n=r.name.value;if(n===xc.name&&t.getQueryType()===e)return xc;if(n===Nc.name&&t.getQueryType()===e)return Nc;if(n===Cc.name&&At(e))return Cc;if(Ne(e)||Ee(e))return e.getFields()[n]}o(oN,"getFieldDef");function $n(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=Hn(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),Oi(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=Hn(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o($n,"visitWithTypeInfo");function Lc(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(Lc,"printPathArray");function Lp(t,e,r){return{prev:t,key:e,typename:r}}o(Lp,"addPath");function $t(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o($t,"pathToArray");function Dp(t,e,r=sN){return qi(t,e,r,void 0)}o(Dp,"coerceInputValue");function sN(t,e,r){let n="Invalid value "+A(e);throw t.length>0&&(n+=` at "value${Lc(t)}"`),r.message=n+": "+r.message,r}o(sN,"defaultOnError");function qi(t,e,r,n){if(ae(e)){if(t!=null)return qi(t,e.ofType,r,n);r($t(n),t,new N(`Expected non-nullable type "${A(e)}" not to be null.`));return}if(t==null)return null;if(Ve(e)){let i=e.ofType;return Oc(t)?Array.from(t,(s,a)=>{let c=Lp(n,a,void 0);return qi(s,i,r,c)}):[qi(t,i,r,n)]}if(Pe(e)){if(!be(t)){r($t(n),t,new N(`Expected type "${e.name}" to be an object.`));return}let i={},s=e.getFields();for(let a of Object.values(s)){let c=t[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ae(a.type)){let u=A(a.type);r($t(n),t,new N(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=qi(c,a.type,r,Lp(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=mc(a,Object.keys(e.getFields()));r($t(n),t,new N(`Field "${a}" is not defined by type "${e.name}".`+hc(c)))}return i}if(fr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof N?r($t(n),t,s):r($t(n),t,new N(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r($t(n),t,new N(`Expected type "${e.name}".`)),i}Tt(!1,"Unexpected input type: "+A(e))}o(qi,"coerceInputValueImpl");function Pt(t,e,r){if(t){if(t.kind===_.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(e)?void 0:i}if(ae(e))return t.kind===_.NULL?void 0:Pt(t,e.ofType,r);if(t.kind===_.NULL)return null;if(Ve(e)){let n=e.ofType;if(t.kind===_.LIST){let s=[];for(let a of t.values)if(Sb(a,r)){if(ae(n))return;s.push(null)}else{let c=Pt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Pt(t,n,r);return i===void 0?void 0:[i]}if(Pe(e)){if(t.kind!==_.OBJECT)return;let n=Object.create(null),i=Fn(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||Sb(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ae(s.type))return;continue}let c=Pt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(fr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}Tt(!1,"Unexpected input type: "+A(e))}}o(Pt,"valueFromAST");function Sb(t,e){return t.kind===_.VARIABLE&&(e==null||e[t.name.value]===void 0)}o(Sb,"isMissingVariable");function Dc(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=aN(t,e,r,c=>{if(s!=null&&i.length>=s)throw new N("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(Dc,"getVariableValues");function aN(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=yr(t,s.type);if(!Ye(c)){let l=Ue(s.type);n(new N(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Ib(r,a)){if(s.defaultValue)i[a]=Pt(s.defaultValue,c);else if(ae(c)){let l=A(c);n(new N(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ae(c)){let l=A(c);n(new N(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Dp(u,c,(l,d,p)=>{let y=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(y+=` at "${a}${Lc(l)}"`),n(new N(y+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(aN,"coerceVariableValues");function $i(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=Fn(s,c=>c.name.value);for(let c of t.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:e});continue}let p=d.value,y=p.kind===_.NULL;if(p.kind===_.VARIABLE){let m=p.name.value;if(r==null||!Ib(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}y=r[m]==null}if(y&&ae(l))throw new N(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let h=Pt(p,l,r);if(h===void 0)throw new N(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}o($i,"getArgumentValues");function ji(t,e,r){var n;let i=(n=e.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===t.name);if(i)return $i(t,i,r)}o(ji,"getDirectiveValues");function Ib(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Ib,"hasOwnProperty");var Uc=class{static{o(this,"ASTValidationContext")}constructor(e,r){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===_.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[e]}getFragmentSpreads(e){let r=this._fragmentSpreads.get(e);if(!r){r=[];let n=[e],i;for(;i=n.pop();)for(let s of i.selections)s.kind===_.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(e,r)}return r}getRecursivelyReferencedFragments(e){let r=this._recursivelyReferencedFragments.get(e);if(!r){r=[];let n=Object.create(null),i=[e.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(e,r)}return r}},Ab=class extends Uc{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},jn=class extends Uc{static{o(this,"ValidationContext")}constructor(e,r,n,i){super(r,i),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(e){let r=this._variableUsages.get(e);if(!r){let n=[],i=new gr(this._schema);pr(e,$n(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(e,r)}return r}getRecursiveVariableUsages(e){let r=this._recursiveVariableUsages.get(e);if(!r){r=this.getVariableUsages(e);for(let n of this.getRecursivelyReferencedFragments(e))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,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 Mc(t){let e={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...t},r=e.descriptions?"description":"",n=e.specifiedByUrl?"specifiedByURL":"",i=e.directiveIsRepeatable?"isRepeatable":"",s=e.schemaDescription?r:"";function a(c){return e.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
|
|
115
|
+
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 de(new $(Lp))),resolve:e=>e.locations},args:{type:new $(new de(new $($i))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Lp=new At({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(Mp),resolve(e){if(yr(e))return X.SCALAR;if(Ne(e))return X.OBJECT;if(Ee(e))return X.INTERFACE;if(nt(e))return X.UNION;if(Qe(e))return X.ENUM;if(Pe(e))return X.INPUT_OBJECT;if(Ve(e))return X.LIST;if(ae(e))return X.NON_NULL;St(!1,`Unexpected type: "${A(e)}".`)}},name:{type:oe,resolve:e=>"name"in e?e.name:void 0},description:{type:oe,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:oe,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new de(new $(Dp)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ne(e)||Ee(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new de(new $(it)),resolve(e){if(Ne(e)||Ee(e))return e.getInterfaces()}},possibleTypes:{type:new de(new $(it)),resolve(e,t,r,{schema:n}){if(_r(e))return n.getPossibleTypes(e)}},enumValues:{type:new de(new $(Up)),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 de(new $($i)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Pe(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),Dp=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},args:{type:new $(new de(new $($i))),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}})}),$i=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=$r(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Up=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),X;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(X||(X={}));var Mp=new At({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:X.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:X.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:X.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:X.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:X.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:X.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:X.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:X.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Lc={name:"__schema",type:new $(qi),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Dc={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},Uc={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},kp=Object.freeze([qi,Cp,Lp,it,Dp,$i,Up,Mp]);var ji=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,be(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${A(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${A(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Np;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),pt(s,i);this._queryType!=null&&pt(this._queryType,i),this._mutationType!=null&&pt(this._mutationType,i),this._subscriptionType!=null&&pt(this._subscriptionType,i);for(let s of this._directives)if(xp(s))for(let a of s.args)pt(a.type,i);pt(qi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,Ee(s)){for(let c of s.getInterfaces())if(Ee(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ne(s)){for(let c of s.getInterfaces())if(Ee(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function pt(e,t){let r=lt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())pt(n,t);else if(Ne(r)||Ee(r)){for(let n of r.getInterfaces())pt(n,t);for(let n of Object.values(r.getFields())){pt(n.type,t);for(let i of n.args)pt(i.type,t)}}else if(Pe(r))for(let n of Object.values(r.getFields()))pt(n.type,t)}return t}o(pt,"collectReferencedTypes");function br(e,t){switch(t.kind){case _.LIST_TYPE:{let r=br(e,t.type);return r&&new de(r)}case _.NON_NULL_TYPE:{let r=br(e,t.type);return r&&new $(r)}case _.NAMED_TYPE:return e.getType(t.name.value)}}o(br,"typeFromAST");var Er=class{static{o(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??mN,r&&(Ye(r)&&this._inputTypeStack.push(r),Pt(r)&&this._parentTypeStack.push(r),$t(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 _.SELECTION_SET:{let i=lt(this.getType());this._parentTypeStack.push(Pt(i)?i:void 0);break}case _.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push($t(a)?a:void 0);break}case _.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case _.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ne(i)?i:void 0);break}case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?br(r,i):lt(this.getType());this._typeStack.push($t(s)?s:void 0);break}case _.VARIABLE_DEFINITION:{let i=br(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case _.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.LIST:{let i=Ac(this.getInputType()),s=Ve(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.OBJECT_FIELD:{let i=lt(this.getInputType()),s,a;Pe(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.ENUM:{let i=lt(this.getInputType()),s;Qe(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case _.SELECTION_SET:this._parentTypeStack.pop();break;case _.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case _.DIRECTIVE:this._directive=null;break;case _.OPERATION_DEFINITION:case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:this._typeStack.pop();break;case _.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case _.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.LIST:case _.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.ENUM:this._enumValue=null;break;default:}}};function mN(e,t,r){let n=r.name.value;if(n===Lc.name&&e.getQueryType()===t)return Lc;if(n===Dc.name&&e.getQueryType()===t)return Dc;if(n===Uc.name&&Pt(t))return Uc;if(Ne(t)||Ee(t))return t.getFields()[n]}o(mN,"getFieldDef");function Vn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=$n(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),Ci(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=$n(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(Vn,"visitWithTypeInfo");function Mc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(Mc,"printPathArray");function Fp(e,t,r){return{prev:e,key:t,typename:r}}o(Fp,"addPath");function jt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(jt,"pathToArray");function Hp(e,t,r=yN){return Vi(e,t,r,void 0)}o(Hp,"coerceInputValue");function yN(e,t,r){let n="Invalid value "+A(t);throw e.length>0&&(n+=` at "value${Mc(e)}"`),r.message=n+": "+r.message,r}o(yN,"defaultOnError");function Vi(e,t,r,n){if(ae(t)){if(e!=null)return Vi(e,t.ofType,r,n);r(jt(n),e,new N(`Expected non-nullable type "${A(t)}" not to be null.`));return}if(e==null)return null;if(Ve(t)){let i=t.ofType;return Cc(e)?Array.from(e,(s,a)=>{let c=Fp(n,a,void 0);return Vi(s,i,r,c)}):[Vi(e,i,r,n)]}if(Pe(t)){if(!be(e)){r(jt(n),e,new N(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let a of Object.values(s)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ae(a.type)){let u=A(a.type);r(jt(n),e,new N(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Vi(c,a.type,r,Fp(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=_c(a,Object.keys(t.getFields()));r(jt(n),e,new N(`Field "${a}" is not defined by type "${t.name}".`+yc(c)))}return i}if(gr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof N?r(jt(n),e,s):r(jt(n),e,new N(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(jt(n),e,new N(`Expected type "${t.name}".`)),i}St(!1,"Unexpected input type: "+A(t))}o(Vi,"coerceInputValueImpl");function Rt(e,t,r){if(e){if(e.kind===_.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(t)?void 0:i}if(ae(t))return e.kind===_.NULL?void 0:Rt(e,t.ofType,r);if(e.kind===_.NULL)return null;if(Ve(t)){let n=t.ofType;if(e.kind===_.LIST){let s=[];for(let a of e.values)if(Rb(a,r)){if(ae(n))return;s.push(null)}else{let c=Rt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Rt(e,n,r);return i===void 0?void 0:[i]}if(Pe(t)){if(e.kind!==_.OBJECT)return;let n=Object.create(null),i=qn(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||Rb(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ae(s.type))return;continue}let c=Rt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(gr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}St(!1,"Unexpected input type: "+A(t))}}o(Rt,"valueFromAST");function Rb(e,t){return e.kind===_.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(Rb,"isMissingVariable");function kc(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=gN(e,t,r,c=>{if(s!=null&&i.length>=s)throw new N("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(kc,"getVariableValues");function gN(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=br(e,s.type);if(!Ye(c)){let l=Ue(s.type);n(new N(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Ob(r,a)){if(s.defaultValue)i[a]=Rt(s.defaultValue,c);else if(ae(c)){let l=A(c);n(new N(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ae(c)){let l=A(c);n(new N(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Hp(u,c,(l,d,p)=>{let y=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(y+=` at "${a}${Mc(l)}"`),n(new N(y+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(gN,"coerceVariableValues");function Gi(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=qn(s,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:t});continue}let p=d.value,y=p.kind===_.NULL;if(p.kind===_.VARIABLE){let m=p.name.value;if(r==null||!Ob(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}y=r[m]==null}if(y&&ae(l))throw new N(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let h=Rt(p,l,r);if(h===void 0)throw new N(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}o(Gi,"getArgumentValues");function Bi(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(i)return Gi(e,i,r)}o(Bi,"getDirectiveValues");function Ob(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(Ob,"hasOwnProperty");var Fc=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===_.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===_.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},xb=class extends Fc{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Gn=class extends Fc{static{o(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new Er(this._schema);mr(t,Vn(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function Hc(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
|
|
116
116
|
query IntrospectionQuery {
|
|
117
117
|
__schema {
|
|
118
118
|
${s}
|
|
@@ -217,5 +217,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
|
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
|
-
`}o(Mc,"getIntrospectionQuery");function kc(t,e){be(t)&&be(t.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${A(t)}.`);let r=t.__schema,n=St(r.types,E=>E.name,E=>y(E));for(let E of[...Sp,...Cp])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Ge):[];return new Hi({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(E){if(E.kind===X.LIST){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");return new de(u(F))}if(E.kind===X.NON_NULL){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");let Ce=u(F);return new $(vc(Ce))}return l(E)}function l(E){let F=E.name;if(!F)throw new Error(`Unknown type reference: ${A(E)}.`);let Ce=n[F];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${F}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(E){return bc(l(E))}function p(E){return Ec(l(E))}function y(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return h(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return S(E);case X.ENUM:return k(E);case X.INPUT_OBJECT:return j(E)}let F=A(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${F}.`)}function h(E){return new We({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function m(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let F=A(E);throw new Error(`Introspection result missing interfaces: ${F}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function T(E){return new Ht({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function S(E){if(!E.possibleTypes){let F=A(E);throw new Error(`Introspection result missing possibleTypes: ${F}.`)}return new Ur({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let F=A(E);throw new Error(`Introspection result missing enumValues: ${F}.`)}return new It({name:E.name,description:E.description,values:St(E.enumValues,F=>F.name,F=>({description:F.description,deprecationReason:F.deprecationReason}))})}function j(E){if(!E.inputFields){let F=A(E);throw new Error(`Introspection result missing inputFields: ${F}.`)}return new Mr({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function C(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return St(E.fields,F=>F.name,re)}function re(E){let F=u(E.type);if(!qt(F)){let Ce=A(F);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=A(E);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:F,args:ne(E.args)}}function ne(E){return St(E,F=>F.name,fe)}function fe(E){let F=u(E.type);if(!Ye(F)){let Hc=A(F);throw new Error(`Introspection must provide input type for arguments, but received: ${Hc}.`)}let Ce=E.defaultValue!=null?Pt(pc(E.defaultValue),F):void 0;return{description:E.description,type:F,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Ge(E){if(!E.args){let F=A(E);throw new Error(`Introspection result missing directive args: ${F}.`)}if(!E.locations){let F=A(E);throw new Error(`Introspection result missing directive locations: ${F}.`)}return new dt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}o(kc,"buildClientSchema");function NN(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o(NN,"queryComplexityMessage");function Pb(t){let e=new gr(t.schema),r=[],n=new jn(t.schema,t.query,e,s=>r.push(s)),i=new Up(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(pr(t.query,$n(e,i)),r.length)throw r.pop();return i.complexity}o(Pb,"getComplexity");var Up=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(e,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=e,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(e){if(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)return;let{coerced:r,errors:n}=Dc(this.context.getSchema(),e.variableDefinitions?[...e.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(e.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(e,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(e,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(e,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${e.operation}`)}}onOperationDefinitionLeave(e){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(e,r){if(e.selectionSet){let n={};(r instanceof xe||r instanceof Ht)&&(n=r.getFields());let i;mr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=e.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&&ji(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&ji(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case _.FIELD:{let p=n[c.name.value];if(!p)break;let y=lt(p.type),h;try{h=$i(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let m=0;At(y)&&(m=this.nodeComplexity(c,y));let v={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let k=S(v);return typeof k=="number"&&!isNaN(k)?(u=Vn(k,a,i),!0):!1}))return this.context.reportError(new N(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case _.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let y=this.context.getSchema().getType(p.typeCondition.name.value);if(!At(y))break;let h=this.nodeComplexity(p,y);mr(y)?u=Vn(h,a,this.context.getSchema().getPossibleTypes(y).map(m=>m.name)):u=Vn(h,a,[y.name]);break}case _.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!At(p)))break;let y=this.nodeComplexity(c,p);mr(p)?u=Vn(y,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Vn(y,a,[p.name]);break}default:{u=Vn(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new N(NN(this.options.maximumComplexity,this.complexity))}};function Vn(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(Vn,"addComplexities");function Rb(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(Rb,"simpleEstimator");var Ob=o((t,e,r={})=>{let{definitions:n}=t,i=CN(n),s=LN(n);return Object.entries(s).map(([a,c])=>Fc(c,i,0,e,a,r))},"depthLimit");function CN(t){return t.reduce((e,r)=>(r.kind===_.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(CN,"getFragments");function LN(t){return t.reduce((e,r)=>{if(r.kind===_.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(LN,"getQueriesAndMutations");function Fc(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new N(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case _.FIELD:return DN(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>Fc(c,e,r+1,n,i,s)));case _.FRAGMENT_SPREAD:return Fc(e[t.name.value],e,r,n,i,s);case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:case _.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>Fc(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o(Fc,"determineDepth");var DN=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var UN=o(async(t,e)=>{if(!e.complexityLimit)throw new Gn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new Gn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=Mc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new N("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=kc(c,{assumeValid:!0}),l=Pb({estimators:[Rb({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new N(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),MN=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new Gn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Ob(t,r))},"applyDepthLimitPolicy"),xb=o(async(t,e,r)=>{let n=Gn.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=dc(s.query);r.useDepthLimit&&await MN(a,r.useDepthLimit),r.useComplexityLimit&&await UN(a,r.useComplexityLimit)}catch(i){if(i instanceof N)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return t},"GraphQLComplexityLimitInboundPolicy");var Nb=Fp(Ot());function kN(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o(kN,"isIntrospectionQuery");var Cb=o(async(t,e)=>{let n=await t.clone().json();return kN(n.query)?Nb.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
|
|
220
|
+
`}o(Hc,"getIntrospectionQuery");function qc(e,t){be(e)&&be(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${A(e)}.`);let r=e.__schema,n=It(r.types,E=>E.name,E=>y(E));for(let E of[...Op,...kp])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Ge):[];return new ji({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===X.LIST){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");return new de(u(F))}if(E.kind===X.NON_NULL){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");let Ce=u(F);return new $(Ic(Ce))}return l(E)}function l(E){let F=E.name;if(!F)throw new Error(`Unknown type reference: ${A(E)}.`);let Ce=n[F];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${F}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(E){return vc(l(E))}function p(E){return Tc(l(E))}function y(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return h(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return S(E);case X.ENUM:return k(E);case X.INPUT_OBJECT:return j(E)}let F=A(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${F}.`)}function h(E){return new We({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function m(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let F=A(E);throw new Error(`Introspection result missing interfaces: ${F}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function T(E){return new qt({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function S(E){if(!E.possibleTypes){let F=A(E);throw new Error(`Introspection result missing possibleTypes: ${F}.`)}return new Hr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let F=A(E);throw new Error(`Introspection result missing enumValues: ${F}.`)}return new At({name:E.name,description:E.description,values:It(E.enumValues,F=>F.name,F=>({description:F.description,deprecationReason:F.deprecationReason}))})}function j(E){if(!E.inputFields){let F=A(E);throw new Error(`Introspection result missing inputFields: ${F}.`)}return new qr({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function C(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return It(E.fields,F=>F.name,re)}function re(E){let F=u(E.type);if(!$t(F)){let Ce=A(F);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=A(E);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:F,args:ne(E.args)}}function ne(E){return It(E,F=>F.name,fe)}function fe(E){let F=u(E.type);if(!Ye(F)){let jc=A(F);throw new Error(`Introspection must provide input type for arguments, but received: ${jc}.`)}let Ce=E.defaultValue!=null?Rt(mc(E.defaultValue),F):void 0;return{description:E.description,type:F,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Ge(E){if(!E.args){let F=A(E);throw new Error(`Introspection result missing directive args: ${F}.`)}if(!E.locations){let F=A(E);throw new Error(`Introspection result missing directive locations: ${F}.`)}return new dt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}o(qc,"buildClientSchema");function $N(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o($N,"queryComplexityMessage");function Nb(e){let t=new Er(e.schema),r=[],n=new Gn(e.schema,e.query,t,s=>r.push(s)),i=new qp(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(mr(e.query,Vn(t,i)),r.length)throw r.pop();return i.complexity}o(Nb,"getComplexity");var qp=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=kc(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof xe||r instanceof qt)&&(n=r.getFields());let i;_r(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&Bi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Bi(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case _.FIELD:{let p=n[c.name.value];if(!p)break;let y=lt(p.type),h;try{h=Gi(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let m=0;Pt(y)&&(m=this.nodeComplexity(c,y));let v={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let k=S(v);return typeof k=="number"&&!isNaN(k)?(u=Bn(k,a,i),!0):!1}))return this.context.reportError(new N(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case _.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let y=this.context.getSchema().getType(p.typeCondition.name.value);if(!Pt(y))break;let h=this.nodeComplexity(p,y);_r(y)?u=Bn(h,a,this.context.getSchema().getPossibleTypes(y).map(m=>m.name)):u=Bn(h,a,[y.name]);break}case _.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Pt(p)))break;let y=this.nodeComplexity(c,p);_r(p)?u=Bn(y,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Bn(y,a,[p.name]);break}default:{u=Bn(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new N($N(this.options.maximumComplexity,this.complexity))}};function Bn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(Bn,"addComplexities");function Cb(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(Cb,"simpleEstimator");var Lb=o((e,t,r={})=>{let{definitions:n}=e,i=jN(n),s=VN(n);return Object.entries(s).map(([a,c])=>$c(c,i,0,t,a,r))},"depthLimit");function jN(e){return e.reduce((t,r)=>(r.kind===_.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(jN,"getFragments");function VN(e){return e.reduce((t,r)=>{if(r.kind===_.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(VN,"getQueriesAndMutations");function $c(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new N(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case _.FIELD:return GN(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>$c(c,t,r+1,n,i,s)));case _.FRAGMENT_SPREAD:return $c(t[e.name.value],t,r,n,i,s);case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:case _.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>$c(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o($c,"determineDepth");var GN=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var BN=o(async(e,t)=>{if(!t.complexityLimit)throw new Kn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Kn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=Hc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new N("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=qc(c,{assumeValid:!0}),l=Nb({estimators:[Cb({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new N(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),KN=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Kn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Lb(e,r))},"applyDepthLimitPolicy"),Db=o(async(e,t,r)=>{let n=Kn.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=fc(s.query);r.useDepthLimit&&await KN(a,r.useDepthLimit),r.useComplexityLimit&&await BN(a,r.useComplexityLimit)}catch(i){if(i instanceof N)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var Ub=Vp(xt());function JN(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(JN,"isIntrospectionQuery");var Mb=o(async(e,t)=>{let n=await e.clone().json();return JN(n.query)?Ub.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
221
221
|
/*! For license information please see index.minified.js.LEGAL.txt */
|