@zuplo/graphql 5.1804.0 → 5.1806.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.minified.js +37 -37
- package/package.json +1 -1
package/index.minified.js
CHANGED
|
@@ -22,17 +22,17 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
"use strict";var wE=Object.create;var li=Object.defineProperty;var EE=Object.getOwnPropertyDescriptor;var vE=Object.getOwnPropertyNames;var SE=Object.getPrototypeOf,TE=Object.prototype.hasOwnProperty;var o=(e,t)=>li(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),lo=(e,t)=>{for(var r in t)li(e,r,{get:t[r],enumerable:!0})},rf=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of vE(t))!TE.call(e,i)&&i!==r&&li(e,i,{get:()=>t[i],enumerable:!(n=EE(t,i))||n.enumerable});return e};var nf=(e,t,r)=>(r=e!=null?wE(SE(e)):{},rf(t||!e||!e.__esModule?li(r,"default",{value:e,enumerable:!0}):r,e)),po=e=>rf(li({},"__esModule",{value:!0}),e);var O=y(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.FeatureNotEnabledError=gt.ConfigurationError=gt.RuntimeError=gt.SystemError=void 0;var vu=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};gt.SystemError=vu;var di=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"}};gt.RuntimeError=di;var Su=class extends di{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};gt.ConfigurationError=Su;var Tu=class extends di{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};gt.FeatureNotEnabledError=Tu});var W=y(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.Environment=void 0;var IE=O(),Iu=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 IE.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};ho.Environment=Iu});var cf=y(af=>{"use strict";Object.defineProperty(af,"__esModule",{value:!0});var of=W();Function.prototype.toString=function(){return"[native code]"};var fo=globalThis,sf=fo.caches;if(sf){let e=sf.open;fo.caches.open=function(t){let r=of.Environment.instance.deploymentName??of.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete fo.caches.default,Object.freeze(fo.caches)}});var Ru=y(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.MemoryCache=void 0;var PE=1e4,AE=1e3,uf=new Map,Pu=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+PE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},Au=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:AE}){this.name=t;let n=uf.get(t);n||(n=new Pu(r),uf.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()}};mo.MemoryCache=Au});var go=y(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.ZoneCache=void 0;var Ou="__zuplo-expiry-header",Nu=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(Ou);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(Ou,`${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(Ou,`${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)}};yo.ZoneCache=Nu});var Jt=y(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.MemoryZoneReadThroughCache=void 0;var RE=Ru(),OE=go(),Cu=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new RE.MemoryCache(n),this.#r=new OE.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},s=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};bo.MemoryZoneReadThroughCache=Cu});var Yr=y(A=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});A.METERING_SUBSCRIPTION_CONTEXT_DATA=A.INTERNAL_HEADERS_TO_REMOVE=A.DISPATCH_HEADERS_TO_REMOVE=A.ZP_TIMEZONE_HEADER=A.ZP_REGION_CODE_HEADER=A.ZP_REGION_HEADER=A.ZP_METRO_CODE_HEADER=A.ZP_POSTAL_CODE_HEADER=A.ZP_COLO_HEADER=A.ZP_AS_ORG_HEADER=A.ZP_ASN_HEADER=A.TRUE_CLIENT_IP=A.ZP_IP_LATITUDE_HEADER=A.ZP_IP_LONGITUDE_HEADER=A.ZP_IP_COUNTRY_HEADER=A.ZP_IP_CONTINENT_HEADER=A.ZP_IP_CITY_HEADER=A.CF_IP_LATITUDE_HEADER=A.CF_IP_LONGITUDE_HEADER=A.CF_IP_COUNTRY_HEADER=A.CF_IP_CONTINENT_HEADER=A.CF_IP_CITY_HEADER=A.RAY_ID_HEADER=A.BODY_REMOVED_HEADER=A.REQUEST_ID_HEADER=A.LEGACY_REQUEST_ID_HEADER=void 0;A.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";A.REQUEST_ID_HEADER="zp-rid";A.BODY_REMOVED_HEADER="zp-body-removed";A.RAY_ID_HEADER="cf-ray";A.CF_IP_CITY_HEADER="cf-ipcity";A.CF_IP_CONTINENT_HEADER="cf-ipcontinent";A.CF_IP_COUNTRY_HEADER="cf-ipcountry";A.CF_IP_LONGITUDE_HEADER="cf-iplongitude";A.CF_IP_LATITUDE_HEADER="cf-iplatitude";A.ZP_IP_CITY_HEADER="zp-ipcity";A.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";A.ZP_IP_COUNTRY_HEADER="zp-ipcountry";A.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";A.ZP_IP_LATITUDE_HEADER="zp-iplatitude";A.TRUE_CLIENT_IP="true-client-ip";A.ZP_ASN_HEADER="zp-asn";A.ZP_AS_ORG_HEADER="zp-asorg";A.ZP_COLO_HEADER="zp-colo";A.ZP_POSTAL_CODE_HEADER="zp-postalcode";A.ZP_METRO_CODE_HEADER="zp-metrocode";A.ZP_REGION_HEADER="zp-region";A.ZP_REGION_CODE_HEADER="zp-regioncode";A.ZP_TIMEZONE_HEADER="zp-timezone";A.DISPATCH_HEADERS_TO_REMOVE=[A.CF_IP_CITY_HEADER,A.CF_IP_CONTINENT_HEADER,A.CF_IP_COUNTRY_HEADER,A.CF_IP_LONGITUDE_HEADER,A.CF_IP_LATITUDE_HEADER,A.ZP_ASN_HEADER,A.ZP_AS_ORG_HEADER,A.ZP_COLO_HEADER,A.ZP_POSTAL_CODE_HEADER,A.ZP_METRO_CODE_HEADER,A.ZP_REGION_HEADER,A.ZP_REGION_CODE_HEADER,A.ZP_TIMEZONE_HEADER];A.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"];A.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49"});var bf=y(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var lf=!0,xu=!lf;function NE(e){lf||(xu=e)}o(NE,"setColorEnabled");v.setColorEnabled=NE;function CE(){return xu}o(CE,"getColorEnabled");v.getColorEnabled=CE;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(F,"code");function q(e,t){return xu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function xE(e){return q(e,F([0],0))}o(xE,"reset");v.reset=xE;function LE(e){return q(e,F([1],22))}o(LE,"bold");v.bold=LE;function DE(e){return q(e,F([2],22))}o(DE,"dim");v.dim=DE;function UE(e){return q(e,F([3],23))}o(UE,"italic");v.italic=UE;function ME(e){return q(e,F([4],24))}o(ME,"underline");v.underline=ME;function kE(e){return q(e,F([7],27))}o(kE,"inverse");v.inverse=kE;function HE(e){return q(e,F([8],28))}o(HE,"hidden");v.hidden=HE;function FE(e){return q(e,F([9],29))}o(FE,"strikethrough");v.strikethrough=FE;function qE(e){return q(e,F([30],39))}o(qE,"black");v.black=qE;function df(e){return q(e,F([31],39))}o(df,"red");v.red=df;function pf(e){return q(e,F([32],39))}o(pf,"green");v.green=pf;function hf(e){return q(e,F([33],39))}o(hf,"yellow");v.yellow=hf;function ff(e){return q(e,F([34],39))}o(ff,"blue");v.blue=ff;function mf(e){return q(e,F([35],39))}o(mf,"magenta");v.magenta=mf;function yf(e){return q(e,F([36],39))}o(yf,"cyan");v.cyan=yf;function $E(e){return q(e,F([37],39))}o($E,"white");v.white=$E;function jE(e){return gf(e)}o(jE,"gray");v.gray=jE;function gf(e){return q(e,F([90],39))}o(gf,"brightBlack");v.brightBlack=gf;function VE(e){return q(e,F([91],39))}o(VE,"brightRed");v.brightRed=VE;function GE(e){return q(e,F([92],39))}o(GE,"brightGreen");v.brightGreen=GE;function BE(e){return q(e,F([93],39))}o(BE,"brightYellow");v.brightYellow=BE;function KE(e){return q(e,F([94],39))}o(KE,"brightBlue");v.brightBlue=KE;function JE(e){return q(e,F([95],39))}o(JE,"brightMagenta");v.brightMagenta=JE;function zE(e){return q(e,F([96],39))}o(zE,"brightCyan");v.brightCyan=zE;function WE(e){return q(e,F([97],39))}o(WE,"brightWhite");v.brightWhite=WE;function QE(e){return q(e,F([40],49))}o(QE,"bgBlack");v.bgBlack=QE;function YE(e){return q(e,F([41],49))}o(YE,"bgRed");v.bgRed=YE;function ZE(e){return q(e,F([42],49))}o(ZE,"bgGreen");v.bgGreen=ZE;function XE(e){return q(e,F([43],49))}o(XE,"bgYellow");v.bgYellow=XE;function ev(e){return q(e,F([44],49))}o(ev,"bgBlue");v.bgBlue=ev;function tv(e){return q(e,F([45],49))}o(tv,"bgMagenta");v.bgMagenta=tv;function rv(e){return q(e,F([46],49))}o(rv,"bgCyan");v.bgCyan=rv;function nv(e){return q(e,F([47],49))}o(nv,"bgWhite");v.bgWhite=nv;function iv(e){return q(e,F([100],49))}o(iv,"bgBrightBlack");v.bgBrightBlack=iv;function ov(e){return q(e,F([101],49))}o(ov,"bgBrightRed");v.bgBrightRed=ov;function sv(e){return q(e,F([102],49))}o(sv,"bgBrightGreen");v.bgBrightGreen=sv;function av(e){return q(e,F([103],49))}o(av,"bgBrightYellow");v.bgBrightYellow=av;function cv(e){return q(e,F([104],49))}o(cv,"bgBrightBlue");v.bgBrightBlue=cv;function uv(e){return q(e,F([105],49))}o(uv,"bgBrightMagenta");v.bgBrightMagenta=uv;function lv(e){return q(e,F([106],49))}o(lv,"bgBrightCyan");v.bgBrightCyan=lv;function dv(e){return q(e,F([107],49))}o(dv,"bgBrightWhite");v.bgBrightWhite=dv;function zt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(zt,"clampAndTruncate");function pv(e,t){return q(e,F([38,5,zt(t)],39))}o(pv,"rgb8");v.rgb8=pv;function hv(e,t){return q(e,F([48,5,zt(t)],49))}o(hv,"bgRgb8");v.bgRgb8=hv;function fv(e,t){return typeof t=="number"?q(e,F([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,F([38,2,zt(t.r),zt(t.g),zt(t.b)],39))}o(fv,"rgb24");v.rgb24=fv;function mv(e,t){return typeof t=="number"?q(e,F([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,F([48,2,zt(t.r),zt(t.g),zt(t.b)],49))}o(mv,"bgRgb24");v.bgRgb24=mv;var yv=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 gv(e){return e.replace(yv,"")}o(gv,"stripColor");v.stripColor=gv;v.colorFunctions=[df,pf,hf,ff,mf,yf];function bv(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(bv,"hashCode");function _v(e){let t=Math.abs(bv(e));return v.colorFunctions[t%v.colorFunctions.length]}o(_v,"generateColor");v.generateColor=_v});var _f=y(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.format=void 0;function wv(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(wv,"format");
|
|
25
|
+
"use strict";var ww=Object.create;var pi=Object.defineProperty;var vw=Object.getOwnPropertyDescriptor;var Sw=Object.getOwnPropertyNames;var Tw=Object.getPrototypeOf,Iw=Object.prototype.hasOwnProperty;var o=(e,t)=>pi(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fo=(e,t)=>{for(var r in t)pi(e,r,{get:t[r],enumerable:!0})},of=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Sw(t))!Iw.call(e,i)&&i!==r&&pi(e,i,{get:()=>t[i],enumerable:!(n=vw(t,i))||n.enumerable});return e};var sf=(e,t,r)=>(r=e!=null?ww(Tw(e)):{},of(t||!e||!e.__esModule?pi(r,"default",{value:e,enumerable:!0}):r,e)),mo=e=>of(pi({},"__esModule",{value:!0}),e);var O=y(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.FeatureNotEnabledError=gt.ConfigurationError=gt.RuntimeError=gt.SystemError=void 0;var Iu=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};gt.SystemError=Iu;var hi=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"}};gt.RuntimeError=hi;var Pu=class extends hi{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};gt.ConfigurationError=Pu;var Au=class extends hi{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};gt.FeatureNotEnabledError=Au});var W=y(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.Environment=void 0;var Pw=O(),Ru=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new Pw.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};yo.Environment=Ru});var lf=y(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});var af=W();Function.prototype.toString=function(){return"[native code]"};var go=globalThis,cf=go.caches;if(cf){let e=cf.open;go.caches.open=function(t){let r=af.Environment.instance.deploymentName??af.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete go.caches.default,Object.freeze(go.caches)}});var Cu=y(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.MemoryCache=void 0;var Aw=1e4,Rw=1e3,df=new Map,Ou=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+Aw*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},Nu=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:Rw}){this.name=t;let n=df.get(t);n||(n=new Ou(r),df.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()}};bo.MemoryCache=Nu});var Eo=y(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.ZoneCache=void 0;var xu="__zuplo-expiry-header",Lu=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(xu);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(xu,`${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(xu,`${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)}};_o.ZoneCache=Lu});var Jt=y(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.MemoryZoneReadThroughCache=void 0;var Ow=Cu(),Nw=Eo(),Du=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new Ow.MemoryCache(n),this.#r=new Nw.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},s=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};wo.MemoryZoneReadThroughCache=Du});var Xr=y(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.DYNAMIC_METERS_CONTEXT_DATA=P.METERING_SUBSCRIPTION_CONTEXT_DATA=P.INTERNAL_HEADERS_TO_REMOVE=P.DISPATCH_HEADERS_TO_REMOVE=P.ZP_TIMEZONE_HEADER=P.ZP_REGION_CODE_HEADER=P.ZP_REGION_HEADER=P.ZP_METRO_CODE_HEADER=P.ZP_POSTAL_CODE_HEADER=P.ZP_COLO_HEADER=P.ZP_AS_ORG_HEADER=P.ZP_ASN_HEADER=P.TRUE_CLIENT_IP=P.ZP_IP_LATITUDE_HEADER=P.ZP_IP_LONGITUDE_HEADER=P.ZP_IP_COUNTRY_HEADER=P.ZP_IP_CONTINENT_HEADER=P.ZP_IP_CITY_HEADER=P.CF_IP_LATITUDE_HEADER=P.CF_IP_LONGITUDE_HEADER=P.CF_IP_COUNTRY_HEADER=P.CF_IP_CONTINENT_HEADER=P.CF_IP_CITY_HEADER=P.RAY_ID_HEADER=P.BODY_REMOVED_HEADER=P.REQUEST_ID_HEADER=P.LEGACY_REQUEST_ID_HEADER=void 0;P.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";P.REQUEST_ID_HEADER="zp-rid";P.BODY_REMOVED_HEADER="zp-body-removed";P.RAY_ID_HEADER="cf-ray";P.CF_IP_CITY_HEADER="cf-ipcity";P.CF_IP_CONTINENT_HEADER="cf-ipcontinent";P.CF_IP_COUNTRY_HEADER="cf-ipcountry";P.CF_IP_LONGITUDE_HEADER="cf-iplongitude";P.CF_IP_LATITUDE_HEADER="cf-iplatitude";P.ZP_IP_CITY_HEADER="zp-ipcity";P.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";P.ZP_IP_COUNTRY_HEADER="zp-ipcountry";P.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";P.ZP_IP_LATITUDE_HEADER="zp-iplatitude";P.TRUE_CLIENT_IP="true-client-ip";P.ZP_ASN_HEADER="zp-asn";P.ZP_AS_ORG_HEADER="zp-asorg";P.ZP_COLO_HEADER="zp-colo";P.ZP_POSTAL_CODE_HEADER="zp-postalcode";P.ZP_METRO_CODE_HEADER="zp-metrocode";P.ZP_REGION_HEADER="zp-region";P.ZP_REGION_CODE_HEADER="zp-regioncode";P.ZP_TIMEZONE_HEADER="zp-timezone";P.DISPATCH_HEADERS_TO_REMOVE=[P.CF_IP_CITY_HEADER,P.CF_IP_CONTINENT_HEADER,P.CF_IP_COUNTRY_HEADER,P.CF_IP_LONGITUDE_HEADER,P.CF_IP_LATITUDE_HEADER,P.ZP_ASN_HEADER,P.ZP_AS_ORG_HEADER,P.ZP_COLO_HEADER,P.ZP_POSTAL_CODE_HEADER,P.ZP_METRO_CODE_HEADER,P.ZP_REGION_HEADER,P.ZP_REGION_CODE_HEADER,P.ZP_TIMEZONE_HEADER];P.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"];P.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49";P.DYNAMIC_METERS_CONTEXT_DATA="zuplo_dynamic_meters_0c8cdc26-2514-4756-8adb-474a6e103d91"});var Ef=y(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var pf=!0,Uu=!pf;function Cw(e){pf||(Uu=e)}o(Cw,"setColorEnabled");v.setColorEnabled=Cw;function xw(){return Uu}o(xw,"getColorEnabled");v.getColorEnabled=xw;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(F,"code");function q(e,t){return Uu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function Lw(e){return q(e,F([0],0))}o(Lw,"reset");v.reset=Lw;function Dw(e){return q(e,F([1],22))}o(Dw,"bold");v.bold=Dw;function Uw(e){return q(e,F([2],22))}o(Uw,"dim");v.dim=Uw;function Mw(e){return q(e,F([3],23))}o(Mw,"italic");v.italic=Mw;function kw(e){return q(e,F([4],24))}o(kw,"underline");v.underline=kw;function Hw(e){return q(e,F([7],27))}o(Hw,"inverse");v.inverse=Hw;function Fw(e){return q(e,F([8],28))}o(Fw,"hidden");v.hidden=Fw;function qw(e){return q(e,F([9],29))}o(qw,"strikethrough");v.strikethrough=qw;function $w(e){return q(e,F([30],39))}o($w,"black");v.black=$w;function hf(e){return q(e,F([31],39))}o(hf,"red");v.red=hf;function ff(e){return q(e,F([32],39))}o(ff,"green");v.green=ff;function mf(e){return q(e,F([33],39))}o(mf,"yellow");v.yellow=mf;function yf(e){return q(e,F([34],39))}o(yf,"blue");v.blue=yf;function gf(e){return q(e,F([35],39))}o(gf,"magenta");v.magenta=gf;function bf(e){return q(e,F([36],39))}o(bf,"cyan");v.cyan=bf;function jw(e){return q(e,F([37],39))}o(jw,"white");v.white=jw;function Vw(e){return _f(e)}o(Vw,"gray");v.gray=Vw;function _f(e){return q(e,F([90],39))}o(_f,"brightBlack");v.brightBlack=_f;function Gw(e){return q(e,F([91],39))}o(Gw,"brightRed");v.brightRed=Gw;function Bw(e){return q(e,F([92],39))}o(Bw,"brightGreen");v.brightGreen=Bw;function Kw(e){return q(e,F([93],39))}o(Kw,"brightYellow");v.brightYellow=Kw;function Jw(e){return q(e,F([94],39))}o(Jw,"brightBlue");v.brightBlue=Jw;function zw(e){return q(e,F([95],39))}o(zw,"brightMagenta");v.brightMagenta=zw;function Ww(e){return q(e,F([96],39))}o(Ww,"brightCyan");v.brightCyan=Ww;function Qw(e){return q(e,F([97],39))}o(Qw,"brightWhite");v.brightWhite=Qw;function Yw(e){return q(e,F([40],49))}o(Yw,"bgBlack");v.bgBlack=Yw;function Zw(e){return q(e,F([41],49))}o(Zw,"bgRed");v.bgRed=Zw;function Xw(e){return q(e,F([42],49))}o(Xw,"bgGreen");v.bgGreen=Xw;function ev(e){return q(e,F([43],49))}o(ev,"bgYellow");v.bgYellow=ev;function tv(e){return q(e,F([44],49))}o(tv,"bgBlue");v.bgBlue=tv;function rv(e){return q(e,F([45],49))}o(rv,"bgMagenta");v.bgMagenta=rv;function nv(e){return q(e,F([46],49))}o(nv,"bgCyan");v.bgCyan=nv;function iv(e){return q(e,F([47],49))}o(iv,"bgWhite");v.bgWhite=iv;function ov(e){return q(e,F([100],49))}o(ov,"bgBrightBlack");v.bgBrightBlack=ov;function sv(e){return q(e,F([101],49))}o(sv,"bgBrightRed");v.bgBrightRed=sv;function av(e){return q(e,F([102],49))}o(av,"bgBrightGreen");v.bgBrightGreen=av;function cv(e){return q(e,F([103],49))}o(cv,"bgBrightYellow");v.bgBrightYellow=cv;function uv(e){return q(e,F([104],49))}o(uv,"bgBrightBlue");v.bgBrightBlue=uv;function lv(e){return q(e,F([105],49))}o(lv,"bgBrightMagenta");v.bgBrightMagenta=lv;function dv(e){return q(e,F([106],49))}o(dv,"bgBrightCyan");v.bgBrightCyan=dv;function pv(e){return q(e,F([107],49))}o(pv,"bgBrightWhite");v.bgBrightWhite=pv;function zt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(zt,"clampAndTruncate");function hv(e,t){return q(e,F([38,5,zt(t)],39))}o(hv,"rgb8");v.rgb8=hv;function fv(e,t){return q(e,F([48,5,zt(t)],49))}o(fv,"bgRgb8");v.bgRgb8=fv;function mv(e,t){return typeof t=="number"?q(e,F([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,F([38,2,zt(t.r),zt(t.g),zt(t.b)],39))}o(mv,"rgb24");v.rgb24=mv;function yv(e,t){return typeof t=="number"?q(e,F([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,F([48,2,zt(t.r),zt(t.g),zt(t.b)],49))}o(yv,"bgRgb24");v.bgRgb24=yv;var gv=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 bv(e){return e.replace(gv,"")}o(bv,"stripColor");v.stripColor=bv;v.colorFunctions=[hf,ff,mf,yf,gf,bf];function _v(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(_v,"hashCode");function Ev(e){let t=Math.abs(_v(e));return v.colorFunctions[t%v.colorFunctions.length]}o(Ev,"generateColor");v.generateColor=Ev});var wf=y(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.format=void 0;function wv(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(wv,"format");vo.format=wv});var Af=y(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.inspect=void 0;function Ar(e,t,r,n){let i={seen:[],stylize:vv,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=Tv),So(i,e,i.depth)}o(Ar,"inspect");To.inspect=Ar;Ar.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]};Ar.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function vv(e,t){return e}o(vv,"stylizeNoColor");function Sv(e){return typeof e=="boolean"}o(Sv,"isBoolean");function Sf(e){return e===void 0}o(Sf,"isUndefined");function Tv(e,t){let r=Ar.styles[t];return r?"\x1B["+Ar.colors[r][0]+"m"+e+"\x1B["+Ar.colors[r][1]+"m":e}o(Tv,"stylizeWithColor");function Mu(e){return typeof e=="function"}o(Mu,"isFunction");function Tf(e){return typeof e=="string"}o(Tf,"isString");function Iv(e){return typeof e=="number"}o(Iv,"isNumber");function If(e){return e===null}o(If,"isNull");function Pf(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(Pf,"hasOwn");function ku(e){return $u(e)&&ju(e)==="[object RegExp]"}o(ku,"isRegExp");function $u(e){return typeof e=="object"&&e!==null}o($u,"isObject");function Hu(e){return $u(e)&&(ju(e)==="[object Error]"||e instanceof Error)}o(Hu,"isError");function vf(e){return $u(e)&&ju(e)==="[object Date]"}o(vf,"isDate");function ju(e){return Object.prototype.toString.call(e)}o(ju,"objectToString");function Pv(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(Pv,"arrayToHash");function Av(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)Pf(t,String(a))?s.push(qu(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(qu(e,t,r,n,a,!0))}),s}o(Av,"formatArray");function Fu(e){return"["+Error.prototype.toString.call(e)+"]"}o(Fu,"formatError");function So(e,t,r){if(e.customInspect&&t&&Mu(t.inspect)&&t.inspect!==Ar&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Tf(d)||(d=So(e,d,r)),d}let n=Rv(e,t);if(n)return n;let i=Object.keys(t),s=Pv(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(Hu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Fu(t);if(i.length===0){if(Mu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(ku(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(vf(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Hu(t))return Fu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Mu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),ku(t)&&(a=" "+RegExp.prototype.toString.call(t)),vf(t)&&(a=" "+Date.prototype.toUTCString.call(t)),Hu(t)&&(a=" "+Fu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return ku(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=Av(e,t,r,s,i):l=i.map(function(d){return qu(e,t,r,s,d,c)}),e.seen.pop(),Ov(l,a,u)}o(So,"formatValue");function qu(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")),Pf(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(If(r)?c=So(e,u.value,null):c=So(e,u.value,r-1),c.indexOf(`
|
|
27
27
|
`)>-1&&(s?c=c.split(`
|
|
28
28
|
`).map(function(l){return" "+l}).join(`
|
|
29
29
|
`).substr(2):c=`
|
|
30
30
|
`+c.split(`
|
|
31
31
|
`).map(function(l){return" "+l}).join(`
|
|
32
|
-
`))):c=e.stylize("[Circular]","special")),
|
|
32
|
+
`))):c=e.stylize("[Circular]","special")),Sf(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(qu,"formatProperty");function Rv(e,t){if(Sf(t))return e.stylize("undefined","undefined");if(Tf(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Iv(t))return e.stylize(""+t,"number");if(Sv(t))return e.stylize(""+t,"boolean");if(If(t))return e.stylize("null","null")}o(Rv,"formatPrimitive");function Ov(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
|
|
33
33
|
`)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
|
|
34
34
|
`)+" "+e.join(`,
|
|
35
|
-
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(Rv,"reduceToSingleString")});var Pf=y(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.format=void 0;var Ov=_f(),Nv=If(),Cv=o((e,...t)=>(0,Ov.format)(Nv.inspect,e,t),"format");vo.format=Cv});var Rr=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.debug=Wt.withoutEnv=Wt.Debugger=void 0;var xv=bf(),Lv=Pf(),So=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,xv.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,Lv.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Wt.Debugger=So;var To=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function Af(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(Af,"extract");var pi;function Dv(e){e||(e=[]),typeof e=="string"&&(e=Af(e)),pi=new To(e)}o(Dv,"withoutEnv");Wt.withoutEnv=Dv;function Uv(e){let t=globalThis.DEBUG;pi||(pi=new To(Af(t)));let r=new So(pi,e);return pi.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(Uv,"debug");Wt.debug=Uv});var Po=y(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.ProblemResponseFormatter=Zr.InternalProblemResponseFormatter=void 0;var Mv=O(),Io=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 Mv.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};Zr.InternalProblemResponseFormatter=Io;var qu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await Io.problemResponseFormat(t,r,n)}};Zr.ProblemResponseFormatter=qu});var Of=y(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.deepFreeze=void 0;function Rf(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Rf(r)}return Object.freeze(e)}o(Rf,"deepFreeze");Ao.deepFreeze=Rf});var He=y(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.ZuploRequest=void 0;var Nf=Of(),$u=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,Nf.deepFreeze)(this.#e)}get params(){return(0,Nf.deepFreeze)(this.#t)}user};Ro.ZuploRequest=$u});var bt=y(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var Cf=O(),kv=Po(),Hv=He(),No=class{static{o(this,"RuntimePlugin")}};ye.RuntimePlugin=No;var Co=class extends No{static{o(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=Co;ye.runtimeExtensions={};var ju=[];ye.plugins=ju;var xf=[],Lf=[],Df=[],Oo={addPlugin(e){ju.push(e)},addRequestHook(e){xf.push(e)},addResponseSendingHook(e){Lf.push(e)},addResponseSendingFinalHook(e){Df.push(e)}},Fv=o(async(e,t)=>{let r=e;for(let n of xf){let i=await n(r,t);if(i instanceof Hv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Cf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Fv;var qv=o(async(e,t,r)=>{let n=e;for(let i of Lf){let s=await i(e,t,r);if(s instanceof Response)n=s;else throw new Cf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=qv;var $v=o(async(e,t,r)=>{for(let n of Df)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=$v;async function jv(e=()=>Promise.resolve()){await e(Oo),ye.runtimeExtensions.value=Oo;for(let t of ju)t instanceof Co&&await t.initialize(Oo);kv.InternalProblemResponseFormatter.setProblemResponseFormat(Oo.problemResponseFormat)}o(jv,"initializeRuntime");ye.initializeRuntime=jv});var Vu=y(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.serialize=Qt.ContentTypes=void 0;Qt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Vv(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(Vv,"serialize");Qt.serialize=Vv});var Gu=y(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.isSystemRoute=void 0;var Uf=Or();function Gv(e){return Uf.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(Uf.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}o(Gv,"isSystemRoute");xo.isSystemRoute=Gv});var Ut=y(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.Pipeline=void 0;var Bu=Nr(),Mf=bt(),Bv=Vu(),Kv=W(),Jv=Gu(),Ku=class{static{o(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=({processors:t,gateway:r,handler:n})=>async(i,s)=>{let a=[...t],c=o(async _=>{let S=a.pop();return S?S(i,s,r,c):await this.#e(async k=>{let K=await n(k,s);return zv(K)},r)(_,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,Jv.isSystemRoute)(d)&&Kv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new Bu.ResponseSendingEvent(i,l);s.dispatchEvent(p);let m=Bu.ZuploContextExtensions.getContextExtensions(s),h=m.latestRequest,g;try{g=await p.mutableResponse}catch(_){return s.log.error(_),r.errorHandler(i,s,_)}try{g=await m.onResponseSending(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}try{g=await(0,Mf.invokeOnResponseSendingExtensions)(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}s.dispatchEvent(new Bu.ResponseSentEvent(i,g));try{await m.onResponseSendingFinal(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,Mf.invokeOnResponseSendingFinalExtensions)(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Lo.Pipeline=Ku;function zv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Bv.serialize)(e),{headers:{"content-type":"application/json"}})}o(zv,"resultToResponse")});var Uo=y(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.MetricsPlugin=void 0;var Wv=bt(),Ju=class extends Wv.RuntimePlugin{static{o(this,"MetricsPlugin")}};Do.MetricsPlugin=Ju});var Ke=y(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.SystemLogMap=void 0;var Qv=O(),zu=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 Qv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Mo.SystemLogMap=zu});var ve=y(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.BatchDispatch=void 0;var Wu=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}};ko.BatchDispatch=Wu});var Hf=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.EllieMetricsTransport=void 0;var kf=Ke(),Yv=ve(),Ho=W(),Qu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Ho.Environment.instance.loggingId,this.#e=t,this.#t=new Yv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,kf.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}=Ho.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":Ho.Environment.instance.deploymentName??"unknown","user-agent":Ho.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();kf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Fo.EllieMetricsTransport=Qu});var at=y(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.systemNoVersion=Cr.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=Cr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Cr.SystemRouteConfiguration=Yu;Cr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Yt=y(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.metricsProcessor=void 0;var Ff=Yr(),Zv=Nr(),Xv=bt(),eS=Uo(),tS=Hf(),rS=at(),nS=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(Ff.RAY_ID_HEADER)??void 0,u=e.headers.get(Ff.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof rS.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Zv.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={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 tS.EllieMetricsTransport(t)),Xv.plugins.forEach(g=>{if(g instanceof eS.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(m,t)}),a},"metricsProcessor");qo.metricsProcessor=nS});var Zu=y($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.SystemRouteName=void 0;var qf;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(qf||($o.SystemRouteName=qf={}))});var jf=y($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0})});var xr=y(Zt=>{"use strict";var iS=Zt&&Zt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Vf=Zt&&Zt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&iS(t,e,r)};Object.defineProperty(Zt,"__esModule",{value:!0});Vf(Zu(),Zt);Vf(jf(),Zt)});var Gf=y(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.registerBuildRoute=void 0;var oS=Mt(),sS=Ut(),aS=Yt(),cS=xr(),uS=at(),lS=Ke(),dS=W(),pS=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 oS.HttpProblems.notFound(s,a);let l=dS.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"&&lS.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 sS.Pipeline({processors:[aS.metricsProcessor],handler:r,gateway:t}),i=new uS.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:cS.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");jo.registerBuildRoute=pS});var Xu=y(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.HTTP_STATUS_TITLES=Xr.HttpStatusCode=void 0;var Bf;(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"})(Bf||(Xr.HttpStatusCode=Bf={}));Xr.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 tl=y(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});var hS={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"};el.default=hS});var ie=y(en=>{"use strict";var fS=en&&en.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(en,"__esModule",{value:!0});en.HttpProblems=void 0;var mS=Yr(),N=Xu(),yS=fS(tl()),gS=W(),rl=Po();function bS(e){return`${new URL(e.url).pathname}`}o(bS,"instance");function _S(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:gS.Environment.instance.build.BUILD_ID},n=e.headers.get(mS.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(_S,"trace");var wS=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:bS(t),trace:_S(t,r),...n},additionalHeaders:i,statusText:yS.default[e.status]}),"merge"),nl=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?rl.ProblemResponseFormatter.format(t,r,n):rl.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},il=class extends nl{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=wS(this.getProblemFromStatus(t),r,n,i,s);return rl.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};en.HttpProblems=il});var Xe=y(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:ES}=Object.prototype,{propertyIsEnumerable:vS}=Object.prototype;function Kf(e){return ES.call(e)}o(Kf,"toString");U.toString=Kf;function Vo(e){return typeof e=="string"}o(Vo,"isString");U.isString=Vo;function SS(e){return Vo(e)&&e!==""}o(SS,"isNonEmptyString");U.isNonEmptyString=SS;function TS(e){return Array.isArray(e)&&e.every(t=>Vo(t))}o(TS,"isStringArray");U.isStringArray=TS;function IS(e){return Kf(e)==="[object RegExp]"}o(IS,"isRegexp");U.isRegexp=IS;function PS(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>vS.call(e,t))]}o(PS,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=PS;function ol(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(ol,"isObject");U.isObject=ol;function AS(e){return ol(e)&&Array.isArray(e)}o(AS,"isArray");U.isArray=AS;function RS(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(RS,"isTypedArray");U.isTypedArray=RS;function OS(e){return typeof e=="number"&&!isNaN(e)}o(OS,"isNumber");U.isNumber=OS;function NS(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(NS,"isIterable");U.isIterable=NS;function CS(e){return e===!0||e===!1}o(CS,"isBoolean");U.isBoolean=CS;function Jf(e){return typeof e>"u"}o(Jf,"isUndefined");U.isUndefined=Jf;function xS(e){return!hi(e)}o(xS,"isDefined");U.isDefined=xS;function hi(e){return Jf(e)||e===null}o(hi,"isUndefinedOrNull");U.isUndefinedOrNull=hi;function LS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(LS,"assertType");U.assertType=LS;function DS(e){if(hi(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(DS,"assertIsDefined");U.assertIsDefined=DS;function US(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(hi(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(US,"assertAllDefined");U.assertAllDefined=US;var MS=Object.prototype.hasOwnProperty;function kS(e){if(!ol(e))return!1;for(let t in e)if(MS.call(e,t))return!1;return!0}o(kS,"isEmptyObject");U.isEmptyObject=kS;function sl(e){return typeof e=="function"}o(sl,"isFunction");U.isFunction=sl;function HS(...e){return e.length>0&&e.every(sl)}o(HS,"areFunctions");U.areFunctions=HS;function FS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)zf(e[n],t[n])}o(FS,"validateConstraints");U.validateConstraints=FS;function zf(e,t){if(Vo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(sl(t)){try{if(e instanceof t)return}catch{}if(!hi(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(zf,"validateConstraint");U.validateConstraint=zf;function qS(e){return e===null?void 0:e}o(qS,"withNullAsUndefined");U.withNullAsUndefined=qS;function $S(e){return typeof e>"u"?null:e}o($S,"withUndefinedAsNull");U.withUndefinedAsNull=$S;function jS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(jS,"isErrorLike");U.isErrorLike=jS});var Xt=y(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.parseValueToBoolean=_t.parseValueToStringArray=_t.getValueFromRequestUser=_t.statusCodesStringToNumberArray=void 0;var tn=O(),al=Xe(),Wf=new Map;function VS(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=Wf.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let 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 Wf.set(e,n),n}o(VS,"statusCodesStringToNumberArray");_t.statusCodesStringToNumberArray=VS;function GS(e,t,r){if(!t.startsWith("."))throw new tn.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 tn.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(GS,"getValueFromRequestUser");_t.getValueFromRequestUser=GS;function BS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new tn.ConfigurationError("Received an array that contains non-string values.");return e}if((0,al.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new tn.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(BS,"parseValueToStringArray");_t.parseValueToStringArray=BS;function KS(e){if((0,al.isBoolean)(e))return e;if((0,al.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new tn.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new tn.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(KS,"parseValueToBoolean");_t.parseValueToBoolean=KS});var Bo=y(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.generateCorsHeaders=er.findMatchingOrigin=er.parseCorsPolicies=void 0;var Lr=O(),Qf=Xt(),Go=Xe();function JS(e){if(e==null)return[];if(!Array.isArray(e))throw new Lr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Go.isObject)(r))throw new Lr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Go.isNonEmptyString)(r.name))throw new Lr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Go.isNumber)(r.maxAge))throw new Lr.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,Go.isBoolean)(r.allowCredentials))throw new Lr.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=cl(r,"allowedHeaders"),i=cl(r,"allowedMethods"),s=cl(r,"exposeHeaders"),a;try{a=(0,Qf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Lr.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(JS,"parseCorsPolicies");er.parseCorsPolicies=JS;function cl(e,t){let r;if(e[t]!==void 0)try{r=(0,Qf.parseValueToStringArray)(e[t])}catch(n){throw new Lr.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(cl,"parseOptionalProperty");var zS=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");er.findMatchingOrigin=zS;var WS=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");er.generateCorsHeaders=WS});var Zf=y(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.registerCorsRoute=void 0;var QS=O(),YS=Ut(),ul=ie(),ZS=Yt(),XS=xr(),eT=at(),Yf=Bo(),tT=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 ul.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return ul.HttpProblems.notFound(a,c);let h=m.routeConfiguration,g=rT(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),ul.HttpProblems.notFound(a,c))},"optionsHandler"),i=new YS.Pipeline({processors:[ZS.metricsProcessor],handler:n,gateway:t}),s=new eT.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:XS.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");Ko.registerCorsRoute=tT;var rT=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 QS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Yf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Yf.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Xf=y(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.registerNoRoutes=void 0;var nT=Ut(),iT=Yt(),oT=xr(),sT=at(),aT=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 nT.Pipeline({processors:[iT.metricsProcessor],handler:r,gateway:t}),i=new sT.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:oT.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Jo.registerNoRoutes=aT});var em=y(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.registerNotMatchedHandler=Dr.notFoundRouteConfiguration=void 0;var cT=Nr(),uT=bt(),lT=Ut(),dT=ie(),pT=Yt(),hT=xr(),fT=at();Dr.notFoundRouteConfiguration=new fT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:hT.SystemRouteName.UnmatchedPath});var mT=o((e,t)=>{let r=o(async(i,s)=>{let a=uT.runtimeExtensions.value?.notFoundHandler;if(a){let c=cT.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return dT.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new lT.Pipeline({processors:[pT.metricsProcessor],handler:r,gateway:t});e.addRoute(Dr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Dr.registerNotMatchedHandler=mT});var ll=y(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.corsProcessor=void 0;var nm=O(),tm=Bo(),yT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],rm=o(e=>{yT.forEach(t=>e.delete(t))},"stripCorsHeaders"),gT=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 rm(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 nm.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=bT(i,r.routeData.corsPolicies),c=_T(e,a),u=new Headers(s.headers);return rm(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");zo.corsProcessor=gT;var bT=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 nm.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),_T=o((e,t)=>{let r=(0,tm.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,tm.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var im=y(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.registerPingRoute=void 0;var wT=Ut(),ET=ll(),vT=xr(),ST=at(),TT=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new wT.Pipeline({processors:[ET.corsProcessor],handler:r,gateway:t}),i=new ST.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:vT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Wo.registerPingRoute=TT});var Yo=y(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.OutboundPolicy=rn.InboundPolicy=void 0;var IT=O(),PT=Xe(),Qo=class{static{o(this,"PolicyBase")}options;policyName;constructor(t,r){if(!(0,PT.isString)(r))throw new IT.RuntimeError(`The name of a policy must be a string. Received '${r}' of type '${typeof r}'`);this.options=t,this.policyName=r}},dl=class extends Qo{static{o(this,"InboundPolicy")}};rn.InboundPolicy=dl;var pl=class extends Qo{static{o(this,"OutboundPolicy")}};rn.OutboundPolicy=pl});var nn=y(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.createInternalPolicyProcessor=ct.policyProcessor=ct.toStackedInboundHandler=ct.getInboundPolicyInstances=void 0;var AT=Nr(),Le=O(),Zo=Yo(),om=He(),RT=W(),ml=class extends Zo.InboundPolicy{static{o(this,"InboundFunctionOnlyPolicy")}#e;constructor(t,r,n){super(r,n),this.#e=t}handler(t,r){return this.#e(t,r,this.options,this.policyName)}},yl=class extends Zo.OutboundPolicy{static{o(this,"OutboundFunctionOnlyPolicy")}#e;constructor(t,r,n){super(r,n),this.#e=t}handler(t,r,n){return this.#e(t,r,n,this.options,this.policyName)}},hl=new Map;function sm(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.filter(s=>!hl.has(s)).forEach(s=>{let a=t?.find(l=>l.name===s);if(!a)throw new Le.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);if(typeof a.handler?.module!="object")throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof a.handler?.module}')`);let c=a.handler?.module[a.handler.export];if(typeof c!="function")throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);let u;if(typeof c!="function")throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);if(c.prototype instanceof Zo.InboundPolicy)u=new c(a.handler.options,a.name);else if(typeof c=="function")u=new ml(c,a.handler.options,a.name);else throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof c}')`);if(typeof u.handler!="function")throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${s}' on route '${n}' (typeof handler '${typeof u.handler}')`);hl.set(a.name,u)}),r.map(s=>{let a=hl.get(s);if(a===void 0)throw new Le.RuntimeError("Internal error. Policy not found in cache.");return a})}o(sm,"getInboundPolicyInstances");ct.getInboundPolicyInstances=sm;var fl=new Map;function OT(e,t){let r=e.policies?.outbound??[];return r.filter(i=>!fl.has(i)).forEach(i=>{let s=t?.find(u=>u.name===i);if(!s)throw new Le.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);if(typeof s.handler?.module!="object")throw new Le.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof policy '${typeof s.handler?.module}')`);let a=s.handler?.module[s.handler.export],c;if(typeof a!="function")throw new Le.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof module '${typeof a}')`);if(a.prototype instanceof Zo.OutboundPolicy)c=new a(s.handler.options,s.name);else if(typeof a=="function")c=new yl(a,s.handler.options,s.name);else throw new Le.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof policy '${typeof a}')`);if(typeof c.handler!="function")throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);fl.set(s.name,c)}),r.map(i=>{let s=fl.get(i);if(s===void 0)throw new Le.RuntimeError("Internal error. Policy not found in cache.");return s})}o(OT,"getOutboundPolicyInstances");var NT=o(e=>async(t,r)=>{let n=AT.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r);if(c instanceof om.ZuploRequest)s=c;else if(c instanceof Request)s=new om.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${r.route.path}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");ct.toStackedInboundHandler=NT;var CT=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);if(!(c instanceof Response))throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${n.route.path}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),xT=o(async(e,t,r,n)=>{let i=sm(t.route,r.routeData.policies),s=OT(t.route,r.routeData.policies);return am({request:e,context:t,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");ct.policyProcessor=xT;function LT({inboundPolicies:e=[],outboundPolicies:t=[]}){return o(async(n,i,s,a)=>am({request:n,context:i,inboundPolicies:e,outboundPolicies:t,gateway:s,next:a}),"policyProcessor")}o(LT,"createInternalPolicyProcessor");ct.createInternalPolicyProcessor=LT;async function am({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,ct.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await s(c),l=CT(n),d;return RT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}o(am,"executePolicyProcessor")});var cm=y(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.serialize=on.parse=void 0;var DT=Object.prototype.toString,Xo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function UT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||kT,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]=qT(l,i)}s=c+1}return r}o(UT,"parse");on.parse=UT;function MT(e,t,r){let n=r||{},i=n.encode||HT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Xo.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!Xo.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(!Xo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Xo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!FT(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(MT,"serialize");on.serialize=MT;function kT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(kT,"decode");function HT(e){return encodeURIComponent(e)}o(HT,"encode");function FT(e){return DT.call(e)==="[object Date]"||e instanceof Date}o(FT,"isDate");function qT(e,t){try{return t(e)}catch{return e}}o(qT,"tryDecode")});var um=y(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.devPortalBaseURL=void 0;var $T=cm();function jT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,$T.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(jT,"devPortalBaseURL");es.devPortalBaseURL=jT});var fm=y(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.registerDevPortalLegacyRedirectRoute=sn.registerDevPortalV3Route=void 0;var gl=Mt(),dm=Ut(),pm=Yt(),VT=nn(),hm=at(),GT=um(),tr=W(),lm="/__zuplo/dev-portal",BT="dev-portal-id",KT="dev-portal-host",JT="zp-account",zT="zp-project",WT="dev-portal-build",QT=`
|
|
35
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(Ov,"reduceToSingleString")});var Rf=y(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.format=void 0;var Nv=wf(),Cv=Af(),xv=o((e,...t)=>(0,Nv.format)(Cv.inspect,e,t),"format");Io.format=xv});var Rr=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.debug=Wt.withoutEnv=Wt.Debugger=void 0;var Lv=Ef(),Dv=Rf(),Po=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,Lv.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,Dv.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Wt.Debugger=Po;var Ao=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function Of(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(Of,"extract");var fi;function Uv(e){e||(e=[]),typeof e=="string"&&(e=Of(e)),fi=new Ao(e)}o(Uv,"withoutEnv");Wt.withoutEnv=Uv;function Mv(e){let t=globalThis.DEBUG;fi||(fi=new Ao(Of(t)));let r=new Po(fi,e);return fi.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(Mv,"debug");Wt.debug=Mv});var Oo=y(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.ProblemResponseFormatter=en.InternalProblemResponseFormatter=void 0;var kv=O(),Ro=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 kv.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};en.InternalProblemResponseFormatter=Ro;var Vu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await Ro.problemResponseFormat(t,r,n)}};en.ProblemResponseFormatter=Vu});var Cf=y(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.deepFreeze=void 0;function Nf(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Nf(r)}return Object.freeze(e)}o(Nf,"deepFreeze");No.deepFreeze=Nf});var He=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.ZuploRequest=void 0;var xf=Cf(),Gu=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,xf.deepFreeze)(this.#e)}get params(){return(0,xf.deepFreeze)(this.#t)}user};Co.ZuploRequest=Gu});var bt=y(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var Lf=O(),Hv=Oo(),Fv=He(),Lo=class{static{o(this,"RuntimePlugin")}};ye.RuntimePlugin=Lo;var Do=class extends Lo{static{o(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=Do;ye.runtimeExtensions={};var Bu=[];ye.plugins=Bu;var Df=[],Uf=[],Mf=[],xo={addPlugin(e){Bu.push(e)},addRequestHook(e){Df.push(e)},addResponseSendingHook(e){Uf.push(e)},addResponseSendingFinalHook(e){Mf.push(e)}},qv=o(async(e,t)=>{let r=e;for(let n of Df){let i=await n(r,t);if(i instanceof Fv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Lf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=qv;var $v=o(async(e,t,r)=>{let n=e;for(let i of Uf){let s=await i(e,t,r);if(s instanceof Response)n=s;else throw new Lf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=$v;var jv=o(async(e,t,r)=>{for(let n of Mf)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=jv;async function Vv(e=()=>Promise.resolve()){await e(xo),ye.runtimeExtensions.value=xo;for(let t of Bu)t instanceof Do&&await t.initialize(xo);Hv.InternalProblemResponseFormatter.setProblemResponseFormat(xo.problemResponseFormat)}o(Vv,"initializeRuntime");ye.initializeRuntime=Vv});var Ku=y(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.serialize=Qt.ContentTypes=void 0;Qt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Gv(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(Gv,"serialize");Qt.serialize=Gv});var Ju=y(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.isSystemRoute=void 0;var kf=Or();function Bv(e){return kf.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(kf.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}o(Bv,"isSystemRoute");Uo.isSystemRoute=Bv});var Ut=y(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.Pipeline=void 0;var zu=Nr(),Hf=bt(),Kv=Ku(),Jv=W(),zv=Ju(),Wu=class{static{o(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=({processors:t,gateway:r,handler:n})=>async(i,s)=>{let a=[...t],c=o(async _=>{let S=a.pop();return S?S(i,s,r,c):await this.#e(async k=>{let G=await n(k,s);return Wv(G)},r)(_,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,zv.isSystemRoute)(d)&&Jv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new zu.ResponseSendingEvent(i,l);s.dispatchEvent(p);let m=zu.ZuploContextExtensions.getContextExtensions(s),h=m.latestRequest,g;try{g=await p.mutableResponse}catch(_){return s.log.error(_),r.errorHandler(i,s,_)}try{g=await m.onResponseSending(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}try{g=await(0,Hf.invokeOnResponseSendingExtensions)(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}s.dispatchEvent(new zu.ResponseSentEvent(i,g));try{await m.onResponseSendingFinal(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,Hf.invokeOnResponseSendingFinalExtensions)(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Mo.Pipeline=Wu;function Wv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Kv.serialize)(e),{headers:{"content-type":"application/json"}})}o(Wv,"resultToResponse")});var Ho=y(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.MetricsPlugin=void 0;var Qv=bt(),Qu=class extends Qv.RuntimePlugin{static{o(this,"MetricsPlugin")}};ko.MetricsPlugin=Qu});var Ke=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.SystemLogMap=void 0;var Yv=O(),Yu=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 Yv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Fo.SystemLogMap=Yu});var ve=y(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.BatchDispatch=void 0;var Zu=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}};qo.BatchDispatch=Zu});var qf=y(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.EllieMetricsTransport=void 0;var Ff=Ke(),Zv=ve(),$o=W(),Xu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=$o.Environment.instance.loggingId,this.#e=t,this.#t=new Zv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Ff.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}=$o.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":$o.Environment.instance.deploymentName??"unknown","user-agent":$o.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Ff.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};jo.EllieMetricsTransport=Xu});var at=y(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.systemNoVersion=Cr.SystemRouteConfiguration=void 0;var el=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=Cr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Cr.SystemRouteConfiguration=el;Cr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Yt=y(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.metricsProcessor=void 0;var $f=Xr(),Xv=Nr(),eS=bt(),tS=Ho(),rS=qf(),nS=at(),iS=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get($f.RAY_ID_HEADER)??void 0,u=e.headers.get($f.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof nS.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Xv.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={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 rS.EllieMetricsTransport(t)),eS.plugins.forEach(g=>{if(g instanceof tS.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(m,t)}),a},"metricsProcessor");Vo.metricsProcessor=iS});var tl=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.SystemRouteName=void 0;var jf;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(jf||(Go.SystemRouteName=jf={}))});var Gf=y(Vf=>{"use strict";Object.defineProperty(Vf,"__esModule",{value:!0})});var xr=y(Zt=>{"use strict";var oS=Zt&&Zt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Bf=Zt&&Zt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&oS(t,e,r)};Object.defineProperty(Zt,"__esModule",{value:!0});Bf(tl(),Zt);Bf(Gf(),Zt)});var Kf=y(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.registerBuildRoute=void 0;var sS=Mt(),aS=Ut(),cS=Yt(),uS=xr(),lS=at(),dS=Ke(),pS=W(),hS=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 sS.HttpProblems.notFound(s,a);let l=pS.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"&&dS.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 aS.Pipeline({processors:[cS.metricsProcessor],handler:r,gateway:t}),i=new lS.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:uS.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Bo.registerBuildRoute=hS});var rl=y(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.HTTP_STATUS_TITLES=tn.HttpStatusCode=void 0;var Jf;(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"})(Jf||(tn.HttpStatusCode=Jf={}));tn.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 il=y(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});var fS={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"};nl.default=fS});var ie=y(rn=>{"use strict";var mS=rn&&rn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rn,"__esModule",{value:!0});rn.HttpProblems=void 0;var yS=Xr(),N=rl(),gS=mS(il()),bS=W(),ol=Oo();function _S(e){return`${new URL(e.url).pathname}`}o(_S,"instance");function ES(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:bS.Environment.instance.build.BUILD_ID},n=e.headers.get(yS.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(ES,"trace");var wS=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:_S(t),trace:ES(t,r),...n},additionalHeaders:i,statusText:gS.default[e.status]}),"merge"),sl=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?ol.ProblemResponseFormatter.format(t,r,n):ol.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},al=class extends sl{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=wS(this.getProblemFromStatus(t),r,n,i,s);return ol.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};rn.HttpProblems=al});var Xe=y(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:vS}=Object.prototype,{propertyIsEnumerable:SS}=Object.prototype;function zf(e){return vS.call(e)}o(zf,"toString");U.toString=zf;function Ko(e){return typeof e=="string"}o(Ko,"isString");U.isString=Ko;function TS(e){return Ko(e)&&e!==""}o(TS,"isNonEmptyString");U.isNonEmptyString=TS;function IS(e){return Array.isArray(e)&&e.every(t=>Ko(t))}o(IS,"isStringArray");U.isStringArray=IS;function PS(e){return zf(e)==="[object RegExp]"}o(PS,"isRegexp");U.isRegexp=PS;function AS(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>SS.call(e,t))]}o(AS,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=AS;function cl(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(cl,"isObject");U.isObject=cl;function RS(e){return cl(e)&&Array.isArray(e)}o(RS,"isArray");U.isArray=RS;function OS(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(OS,"isTypedArray");U.isTypedArray=OS;function NS(e){return typeof e=="number"&&!isNaN(e)}o(NS,"isNumber");U.isNumber=NS;function CS(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(CS,"isIterable");U.isIterable=CS;function xS(e){return e===!0||e===!1}o(xS,"isBoolean");U.isBoolean=xS;function Wf(e){return typeof e>"u"}o(Wf,"isUndefined");U.isUndefined=Wf;function LS(e){return!mi(e)}o(LS,"isDefined");U.isDefined=LS;function mi(e){return Wf(e)||e===null}o(mi,"isUndefinedOrNull");U.isUndefinedOrNull=mi;function DS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(DS,"assertType");U.assertType=DS;function US(e){if(mi(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(US,"assertIsDefined");U.assertIsDefined=US;function MS(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(mi(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(MS,"assertAllDefined");U.assertAllDefined=MS;var kS=Object.prototype.hasOwnProperty;function HS(e){if(!cl(e))return!1;for(let t in e)if(kS.call(e,t))return!1;return!0}o(HS,"isEmptyObject");U.isEmptyObject=HS;function ul(e){return typeof e=="function"}o(ul,"isFunction");U.isFunction=ul;function FS(...e){return e.length>0&&e.every(ul)}o(FS,"areFunctions");U.areFunctions=FS;function qS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Qf(e[n],t[n])}o(qS,"validateConstraints");U.validateConstraints=qS;function Qf(e,t){if(Ko(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(ul(t)){try{if(e instanceof t)return}catch{}if(!mi(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(Qf,"validateConstraint");U.validateConstraint=Qf;function $S(e){return e===null?void 0:e}o($S,"withNullAsUndefined");U.withNullAsUndefined=$S;function jS(e){return typeof e>"u"?null:e}o(jS,"withUndefinedAsNull");U.withUndefinedAsNull=jS;function VS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(VS,"isErrorLike");U.isErrorLike=VS});var Xt=y(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.parseValueToBoolean=_t.parseValueToStringArray=_t.getValueFromRequestUser=_t.statusCodesStringToNumberArray=void 0;var nn=O(),ll=Xe(),Yf=new Map;function GS(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=Yf.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 Yf.set(e,n),n}o(GS,"statusCodesStringToNumberArray");_t.statusCodesStringToNumberArray=GS;function BS(e,t,r){if(!t.startsWith("."))throw new nn.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 nn.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(BS,"getValueFromRequestUser");_t.getValueFromRequestUser=BS;function KS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new nn.ConfigurationError("Received an array that contains non-string values.");return e}if((0,ll.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new nn.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(KS,"parseValueToStringArray");_t.parseValueToStringArray=KS;function JS(e){if((0,ll.isBoolean)(e))return e;if((0,ll.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new nn.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new nn.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(JS,"parseValueToBoolean");_t.parseValueToBoolean=JS});var zo=y(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.generateCorsHeaders=er.findMatchingOrigin=er.parseCorsPolicies=void 0;var Lr=O(),Zf=Xt(),Jo=Xe();function zS(e){if(e==null)return[];if(!Array.isArray(e))throw new Lr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Jo.isObject)(r))throw new Lr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Jo.isNonEmptyString)(r.name))throw new Lr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Jo.isNumber)(r.maxAge))throw new Lr.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,Jo.isBoolean)(r.allowCredentials))throw new Lr.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=dl(r,"allowedHeaders"),i=dl(r,"allowedMethods"),s=dl(r,"exposeHeaders"),a;try{a=(0,Zf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Lr.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(zS,"parseCorsPolicies");er.parseCorsPolicies=zS;function dl(e,t){let r;if(e[t]!==void 0)try{r=(0,Zf.parseValueToStringArray)(e[t])}catch(n){throw new Lr.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(dl,"parseOptionalProperty");var WS=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");er.findMatchingOrigin=WS;var QS=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");er.generateCorsHeaders=QS});var em=y(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.registerCorsRoute=void 0;var YS=O(),ZS=Ut(),pl=ie(),XS=Yt(),eT=xr(),tT=at(),Xf=zo(),rT=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 pl.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return pl.HttpProblems.notFound(a,c);let h=m.routeConfiguration,g=nT(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),pl.HttpProblems.notFound(a,c))},"optionsHandler"),i=new ZS.Pipeline({processors:[XS.metricsProcessor],handler:n,gateway:t}),s=new tT.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:eT.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");Wo.registerCorsRoute=rT;var nT=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 YS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Xf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Xf.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var tm=y(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.registerNoRoutes=void 0;var iT=Ut(),oT=Yt(),sT=xr(),aT=at(),cT=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 iT.Pipeline({processors:[oT.metricsProcessor],handler:r,gateway:t}),i=new aT.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:sT.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Qo.registerNoRoutes=cT});var rm=y(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.registerNotMatchedHandler=Dr.notFoundRouteConfiguration=void 0;var uT=Nr(),lT=bt(),dT=Ut(),pT=ie(),hT=Yt(),fT=xr(),mT=at();Dr.notFoundRouteConfiguration=new mT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:fT.SystemRouteName.UnmatchedPath});var yT=o((e,t)=>{let r=o(async(i,s)=>{let a=lT.runtimeExtensions.value?.notFoundHandler;if(a){let c=uT.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return pT.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new dT.Pipeline({processors:[hT.metricsProcessor],handler:r,gateway:t});e.addRoute(Dr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Dr.registerNotMatchedHandler=yT});var hl=y(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.corsProcessor=void 0;var om=O(),nm=zo(),gT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],im=o(e=>{gT.forEach(t=>e.delete(t))},"stripCorsHeaders"),bT=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 im(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 om.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=_T(i,r.routeData.corsPolicies),c=ET(e,a),u=new Headers(s.headers);return im(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");Yo.corsProcessor=bT;var _T=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 om.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),ET=o((e,t)=>{let r=(0,nm.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,nm.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var sm=y(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.registerPingRoute=void 0;var wT=Ut(),vT=hl(),ST=xr(),TT=at(),IT=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new wT.Pipeline({processors:[vT.corsProcessor],handler:r,gateway:t}),i=new TT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:ST.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Zo.registerPingRoute=IT});var yi=y(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.OutboundPolicy=on.InboundPolicy=void 0;var PT=O(),AT=Xe(),Xo=class{static{o(this,"PolicyBase")}options;policyName;constructor(t,r){if(!(0,AT.isString)(r))throw new PT.RuntimeError(`The name of a policy must be a string. Received '${r}' of type '${typeof r}'`);this.options=t,this.policyName=r}},fl=class extends Xo{static{o(this,"InboundPolicy")}};on.InboundPolicy=fl;var ml=class extends Xo{static{o(this,"OutboundPolicy")}};on.OutboundPolicy=ml});var sn=y(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.createInternalPolicyProcessor=ct.policyProcessor=ct.toStackedInboundHandler=ct.getInboundPolicyInstances=void 0;var RT=Nr(),Le=O(),es=yi(),am=He(),OT=W(),bl=class extends es.InboundPolicy{static{o(this,"InboundFunctionOnlyPolicy")}#e;constructor(t,r,n){super(r,n),this.#e=t}handler(t,r){return this.#e(t,r,this.options,this.policyName)}},_l=class extends es.OutboundPolicy{static{o(this,"OutboundFunctionOnlyPolicy")}#e;constructor(t,r,n){super(r,n),this.#e=t}handler(t,r,n){return this.#e(t,r,n,this.options,this.policyName)}},yl=new Map;function cm(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.filter(s=>!yl.has(s)).forEach(s=>{let a=t?.find(l=>l.name===s);if(!a)throw new Le.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);if(typeof a.handler?.module!="object")throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof a.handler?.module}')`);let c=a.handler?.module[a.handler.export];if(typeof c!="function")throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);let u;if(typeof c!="function")throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);if(c.prototype instanceof es.InboundPolicy)u=new c(a.handler.options,a.name);else if(typeof c=="function")u=new bl(c,a.handler.options,a.name);else throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof c}')`);if(typeof u.handler!="function")throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${s}' on route '${n}' (typeof handler '${typeof u.handler}')`);yl.set(a.name,u)}),r.map(s=>{let a=yl.get(s);if(a===void 0)throw new Le.RuntimeError("Internal error. Policy not found in cache.");return a})}o(cm,"getInboundPolicyInstances");ct.getInboundPolicyInstances=cm;var gl=new Map;function NT(e,t){let r=e.policies?.outbound??[];return r.filter(i=>!gl.has(i)).forEach(i=>{let s=t?.find(u=>u.name===i);if(!s)throw new Le.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);if(typeof s.handler?.module!="object")throw new Le.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof policy '${typeof s.handler?.module}')`);let a=s.handler?.module[s.handler.export],c;if(typeof a!="function")throw new Le.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof module '${typeof a}')`);if(a.prototype instanceof es.OutboundPolicy)c=new a(s.handler.options,s.name);else if(typeof a=="function")c=new _l(a,s.handler.options,s.name);else throw new Le.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof policy '${typeof a}')`);if(typeof c.handler!="function")throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);gl.set(s.name,c)}),r.map(i=>{let s=gl.get(i);if(s===void 0)throw new Le.RuntimeError("Internal error. Policy not found in cache.");return s})}o(NT,"getOutboundPolicyInstances");var CT=o(e=>async(t,r)=>{let n=RT.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);if(c instanceof am.ZuploRequest)s=c;else if(c instanceof Request)s=new am.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${r.route.path}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");ct.toStackedInboundHandler=CT;var xT=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);if(!(c instanceof Response))throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${n.route.path}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),LT=o(async(e,t,r,n)=>{let i=cm(t.route,r.routeData.policies),s=NT(t.route,r.routeData.policies);return um({request:e,context:t,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");ct.policyProcessor=LT;function DT({inboundPolicies:e=[],outboundPolicies:t=[]}){return o(async(n,i,s,a)=>um({request:n,context:i,inboundPolicies:e,outboundPolicies:t,gateway:s,next:a}),"policyProcessor")}o(DT,"createInternalPolicyProcessor");ct.createInternalPolicyProcessor=DT;async function um({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,ct.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await s(c),l=xT(n),d;return OT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}o(um,"executePolicyProcessor")});var lm=y(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.serialize=an.parse=void 0;var UT=Object.prototype.toString,ts=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function MT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||HT,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]=$T(l,i)}s=c+1}return r}o(MT,"parse");an.parse=MT;function kT(e,t,r){let n=r||{},i=n.encode||FT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ts.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!ts.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(!ts.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!ts.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!qT(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(kT,"serialize");an.serialize=kT;function HT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(HT,"decode");function FT(e){return encodeURIComponent(e)}o(FT,"encode");function qT(e){return UT.call(e)==="[object Date]"||e instanceof Date}o(qT,"isDate");function $T(e,t){try{return t(e)}catch{return e}}o($T,"tryDecode")});var dm=y(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.devPortalBaseURL=void 0;var jT=lm();function VT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,jT.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(VT,"devPortalBaseURL");rs.devPortalBaseURL=VT});var ym=y(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.registerDevPortalLegacyRedirectRoute=cn.registerDevPortalV3Route=void 0;var El=Mt(),hm=Ut(),fm=Yt(),GT=sn(),mm=at(),BT=dm(),tr=W(),pm="/__zuplo/dev-portal",KT="dev-portal-id",JT="dev-portal-host",zT="zp-account",WT="zp-project",QT="dev-portal-build",YT=`
|
|
36
36
|
<!DOCTYPE html>
|
|
37
37
|
<html lang="en">
|
|
38
38
|
<head>
|
|
@@ -46,23 +46,23 @@
|
|
|
46
46
|
<p>For more information, see <a href="https://zuplo.com/docs/articles/developer-portal">https://zuplo.com/docs/articles/developer-portal</a>.</p>
|
|
47
47
|
</body>
|
|
48
48
|
</html>
|
|
49
|
-
`,
|
|
50
|
-
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(
|
|
51
|
-
`)}o(
|
|
49
|
+
`,ZT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=tr.Environment.instance.deploymentName,i=tr.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(tr.Environment.instance.isLocalDevelopment)return new Response(YT,{headers:{"content-type":"text/html"}});if(!n)return El.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,BT.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:g,body:_}=u;return tr.Environment.instance.build.ACCOUNT_NAME&&h.set(zT,tr.Environment.instance.build.ACCOUNT_NAME),tr.Environment.instance.build.PROJECT_NAME&&h.set(WT,tr.Environment.instance.build.PROJECT_NAME),h.set(KT,n),h.set(JT,d.host),h.set(QT,tr.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:h,method:g,body:_,redirect:"manual"})},"devPortalRoute"),a=new hm.Pipeline({processors:[fm.metricsProcessor,GT.policyProcessor],handler:s,gateway:t}),c=new mm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:El.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");cn.registerDevPortalV3Route=ZT;var XT=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(pm.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new hm.Pipeline({processors:[fm.metricsProcessor],handler:n,gateway:t}),s=new mm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${pm}(.*)`,systemRouteName:El.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");cn.registerDevPortalLegacyRedirectRoute=XT});var wl=y(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.API_KEY=un.SYSTEM_LOGGER=void 0;un.SYSTEM_LOGGER="system-logger";un.API_KEY="api-key"});var gm=y(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.CoreLogger=void 0;var vl=0,Sl=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){vl>=Number.MAX_SAFE_INTEGER&&(vl=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:vl++};this.#t[t](c,a)}};ns.CoreLogger=Sl});var kt=y(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.LogPlugin=void 0;var eI=bt(),Tl=class extends eI.RuntimePlugin{static{o(this,"LogPlugin")}};is.LogPlugin=Tl});var bm=y(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.LoggingContext=void 0;var Il=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)}};os.LoggingContext=Il});var _m=y(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.RequestLogger=void 0;var Pl=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)}};ss.RequestLogger=Pl});var Ur=y(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.cleanStack=rr.serializeError=rr.NonError=void 0;var Em=Xe(),tI=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),rI=new Map(tI),Al=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)}}};rr.NonError=Al;var nI=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Rl=Symbol(".toJSON was called"),iI=o(e=>{e[Rl]=!0;let t=e.toJSON();return delete e[Rl],t},"toJSON"),oI=o(e=>rI.get(e)??Error,"getErrorConstructor"),wm=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,Em.isErrorLike)(e)){let l=oI(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[Rl]!==!0)return iI(e);let u=o(l=>wm({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 nI)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,Em.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function sI(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?wm({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o(sI,"serializeError");rr.serializeError=sI;var aI=/file:\/\/\/(.*?)\/dist\//g,cI=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,uI="at async Event.respondWith";function lI(e){return typeof e!="string"?e:e.split(`
|
|
50
|
+
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(aI,"").replaceAll(cI,"").replaceAll(uI,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
|
|
51
|
+
`)}o(lI,"cleanStack");rr.cleanStack=lI});var vm=y(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var Ol=Xe();function dI(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 m=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let g=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return g.length<=c.inlineCharacterLimit?g:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
|
|
54
|
-
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,
|
|
55
|
-
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(
|
|
56
|
-
`)}o(fI,"messagesToMultilineText");Fe.messagesToMultilineText=fI;function Sm(e){return typeof e=="string"?e:JSON.stringify(e)}o(Sm,"stringifyNonString");Fe.stringifyNonString=Sm;function Tm(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,vm.toString)(e):"unknown"}o(Tm,"stringifyNonStringToText");Fe.stringifyNonStringToText=Tm});var D,ae,Se=I(()=>{D=crypto,ae=o(e=>e instanceof CryptoKey,"isCryptoKey")});var mI,os,Ol=I(()=>{Se();mI=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),os=mI});function Te(...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 Im(e,t){return Te(Z.encode(e),new Uint8Array([0]),t)}function Nl(e,t,r){if(t<0||t>=ss)throw new RangeError(`value must be >= 0 and <= ${ss-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function as(e){let t=Math.floor(e/ss),r=e%ss,n=new Uint8Array(8);return Nl(n,t,0),Nl(n,r,4),n}function cs(e){let t=new Uint8Array(4);return Nl(t,e),t}function us(e){return Te(cs(e.length),e)}async function Pm(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(cs(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await os("sha256",a),s*32)}return i.slice(0,t>>3)}var Z,ue,ss,ge=I(()=>{Ol();Z=new TextEncoder,ue=new TextDecoder,ss=2**32;o(Te,"concat");o(Im,"p2s");o(Nl,"writeUInt32BE");o(as,"uint64be");o(cs,"uint32be");o(us,"lengthAndInput");o(Pm,"concatKdf")});var ls,X,Cl,te,Ie=I(()=>{ge();ls=o(e=>{let t=e;typeof t=="string"&&(t=Z.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),X=o(e=>ls(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Cl=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=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Cl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var xl={};lo(xl,{JOSEAlgNotAllowed:()=>nr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Ht,JWEInvalid:()=>R,JWKInvalid:()=>fi,JWKSInvalid:()=>ir,JWKSMultipleMatchingKeys:()=>mi,JWKSNoMatchingKey:()=>Mr,JWKSTimeout:()=>yi,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>kr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>cn,JWTInvalid:()=>le});var he,be,cn,nr,M,Ht,R,z,le,fi,ir,Mr,mi,yi,kr,j=I(()=>{he=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},cn=class extends he{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},nr=class extends he{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends he{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Ht=class extends he{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},R=class extends he{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},fi=class extends he{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},ir=class extends he{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Mr=class extends he{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},mi=class extends he{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},yi=class extends he{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},kr=class extends he{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var or,gi=I(()=>{Se();or=D.getRandomValues.bind(D)});function Ll(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var ds,ps=I(()=>{j();gi();o(Ll,"bitLength");ds=o(e=>or(new Uint8Array(Ll(e)>>3)),"default")});var yI,hs,Dl=I(()=>{j();ps();yI=o((e,t)=>{if(t.length<<3!==Ll(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),hs=yI});var gI,un,Ul=I(()=>{j();gI=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new R(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),un=gI});var bI,Rm,Om=I(()=>{bI=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"),Rm=bI});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function sr(e,t){return e.name===t}function fs(e){return parseInt(e.name.slice(4),10)}function _I(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Nm(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 Cm(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!sr(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(fs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!sr(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(fs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!sr(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(fs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!sr(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=_I(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Nm(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!sr(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!sr(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!sr(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!sr(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(fs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Nm(e,r)}var ar=I(()=>{o(Pe,"unusable");o(sr,"isAlgorithm");o(fs,"getHashLength");o(_I,"getNamedCurve");o(Nm,"checkUsage");o(Cm,"checkSigCryptoKey");o(qe,"checkEncCryptoKey")});function xm(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function Ml(e,t,...r){return xm(`Key for the ${e} algorithm must be `,t,...r)}var oe,ut=I(()=>{o(xm,"message");oe=o((e,...t)=>xm("Key must be ",e,...t),"default");o(Ml,"withAlg")});var kl,Q,lt=I(()=>{Se();kl=o(e=>ae(e),"default"),Q=["CryptoKey"]});async function wI(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(oe(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Te(s,n,r,as(s.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Rm(i,d)}catch{}if(!p)throw new Ht;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Ht;return m}async function EI(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Te(r,i)))}catch{throw new Ht}}var vI,ms,Hl=I(()=>{ge();Dl();Ul();Om();j();Se();ar();ut();lt();o(wI,"cbcDecrypt");o(EI,"gcmDecrypt");vI=o(async(e,t,r,n,i,s)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(hs(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&un(t,parseInt(e.slice(-3),10)),wI(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&un(t,parseInt(e.slice(1,4),10)),EI(e,t,r,n,i,s);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),ms=vI});var Lm,Dm,Fl=I(()=>{j();Lm=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"),Dm=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 SI,Et,ln=I(()=>{SI=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"),Et=SI});function TI(e){return typeof e=="object"&&e!==null}function Y(e){if(!TI(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var $e=I(()=>{o(TI,"isObjectLike");o(Y,"isObject")});var II,dn,ql=I(()=>{II=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],dn=II});function Um(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Mm(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(oe(e,...Q,"Uint8Array"))}var bi,_i,ys=I(()=>{ql();Se();ar();ut();lt();o(Um,"checkKeySize");o(Mm,"getCryptoKey");bi=o(async(e,t,r)=>{let n=await Mm(t,e,"wrapKey");Um(n,e);let i=await D.subtle.importKey("raw",r,...dn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),_i=o(async(e,t,r)=>{let n=await Mm(t,e,"unwrapKey");Um(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...dn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function gs(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Te(us(Z.encode(r)),us(i),us(s),cs(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 Pm(u,n,a)}async function km(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function bs(e){if(!ae(e))throw new TypeError(oe(e,...Q));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var $l=I(()=>{ge();Se();ar();ut();lt();o(gs,"deriveKey");o(km,"generateEpk");o(bs,"ecdhAllowed")});function jl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var Fm=I(()=>{j();o(jl,"checkP2s")});function PI(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function qm(e,t,r,n){jl(e);let i=Im(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 PI(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 $m,jm,Vl=I(()=>{gi();ge();Ie();ys();Fm();Se();ar();ut();lt();o(PI,"getCryptoKey");o(qm,"deriveKey");$m=o(async(e,t,r,n=2048,i=or(new Uint8Array(16)))=>{let s=await qm(i,e,n,t);return{encryptedKey:await bi(e.slice(-6),s,r),p2c:n,p2s:X(i)}},"encrypt"),jm=o(async(e,t,r,n,i)=>{let s=await qm(i,e,n,t);return _i(e.slice(-6),s,r)},"decrypt")});function pn(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 Vm=I(()=>{j();o(pn,"subtleRsaEs")});var Hr,_s=I(()=>{Hr=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 Gm,Bm,Gl=I(()=>{Vm();ql();Se();ar();_s();ut();lt();Gm=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Hr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(pn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...dn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,pn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Bm=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Hr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(pn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,pn(e),...dn);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 wi(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 vt,Ei=I(()=>{j();gi();o(wi,"bitLength");vt=o(e=>or(new Uint8Array(wi(e)>>3)),"default")});var Bl,Km=I(()=>{Bl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
54
|
+
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,Ol.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((g,_)=>{let S=a.length-1===_?p.newline:","+p.newlineOrSpace,T=s(g,c,u+d,l+1);return c.transform&&(T=c.transform(a,_,T)),p.indent+T+S}).join("")+p.pad+"]";return n.pop(),m(h)}if((0,Ol.isObject)(a)){let h=(0,Ol.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(_=>c.filter?.(a,_))),h.length===0)return"{}";n.push(a);let g="{"+p.newline+h.map((_,S)=>{let T=h.length-1===S?p.newline:","+p.newlineOrSpace,k=typeof _=="symbol",G=!k&&/^[a-z$_][$\w]*$/i.test(_),L=k||G?_:s(_,c,"",l+1),Z=s(a[_],c,u+d,l+1);return c.transform&&(Z=c.transform(a,_,Z)),p.indent+String(L)+": "+Z+T}).join("")+p.pad+"}";return n.pop(),m(g)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
|
|
55
|
+
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(dI,"stringifyObject");Nl.default=dI});var Et=y(Fe=>{"use strict";var pI=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 Cl=Ur(),Sm=pI(vm()),Tm=Xe();function hI(e){return e.map(t=>(0,Cl.serializeError)(t))}o(hI,"makeErrorsSerializable");Fe.makeErrorsSerializable=hI;function fI(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:Im((0,Cl.serializeError)(t))}o(fI,"extractBestMessage");Fe.extractBestMessage=fI;function mI(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,Tm.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,Sm.default)((0,Cl.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,Sm.default)(r);t.push(n)}else{let n=Pm(r);t.push(n)}}),t.join(`
|
|
56
|
+
`)}o(mI,"messagesToMultilineText");Fe.messagesToMultilineText=mI;function Im(e){return typeof e=="string"?e:JSON.stringify(e)}o(Im,"stringifyNonString");Fe.stringifyNonString=Im;function Pm(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,Tm.toString)(e):"unknown"}o(Pm,"stringifyNonStringToText");Fe.stringifyNonStringToText=Pm});var D,ae,Se=I(()=>{D=crypto,ae=o(e=>e instanceof CryptoKey,"isCryptoKey")});var yI,as,xl=I(()=>{Se();yI=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),as=yI});function Te(...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 Am(e,t){return Te(X.encode(e),new Uint8Array([0]),t)}function Ll(e,t,r){if(t<0||t>=cs)throw new RangeError(`value must be >= 0 and <= ${cs-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function us(e){let t=Math.floor(e/cs),r=e%cs,n=new Uint8Array(8);return Ll(n,t,0),Ll(n,r,4),n}function ls(e){let t=new Uint8Array(4);return Ll(t,e),t}function ds(e){return Te(ls(e.length),e)}async function Rm(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(ls(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await as("sha256",a),s*32)}return i.slice(0,t>>3)}var X,ue,cs,ge=I(()=>{xl();X=new TextEncoder,ue=new TextDecoder,cs=2**32;o(Te,"concat");o(Am,"p2s");o(Ll,"writeUInt32BE");o(us,"uint64be");o(ls,"uint32be");o(ds,"lengthAndInput");o(Rm,"concatKdf")});var ps,ee,Dl,re,Ie=I(()=>{ge();ps=o(e=>{let t=e;typeof t=="string"&&(t=X.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"),ee=o(e=>ps(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Dl=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"),re=o(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Dl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Ul={};fo(Ul,{JOSEAlgNotAllowed:()=>nr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Ht,JWEInvalid:()=>R,JWKInvalid:()=>gi,JWKSInvalid:()=>ir,JWKSMultipleMatchingKeys:()=>bi,JWKSNoMatchingKey:()=>Mr,JWKSTimeout:()=>_i,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>kr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>ln,JWTInvalid:()=>le});var he,be,ln,nr,M,Ht,R,z,le,gi,ir,Mr,bi,_i,kr,j=I(()=>{he=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},ln=class extends he{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},nr=class extends he{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends he{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Ht=class extends he{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},R=class extends he{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},gi=class extends he{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},ir=class extends he{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Mr=class extends he{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},bi=class extends he{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},_i=class extends he{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},kr=class extends he{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var or,Ei=I(()=>{Se();or=D.getRandomValues.bind(D)});function Ml(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var hs,fs=I(()=>{j();Ei();o(Ml,"bitLength");hs=o(e=>or(new Uint8Array(Ml(e)>>3)),"default")});var gI,ms,kl=I(()=>{j();fs();gI=o((e,t)=>{if(t.length<<3!==Ml(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),ms=gI});var bI,dn,Hl=I(()=>{j();bI=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new R(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),dn=bI});var _I,Nm,Cm=I(()=>{_I=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"),Nm=_I});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function sr(e,t){return e.name===t}function ys(e){return parseInt(e.name.slice(4),10)}function EI(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function xm(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 Lm(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!sr(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(ys(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!sr(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(ys(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!sr(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(ys(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!sr(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=EI(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}xm(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!sr(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!sr(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!sr(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!sr(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(ys(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}xm(e,r)}var ar=I(()=>{o(Pe,"unusable");o(sr,"isAlgorithm");o(ys,"getHashLength");o(EI,"getNamedCurve");o(xm,"checkUsage");o(Lm,"checkSigCryptoKey");o(qe,"checkEncCryptoKey")});function Dm(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 Fl(e,t,...r){return Dm(`Key for the ${e} algorithm must be `,t,...r)}var oe,ut=I(()=>{o(Dm,"message");oe=o((e,...t)=>Dm("Key must be ",e,...t),"default");o(Fl,"withAlg")});var ql,Q,lt=I(()=>{Se();ql=o(e=>ae(e),"default"),Q=["CryptoKey"]});async function wI(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(oe(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Te(s,n,r,us(s.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Nm(i,d)}catch{}if(!p)throw new Ht;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Ht;return m}async function vI(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Te(r,i)))}catch{throw new Ht}}var SI,gs,$l=I(()=>{ge();kl();Hl();Cm();j();Se();ar();ut();lt();o(wI,"cbcDecrypt");o(vI,"gcmDecrypt");SI=o(async(e,t,r,n,i,s)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(ms(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&dn(t,parseInt(e.slice(-3),10)),wI(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&dn(t,parseInt(e.slice(1,4),10)),vI(e,t,r,n,i,s);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),gs=SI});var Um,Mm,jl=I(()=>{j();Um=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"),Mm=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 TI,wt,pn=I(()=>{TI=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"),wt=TI});function II(e){return typeof e=="object"&&e!==null}function Y(e){if(!II(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var $e=I(()=>{o(II,"isObjectLike");o(Y,"isObject")});var PI,hn,Vl=I(()=>{PI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],hn=PI});function km(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Hm(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(oe(e,...Q,"Uint8Array"))}var wi,vi,bs=I(()=>{Vl();Se();ar();ut();lt();o(km,"checkKeySize");o(Hm,"getCryptoKey");wi=o(async(e,t,r)=>{let n=await Hm(t,e,"wrapKey");km(n,e);let i=await D.subtle.importKey("raw",r,...hn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),vi=o(async(e,t,r)=>{let n=await Hm(t,e,"unwrapKey");km(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...hn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function _s(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Te(ds(X.encode(r)),ds(i),ds(s),ls(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 Rm(u,n,a)}async function Fm(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function Es(e){if(!ae(e))throw new TypeError(oe(e,...Q));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var Gl=I(()=>{ge();Se();ar();ut();lt();o(_s,"deriveKey");o(Fm,"generateEpk");o(Es,"ecdhAllowed")});function Bl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var $m=I(()=>{j();o(Bl,"checkP2s")});function AI(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function jm(e,t,r,n){Bl(e);let i=Am(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 AI(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 Vm,Gm,Kl=I(()=>{Ei();ge();Ie();bs();$m();Se();ar();ut();lt();o(AI,"getCryptoKey");o(jm,"deriveKey");Vm=o(async(e,t,r,n=2048,i=or(new Uint8Array(16)))=>{let s=await jm(i,e,n,t);return{encryptedKey:await wi(e.slice(-6),s,r),p2c:n,p2s:ee(i)}},"encrypt"),Gm=o(async(e,t,r,n,i)=>{let s=await jm(i,e,n,t);return vi(e.slice(-6),s,r)},"decrypt")});function fn(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 Bm=I(()=>{j();o(fn,"subtleRsaEs")});var Hr,ws=I(()=>{Hr=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 Km,Jm,Jl=I(()=>{Bm();Vl();Se();ar();ws();ut();lt();Km=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Hr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(fn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...hn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,fn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Jm=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Hr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(fn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,fn(e),...hn);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 Si(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 vt,Ti=I(()=>{j();Ei();o(Si,"bitLength");vt=o(e=>or(new Uint8Array(Si(e)>>3)),"default")});var zl,zm=I(()=>{zl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
57
57
|
`);return`-----BEGIN ${t}-----
|
|
58
58
|
${r}
|
|
59
|
-
-----END ${t}-----`},"default")});function zm(e){let t=[],r=0;for(;r<e.length;){let n=ey(e.subarray(r));t.push(n),r+=n.byteLength}return t}function ey(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 AI(e){let t=zm(zm(ey(e).contents)[0].contents);return ls(t[t[0].raw[0]===160?6:5].raw)}function RI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Cl(t);return Bl(AI(r),"PUBLIC KEY")}var Wm,Qm,Ym,cr,Jm,Zm,Xm,Kl,ty,ws=I(()=>{Se();ut();Ie();Km();j();lt();Wm=o(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(r,...Q));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return Bl(ls(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Qm=o(e=>Wm("public","spki",e),"toSPKI"),Ym=o(e=>Wm("private","pkcs8",e),"toPKCS8"),cr=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])||cr(e,t,n+1)},"findOid"),Jm=o(e=>{switch(!0){case cr(e,[42,134,72,206,61,3,1,7]):return"P-256";case cr(e,[43,129,4,0,34]):return"P-384";case cr(e,[43,129,4,0,35]):return"P-521";case cr(e,[43,101,110]):return"X25519";case cr(e,[43,101,111]):return"X448";case cr(e,[43,101,112]):return"Ed25519";case cr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Zm=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=Jm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Jm(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"),Xm=o((e,t,r)=>Zm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Kl=o((e,t,r)=>Zm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(zm,"getElement");o(ey,"parseElement");o(AI,"spkiFromX509");o(RI,"getSPKI");ty=o((e,t,r)=>{let n;try{n=RI(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Kl(n,t,r)},"fromX509")});function OI(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 NI,Jl,ry=I(()=>{Se();j();Ie();o(OI,"subtleMapping");NI=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}=OI(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"),Jl=NI});async function ny(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Kl(e,t,r)}async function iy(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return ty(e,t,r)}async function oy(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Xm(e,t,r)}async function ur(e,t,r){var n;if(!Y(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?Jl({...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 Jl({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var vi=I(()=>{Ie();ws();ry();j();$e();o(ny,"importSPKI");o(iy,"importX509");o(oy,"importPKCS8");o(ur,"importJWK")});var CI,xI,LI,lr,Si=I(()=>{ut();lt();CI=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!kl(t))throw new TypeError(Ml(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),xI=o((e,t,r)=>{if(!kl(t))throw new TypeError(Ml(e,t,...Q));if(t.type==="secret")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),LI=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?CI(e,t):xI(e,t,r)},"checkKeyType"),lr=LI});async function DI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(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=Te(i,n,u,as(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function UI(e,t,r,n,i){let s;r instanceof Uint8Array?s=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(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 MI,Ti,zl=I(()=>{ge();Dl();Ul();Se();ar();ut();j();lt();o(DI,"cbcEncrypt");o(UI,"gcmEncrypt");MI=o(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(hs(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&un(r,parseInt(e.slice(-3),10)),DI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&un(r,parseInt(e.slice(1,4),10)),UI(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Ti=MI});async function sy(e,t,r,n){let i=e.slice(0,7);n||(n=ds(i));let{ciphertext:s,tag:a}=await Ti(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:X(n),tag:X(a)}}async function ay(e,t,r,n,i){let s=e.slice(0,7);return ms(s,t,r,n,i,new Uint8Array(0))}var Wl=I(()=>{zl();Hl();ps();Ie();o(sy,"wrap");o(ay,"unwrap")});async function kI(e,t,r,n,i){switch(lr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new R('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!bs(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await ur(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new R('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new R('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await gs(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?wi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new R("JWE Encrypted Key missing");return _i(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new R("JWE Encrypted Key missing");return Bm(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new R('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new R('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new R('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return jm(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return _i(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new R('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new R('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return ay(e,t,r,s,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var cy,uy=I(()=>{ys();$l();Vl();Gl();Ie();j();Ei();vi();Si();$e();Wl();o(kI,"decryptKeyManagement");cy=kI});function HI(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 St,hn=I(()=>{j();o(HI,"validateCrit");St=HI});var FI,Ii,Ql=I(()=>{FI=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"),Ii=FI});async function fn(e,t,r){var n;if(!Y(e))throw new R("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new R("JOSE Header missing");if(typeof e.iv!="string")throw new R("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new R("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new R("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new R("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new R("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new R("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new R("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new R("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let K=te(e.protected);i=JSON.parse(ue.decode(K))}catch{throw new R("JWE Protected Header is invalid")}if(!Et(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(St(R,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new R('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 R("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new R("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&Ii("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&Ii("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new nr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new nr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await cy(a,t,d,s,r)}catch(K){if(K instanceof TypeError||K instanceof R||K instanceof M)throw K;m=vt(c)}let h=te(e.iv),g=te(e.tag),_=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),S;e.aad!==void 0?S=Te(_,Z.encode("."),Z.encode(e.aad)):S=_;let T=await ms(c,m,te(e.ciphertext),h,g,S);s.zip==="DEF"&&(T=await(r?.inflateRaw||Lm)(T));let k={plaintext:T};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();Hl();Fl();j();ln();$e();uy();ge();Ei();hn();Ql();o(fn,"flattenedDecrypt")});async function vs(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new R("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new R("Invalid Compact JWE");let l=await fn({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 Yl=I(()=>{Es();j();ge();o(vs,"compactDecrypt")});async function ly(e,t,r){if(!Y(e))throw new R("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new R("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new R("JWE Recipients has no members");for(let n of e.recipients)try{return await fn({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 Ht}var dy=I(()=>{Es();j();$e();o(ly,"generalDecrypt")});var qI,py,hy=I(()=>{Se();ut();Ie();lt();qI=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(oe(e,...Q,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await D.subtle.exportKey("jwk",e);return s},"keyToJWK"),py=qI});async function fy(e){return Qm(e)}async function my(e){return Ym(e)}async function Ss(e){return py(e)}var Zl=I(()=>{ws();ws();hy();o(fy,"exportSPKI");o(my,"exportPKCS8");o(Ss,"exportJWK")});async function $I(e,t,r,n,i={}){let s,a,c;switch(lr(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(!bs(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 km(r)).privateKey);let{x:p,y:m,crv:h,kty:g}=await Ss(d),_=await gs(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?wi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=_;break}c=n||vt(t);let S=e.slice(-6);s=await bi(S,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||vt(t),s=await Gm(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||vt(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await $m(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||vt(t),s=await bi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||vt(t);let{iv:u}=i;({encryptedKey:s,...a}=await sy(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 Ts,Xl=I(()=>{ys();$l();Vl();Gl();Ie();Ei();j();Zl();Si();Wl();o($I,"encryptKeyManagement");Ts=$I});var ed,Ft,Is=I(()=>{Ie();zl();Fl();ps();Xl();j();ln();ge();hn();ed=Symbol(),Ft=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 R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Et(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(St(R,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let g;({cek:c,encryptedKey:a,parameters:g}=await Ts(i,s,t,this._cek,this._keyManagementParameters)),g&&(r&&ed in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=ds(s));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Te(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let g=await(r?.deflateRaw||Dm)(this._plaintext);({ciphertext:p,tag:m}=await Ti(s,g,c,this._iv,u))}else({ciphertext:p,tag:m}=await Ti(s,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(m)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var td,Ps,yy=I(()=>{Is();j();Ei();ln();Xl();Ie();hn();td=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}},Ps=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new td(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new R("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Ft(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(!Et(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new R('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(St(R,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=vt(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 m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Ft(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[ed]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await Ts(((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:m});d.encrypted_key=X(h),(l.unprotectedHeader||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function Pi(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 rd=I(()=>{j();o(Pi,"subtleDsa")});function Ai(e,t,r){if(ae(t))return Cm(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(oe(t,...Q));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(oe(t,...Q,"Uint8Array"))}var nd=I(()=>{Se();ar();ut();lt();o(Ai,"getCryptoKey")});var jI,gy,by=I(()=>{rd();Se();_s();nd();jI=o(async(e,t,r,n)=>{let i=await Ai(e,t,"verify");Hr(e,i);let s=Pi(e,i.algorithm);try{return await D.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),gy=jI});async function mn(e,t,r){var n;if(!Y(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let S=te(e.protected);i=JSON.parse(ue.decode(S))}catch{throw new z("JWS Protected Header is invalid")}if(!Et(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=St(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&&Ii("algorithms",r.algorithms);if(l&&!l.has(u))throw new nr('"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),lr(u,t,"verify");let p=Te(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),m=te(e.signature);if(!await gy(u,t,m,p))throw new kr;let g;c?g=te(e.payload):typeof e.payload=="string"?g=Z.encode(e.payload):g=e.payload;let _={payload:g};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var As=I(()=>{Ie();by();j();ge();ln();$e();Si();hn();Ql();o(mn,"flattenedVerify")});async function Rs(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await mn({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 id=I(()=>{As();j();ge();o(Rs,"compactVerify")});async function _y(e,t,r){if(!Y(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Y))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await mn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new kr}var wy=I(()=>{As();j();$e();o(_y,"generalVerify")});var yn,od=I(()=>{yn=o(e=>Math.floor(e.getTime()/1e3),"default")});var VI,gn,sd=I(()=>{VI=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,gn=o(e=>{let t=VI.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 Ey,GI,bn,Os=I(()=>{j();ge();od();sd();$e();Ey=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),GI=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),bn=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Ey(e.typ)!==Ey(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Y(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!GI(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=gn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=yn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new cn('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,g=typeof l=="number"?l:gn(l);if(h-d>g)throw new cn('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function vy(e,t,r){var n;let i=await Rs(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:bn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Sy=I(()=>{id();Os();j();o(vy,"jwtVerify")});async function Ty(e,t,r){let n=await vs(e,t,r),i=bn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var Iy=I(()=>{Yl();Os();j();o(Ty,"jwtDecrypt")});var _n,ad=I(()=>{Is();_n=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Ft(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 BI,Py,Ay=I(()=>{rd();Se();_s();nd();BI=o(async(e,t,r)=>{let n=await Ai(e,t,"sign");Hr(e,n);let i=await D.subtle.sign(Pi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Py=BI});var dr,Ns=I(()=>{Ie();Ay();ln();j();ge();Si();hn();dr=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(!Et(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=St(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');lr(a,t,"sign");let c=this._payload;s&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Te(u,Z.encode("."),c),d=await Py(a,t,l),p={signature:X(d),payload:""};return s&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var wn,cd=I(()=>{Ns();wn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new dr(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 ud,Cs,Ry=I(()=>{Ns();j();ud=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}},Cs=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new ud(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 dr(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 pr,xs=I(()=>{od();$e();sd();pr=class{static{o(this,"ProduceJWT")}constructor(t){if(!Y(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:yn(new Date)+gn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:yn(new Date)+gn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:yn(new Date)}:this._payload={...this._payload,iat:t},this}}});var Ls,Oy=I(()=>{cd();j();ge();xs();Ls=class extends pr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new wn(Z.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var Ds,Ny=I(()=>{ad();ge();xs();Ds=class extends pr{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 _n(Z.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function ld(e,t){if(!Y(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":hr(e.crv,'"crv" (Curve) Parameter'),hr(e.x,'"x" (X Coordinate) Parameter'),hr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":hr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),hr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":hr(e.e,'"e" (Exponent) Parameter'),hr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":hr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await os(t,n))}async function Cy(e,t){t??(t="sha256");let r=await ld(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var hr,xy=I(()=>{Ol();Ie();j();ge();$e();hr=o((e,t)=>{if(typeof e!="string"||!e)throw new fi(`${t} missing or invalid`)},"check");o(ld,"calculateJwkThumbprint");o(Cy,"calculateJwkThumbprintUri")});async function Ly(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ur({...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 Dy=I(()=>{vi();$e();j();o(Ly,"EmbeddedJWK")});function KI(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 dd(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(JI)}function JI(e){return Y(e)}function zI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Uy(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ur({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new ir("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function My(e){let t=new Ri(e);return async function(r,n){return t.getKey(r,n)}}var Ri,pd=I(()=>{vi();j();$e();o(KI,"getKtyFromAlg");o(dd,"isJWKSLike");o(JI,"isJWKLike");o(zI,"clone");Ri=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!dd(t))throw new ir("JSON Web Key Set malformed");this._jwks=zI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=KI(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 Mr;if(u!==1){let l=new mi,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Uy(d,p,n)}catch{continue}},l}return Uy(this._cached,c,n)}};o(Uy,"importWithAlgCache");o(My,"createLocalJWKSet")});var WI,ky,Hy=I(()=>{j();WI=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 yi:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),ky=WI});function QI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Fy(e,t){let r=new hd(e,t);return async function(n,i){return r.getKey(n,i)}}var hd,qy=I(()=>{Hy();j();pd();o(QI,"isCloudflareWorkers");hd=class extends Ri{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 Mr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&QI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=ky(this._url,this._timeoutDuration,this._options).then(t=>{if(!dd(t))throw new ir("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(Fy,"createRemoteJWKSet")});var Us,$y=I(()=>{Ie();ge();j();Os();xs();Us=class extends pr{static{o(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:bn(c,te(i),r),header:c}}}});var fd={};lo(fd,{decode:()=>Oi,encode:()=>YI});var YI,Oi,Ms=I(()=>{Ie();YI=X,Oi=te});function jy(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(Oi(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Vy=I(()=>{Ms();ge();$e();o(jy,"decodeProtectedHeader")});function Gy(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=Oi(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Y(i))throw new le("Invalid JWT Claims Set");return i}var By=I(()=>{Ms();ge();$e();j();o(Gy,"decodeJwt")});async function Ky(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),or(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 md(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 Jy(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:md(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:md(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:md(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 yd=I(()=>{Se();j();gi();o(Ky,"generateSecret");o(md,"getModulusLengthOption");o(Jy,"generateKeyPair")});async function zy(e,t){return Jy(e,t)}var Wy=I(()=>{yd();o(zy,"generateKeyPair")});async function Qy(e,t){return Ky(e,t)}var Yy=I(()=>{yd();o(Qy,"generateSecret")});var ks={};lo(ks,{CompactEncrypt:()=>_n,CompactSign:()=>wn,EmbeddedJWK:()=>Ly,EncryptJWT:()=>Ds,FlattenedEncrypt:()=>Ft,FlattenedSign:()=>dr,GeneralEncrypt:()=>Ps,GeneralSign:()=>Cs,SignJWT:()=>Ls,UnsecuredJWT:()=>Us,base64url:()=>fd,calculateJwkThumbprint:()=>ld,calculateJwkThumbprintUri:()=>Cy,compactDecrypt:()=>vs,compactVerify:()=>Rs,createLocalJWKSet:()=>My,createRemoteJWKSet:()=>Fy,decodeJwt:()=>Gy,decodeProtectedHeader:()=>jy,errors:()=>xl,exportJWK:()=>Ss,exportPKCS8:()=>my,exportSPKI:()=>fy,flattenedDecrypt:()=>fn,flattenedVerify:()=>mn,generalDecrypt:()=>ly,generalVerify:()=>_y,generateKeyPair:()=>zy,generateSecret:()=>Qy,importJWK:()=>ur,importPKCS8:()=>oy,importSPKI:()=>ny,importX509:()=>iy,jwtDecrypt:()=>Ty,jwtVerify:()=>vy});var Hs=I(()=>{Yl();Es();dy();yy();id();As();wy();Sy();Iy();ad();Is();cd();Ns();Ry();Oy();Ny();xy();Dy();pd();qy();$y();Zl();vi();Vy();By();j();Wy();Yy();Ms()});var En=y(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.fetchRetry=void 0;var ZI=O();async function XI(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 ZI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(XI,"fetchRetry");Fs.fetchRetry=XI});var vn=y(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.GcpServiceAccount=et.fetchToken=et.exchangeGgpJwtForIdToken=et.exchangeFirebaseJwtForIdToken=et.getTokenFromGcpServiceAccount=void 0;var Zy=(Hs(),po(ks)),eP=O(),tP=En();async function rP({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new Zy.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(rP,"getTokenFromGcpServiceAccount");et.getTokenFromGcpServiceAccount=rP;async function nP(e,t,r){return bd(e,{token:t,returnSecureToken:!0},r)}o(nP,"exchangeFirebaseJwtForIdToken");et.exchangeFirebaseJwtForIdToken=nP;async function iP(e,t,r){return bd(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(iP,"exchangeGgpJwtForIdToken");et.exchangeGgpJwtForIdToken=iP;async function bd(e,t,r){let n=await(0,tP.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 eP.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(bd,"fetchToken");et.fetchToken=bd;var gd=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,Zy.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}};et.GcpServiceAccount=gd});var $s=y(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.GoogleLogTransport=qt.ZuploToGCPMap=qt.GoogleCloudLoggingPlugin=void 0;var oP=O(),sP=ve(),_d=W(),wd=vn(),aP=kt(),Xy=wt(),Ed=class extends aP.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new qs(this.options)}};qt.GoogleCloudLoggingPlugin=Ed;var cP="https://logging.googleapis.com/v2/entries:write?alt=json";qt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var qs=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=_d.Environment.instance.loggingEnvironmentType,this.#o=_d.Environment.instance.loggingEnvironmentStage,this.#n=_d.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await wd.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new oP.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,Xy.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:qt.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,Xy.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 wd.GcpServiceAccount.init(this.#e));let r=await(0,wd.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(cP,{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 sP.BatchDispatch("google-log-transport",1,this.dispatchFunction)};qt.GoogleLogTransport=qs});var vd=y(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.gcpLogFormat=Sn.GCP_LOG_FORMAT=void 0;var eg=wt(),uP=$s();Sn.GCP_LOG_FORMAT="gcp";function lP(e){let t={allMessages:(0,eg.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,eg.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:uP.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(lP,"gcpLogFormat");Sn.gcpLogFormat=lP});var rg=y(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.ConsoleTransport=void 0;var tg=vd(),Sd=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===tg.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,tg.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}])}};js.ConsoleTransport=Sd});var Od=y(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.DataDogTransport=Tn.DataDogLoggingPlugin=void 0;var dP=ve(),Td=W(),pP=kt(),ng=wt(),Rd=class extends pP.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Vs(this.options)}};Tn.DataDogLoggingPlugin=Rd;var Id="__ddtags",Pd="__ddattr",Ad=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),hP=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(Ad(n)):r.push(`${Ad(n)}:${Ad(i.toString())}`)}),r.join(",")},"formatTags"),Vs=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=Td.Environment.instance.loggingEnvironmentType,this.#i=Td.Environment.instance.loggingEnvironmentStage,this.#r=Td.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[Id];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[Id]!==void 0);a>-1&&(Object.assign(n,s[a][Id]),s.splice(a,1));let c={},u=r.custom[Pd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[Pd]!==void 0);l>-1&&(Object.assign(c,s[l][Pd]),s.splice(l,1));let d=(0,ng.makeErrorsSerializable)(s),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,ng.extractBestMessage)(d),service:t.loggingId,ddtags:hP(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new dP.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};Tn.DataDogTransport=Vs});var og=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.ProcessTransport=void 0;var ig=vd(),Nd=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===ig.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,ig.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}])}};Gs.ProcessTransport=Nd});var ag=y(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.RemoteLogTransport=void 0;var fP=ve(),sg=W(),mP=wt(),yP=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,mP.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":sg.Environment.instance.systemUserAgent,"zp-dn":sg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Bs,Cd=class{static{o(this,"RemoteLogTransport")}constructor(t){Bs||(Bs=new fP.BatchDispatch("remote-log-transport",1,yP(t)))}log(t,r){Bs.enqueue(t),r.waitUntil(Bs.waitUntilFlushed())}};Ks.RemoteLogTransport=Cd});var cg=y(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.unifiedFormatter=Fr.SeverityNumberOpenTelemetryMap=void 0;Fr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var gP=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:Fr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Fr.unifiedFormatter=gP});var lg=y(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.UnifiedLogTransport=void 0;var bP=ve(),ug=W(),_P=cg(),wP=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,_P.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":ug.Environment.instance.systemUserAgent,"zp-dn":ug.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Js,xd=class{static{o(this,"UnifiedLogTransport")}constructor(t){Js||(Js=new bP.BatchDispatch("unified-log-transport",1,wP(t)))}async log(t,r){Js.enqueue(t),r.waitUntil(Js.waitUntilFlushed())}};zs.UnifiedLogTransport=xd});var gg=y(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.LogInitializer=void 0;var EP=Rr(),vP=bt(),dg=bl(),pg=W(),hg=mm(),SP=kt(),TP=ym(),fg=gm(),mg=rg(),IP=Od(),PP=$s(),yg=og(),AP=ag(),RP=lg(),Ld=(0,EP.debug)("zuplo:logging"),Dd=class e{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(pg.Environment.instance,t),n=await e.setupUserCoreLogger(pg.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;Ld("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(dg.SYSTEM_LOGGER);return s?i.push(new yg.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&i.push(new mg.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new RP.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new hg.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){Ld("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=t,a=r.getService(dg.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new yg.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new mg.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new AP.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new PP.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new IP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return vP.plugins.forEach(c=>{c instanceof SP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new hg.CoreLogger(t.userLogLevel,"user",t.loggingId,s.BUILD_ID,n)}createRequestLoggers(t,r,n,i,s){Ld("Gateway.createRequestLoggers");let a=new TP.LoggingContext(n,i,s),c=new fg.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new fg.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Ws.LogInitializer=Dd});var Md=y(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.UserRouteConfiguration=void 0;var Ud=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};Qs.UserRouteConfiguration=Ud});var Hd=y(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Router=Tt.RouterError=Tt.LookupResult=Tt.RouterEntry=void 0;var bg=O(),OP=at(),NP=Md(),Ys=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};Tt.RouterEntry=Ys;var Ni=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Tt.LookupResult=Ni;var Zs=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};Tt.RouterError=Zs;var kd=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof NP.UserRouteConfiguration||t instanceof OP.SystemRouteConfiguration))throw new bg.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 Ys(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Zs(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new bg.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 Ni(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 Ni(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Tt.Router=kd});var Or=y(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.Gateway=void 0;var CP=Rr(),_g=Gf(),wg=Zf(),xP=Xf(),Eg=em(),vg=im(),$t=Yr(),Xs=Nr(),Sg=fm(),Pt=O(),Ci=bt(),LP=gg(),DP=Ut(),UP=ie(),MP=ll(),kP=Yt(),HP=nn(),FP=He(),qP=Hd(),Fd=at(),Tg=Md(),$P=Ke(),jP=Bo(),qd=W(),Ig=Ur(),Pg=Gu(),It=(0,CP.debug)("zuplo:runtime"),VP=o(e=>{let t=e.findIndex(r=>r.name===Fd.systemNoVersion.name);return t>-1?[...e.splice(t),Fd.systemNoVersion]:[...e,Fd.systemNoVersion]},"setupSystemNoVersion"),$d=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,It("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,s){if(It("Gateway.initialize"),!e.#e){await(0,Ci.initializeRuntime)(s);let a=await LP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,jP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){It("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new Pt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[HP.policyProcessor,MP.corsProcessor,kP.metricsProcessor];#i;setupRoutes=()=>{It("Gateway.setupRoutes");let t=this.routeData,r=VP(t.versions),n=new qP.Router(r);if(t.routes.length===0)return(0,_g.registerBuildRoute)(n,this),(0,vg.registerPingRoute)(n,this),(0,wg.registerCorsRoute)(n,this),(0,xP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Sg.registerDevPortalLegacyRedirectRoute)(n,this),(0,Sg.registerDevPortalV3Route)(n,this)),(0,_g.registerBuildRoute)(n,this),(0,vg.registerPingRoute)(n,this),(0,wg.registerCorsRoute)(n,this);for(let s of Ci.plugins)s instanceof Ci.SystemRuntimePlugin&&s.registerRoutes(n,this);return t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Pt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new DP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Tg.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Eg.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new Pt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=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 It("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){It("Gateway.internalErrorResponse");let i={};if(qd.Environment.instance.isDeno){if(n instanceof Pt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,Ig.serializeError)(n.cause);"stack"in s&&(s.stack=(0,Ig.cleanStack)(s.stack)),i={cause:s}}}return UP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return $t.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),qd.Environment.instance.isDeno&&$t.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get($t.REQUEST_ID_HEADER)??t.headers.get($t.LEGACY_REQUEST_ID_HEADER),i=t.headers.get($t.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set($t.REQUEST_ID_HEADER,n),t=new Request(t,{headers:S})}if(["GET","HEAD"].includes(t.method)&&t.body){let S=new Headers(t.headers);S.set($t.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:S,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 Pt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Xs.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new FP.ZuploRequest(m,{params:d.params}),g=new Xs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,event:r,custom:s,incomingRequestProperties:p}),_=Xs.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===Eg.notFoundRouteConfiguration&&Ci.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof Tg.UserRouteConfiguration)}try{if($P.SystemLogMap.addLogger(g,c),qd.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,Pg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let k=await(0,Ci.invokeOnRequestExtensions)(h,g);if(k instanceof Response)return k;{let K=Xs.ZuploContextExtensions.getContextExtensions(g);h=k,K.latestRequest=h}}(0,Pg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;GP(S,d,t),It("Gateway.handleRequest - call user handler");let T=await S(h,g);if(It("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new Pt.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new Pt.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get($t.REQUEST_ID_HEADER)===null&&!T.webSocket){let k=new Headers(T.headers);return k.set($t.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:k,cf:T.cf})}else return T}catch(S){return It("Gateway - error executing handler",S),S instanceof Pt.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};ea.Gateway=$d;function GP(e,t,r){if(It("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new Pt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Pt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(GP,"checkHandler")});var Ag=y(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.invokeInboundPolicy=void 0;var BP=O(),KP=Or(),JP=nn(),zP=o(async(e,t,r)=>{let n=KP.Gateway.instance.routeData.policies,i=(0,JP.getInboundPolicyInstances)([e],n);if(i.length===0)throw new BP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);return i[0].handler(t,r)},"invokeInboundPolicy");ta.invokeInboundPolicy=zP});var Nr=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.SystemZuploContext=tt.ZuploContextExtensions=tt.ResponseSentEvent=tt.ResponseSendingEvent=tt.HeaderIncomingRequestProperties=void 0;var _e=Yr(),WP=O(),QP=Ag(),jd=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}}};tt.HeaderIncomingRequestProperties=jd;var Vd=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};tt.ResponseSendingEvent=Vd;var Gd=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};tt.ResponseSentEvent=Gd;var xi=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 WP.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}};tt.ZuploContextExtensions=xi;var Bd=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,event: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,QP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{xi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{xi.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};tt.SystemZuploContext=Bd});var Jd=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.ContextData=void 0;var Kd=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};ra.ContextData=Kd});var Li=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.environment=fr.isZuploReadableEnvVariableName=fr.isRestrictedEnvVariableName=void 0;var YP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Rg(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!YP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(Rg,"isRestrictedEnvVariableName");fr.isRestrictedEnvVariableName=Rg;function Og(e){return!!e.startsWith("ZUPLO_")}o(Og,"isZuploReadableEnvVariableName");fr.isZuploReadableEnvVariableName=Og;var ZP=new Proxy({},{get(e,t){if(Rg(String(t))&&!Og(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});fr.environment=ZP});var zd=y(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.externalServiceHandler=In.externalServiceTunnelConfig=void 0;var XP=Rr(),qr=O(),eA=Wd(),Di=W(),dt=(0,XP.debug)("zuplo:runtime:external-service");function Cg(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Di.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(Cg,"getServiceAuth");async function tA(e){let t=Cg();if(!t)throw dt("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw dt("Cannot call external service with Request object"),new qr.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(Di.Environment.instance.useSha256ServiceRouting){dt("Using sha256 service routing");let a=Di.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await xg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw dt("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(tA,"externalServiceTunnelConfig");In.externalServiceTunnelConfig=tA;async function rA(e,t){let r=Cg();if(r)if(dt(`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(Di.Environment.instance.useSha256ServiceRouting){dt("Using sha256 service routing");let d=Di.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await xg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw dt("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);dt(`Calling external service: ${u.toString()}`);let l=await(0,eA.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 qr.RuntimeError("Could not connect to secure tunnel.");return l}else throw dt("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw dt("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.")}o(rA,"externalServiceHandler");In.externalServiceHandler=rA;async function xg(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=nA(n);dt(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await Ng(`${s}-${i}`),l=await Ng(`${s}-${a}-${c}`);return`${u}.${l}`}o(xg,"hashServiceName");async function Ng(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(Ng,"hashSegment");function nA(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(nA,"sanitizeEnvironmentType")});var Wd=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.originalFetch=void 0;var iA=zd(),Lg=new Map;Lg.set("service:",iA.externalServiceHandler);Pn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=oA(t);if(typeof e=="string"){let n=new URL(e),i=Lg.get(n.protocol);return i?i(e,r):(0,Pn.originalFetch)(e,r)}else return(0,Pn.originalFetch)(e,r)};var oA=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 Mg=y(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.Handler=An.purgeGatewayCache=void 0;var sA=O(),Ug=Or(),Dg=W(),aA=o(()=>{Ug.Gateway.purgeGatewayCache()},"purgeGatewayCache");An.purgeGatewayCache=aA;var Qd=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Dg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Ug.Gateway.initialize(this.routeLoader,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 sA.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:Dg.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)}};An.Handler=Qd});var qg=y(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function cA(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(cA,"lexer");function Yd(e,t){t===void 0&&(t={});for(var r=cA(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(Rn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var me=d(ne);if(me!==void 0)return me;var Be=r[u],E=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(E," at ").concat(H,", expected ").concat(ne))},"mustConsume"),m=o(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var S=h||"";i.indexOf(S)===-1&&(l+=S,S=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:S,suffix:"",pattern:_||s,modifier:d("MODIFIER")||""});continue}var T=h||d("ESCAPED_CHAR");if(T){l+=T;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var S=m(),K=d("NAME")||"",L=d("PATTERN")||"",re=m();p("CLOSE"),a.push({name:K||(L?c++:""),pattern:K&&!L?s:L,prefix:S,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(Yd,"parse");Re.parse=Yd;function uA(e,t){return kg(Yd(e,t),t)}o(uA,"compile");Re.compile=uA;function kg(e,t){t===void 0&&(t={});var r=Zd(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 m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<m.length;_++){var S=i(m[_],p);if(a&&!c[d].test(S))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var S=i(String(m),p);if(a&&!c[d].test(S))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix;continue}if(!h){var T=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(T))}}return l}}o(kg,"tokensToFunction");Re.tokensToFunction=kg;function lA(e,t){var r=[],n=Xd(e,r,t);return Hg(n,r,t)}o(lA,"match");Re.match=lA;function Hg(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(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(g){return i(g,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Hg,"regexpToFunction");Re.regexpToFunction=Hg;function Rn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(Rn,"escapeString");function Zd(e){return e&&e.sensitive?"":"i"}o(Zd,"flags");function dA(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(dA,"regexpToRegexp");function pA(e,t,r){var n=e.map(function(i){return Xd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Zd(r))}o(pA,"arrayToRegexp");function hA(e,t,r){return Fg(Yd(e,r),t,r)}o(hA,"stringToRegexp");function Fg(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(Rn(g),"]|$"),S="[".concat(Rn(m),"]"),T=a?"^":"",k=0,K=e;k<K.length;k++){var L=K[k];if(typeof L=="string")T+=Rn(d(L));else{var re=Rn(d(L.prefix)),ne=Rn(d(L.suffix));if(L.pattern)if(t&&t.push(L),re||ne)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";T+="(?:".concat(re,"((?:").concat(L.pattern,")(?:").concat(ne).concat(re,"(?:").concat(L.pattern,"))*)").concat(ne,")").concat(me)}else T+="(?:".concat(re,"(").concat(L.pattern,")").concat(ne,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?T+="((?:".concat(L.pattern,")").concat(L.modifier,")"):T+="(".concat(L.pattern,")").concat(L.modifier);else T+="(?:".concat(re).concat(ne,")").concat(L.modifier)}}if(u)i||(T+="".concat(S,"?")),T+=r.endsWith?"(?=".concat(_,")"):"$";else{var Be=e[e.length-1],E=typeof Be=="string"?S.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(T+="(?:".concat(S,"(?=").concat(_,"))?")),E||(T+="(?=".concat(S,"|").concat(_,")"))}return new RegExp(T,Zd(r))}o(Fg,"tokensToRegexp");Re.tokensToRegexp=Fg;function Xd(e,t,r){return e instanceof RegExp?dA(e,t):Array.isArray(e)?pA(e,t,r):hA(e,t,r)}o(Xd,"pathToRegexp");Re.pathToRegexp=Xd});var np=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.AwsV4Signer=On.AwsClient=void 0;var fA=Rr(),Gg=O(),mA=(0,fA.debug)("zuplo:runtime"),tp=new TextEncoder,$g={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"},yA=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],rp=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 na(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){mA("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 Gg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};On.AwsClient=rp;var na=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:m,appendSessionToken:h,allHeaders:g,singleEncode:_}){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 S,T;(!u||!l)&&([S,T]=gA(this.url,this.headers)),this.service=u||S||"",this.region=l||T||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,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(L=>g||!yA.includes(L)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(L=>L+":"+(L==="host"?this.url.host:(this.headers.get(L)||"").replace(/\s+/g," "))).join(`
|
|
60
|
-
`),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!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,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=
|
|
59
|
+
-----END ${t}-----`},"default")});function Qm(e){let t=[],r=0;for(;r<e.length;){let n=ry(e.subarray(r));t.push(n),r+=n.byteLength}return t}function ry(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 RI(e){let t=Qm(Qm(ry(e).contents)[0].contents);return ps(t[t[0].raw[0]===160?6:5].raw)}function OI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Dl(t);return zl(RI(r),"PUBLIC KEY")}var Ym,Zm,Xm,cr,Wm,ey,ty,Wl,ny,vs=I(()=>{Se();ut();Ie();zm();j();lt();Ym=o(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(r,...Q));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return zl(ps(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Zm=o(e=>Ym("public","spki",e),"toSPKI"),Xm=o(e=>Ym("private","pkcs8",e),"toPKCS8"),cr=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])||cr(e,t,n+1)},"findOid"),Wm=o(e=>{switch(!0){case cr(e,[42,134,72,206,61,3,1,7]):return"P-256";case cr(e,[43,129,4,0,34]):return"P-384";case cr(e,[43,129,4,0,35]):return"P-521";case cr(e,[43,101,110]):return"X25519";case cr(e,[43,101,111]):return"X448";case cr(e,[43,101,112]):return"Ed25519";case cr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),ey=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=Wm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Wm(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"),ty=o((e,t,r)=>ey(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Wl=o((e,t,r)=>ey(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(Qm,"getElement");o(ry,"parseElement");o(RI,"spkiFromX509");o(OI,"getSPKI");ny=o((e,t,r)=>{let n;try{n=OI(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Wl(n,t,r)},"fromX509")});function NI(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 CI,Ql,iy=I(()=>{Se();j();Ie();o(NI,"subtleMapping");CI=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}=NI(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",re(e.k),...s);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...s)},"parse"),Ql=CI});async function oy(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Wl(e,t,r)}async function sy(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return ny(e,t,r)}async function ay(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return ty(e,t,r)}async function ur(e,t,r){var n;if(!Y(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?Ql({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Ql({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var Ii=I(()=>{Ie();vs();iy();j();$e();o(oy,"importSPKI");o(sy,"importX509");o(ay,"importPKCS8");o(ur,"importJWK")});var xI,LI,DI,lr,Pi=I(()=>{ut();lt();xI=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!ql(t))throw new TypeError(Fl(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),LI=o((e,t,r)=>{if(!ql(t))throw new TypeError(Fl(e,t,...Q));if(t.type==="secret")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),DI=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?xI(e,t):LI(e,t,r)},"checkKeyType"),lr=DI});async function UI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(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=Te(i,n,u,us(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function MI(e,t,r,n,i){let s;r instanceof Uint8Array?s=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(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 kI,Ai,Yl=I(()=>{ge();kl();Hl();Se();ar();ut();j();lt();o(UI,"cbcEncrypt");o(MI,"gcmEncrypt");kI=o(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(ms(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&dn(r,parseInt(e.slice(-3),10)),UI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&dn(r,parseInt(e.slice(1,4),10)),MI(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Ai=kI});async function cy(e,t,r,n){let i=e.slice(0,7);n||(n=hs(i));let{ciphertext:s,tag:a}=await Ai(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:ee(n),tag:ee(a)}}async function uy(e,t,r,n,i){let s=e.slice(0,7);return gs(s,t,r,n,i,new Uint8Array(0))}var Zl=I(()=>{Yl();$l();fs();Ie();o(cy,"wrap");o(uy,"unwrap")});async function HI(e,t,r,n,i){switch(lr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new R('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Es(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await ur(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new R('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new R('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await _s(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?Si(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new R("JWE Encrypted Key missing");return vi(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new R("JWE Encrypted Key missing");return Jm(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new R('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new R('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new R('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Gm(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return vi(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new R('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new R('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=re(n.iv),a=re(n.tag);return uy(e,t,r,s,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var ly,dy=I(()=>{bs();Gl();Kl();Jl();Ie();j();Ti();Ii();Pi();$e();Zl();o(HI,"decryptKeyManagement");ly=HI});function FI(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 St,mn=I(()=>{j();o(FI,"validateCrit");St=FI});var qI,Ri,Xl=I(()=>{qI=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"),Ri=qI});async function yn(e,t,r){var n;if(!Y(e))throw new R("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new R("JOSE Header missing");if(typeof e.iv!="string")throw new R("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new R("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new R("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new R("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new R("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new R("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new R("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new R("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let G=re(e.protected);i=JSON.parse(ue.decode(G))}catch{throw new R("JWE Protected Header is invalid")}if(!wt(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(St(R,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new R('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 R("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new R("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&Ri("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&Ri("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new nr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new nr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await ly(a,t,d,s,r)}catch(G){if(G instanceof TypeError||G instanceof R||G instanceof M)throw G;m=vt(c)}let h=re(e.iv),g=re(e.tag),_=X.encode((n=e.protected)!==null&&n!==void 0?n:""),S;e.aad!==void 0?S=Te(_,X.encode("."),X.encode(e.aad)):S=_;let T=await gs(c,m,re(e.ciphertext),h,g,S);s.zip==="DEF"&&(T=await(r?.inflateRaw||Um)(T));let k={plaintext:T};return e.protected!==void 0&&(k.protectedHeader=i),e.aad!==void 0&&(k.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(k.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(k.unprotectedHeader=e.header),p?{...k,key:t}:k}var Ss=I(()=>{Ie();$l();jl();j();pn();$e();dy();ge();Ti();mn();Xl();o(yn,"flattenedDecrypt")});async function Ts(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new R("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new R("Invalid Compact JWE");let l=await yn({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 ed=I(()=>{Ss();j();ge();o(Ts,"compactDecrypt")});async function py(e,t,r){if(!Y(e))throw new R("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new R("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new R("JWE Recipients has no members");for(let n of e.recipients)try{return await yn({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 Ht}var hy=I(()=>{Ss();j();$e();o(py,"generalDecrypt")});var $I,fy,my=I(()=>{Se();ut();Ie();lt();$I=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:ee(e)};if(!ae(e))throw new TypeError(oe(e,...Q,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await D.subtle.exportKey("jwk",e);return s},"keyToJWK"),fy=$I});async function yy(e){return Zm(e)}async function gy(e){return Xm(e)}async function Is(e){return fy(e)}var td=I(()=>{vs();vs();my();o(yy,"exportSPKI");o(gy,"exportPKCS8");o(Is,"exportJWK")});async function jI(e,t,r,n,i={}){let s,a,c;switch(lr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Es(r))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await Fm(r)).privateKey);let{x:p,y:m,crv:h,kty:g}=await Is(d),_=await _s(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?Si(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=m),u&&(a.apu=ee(u)),l&&(a.apv=ee(l)),e==="ECDH-ES"){c=_;break}c=n||vt(t);let S=e.slice(-6);s=await wi(S,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||vt(t),s=await Km(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||vt(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Vm(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||vt(t),s=await wi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||vt(t);let{iv:u}=i;({encryptedKey:s,...a}=await cy(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 Ps,rd=I(()=>{bs();Gl();Kl();Jl();Ie();Ti();j();td();Pi();Zl();o(jI,"encryptKeyManagement");Ps=jI});var nd,Ft,As=I(()=>{Ie();Yl();jl();fs();rd();j();pn();ge();mn();nd=Symbol(),Ft=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 R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!wt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(St(R,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let g;({cek:c,encryptedKey:a,parameters:g}=await Ps(i,s,t,this._cek,this._keyManagementParameters)),g&&(r&&nd in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=hs(s));let u,l,d;this._protectedHeader?l=X.encode(ee(JSON.stringify(this._protectedHeader))):l=X.encode(""),this._aad?(d=ee(this._aad),u=Te(l,X.encode("."),X.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let g=await(r?.deflateRaw||Mm)(this._plaintext);({ciphertext:p,tag:m}=await Ai(s,g,c,this._iv,u))}else({ciphertext:p,tag:m}=await Ai(s,this._plaintext,c,this._iv,u));let h={ciphertext:ee(p),iv:ee(this._iv),tag:ee(m)};return a&&(h.encrypted_key=ee(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var id,Rs,by=I(()=>{As();j();Ti();pn();rd();Ie();mn();id=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}},Rs=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new id(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new R("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Ft(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(!wt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new R('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(St(R,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=vt(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 m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Ft(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[nd]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await Ps(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:m});d.encrypted_key=ee(h),(l.unprotectedHeader||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function Oi(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 od=I(()=>{j();o(Oi,"subtleDsa")});function Ni(e,t,r){if(ae(t))return Lm(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(oe(t,...Q));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(oe(t,...Q,"Uint8Array"))}var sd=I(()=>{Se();ar();ut();lt();o(Ni,"getCryptoKey")});var VI,_y,Ey=I(()=>{od();Se();ws();sd();VI=o(async(e,t,r,n)=>{let i=await Ni(e,t,"verify");Hr(e,i);let s=Oi(e,i.algorithm);try{return await D.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),_y=VI});async function gn(e,t,r){var n;if(!Y(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let S=re(e.protected);i=JSON.parse(ue.decode(S))}catch{throw new z("JWS Protected Header is invalid")}if(!wt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=St(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&&Ri("algorithms",r.algorithms);if(l&&!l.has(u))throw new nr('"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),lr(u,t,"verify");let p=Te(X.encode((n=e.protected)!==null&&n!==void 0?n:""),X.encode("."),typeof e.payload=="string"?X.encode(e.payload):e.payload),m=re(e.signature);if(!await _y(u,t,m,p))throw new kr;let g;c?g=re(e.payload):typeof e.payload=="string"?g=X.encode(e.payload):g=e.payload;let _={payload:g};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var Os=I(()=>{Ie();Ey();j();ge();pn();$e();Pi();mn();Xl();o(gn,"flattenedVerify")});async function Ns(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await gn({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 ad=I(()=>{Os();j();ge();o(Ns,"compactVerify")});async function wy(e,t,r){if(!Y(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Y))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await gn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new kr}var vy=I(()=>{Os();j();$e();o(wy,"generalVerify")});var bn,cd=I(()=>{bn=o(e=>Math.floor(e.getTime()/1e3),"default")});var GI,_n,ud=I(()=>{GI=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,_n=o(e=>{let t=GI.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 Sy,BI,En,Cs=I(()=>{j();ge();cd();ud();$e();Sy=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),BI=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),En=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Sy(e.typ)!==Sy(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Y(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!BI(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=_n(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=bn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new ln('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,g=typeof l=="number"?l:_n(l);if(h-d>g)throw new ln('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Ty(e,t,r){var n;let i=await Ns(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:En(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Iy=I(()=>{ad();Cs();j();o(Ty,"jwtVerify")});async function Py(e,t,r){let n=await Ts(e,t,r),i=En(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var Ay=I(()=>{ed();Cs();j();o(Py,"jwtDecrypt")});var wn,ld=I(()=>{As();wn=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Ft(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 KI,Ry,Oy=I(()=>{od();Se();ws();sd();KI=o(async(e,t,r)=>{let n=await Ni(e,t,"sign");Hr(e,n);let i=await D.subtle.sign(Oi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Ry=KI});var dr,xs=I(()=>{Ie();Oy();pn();j();ge();Pi();mn();dr=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(!wt(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=St(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');lr(a,t,"sign");let c=this._payload;s&&(c=X.encode(ee(c)));let u;this._protectedHeader?u=X.encode(ee(JSON.stringify(this._protectedHeader))):u=X.encode("");let l=Te(u,X.encode("."),c),d=await Ry(a,t,l),p={signature:ee(d),payload:""};return s&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var vn,dd=I(()=>{xs();vn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new dr(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 pd,Ls,Ny=I(()=>{xs();j();pd=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 pd(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 dr(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 pr,Ds=I(()=>{cd();$e();ud();pr=class{static{o(this,"ProduceJWT")}constructor(t){if(!Y(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:bn(new Date)+_n(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:bn(new Date)+_n(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:bn(new Date)}:this._payload={...this._payload,iat:t},this}}});var Us,Cy=I(()=>{dd();j();ge();Ds();Us=class extends pr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new vn(X.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var Ms,xy=I(()=>{ld();ge();Ds();Ms=class extends pr{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 wn(X.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 hd(e,t){if(!Y(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":hr(e.crv,'"crv" (Curve) Parameter'),hr(e.x,'"x" (X Coordinate) Parameter'),hr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":hr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),hr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":hr(e.e,'"e" (Exponent) Parameter'),hr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":hr(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=X.encode(JSON.stringify(r));return ee(await as(t,n))}async function Ly(e,t){t??(t="sha256");let r=await hd(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var hr,Dy=I(()=>{xl();Ie();j();ge();$e();hr=o((e,t)=>{if(typeof e!="string"||!e)throw new gi(`${t} missing or invalid`)},"check");o(hd,"calculateJwkThumbprint");o(Ly,"calculateJwkThumbprintUri")});async function Uy(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ur({...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 My=I(()=>{Ii();$e();j();o(Uy,"EmbeddedJWK")});function JI(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 fd(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(zI)}function zI(e){return Y(e)}function WI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function ky(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ur({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new ir("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Hy(e){let t=new Ci(e);return async function(r,n){return t.getKey(r,n)}}var Ci,md=I(()=>{Ii();j();$e();o(JI,"getKtyFromAlg");o(fd,"isJWKSLike");o(zI,"isJWKLike");o(WI,"clone");Ci=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!fd(t))throw new ir("JSON Web Key Set malformed");this._jwks=WI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=JI(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 Mr;if(u!==1){let l=new bi,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await ky(d,p,n)}catch{continue}},l}return ky(this._cached,c,n)}};o(ky,"importWithAlgCache");o(Hy,"createLocalJWKSet")});var QI,Fy,qy=I(()=>{j();QI=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 _i:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),Fy=QI});function YI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function $y(e,t){let r=new yd(e,t);return async function(n,i){return r.getKey(n,i)}}var yd,jy=I(()=>{qy();j();md();o(YI,"isCloudflareWorkers");yd=class extends Ci{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 Mr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&YI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Fy(this._url,this._timeoutDuration,this._options).then(t=>{if(!fd(t))throw new ir("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($y,"createRemoteJWKSet")});var ks,Vy=I(()=>{Ie();ge();j();Cs();Ds();ks=class extends pr{static{o(this,"UnsecuredJWT")}encode(){let t=ee(JSON.stringify({alg:"none"})),r=ee(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:En(c,re(i),r),header:c}}}});var gd={};fo(gd,{decode:()=>xi,encode:()=>ZI});var ZI,xi,Hs=I(()=>{Ie();ZI=ee,xi=re});function Gy(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(xi(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var By=I(()=>{Hs();ge();$e();o(Gy,"decodeProtectedHeader")});function Ky(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=xi(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Y(i))throw new le("Invalid JWT Claims Set");return i}var Jy=I(()=>{Hs();ge();$e();j();o(Ky,"decodeJwt")});async function zy(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),or(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 bd(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 Wy(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:bd(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:bd(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:bd(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 _d=I(()=>{Se();j();Ei();o(zy,"generateSecret");o(bd,"getModulusLengthOption");o(Wy,"generateKeyPair")});async function Qy(e,t){return Wy(e,t)}var Yy=I(()=>{_d();o(Qy,"generateKeyPair")});async function Zy(e,t){return zy(e,t)}var Xy=I(()=>{_d();o(Zy,"generateSecret")});var Fs={};fo(Fs,{CompactEncrypt:()=>wn,CompactSign:()=>vn,EmbeddedJWK:()=>Uy,EncryptJWT:()=>Ms,FlattenedEncrypt:()=>Ft,FlattenedSign:()=>dr,GeneralEncrypt:()=>Rs,GeneralSign:()=>Ls,SignJWT:()=>Us,UnsecuredJWT:()=>ks,base64url:()=>gd,calculateJwkThumbprint:()=>hd,calculateJwkThumbprintUri:()=>Ly,compactDecrypt:()=>Ts,compactVerify:()=>Ns,createLocalJWKSet:()=>Hy,createRemoteJWKSet:()=>$y,decodeJwt:()=>Ky,decodeProtectedHeader:()=>Gy,errors:()=>Ul,exportJWK:()=>Is,exportPKCS8:()=>gy,exportSPKI:()=>yy,flattenedDecrypt:()=>yn,flattenedVerify:()=>gn,generalDecrypt:()=>py,generalVerify:()=>wy,generateKeyPair:()=>Qy,generateSecret:()=>Zy,importJWK:()=>ur,importPKCS8:()=>ay,importSPKI:()=>oy,importX509:()=>sy,jwtDecrypt:()=>Py,jwtVerify:()=>Ty});var qs=I(()=>{ed();Ss();hy();by();ad();Os();vy();Iy();Ay();ld();As();dd();xs();Ny();Cy();xy();Dy();My();md();jy();Vy();td();Ii();By();Jy();j();Yy();Xy();Hs()});var Sn=y($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.fetchRetry=void 0;var XI=O();async function eP(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 XI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(eP,"fetchRetry");$s.fetchRetry=eP});var Tn=y(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.GcpServiceAccount=et.fetchToken=et.exchangeGgpJwtForIdToken=et.exchangeFirebaseJwtForIdToken=et.getTokenFromGcpServiceAccount=void 0;var eg=(qs(),mo(Fs)),tP=O(),rP=Sn();async function nP({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new eg.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(nP,"getTokenFromGcpServiceAccount");et.getTokenFromGcpServiceAccount=nP;async function iP(e,t,r){return wd(e,{token:t,returnSecureToken:!0},r)}o(iP,"exchangeFirebaseJwtForIdToken");et.exchangeFirebaseJwtForIdToken=iP;async function oP(e,t,r){return wd(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(oP,"exchangeGgpJwtForIdToken");et.exchangeGgpJwtForIdToken=oP;async function wd(e,t,r){let n=await(0,rP.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 tP.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(wd,"fetchToken");et.fetchToken=wd;var Ed=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,eg.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}};et.GcpServiceAccount=Ed});var Vs=y(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.GoogleLogTransport=qt.ZuploToGCPMap=qt.GoogleCloudLoggingPlugin=void 0;var sP=O(),aP=ve(),vd=W(),Sd=Tn(),cP=kt(),tg=Et(),Td=class extends cP.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new js(this.options)}};qt.GoogleCloudLoggingPlugin=Td;var uP="https://logging.googleapis.com/v2/entries:write?alt=json";qt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var js=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=vd.Environment.instance.loggingEnvironmentType,this.#o=vd.Environment.instance.loggingEnvironmentStage,this.#n=vd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await Sd.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new sP.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,tg.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:qt.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,tg.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 Sd.GcpServiceAccount.init(this.#e));let r=await(0,Sd.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(uP,{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 aP.BatchDispatch("google-log-transport",1,this.dispatchFunction)};qt.GoogleLogTransport=js});var Id=y(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.gcpLogFormat=In.GCP_LOG_FORMAT=void 0;var rg=Et(),lP=Vs();In.GCP_LOG_FORMAT="gcp";function dP(e){let t={allMessages:(0,rg.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,rg.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:lP.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(dP,"gcpLogFormat");In.gcpLogFormat=dP});var ig=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.ConsoleTransport=void 0;var ng=Id(),Pd=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===ng.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,ng.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}])}};Gs.ConsoleTransport=Pd});var xd=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.DataDogTransport=Pn.DataDogLoggingPlugin=void 0;var pP=ve(),Ad=W(),hP=kt(),og=Et(),Cd=class extends hP.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Bs(this.options)}};Pn.DataDogLoggingPlugin=Cd;var Rd="__ddtags",Od="__ddattr",Nd=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),fP=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(Nd(n)):r.push(`${Nd(n)}:${Nd(i.toString())}`)}),r.join(",")},"formatTags"),Bs=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=Ad.Environment.instance.loggingEnvironmentType,this.#i=Ad.Environment.instance.loggingEnvironmentStage,this.#r=Ad.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[Rd];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[Rd]!==void 0);a>-1&&(Object.assign(n,s[a][Rd]),s.splice(a,1));let c={},u=r.custom[Od];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[Od]!==void 0);l>-1&&(Object.assign(c,s[l][Od]),s.splice(l,1));let d=(0,og.makeErrorsSerializable)(s),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,og.extractBestMessage)(d),service:t.loggingId,ddtags:fP(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new pP.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};Pn.DataDogTransport=Bs});var ag=y(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.ProcessTransport=void 0;var sg=Id(),Ld=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===sg.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,sg.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}])}};Ks.ProcessTransport=Ld});var ug=y(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.RemoteLogTransport=void 0;var mP=ve(),cg=W(),yP=Et(),gP=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,yP.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":cg.Environment.instance.systemUserAgent,"zp-dn":cg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Js,Dd=class{static{o(this,"RemoteLogTransport")}constructor(t){Js||(Js=new mP.BatchDispatch("remote-log-transport",1,gP(t)))}log(t,r){Js.enqueue(t),r.waitUntil(Js.waitUntilFlushed())}};zs.RemoteLogTransport=Dd});var lg=y(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.unifiedFormatter=Fr.SeverityNumberOpenTelemetryMap=void 0;Fr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var bP=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:Fr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Fr.unifiedFormatter=bP});var pg=y(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.UnifiedLogTransport=void 0;var _P=ve(),dg=W(),EP=lg(),wP=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,EP.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":dg.Environment.instance.systemUserAgent,"zp-dn":dg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Ws,Ud=class{static{o(this,"UnifiedLogTransport")}constructor(t){Ws||(Ws=new _P.BatchDispatch("unified-log-transport",1,wP(t)))}async log(t,r){Ws.enqueue(t),r.waitUntil(Ws.waitUntilFlushed())}};Qs.UnifiedLogTransport=Ud});var _g=y(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.LogInitializer=void 0;var vP=Rr(),SP=bt(),hg=wl(),fg=W(),mg=gm(),TP=kt(),IP=bm(),yg=_m(),gg=ig(),PP=xd(),AP=Vs(),bg=ag(),RP=ug(),OP=pg(),Md=(0,vP.debug)("zuplo:logging"),kd=class e{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(fg.Environment.instance,t),n=await e.setupUserCoreLogger(fg.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;Md("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(hg.SYSTEM_LOGGER);return s?i.push(new bg.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&i.push(new gg.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new OP.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new mg.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){Md("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=t,a=r.getService(hg.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new bg.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new gg.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new RP.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new AP.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new PP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return SP.plugins.forEach(c=>{c instanceof TP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new mg.CoreLogger(t.userLogLevel,"user",t.loggingId,s.BUILD_ID,n)}createRequestLoggers(t,r,n,i,s){Md("Gateway.createRequestLoggers");let a=new IP.LoggingContext(n,i,s),c=new yg.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new yg.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Ys.LogInitializer=kd});var Fd=y(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.UserRouteConfiguration=void 0;var Hd=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};Zs.UserRouteConfiguration=Hd});var $d=y(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Router=Tt.RouterError=Tt.LookupResult=Tt.RouterEntry=void 0;var Eg=O(),NP=at(),CP=Fd(),Xs=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};Tt.RouterEntry=Xs;var Li=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Tt.LookupResult=Li;var ea=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};Tt.RouterError=ea;var qd=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof CP.UserRouteConfiguration||t instanceof NP.SystemRouteConfiguration))throw new Eg.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 Xs(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new ea(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new Eg.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 Li(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 Li(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Tt.Router=qd});var Or=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.Gateway=void 0;var xP=Rr(),wg=Kf(),vg=em(),LP=tm(),Sg=rm(),Tg=sm(),$t=Xr(),ta=Nr(),Ig=ym(),Pt=O(),Di=bt(),DP=_g(),UP=Ut(),MP=ie(),kP=hl(),HP=Yt(),FP=sn(),qP=He(),$P=$d(),jd=at(),Pg=Fd(),jP=Ke(),VP=zo(),Vd=W(),Ag=Ur(),Rg=Ju(),It=(0,xP.debug)("zuplo:runtime"),GP=o(e=>{let t=e.findIndex(r=>r.name===jd.systemNoVersion.name);return t>-1?[...e.splice(t),jd.systemNoVersion]:[...e,jd.systemNoVersion]},"setupSystemNoVersion"),Gd=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,It("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,s){if(It("Gateway.initialize"),!e.#e){await(0,Di.initializeRuntime)(s);let a=await DP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,VP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){It("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new Pt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[FP.policyProcessor,kP.corsProcessor,HP.metricsProcessor];#i;setupRoutes=()=>{It("Gateway.setupRoutes");let t=this.routeData,r=GP(t.versions),n=new $P.Router(r);if(t.routes.length===0)return(0,wg.registerBuildRoute)(n,this),(0,Tg.registerPingRoute)(n,this),(0,vg.registerCorsRoute)(n,this),(0,LP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Ig.registerDevPortalLegacyRedirectRoute)(n,this),(0,Ig.registerDevPortalV3Route)(n,this)),(0,wg.registerBuildRoute)(n,this),(0,Tg.registerPingRoute)(n,this),(0,vg.registerCorsRoute)(n,this);for(let s of Di.plugins)s instanceof Di.SystemRuntimePlugin&&s.registerRoutes(n,this);return t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Pt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new UP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Pg.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Sg.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new Pt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=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 It("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){It("Gateway.internalErrorResponse");let i={};if(Vd.Environment.instance.isDeno){if(n instanceof Pt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,Ag.serializeError)(n.cause);"stack"in s&&(s.stack=(0,Ag.cleanStack)(s.stack)),i={cause:s}}}return MP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return $t.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Vd.Environment.instance.isDeno&&$t.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get($t.REQUEST_ID_HEADER)??t.headers.get($t.LEGACY_REQUEST_ID_HEADER),i=t.headers.get($t.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set($t.REQUEST_ID_HEADER,n),t=new Request(t,{headers:S})}if(["GET","HEAD"].includes(t.method)&&t.body){let S=new Headers(t.headers);S.set($t.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:S,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 Pt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new ta.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new qP.ZuploRequest(m,{params:d.params}),g=new ta.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,event:r,custom:s,incomingRequestProperties:p}),_=ta.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===Sg.notFoundRouteConfiguration&&Di.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof Pg.UserRouteConfiguration)}try{if(jP.SystemLogMap.addLogger(g,c),Vd.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,Rg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let k=await(0,Di.invokeOnRequestExtensions)(h,g);if(k instanceof Response)return k;{let G=ta.ZuploContextExtensions.getContextExtensions(g);h=k,G.latestRequest=h}}(0,Rg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;BP(S,d,t),It("Gateway.handleRequest - call user handler");let T=await S(h,g);if(It("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new Pt.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new Pt.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get($t.REQUEST_ID_HEADER)===null&&!T.webSocket){let k=new Headers(T.headers);return k.set($t.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:k,cf:T.cf})}else return T}catch(S){return It("Gateway - error executing handler",S),S instanceof Pt.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};ra.Gateway=Gd;function BP(e,t,r){if(It("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new Pt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Pt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(BP,"checkHandler")});var Og=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.invokeInboundPolicy=void 0;var KP=O(),JP=Or(),zP=sn(),WP=o(async(e,t,r)=>{let n=JP.Gateway.instance.routeData.policies,i=(0,zP.getInboundPolicyInstances)([e],n);if(i.length===0)throw new KP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);return i[0].handler(t,r)},"invokeInboundPolicy");na.invokeInboundPolicy=WP});var Nr=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.SystemZuploContext=tt.ZuploContextExtensions=tt.ResponseSentEvent=tt.ResponseSendingEvent=tt.HeaderIncomingRequestProperties=void 0;var _e=Xr(),QP=O(),YP=Og(),Bd=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}}};tt.HeaderIncomingRequestProperties=Bd;var Kd=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};tt.ResponseSendingEvent=Kd;var Jd=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};tt.ResponseSentEvent=Jd;var Ui=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 QP.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}};tt.ZuploContextExtensions=Ui;var zd=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,event: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,YP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ui.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ui.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};tt.SystemZuploContext=zd});var Qd=y(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.ContextData=void 0;var Wd=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};ia.ContextData=Wd});var Mi=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.environment=fr.isZuploReadableEnvVariableName=fr.isRestrictedEnvVariableName=void 0;var ZP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Ng(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!ZP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(Ng,"isRestrictedEnvVariableName");fr.isRestrictedEnvVariableName=Ng;function Cg(e){return!!e.startsWith("ZUPLO_")}o(Cg,"isZuploReadableEnvVariableName");fr.isZuploReadableEnvVariableName=Cg;var XP=new Proxy({},{get(e,t){if(Ng(String(t))&&!Cg(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});fr.environment=XP});var Yd=y(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.externalServiceHandler=An.externalServiceTunnelConfig=void 0;var eA=Rr(),qr=O(),tA=Zd(),ki=W(),dt=(0,eA.debug)("zuplo:runtime:external-service");function Lg(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=ki.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(Lg,"getServiceAuth");async function rA(e){let t=Lg();if(!t)throw dt("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw dt("Cannot call external service with Request object"),new qr.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(ki.Environment.instance.useSha256ServiceRouting){dt("Using sha256 service routing");let a=ki.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await Dg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw dt("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(rA,"externalServiceTunnelConfig");An.externalServiceTunnelConfig=rA;async function nA(e,t){let r=Lg();if(r)if(dt(`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(ki.Environment.instance.useSha256ServiceRouting){dt("Using sha256 service routing");let d=ki.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Dg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw dt("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);dt(`Calling external service: ${u.toString()}`);let l=await(0,tA.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 qr.RuntimeError("Could not connect to secure tunnel.");return l}else throw dt("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw dt("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.")}o(nA,"externalServiceHandler");An.externalServiceHandler=nA;async function Dg(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=iA(n);dt(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await xg(`${s}-${i}`),l=await xg(`${s}-${a}-${c}`);return`${u}.${l}`}o(Dg,"hashServiceName");async function xg(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(xg,"hashSegment");function iA(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(iA,"sanitizeEnvironmentType")});var Zd=y(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.originalFetch=void 0;var oA=Yd(),Ug=new Map;Ug.set("service:",oA.externalServiceHandler);Rn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=sA(t);if(typeof e=="string"){let n=new URL(e),i=Ug.get(n.protocol);return i?i(e,r):(0,Rn.originalFetch)(e,r)}else return(0,Rn.originalFetch)(e,r)};var sA=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 Hg=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.Handler=On.purgeGatewayCache=void 0;var aA=O(),kg=Or(),Mg=W(),cA=o(()=>{kg.Gateway.purgeGatewayCache()},"purgeGatewayCache");On.purgeGatewayCache=cA;var Xd=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Mg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await kg.Gateway.initialize(this.routeLoader,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 aA.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:Mg.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)}};On.Handler=Xd});var jg=y(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function uA(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(uA,"lexer");function ep(e,t){t===void 0&&(t={});for(var r=uA(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(Nn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var me=d(ne);if(me!==void 0)return me;var Be=r[u],w=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(w," at ").concat(H,", expected ").concat(ne))},"mustConsume"),m=o(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var S=h||"";i.indexOf(S)===-1&&(l+=S,S=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:S,suffix:"",pattern:_||s,modifier:d("MODIFIER")||""});continue}var T=h||d("ESCAPED_CHAR");if(T){l+=T;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var S=m(),G=d("NAME")||"",L=d("PATTERN")||"",Z=m();p("CLOSE"),a.push({name:G||(L?c++:""),pattern:G&&!L?s:L,prefix:S,suffix:Z,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(ep,"parse");Re.parse=ep;function lA(e,t){return Fg(ep(e,t),t)}o(lA,"compile");Re.compile=lA;function Fg(e,t){t===void 0&&(t={});var r=tp(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 m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<m.length;_++){var S=i(m[_],p);if(a&&!c[d].test(S))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var S=i(String(m),p);if(a&&!c[d].test(S))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix;continue}if(!h){var T=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(T))}}return l}}o(Fg,"tokensToFunction");Re.tokensToFunction=Fg;function dA(e,t){var r=[],n=rp(e,r,t);return qg(n,r,t)}o(dA,"match");Re.match=dA;function qg(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(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(g){return i(g,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(qg,"regexpToFunction");Re.regexpToFunction=qg;function Nn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(Nn,"escapeString");function tp(e){return e&&e.sensitive?"":"i"}o(tp,"flags");function pA(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(pA,"regexpToRegexp");function hA(e,t,r){var n=e.map(function(i){return rp(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),tp(r))}o(hA,"arrayToRegexp");function fA(e,t,r){return $g(ep(e,r),t,r)}o(fA,"stringToRegexp");function $g(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(Nn(g),"]|$"),S="[".concat(Nn(m),"]"),T=a?"^":"",k=0,G=e;k<G.length;k++){var L=G[k];if(typeof L=="string")T+=Nn(d(L));else{var Z=Nn(d(L.prefix)),ne=Nn(d(L.suffix));if(L.pattern)if(t&&t.push(L),Z||ne)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";T+="(?:".concat(Z,"((?:").concat(L.pattern,")(?:").concat(ne).concat(Z,"(?:").concat(L.pattern,"))*)").concat(ne,")").concat(me)}else T+="(?:".concat(Z,"(").concat(L.pattern,")").concat(ne,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?T+="((?:".concat(L.pattern,")").concat(L.modifier,")"):T+="(".concat(L.pattern,")").concat(L.modifier);else T+="(?:".concat(Z).concat(ne,")").concat(L.modifier)}}if(u)i||(T+="".concat(S,"?")),T+=r.endsWith?"(?=".concat(_,")"):"$";else{var Be=e[e.length-1],w=typeof Be=="string"?S.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(T+="(?:".concat(S,"(?=").concat(_,"))?")),w||(T+="(?=".concat(S,"|").concat(_,")"))}return new RegExp(T,tp(r))}o($g,"tokensToRegexp");Re.tokensToRegexp=$g;function rp(e,t,r){return e instanceof RegExp?pA(e,t):Array.isArray(e)?hA(e,t,r):fA(e,t,r)}o(rp,"pathToRegexp");Re.pathToRegexp=rp});var sp=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.AwsV4Signer=Cn.AwsClient=void 0;var mA=Rr(),Kg=O(),yA=(0,mA.debug)("zuplo:runtime"),ip=new TextEncoder,Vg={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"},gA=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],op=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 oa(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){yA("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 Kg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};Cn.AwsClient=op;var oa=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:m,appendSessionToken:h,allHeaders:g,singleEncode:_}){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 S,T;(!u||!l)&&([S,T]=bA(this.url,this.headers)),this.service=u||S||"",this.region=l||T||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,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(L=>g||!gA.includes(L)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(L=>L+":"+(L==="host"?this.url.host:(this.headers.get(L)||"").replace(/\s+/g," "))).join(`
|
|
60
|
+
`),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!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,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Bg(this.encodedPath);let G=new Set;this.encodedSearch=[...this.url.searchParams].filter(([L])=>{if(!L)return!1;if(this.service==="s3"){if(G.has(L))return!1;G.add(L)}return!0}).map(L=>L.map(Z=>Bg(encodeURIComponent(Z)))).sort(([L,Z],[ne,me])=>L<ne?-1:L>ne?1:Z<me?-1:Z>me?1:0).map(L=>L.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let t=this.datetime.slice(0,8),r=[this.secretAccessKey,t,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await Hi("AWS4"+this.secretAccessKey,t),s=await Hi(i,this.region),a=await Hi(s,this.service);n=await Hi(a,"aws4_request"),this.cache.set(r,n)}return np(await Hi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,np(await Gg(await this.canonicalString()))].join(`
|
|
61
61
|
`)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
|
|
62
62
|
`,this.signedHeaders,await this.hexBodyHash()].join(`
|
|
63
|
-
`)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Gg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=ep(await jg(this.body||""))}return t}};On.AwsV4Signer=na;async function Ui(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?tp.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,tp.encode(t))}o(Ui,"hmac");async function jg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?tp.encode(e):e)}o(jg,"hash");function ep(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(ep,"buf2hex");function Vg(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Vg,"encodeRfc3986");function gA(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 $g?[$g[s],a]:[s,a]}o(gA,"guessServiceRegion")});var Bg=y(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.convertStringToUtf8Array=At.convertUtf8ArrayToString=At.base64Encode=At.base64Decode=void 0;function bA(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(bA,"b64ToUint6");function _A(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|=bA(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(_A,"base64Decode");At.base64Decode=_A;function ia(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(ia,"uint6ToB64");function wA(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(ia(i>>>18&63),ia(i>>>12&63),ia(i>>>6&63),ia(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(wA,"base64Encode");At.base64Encode=wA;function EA(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(EA,"convertUtf8ArrayToString");At.convertUtf8ArrayToString=EA;function vA(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(vA,"convertStringToUtf8Array");At.convertStringToUtf8Array=vA});var Kg=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.toCLFDate=void 0;function Nn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(Nn,"numberToString");function SA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=Nn(Math.floor(r/60)),s=Nn(r%60);return`${n}${i}${s}`}o(SA,"getCLFOffset");function TA(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=Nn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=Nn(e.getHours()),a=Nn(e.getMinutes()),c=Nn(e.getSeconds()),u=SA(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(TA,"toCLFDate");oa.toCLFDate=TA});var Xg=y(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.getResponse=mr.awsLambdaHandler=mr.AwsLambdaHandlerExtensions=void 0;var IA=Rr(),Jg=qg(),Mi=O(),PA=Mt(),AA=np(),Wg=Bg(),Qg=Kg(),zg=(0,IA.debug)("zuplo:runtime"),RA="X-Amzn-Trace-Id",OA="x-amzn-errortype",Yg=[],NA=o(async(e,t,r)=>{let n=r;for await(let i of Yg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Je=class extends Mi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(RA)??void 0,this.errorType=r.get(OA)??void 0}};mr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Yg.push(e)}};async function CA(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 Mi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Mi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Mi.ConfigurationError("region is not set in the handler options");if(!s)throw new Mi.ConfigurationError("functionName is not set in the handler options");let l=new AA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(zg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await DA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=LA(e,t):g=await xA(e,t,{useAwsResourcePathStyle:c}),zg("Calling onSendingAwsLambdaEvent hook");let _=await NA(e,t,g);_.body=p,_.isBase64Encoded=m;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return Zg(S)}catch(T){if(T instanceof Je){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&T.traceId?{AMZN_TRACE_ID_HEADER:T.traceId}:void 0;return PA.HttpProblems.internalServerError(e,t,void 0,k)}throw T}}o(CA,"awsLambdaHandler");mr.awsLambdaHandler=CA;async function Zg(e){let t;try{t=await e.json()}catch{throw new Je("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Je(t.message,e.headers):new Je(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Je(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Je(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Je(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Je(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Je("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Je("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Wg.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Je(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(Zg,"getResponse");mr.getResponse=Zg;async function xA(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,Qg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:MA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(xA,"buildEventVersion1");function LA(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,Qg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(LA,"buildEventVersion2");async function DA(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&&UA(t,i)){let s=await e.arrayBuffer();r=(0,Wg.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(DA,"getBodyResult");function UA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(UA,"matchesContentType");function MA(e,t=!1){if(!t)return e;let r=(0,Jg.parse)(e),n=(0,Jg.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(MA,"getResourcePath")});var xn=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.getHandlerUserLogFunction=Cn.logBadGatewayResponses=void 0;var kA=Ke(),HA=W(),FA=[502,503,504];async function qA(e,t){if(FA.includes(e.status)){let r=kA.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(qA,"logBadGatewayResponses");Cn.logBadGatewayResponses=qA;var ip;function $A(e){if(ip===void 0){let r=HA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),ip=r}return e.log[ip]}o($A,"getHandlerUserLogFunction");Cn.getHandlerUserLogFunction=$A});var tb=y(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.openApiSpecHandler=void 0;var eb=O(),jA=ie(),op=W(),VA=xn();async function GA(e,t){let r=op.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=op.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new eb.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=BA(s);if(!a.isValid)throw new eb.ConfigurationError(a.error);let c;op.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 jA.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,VA.logBadGatewayResponses)(l,t),l}o(GA,"openApiSpecHandler");sa.openApiSpecHandler=GA;var BA=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 rb=y(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.redirectHandler=void 0;var KA=O();async function JA(e,t){let r=t.route.handler.options;if(!r.location)throw new KA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(JA,"redirectHandler");aa.redirectHandler=JA});var ib=y(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.urlForwardHandler=void 0;var zA=O(),nb=xn();function WA(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(WA,"join");async function QA(e,t){let r=(0,nb.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 zA.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=WA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,nb.logBadGatewayResponses)(p,t),p}o(QA,"urlForwardHandler");ca.urlForwardHandler=QA});var sb=y(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.urlRewriteHandler=void 0;var YA=O(),ob=xn(),ZA=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 XA(e,t){let r=(0,ob.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new YA.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?ZA(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,ob.logBadGatewayResponses)(d,t),d}o(XA,"urlRewriteHandler");ua.urlRewriteHandler=XA});var cb=y(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.webSocketHandler=void 0;var ab=O(),eR=zd(),tR=Mt(),rR=W(),nR=xn();async function iR(e,t){let r=rR.Environment.instance,n=t.route.handler.options,i=(0,nR.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new ab.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return tR.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new ab.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,eR.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let S in h.tunnelHeaders)p.set(S,h.tunnelHeaders[S])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(iR,"webSocketHandler");la.webSocketHandler=iR});var ub=y(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.webSocketPolicyProcessor=Ln.getWebSocketPolicyFunctions=void 0;var oR=O(),sR=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 oR.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Ln.getWebSocketPolicyFunctions=sR;var aR=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");Ln.webSocketPolicyProcessor=aR});var db=y(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.webSocketPipelineHandler=void 0;var sp=O(),cR=Mt(),uR=W(),lR=xn(),ap=ub();function lb(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{let c=o(async u=>{let l=await(0,ap.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(lb,"wireUpListeners");async function dR(e,t){let r=uR.Environment.instance,n=t.route.handler.options,i=(0,lR.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new sp.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return cR.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new sp.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 sp.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let T=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(k)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),m.accept();let _=n.policies&&n.policies.inbound?(0,ap.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,ap.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return lb(m,g,e,t,_),lb(g,m,e,t,S),new Response(null,{status:101,webSocket:p})}o(dR,"webSocketPipelineHandler");da.webSocketPipelineHandler=dR});var pb=y(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.DynaTraceLoggingPlugin=void 0;var pR=ve(),cp=W(),hR=Ur(),fR=kt(),mR=wt(),up=class extends fR.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new lp(this.options)}};pa.DynaTraceLoggingPlugin=up;var lp=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=cp.Environment.instance.loggingEnvironmentType,this.#i=cp.Environment.instance.loggingEnvironmentStage,this.#r=cp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,mR.stringifyNonString)((0,hR.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 pR.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var hb=y(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.LokiLoggingPlugin=void 0;var yR=ve(),dp=W(),gR=Ur(),bR=kt(),_R=wt(),pp=class extends bR.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new fp(this.options)}};ha.LokiLoggingPlugin=pp;var hp=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 wR(e,t){return btoa(`${e}:${t}`)}o(wR,"createBasicDigest");var fp=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=wR(t.username,t.password),this.#n=dp.Environment.instance.loggingEnvironmentType,this.#i=dp.Environment.instance.loggingEnvironmentStage,this.#r=dp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new hp(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,_R.stringifyNonString)((0,gR.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 yR.BatchDispatch("loki-log-transport",10,this.#s)}});var fb=y(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.SumoLogicLoggingPlugin=void 0;var ER=ve(),mp=W(),vR=Ur(),SR=kt(),TR=wt(),yp=class extends SR.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new gp(this.options)}};fa.SumoLogicLoggingPlugin=yp;var gp=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=mp.Environment.instance.loggingEnvironmentType,this.#n=mp.Environment.instance.loggingEnvironmentStage,this.#t=mp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,TR.stringifyNonString)((0,vR.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
|
|
64
|
-
`),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new
|
|
65
|
-
`),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new
|
|
63
|
+
`)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Kg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=np(await Gg(this.body||""))}return t}};Cn.AwsV4Signer=oa;async function Hi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?ip.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,ip.encode(t))}o(Hi,"hmac");async function Gg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?ip.encode(e):e)}o(Gg,"hash");function np(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(np,"buf2hex");function Bg(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Bg,"encodeRfc3986");function bA(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 Vg?[Vg[s],a]:[s,a]}o(bA,"guessServiceRegion")});var Jg=y(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.convertStringToUtf8Array=At.convertUtf8ArrayToString=At.base64Encode=At.base64Decode=void 0;function _A(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(_A,"b64ToUint6");function EA(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|=_A(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(EA,"base64Decode");At.base64Decode=EA;function sa(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(sa,"uint6ToB64");function wA(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(sa(i>>>18&63),sa(i>>>12&63),sa(i>>>6&63),sa(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(wA,"base64Encode");At.base64Encode=wA;function vA(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(vA,"convertUtf8ArrayToString");At.convertUtf8ArrayToString=vA;function SA(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(SA,"convertStringToUtf8Array");At.convertStringToUtf8Array=SA});var zg=y(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.toCLFDate=void 0;function xn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(xn,"numberToString");function TA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=xn(Math.floor(r/60)),s=xn(r%60);return`${n}${i}${s}`}o(TA,"getCLFOffset");function IA(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=xn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=xn(e.getHours()),a=xn(e.getMinutes()),c=xn(e.getSeconds()),u=TA(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(IA,"toCLFDate");aa.toCLFDate=IA});var tb=y(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.getResponse=mr.awsLambdaHandler=mr.AwsLambdaHandlerExtensions=void 0;var PA=Rr(),Wg=jg(),Fi=O(),AA=Mt(),RA=sp(),Yg=Jg(),Zg=zg(),Qg=(0,PA.debug)("zuplo:runtime"),OA="X-Amzn-Trace-Id",NA="x-amzn-errortype",Xg=[],CA=o(async(e,t,r)=>{let n=r;for await(let i of Xg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Je=class extends Fi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(OA)??void 0,this.errorType=r.get(NA)??void 0}};mr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Xg.push(e)}};async function xA(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 Fi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Fi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Fi.ConfigurationError("region is not set in the handler options");if(!s)throw new Fi.ConfigurationError("functionName is not set in the handler options");let l=new RA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Qg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await UA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=DA(e,t):g=await LA(e,t,{useAwsResourcePathStyle:c}),Qg("Calling onSendingAwsLambdaEvent hook");let _=await CA(e,t,g);_.body=p,_.isBase64Encoded=m;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return eb(S)}catch(T){if(T instanceof Je){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&T.traceId?{AMZN_TRACE_ID_HEADER:T.traceId}:void 0;return AA.HttpProblems.internalServerError(e,t,void 0,k)}throw T}}o(xA,"awsLambdaHandler");mr.awsLambdaHandler=xA;async function eb(e){let t;try{t=await e.json()}catch{throw new Je("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Je(t.message,e.headers):new Je(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Je(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Je(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Je(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Je(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Je("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Je("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Yg.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Je(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(eb,"getResponse");mr.getResponse=eb;async function LA(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,Zg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:kA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(LA,"buildEventVersion1");function DA(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,Zg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(DA,"buildEventVersion2");async function UA(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&MA(t,i)){let s=await e.arrayBuffer();r=(0,Yg.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(UA,"getBodyResult");function MA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(MA,"matchesContentType");function kA(e,t=!1){if(!t)return e;let r=(0,Wg.parse)(e),n=(0,Wg.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(kA,"getResourcePath")});var Dn=y(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.getHandlerUserLogFunction=Ln.logBadGatewayResponses=void 0;var HA=Ke(),FA=W(),qA=[502,503,504];async function $A(e,t){if(qA.includes(e.status)){let r=HA.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($A,"logBadGatewayResponses");Ln.logBadGatewayResponses=$A;var ap;function jA(e){if(ap===void 0){let r=FA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),ap=r}return e.log[ap]}o(jA,"getHandlerUserLogFunction");Ln.getHandlerUserLogFunction=jA});var nb=y(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.openApiSpecHandler=void 0;var rb=O(),VA=ie(),cp=W(),GA=Dn();async function BA(e,t){let r=cp.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=cp.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new rb.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=KA(s);if(!a.isValid)throw new rb.ConfigurationError(a.error);let c;cp.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return VA.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,GA.logBadGatewayResponses)(l,t),l}o(BA,"openApiSpecHandler");ca.openApiSpecHandler=BA;var KA=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 ib=y(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.redirectHandler=void 0;var JA=O();async function zA(e,t){let r=t.route.handler.options;if(!r.location)throw new JA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(zA,"redirectHandler");ua.redirectHandler=zA});var sb=y(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.urlForwardHandler=void 0;var WA=O(),ob=Dn();function QA(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(QA,"join");async function YA(e,t){let r=(0,ob.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 WA.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=QA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,ob.logBadGatewayResponses)(p,t),p}o(YA,"urlForwardHandler");la.urlForwardHandler=YA});var cb=y(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.urlRewriteHandler=void 0;var ZA=O(),ab=Dn(),XA=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 eR(e,t){let r=(0,ab.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new ZA.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?XA(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,ab.logBadGatewayResponses)(d,t),d}o(eR,"urlRewriteHandler");da.urlRewriteHandler=eR});var lb=y(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.webSocketHandler=void 0;var ub=O(),tR=Yd(),rR=Mt(),nR=W(),iR=Dn();async function oR(e,t){let r=nR.Environment.instance,n=t.route.handler.options,i=(0,iR.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new ub.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return rR.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new ub.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,tR.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let S in h.tunnelHeaders)p.set(S,h.tunnelHeaders[S])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(oR,"webSocketHandler");pa.webSocketHandler=oR});var db=y(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.webSocketPolicyProcessor=Un.getWebSocketPolicyFunctions=void 0;var sR=O(),aR=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 sR.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Un.getWebSocketPolicyFunctions=aR;var cR=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");Un.webSocketPolicyProcessor=cR});var hb=y(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.webSocketPipelineHandler=void 0;var up=O(),uR=Mt(),lR=W(),dR=Dn(),lp=db();function pb(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{let c=o(async u=>{let l=await(0,lp.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(pb,"wireUpListeners");async function pR(e,t){let r=lR.Environment.instance,n=t.route.handler.options,i=(0,dR.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new up.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return uR.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new up.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 up.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let T=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(k)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),m.accept();let _=n.policies&&n.policies.inbound?(0,lp.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,lp.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return pb(m,g,e,t,_),pb(g,m,e,t,S),new Response(null,{status:101,webSocket:p})}o(pR,"webSocketPipelineHandler");ha.webSocketPipelineHandler=pR});var fb=y(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.DynaTraceLoggingPlugin=void 0;var hR=ve(),dp=W(),fR=Ur(),mR=kt(),yR=Et(),pp=class extends mR.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new hp(this.options)}};fa.DynaTraceLoggingPlugin=pp;var hp=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=dp.Environment.instance.loggingEnvironmentType,this.#i=dp.Environment.instance.loggingEnvironmentStage,this.#r=dp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,yR.stringifyNonString)((0,fR.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 hR.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var mb=y(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.LokiLoggingPlugin=void 0;var gR=ve(),fp=W(),bR=Ur(),_R=kt(),ER=Et(),mp=class extends _R.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new gp(this.options)}};ma.LokiLoggingPlugin=mp;var yp=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 wR(e,t){return btoa(`${e}:${t}`)}o(wR,"createBasicDigest");var gp=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=wR(t.username,t.password),this.#n=fp.Environment.instance.loggingEnvironmentType,this.#i=fp.Environment.instance.loggingEnvironmentStage,this.#r=fp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new yp(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,ER.stringifyNonString)((0,bR.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 gR.BatchDispatch("loki-log-transport",10,this.#s)}});var yb=y(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.SumoLogicLoggingPlugin=void 0;var vR=ve(),bp=W(),SR=Ur(),TR=kt(),IR=Et(),_p=class extends TR.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ep(this.options)}};ya.SumoLogicLoggingPlugin=_p;var Ep=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=bp.Environment.instance.loggingEnvironmentType,this.#n=bp.Environment.instance.loggingEnvironmentStage,this.#t=bp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,IR.stringifyNonString)((0,SR.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 vR.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var bb=y(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.VMWareLogInsightTransport=Mn.VMWareLogInsightLoggingPlugin=void 0;var PR=O(),AR=ve(),wp=W(),RR=kt(),gb=Et(),OR="d3a5b78f-8236-48f5-b1df-4fe269d41172",vp=class extends RR.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ga(this.options)}};Mn.VMWareLogInsightLoggingPlugin=vp;var ga=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new PR.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=wp.Environment.instance.loggingEnvironmentType,this.#n=wp.Environment.instance.loggingEnvironmentStage,this.#t=wp.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,gb.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,gb.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/${OR}`,{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 AR.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};Mn.VMWareLogInsightTransport=ga});var Eb=y(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.AWSLogTransport=kn.AWSLoggingPlugin=void 0;var NR=sp(),CR=ve(),_b=W(),xR=Ur(),LR=kt(),DR=Et(),Sp=class extends LR.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ba(this.options)}};kn.AWSLoggingPlugin=Sp;var ba=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new CR.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 NR.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=_b.Environment.instance.loggingEnvironmentType,this.environment=_b.Environment.instance.deploymentName}log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,DR.stringifyNonString)((0,xR.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())}};kn.AWSLogTransport=ba});var wb=y(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var UR=xd();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return UR.DataDogLoggingPlugin}});var MR=fb();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return MR.DynaTraceLoggingPlugin}});var kR=Vs();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return kR.GoogleCloudLoggingPlugin}});var HR=mb();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return HR.LokiLoggingPlugin}});var FR=yb();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return FR.SumoLogicLoggingPlugin}});var qR=bb();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return qR.VMWareLogInsightLoggingPlugin}});var $R=Eb();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return $R.AWSLoggingPlugin}})});var vb=y(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.DataDogMetricsError=yr.DataDogMetricsTransport=yr.DataDogMetricsPlugin=void 0;var jR=Ke(),VR=ve(),GR=Ho(),Tp=new WeakMap,BR={tags:[]},Ip=class extends GR.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new _a(this.options)}static setContext(t,r){let n=Tp.get(t);n||(n=BR);let i=Object.assign({...n},r);Tp.set(t,i)}};yr.DataDogMetricsPlugin=Ip;var _a=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 VR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,jR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(Tp.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 Ea(await n.text())}};yr.DataDogMetricsTransport=_a;var Ea=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};yr.DataDogMetricsError=Ea});var Sb=y(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.DynaTraceMetricsError=gr.DynaTraceMetricsTransport=gr.DynatraceMetricsPlugin=void 0;var KR=Ke(),JR=ve(),zR=Ho(),Pp=new WeakMap,WR={dimensions:[]},Ap=class extends zR.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new wa(this.options)}static setContext(t,r){let n=Pp.get(t);n||(n=WR);let i=Object.assign({...n},r);Pp.set(t,i)}};gr.DynatraceMetricsPlugin=Ap;var wa=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 JR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,KR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(Pp.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 va(await n.text())}};gr.DynaTraceMetricsTransport=wa;var va=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};gr.DynaTraceMetricsError=va});var Tb=y(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.DynatraceMetricsPlugin=Hn.DataDogMetricsPlugin=void 0;var QR=vb();Object.defineProperty(Hn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return QR.DataDogMetricsPlugin}});var YR=Sb();Object.defineProperty(Hn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return YR.DynatraceMetricsPlugin}})});var Ib=y(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.AuditLogDataStaxProvider=void 0;var Rp=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)})}))}};Sa.AuditLogDataStaxProvider=Rp});var Ab=y(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.AuditLogPlugin=void 0;var ZR=bt(),XR=ve(),Op=class extends ZR.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new Np(t,this.#e,this.#t)}};Ta.AuditLogPlugin=Op;var Pb=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),e0={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Np=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...e0};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 XR.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?Pb(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?Pb(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(m=>{r.log.error(m)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var Rb=y(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.StripeSignatureVerificationError=Fn.StripeError=void 0;var Ia=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(t={}){super(t.message),this.type=this.constructor.name,this.raw=t,this.rawType=t.type,this.code=t.code,this.doc_url=t.doc_url,this.param=t.param,this.detail=t.detail,this.headers=t.headers,this.requestId=t.requestId,this.statusCode=t.statusCode,this.message=t.message,this.charge=t.charge,this.decline_code=t.decline_code,this.payment_intent=t.payment_intent,this.payment_method=t.payment_method,this.payment_method_type=t.payment_method_type,this.setup_intent=t.setup_intent,this.source=t.source}};Fn.StripeError=Ia;var Cp=class extends Ia{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Fn.StripeSignatureVerificationError=Cp});var Nb=y(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.computeHMACSignatureAsync=qn.constructEventAsync=void 0;var $r=Rb(),t0="v1",r0=300;async function n0(e,t,r,n=r0,i){return await o0(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}o(n0,"constructEventAsync");qn.constructEventAsync=n0;function i0(e,t){return`${t.timestamp}.${e}`}o(i0,"makeHMACContent");async function o0(e,t,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=s0(e,t,t0),l=/\s/.test(r),d=await Ob(i0(a,c),r);return a0(a,s,c,d,n,u,l,i)}o(o0,"verifyHeaderAsync");function s0(e,t,r){if(!e)throw new $r.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),s=e instanceof Uint8Array?i.decode(e):e;if(Array.isArray(t))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(t==null||t=="")throw new $r.StripeSignatureVerificationError(t,e,{message:"No stripe-signature header value was provided."});let a=t instanceof Uint8Array?i.decode(t):t,c=c0(a,r);if(!c||c.timestamp===-1)throw new $r.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new $r.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o(s0,"parseEventDetails");function a0(e,t,r,n,i,s,a,c){let u=!!r.signatures.filter(m=>u0(m,n)).length,l=`
|
|
66
66
|
Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
|
|
67
67
|
|
|
68
68
|
Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw s?new $r.StripeSignatureVerificationError(t,e,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
|
|
@@ -71,17 +71,17 @@ Signature verification is impossible without access to the original signed mater
|
|
|
71
71
|
`+d}):new $r.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
|
|
72
72
|
If a webhook request is being forwarded by a third-party tool, ensure that the exact request body, including JSON formatting and new line style, is preserved.
|
|
73
73
|
`+l+`
|
|
74
|
-
`+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new $r.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}o(s0,"validateComputedSignature");function a0(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(a0,"parseHeader");function c0(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}o(c0,"secureCompare");async function Ab(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=Op[s[c]];return a.join("")}o(Ab,"computeHMACSignatureAsync");Hn.computeHMACSignatureAsync=Ab;var Op=new Array(256);for(let e=0;e<Op.length;e++)Op[e]=e.toString(16).padStart(2,"0")});var Rt=y(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.optionValidator=void 0;var Fn=O(),u0=Xe();function l0(e,t){if(!(0,u0.isObject)(e))throw new Fn.ConfigurationError(`Options on policy '${t}' is expected to be an object. Received the type '${typeof e}'.`);let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new Fn.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 Fn.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Fn.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 Fn.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 Fn.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(l0,"optionValidator");Ta.optionValidator=l0});var Cp=y(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.StripeWebhookVerificationInboundPolicy=void 0;var d0=Yo(),p0=ie(),h0=Rb(),f0=Rt(),Np=class extends d0.InboundPolicy{static{o(this,"StripeWebhookVerificationInboundPolicy")}async handler(t,r){(0,f0.optionValidator)(this.options,this.policyName).required("signingSecret","string").optional("tolerance","number");let n=t.headers.get("stripe-signature");try{let i=await t.clone().text();await(0,h0.constructEventAsync)(i,n,this.options.signingSecret)}catch(i){return r.log.error("Error validating stripe webhook",i),p0.HttpProblems.badRequest(t,r,{title:"Webhook Error",detail:i.message})}return t}};Ia.StripeWebhookVerificationInboundPolicy=Np});var Nb=y(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.isStripeWebhookEvent=void 0;var Ob=Xe();function m0(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,Ob.isString)(e.id)&&"type"in e&&(0,Ob.isString)(e.type)}o(m0,"isStripeWebhookEvent");Pa.isStripeWebhookEvent=m0});var Cb=y(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.MeteringPlugin=void 0;var y0=bt(),xp=class extends y0.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};Aa.MeteringPlugin=xp});var Lb=y(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});var xb=O(),g0={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new xb.RuntimeError(s)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new xb.RuntimeError(s)}return i}};Lp.default=g0});var Db=y(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.deleteConsumer=br.createConsumerInvite=br.createConsumer=void 0;var Dp=O(),Up=Ke(),Mp=W(),kp=En(),Hp="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function b0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=Mp.Environment.instance,u=new URL(`/v1/buckets/${e}/consumers`,Hp);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,kp.fetchRetry)({retryDelayMs:5,retries:2,logger:Up.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),m=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,m),new Dp.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}o(b0,"createConsumer");br.createConsumer=b0;async function _0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=Mp.Environment.instance,c=new URL(`/v1/buckets/${e}/consumers`,Hp);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,kp.fetchRetry)({retryDelayMs:5,retries:2,logger:Up.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let m="Error creating API Key Consumer";throw s.log.error(m,p),new Dp.RuntimeError(m)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:t,stripeProductId:r}),u}o(_0,"createConsumerInvite");br.createConsumerInvite=_0;async function w0({apiKeyBucketName:e,consumerId:t,context:r}){let{authApiJWT:n}=Mp.Environment.instance,i=new URL(`/v1/buckets/${e}/consumers/${t}`,Hp);i.searchParams.set("with-api-key","true");let s=await(0,kp.fetchRetry)({retryDelayMs:5,retries:2,logger:Up.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(s.status!==204){let a=await s.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new Dp.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${t}`),t}o(w0,"deleteConsumer");br.deleteConsumer=w0});var Ra=y(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.getSubscription=wr.updateSubscription=wr.createSubscription=void 0;var _r=O(),Fp=Ke(),qp=W(),$p=En(),jp=Xe();async function E0({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=qp.Environment.instance;if(!(0,jp.isNonEmptyString)(l))throw new _r.SystemError("No Zuplo JWT token set.");let p=await(0,$p.fetchRetry)({retryDelayMs:5,retries:2,logger:Fp.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let m="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw e.log.error(m,h),new _r.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}o(E0,"createSubscription");wr.createSubscription=E0;async function v0({context:e,meteringSubscriptionId:t,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=qp.Environment.instance;if(!(0,jp.isNonEmptyString)(i))throw new _r.SystemError("No Zuplo JWT token set.");let a=await(0,$p.fetchRetry)({retryDelayMs:5,retries:2,logger:Fp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${r}/subscriptions/${t}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw e.log.error(c,u),new _r.RuntimeError(c)}e.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}o(v0,"updateSubscription");wr.updateSubscription=v0;async function S0({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=qp.Environment.instance;if(!(0,jp.isNonEmptyString)(i))throw new _r.SystemError("No Zuplo JWT token set.");let a=await(0,$p.fetchRetry)({retryDelayMs:5,retries:2,logger:Fp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${t}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":e.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw e.log.error(u,l),new _r.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new _r.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new _r.RuntimeError(u)}return c.data[0]}o(S0,"getSubscription");wr.getSubscription=S0});var Vp=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.stripeStatusToMeteringStatus=void 0;function T0(e){return e.replaceAll("_","-")}o(T0,"stripeStatusToMeteringStatus");Oa.stripeStatusToMeteringStatus=T0});var Ub=y(ki=>{"use strict";var I0=ki&&ki.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ki,"__esModule",{value:!0});var jr=ie(),P0=I0(Lb()),Gp=Db(),A0=Ra(),R0=Vp();async function O0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return t.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=s.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,Gp.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:t});else{let l=await P0.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return t.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,Gp.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:t})}if(!u)return jr.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,R0.stripeStatusToMeteringStatus)(r.data.object.status);await(0,A0.createSubscription)({context:t,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,Gp.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:t}),jr.HttpProblems.internalServerError(e,t,{detail:l.message})}return jr.HttpProblems.ok(e,t)}o(O0,"onCustomerSubscriptionCreated");ki.default=O0});var kb=y(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});var Bp=ie(),Mb=Ra();async function N0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Bp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Bp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,Mb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,Mb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),Bp.HttpProblems.ok(e,t)}o(N0,"onCustomerSubscriptionDeleted");Kp.default=N0});var Hb=y(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});var Hi=ie(),Na=Ra(),C0=Vp();async function x0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Hi.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Hi.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){let c=await(0,Na.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,C0.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,Na.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Hi.HttpProblems.ok(e,t)}if(a.plan&&a.plan.product!==r.data.object.plan.product){let c=await(0,Na.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,Na.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[r.data.object.plan.product]}}),Hi.HttpProblems.ok(e,t)}}return t.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Hi.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}o(x0,"onCustomerSubscriptionUpdated");Jp.default=x0});var qb=y(qn=>{"use strict";var Wp=qn&&qn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qn,"__esModule",{value:!0});qn.StripeMeteringPlugin=void 0;var Ca=Li(),xa=O(),L0=Ut(),D0=Cp(),Fb=ie(),U0=Yt(),M0=nn(),k0=Zu(),H0=at(),F0=W(),q0=Nb(),$0=Cb(),j0=Wp(Ub()),V0=Wp(kb()),G0=Wp(Hb()),zp=class extends $0.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(Ca.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=Ca.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new xa.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(Ca.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=Ca.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new xa.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!F0.Environment.instance.build.ACCOUNT_NAME)throw new xa.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!B0(p))throw new xa.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,q0.isStripeWebhookEvent)(m))return Fb.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${m.type}' with ID '${m.id}'.`),m.type){case"customer.subscription.created":return await(0,j0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,G0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,V0.default)(c,u,m,{meteringBucketId:l});default:return Fb.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,M0.createInternalPolicyProcessor)({inboundPolicies:[new D0.StripeWebhookVerificationInboundPolicy({signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance},"stripe-webhook-verification")]}),s=new L0.Pipeline({processors:[U0.metricsProcessor,i],handler:n,gateway:r}),a=new H0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:k0.SystemRouteName.StripePlugin});t.addRoute(a,s.execute)}};qn.StripeMeteringPlugin=zp;function B0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}o(B0,"isMetricsRegion")});var Bb=y($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.AmberfloMeteringInboundPolicy=$n.AmberfloMeteringPolicy=void 0;var $b=O(),K0=ve(),jb=Xt(),Gb=new WeakMap,Vb={},Qp=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Gb.set(t,r)}};$n.AmberfloMeteringPolicy=Qp;async function J0(e,t,r,n){if(!r.statusCodes)throw new $b.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,jb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=Gb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new $b.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,jb.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=Vb[r.apiKey];if(!m){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";m=new K0.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let S=r.url??"https://app.amberflo.io/ingest",T=await fetch(S,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});T.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${T.status}: ${await T.text()}`)}catch(S){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${S.message}`),S}}),Vb[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}o(J0,"AmberfloMeteringInboundPolicy");$n.AmberfloMeteringInboundPolicy=J0});var Yp=y(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.sha256=void 0;async function z0(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(z0,"sha256");La.sha256=z0});var jt=y(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.getPolicyCacheName=void 0;var W0=Yp(),Kb=new Map;async function Q0(e,t){let r,n=Kb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,W0.sha256)(JSON.stringify({policyName:e,options:t}))}`,Kb.set(e,r)),r}o(Q0,"getPolicyCacheName");Da.getPolicyCacheName=Q0});var eh=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.ApiKeyInboundPolicy=void 0;var Y0=jt(),Z0=Jt(),Jb=Li(),Zp=O(),X0=Mt(),zb=Ke(),Xp=W(),eO=En(),Wb="key-metadata-cache-type";function tO(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(tO,"getKeyValue");async function rO(e,t,r,n){if(!r.bucketName)if(Jb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Jb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Zp.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 Zp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(S=>i.allowUnauthenticatedRequests?e:X0.HttpProblems.unauthorized(e,t,{detail:S}),"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=tO(a,i);if(!c||c==="")return s("No key present");let u=await nO(c),l=await(0,Y0.getPolicyCacheName)(n,i),d=new Z0.MemoryZoneReadThroughCache(l,t),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Wb&&zb.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let m={key:c},h=await(0,eO.fetchRetry)({retryDelayMs:5,retries:2,logger:zb.SystemLogMap.getLogger(t)},`${Xp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":Xp.Environment.instance.deploymentName??"unknown","User-Agent":Xp.Environment.instance.systemUserAgent},body:JSON.stringify(m)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let S=await h.text(),T=JSON.parse(S);t.log.error("Unexpected response from key service",T)}catch{t.log.error("Invalid response from key service")}throw new Zp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:Wb,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}o(rO,"ApiKeyInboundPolicy");Ua.ApiKeyInboundPolicy=rO;async function nO(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(nO,"hashValue")});var Qb=y(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.ApiAuthKeyInboundPolicy=void 0;var iO=eh();Ma.ApiAuthKeyInboundPolicy=iO.ApiKeyInboundPolicy});var Vt=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.OpenIdJwtInboundPolicy=void 0;var rh=(Hs(),po(ks)),nh=O(),oO=ie(),th={},sO=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new nh.ConfigurationError("Invalid State - jwkUrl not set");th[t.jwkUrl]||(th[t.jwkUrl]=(0,rh.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,rh.jwtVerify)(e,th[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),aO=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,rh.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),cO=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(m=>oO.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new nh.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new nh.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?sO:aO,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 m=i.substring(s.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let g=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${g.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${g.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");ka.OpenIdJwtInboundPolicy=cO});var Yb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.Auth0JwtInboundPolicy=void 0;var uO=Vt(),lO=o(async(e,t,r,n)=>(0,uO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Ha.Auth0JwtInboundPolicy=lO});var Zb=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.BasicAuthInboundPolicy=void 0;var dO=ie(),pO=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>dO.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 m=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===m&&_.password===h);return g||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");Fa.BasicAuthInboundPolicy=pO});var Xb=y(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.CachingInboundPolicy=void 0;var hO=jt(),fO=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function mO(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(mO,"digestMessage");var yO=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 mO(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 gO(e,t,r,n){let i=await(0,hO.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await yO(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 m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);fO.forEach(g=>h.headers.delete(g)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(gO,"CachingInboundPolicy");qa.CachingInboundPolicy=gO});var e_=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.ChangeMethodInboundPolicy=void 0;var bO=O(),_O=He(),wO=o(async(e,t,r,n)=>{if(!r.method)throw new bO.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new _O.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");$a.ChangeMethodInboundPolicy=wO});var t_=y(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.ClearHeadersInboundPolicy=void 0;var EO=He(),vO=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 EO.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");ja.ClearHeadersInboundPolicy=vO});var r_=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.ClearHeadersOutboundPolicy=void 0;var SO=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");Va.ClearHeadersOutboundPolicy=SO});var n_=y(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.ClerkJwtInboundPolicy=void 0;var TO=Vt(),IO=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,TO.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Ga.ClerkJwtInboundPolicy=IO});var o_=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.CognitoJwtInboundPolicy=void 0;var i_=O(),PO=Vt(),AO=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new i_.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new i_.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,PO.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");Ba.CognitoJwtInboundPolicy=AO});var a_=y(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.CompositeInboundPolicy=void 0;var RO=O(),OO=Or(),s_=nn(),NO=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new RO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=OO.Gateway.instance,s=(0,s_.getInboundPolicyInstances)(r.policies,i?.routeData.policies);return(0,s_.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");Ka.CompositeInboundPolicy=NO});var c_=y(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.CurityPhantomTokenInboundPolicy=void 0;var CO=jt(),xO=Jt(),Ja=ie(),LO=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Ja.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=DO(i);if(!s)return Ja.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,CO.getPolicyCacheName)(n,r),c=new xO.MemoryZoneReadThroughCache(a,t),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),Ja.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Ja.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");za.CurityPhantomTokenInboundPolicy=LO;function DO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(DO,"getToken")});var u_=y(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.FirebaseJwtInboundPolicy=void 0;var UO=Rt(),MO=Vt(),kO=o(async(e,t,r,n)=>((0,UO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,MO.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");Wa.FirebaseJwtInboundPolicy=kO});var l_=y(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.FormDataToJsonInboundPolicy=void 0;var HO=He(),FO=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 HO.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Qa.FormDataToJsonInboundPolicy=FO});var d_=y(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.GeoFilterInboundPolicy=void 0;var qO=O(),$O=ie(),jn="__unknown__",jO=o(async(e,t,r,n)=>{let i={allow:{countries:Gn(r.allow?.countries,"allow.countries",n),regionCodes:Gn(r.allow?.regionCodes,"allow.regionCode",n),asns:Gn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Gn(r.block?.countries,"block.countries",n),regionCodes:Gn(r.block?.regionCodes,"block.regionCode",n),asns:Gn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??jn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??jn,c=t.incomingRequestProperties.asn?.toString()??jn,u=i.ignoreUnknown&&s===jn,l=i.ignoreUnknown&&a===jn,d=i.ignoreUnknown&&c===jn,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Vn(e,t,n,s,a,c);let g=i.block.countries,_=i.block.regionCodes,S=i.block.asns;return g.length>0&&g.includes(s)&&!u||_.length>0&&_.includes(a)&&!l||S.length>0&&S.includes(c)&&!d?Vn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");Ya.GeoFilterInboundPolicy=jO;function Vn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),$O.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Vn,"blockedResponse");function Gn(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 qO.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Gn,"toLowerStringArray")});var p_=y(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.JWTScopeValidationInboundPolicy=void 0;var VO=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");Za.JWTScopeValidationInboundPolicy=VO});var m_=y(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.consumeSubcriptionQuotas=Bn.loadSubscription=void 0;var h_=Ke(),f_=W();async function GO(e,t,r,n){let i=h_.SystemLogMap.getLogger(e),{authApiJWT:s,meteringServiceUrl:a}=f_.Environment.instance,c;try{let l=await fetch(`${a}/internal/v1/metering/${n}/subscriptions?customerKey=${t}`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":e.requestId},method:"GET"});if(l.ok)c=await l.json();else{let d=await l.json(),p=d.detail??d.title??"Unknown error on quota consumption.";e.log.error(`MonetizationInboundPolicy '${r}' - Error loading subscription. ${l.status} - ${p}`),i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription.${l.status} - ${p}`)}}catch(l){i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription`,l)}return c&&c.data&&c.data.length>0?c.data[0]:void 0}o(GO,"loadSubscription");Bn.loadSubscription=GO;async function BO(e,t,r,n,i){let{authApiJWT:s,meteringServiceUrl:a}=f_.Environment.instance,c=h_.SystemLogMap.getLogger(e);try{let u=await fetch(`${a}/internal/v1/metering/${n}/subscriptions/${t}/quotas/consume`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":e.requestId},method:"POST",body:JSON.stringify({meters:i})});if(!u.ok){let l=await u.json(),d=l.detail??l.title??"Unknown error on quota consumption.";e.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`)}}catch(u){e.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`,u)}}o(BO,"consumeSubcriptionQuotas");Bn.consumeSubcriptionQuotas=BO});var y_=y(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.parseAllowedSubscriptionStatuses=Kn.validateMeters=void 0;var Vr=O(),KO=Xt(),JO=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]);function zO(e,t){try{let r=[];for(let n in e)typeof e[n]!="number"&&!(Number.isInteger(e[n])&&/^-?\d+$/.test(e[n].toString()))&&r.push(n);if(r.length>0)throw new Vr.ConfigurationError(r.length>1?`The values found in these properties are not integers : ${r.join(", ")}`:`The value in property '${r[0]}' is not an integer`)}catch(r){throw r instanceof Vr.ConfigurationError?new Vr.ConfigurationError(`MonetizationInboundPolicy '${t}' - The property 'meters' is invalid. ${r.message}`):r}}o(zO,"validateMeters");Kn.validateMeters=zO;function WO(e,t){if(e)try{if(e.length===0)throw new Vr.ConfigurationError("Must set valid subscription statuses");let r=(0,KO.parseValueToStringArray)(e),n=[];for(let i of r)JO.has(i)||n.push(i);if(n.length>0)throw new Vr.ConfigurationError(`Found the following invalid statuses: ${n.join(", ")}`);return e}catch(r){throw r instanceof Vr.ConfigurationError?new Vr.ConfigurationError(`MonetizationInboundPolicy '${t}' - The property 'allowedSubscriptionStatuses' is invalid. ${r.message}`):r}else return["active","incomplete","trialing"]}o(WO,"parseAllowedSubscriptionStatuses");Kn.parseAllowedSubscriptionStatuses=WO});var __=y(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.MonetizationInboundPolicy=void 0;var ih=Yr(),oh=Jd(),Xa=Li(),sh=O(),Gr=ie(),QO=Xt(),YO=Rt(),g_=m_(),b_=y_(),ZO=o(async(e,t,r,n)=>{if((0,YO.optionValidator)(r,n).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string"),!r.meterOnStatusCodes)throw new sh.ConfigurationError(`Invalid MonetizationInboundPolicy '${n}' - The property 'meterOnStatusCodes' must be an array of HTTP status code numbers`);let i=r.allowRequestsOverQuota??!1,s=Array.isArray(r.meterOnStatusCodes)?r.meterOnStatusCodes:(0,QO.statusCodesStringToNumberArray)(r.meterOnStatusCodes);(0,b_.validateMeters)(r.meters,n);let a=r.allowRequestsWithoutSubscription??!1,c=(0,b_.parseAllowedSubscriptionStatuses)(r.allowedSubscriptionStatuses,n);t.addResponseSendingFinalHook(async(g,_,S)=>{let T=oh.ContextData.get(S,ih.METERING_SUBSCRIPTION_CONTEXT_DATA);if((r.allowRequestsWithoutSubscription??!1)&&!T){S.log.debug(`MonetizationInboundPolicy '${n}' - No subscription found and property 'allowRequestsWithoutSubscription' is true`);return}if(!r.bucketId)if(Xa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=Xa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new sh.ConfigurationError(`MonetizationInboundPolicy '${n}' - No bucketId property provided`);s.includes(g.status)&&T&&r.meters&&(S.log.debug(`MonetizationInboundPolicy '${n}' - Updating subscription '${T.id}' with meters '${JSON.stringify(r.meters)} on response status '${g.status}'`),await(0,g_.consumeSubcriptionQuotas)(S,T.id,n,r.bucketId,r.meters))});let u=e.user;if(!u)return a?e:Gr.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(Xa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=Xa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new sh.ConfigurationError(`MonetizationInboundPolicy '${n}' - No bucketId property provided`);let{sub:l}=u,d=await(0,g_.loadSubscription)(t,l,n,r.bucketId);if(!d)return t.log.warn("No valid subscription found"),a?e:Gr.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"});if(!c.includes(d.status)&&!a)return t.log.warn(`Subscription '${d.id}' has status '${d.status}' which is not part of the allowed statuses.`),Gr.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"});c.includes(d.status)&&(t.log.debug(`Loading subscription '${d.id}' for user sub '${l}' to ContextData`),oh.ContextData.set(t,ih.METERING_SUBSCRIPTION_CONTEXT_DATA,d));let p=oh.ContextData.get(t,ih.METERING_SUBSCRIPTION_CONTEXT_DATA);if(!p)return a?e:(t.log.warn("Subscription is not available for user"),Gr.HttpProblems.paymentRequired(e,t,{detail:"Subscription is not available for user",title:"No Subscription"}));if(p&&Object.keys(p.meters).length===0)return t.log.error(`Quota is not set up for subscription '${p.id}'`),Gr.HttpProblems.tooManyRequests(e,t,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let h=Object.keys(r.meters).filter(g=>!Object.keys(p.meters).includes(g));if(h.length>0)return t.log.warn(`The following policy meters are not present in the subscription: ${h.join(", ")}`),Gr.HttpProblems.tooManyRequests(e,t,{detail:`The following policy meters are not present in the subscription: ${h.join(", ")}`,title:"Quota Exceeded"});for(let g of Object.keys(r.meters))if(p.meters[g].consumed<=0&&!i)return Gr.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${g}'`,title:"Quota Exceeded"});return e},"MonetizationInboundPolicy");ec.MonetizationInboundPolicy=ZO});var E_=y(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.MockApiInboundPolicy=void 0;var XO=ie(),eN=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return ah(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 ah(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(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return w_(a[c])}else return a.length>0?w_(a[0]):ah(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");tc.MockApiInboundPolicy=eN;function w_(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(w_,"generateResponse");var ah=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return XO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var P_=y(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.MoesifInboundPolicy=Jn.setMoesifContext=void 0;var tN=O(),rN=ve(),nN="Incoming",iN={logRequestBody:!0,logResponseBody:!0};function v_(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(v_,"headersToObject");function S_(){return new Date().toISOString()}o(S_,"timestamp");var ch=new WeakMap,oN={};function sN(e,t){let r=ch.get(e);r||(r=oN);let n=Object.assign({...r},t);ch.set(e,n)}o(sN,"setMoesifContext");Jn.setMoesifContext=sN;async function T_(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o(T_,"readBody");var aN={},uh;function I_(){if(!uh)throw new tN.RuntimeError("Invalid State - no _lastLogger");return uh}o(I_,"getLastLogger");function cN(e){let t=aN[e];return t||(t=new rN.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);I_().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||I_().error({status:i.status,body:await i.text()})})),t}o(cN,"getDispatcher");async function uN(e,t,r,n){uh=t.log;let i=S_(),s=Object.assign(iN,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await T_(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=cN(s.applicationId),d=e.headers.get("true-client-ip"),p=ch.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:v_(e.headers)},h=s.logResponseBody?await T_(c,t):void 0,g={time:S_(),status:c.status,headers:v_(c.headers),body:h},_={request:m,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:nN};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}o(uN,"MoesifInboundPolicy");Jn.MoesifInboundPolicy=uN});var A_=y(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.OktaJwtInboundPolicy=void 0;var lN=Vt(),dN=o(async(e,t,r,n)=>(0,lN.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");rc.OktaJwtInboundPolicy=dN});var R_=y(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.PropelAuthJwtInboundPolicy=void 0;var pN=(Hs(),po(ks)),hN=Vt(),lh,fN=o(async(e,t,r,n)=>{if(!lh)try{lh=await(0,pN.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,hN.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:lh,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");nc.PropelAuthJwtInboundPolicy=fN});var O_=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.throwIfStateNotObject=V.throwIfStateNotNumber=V.throwIfStateNotString=V.throwIfStateUndefinedOrNull=V.throwIfStateUndefined=V.throwIfOptionNotObject=V.throwIfOptionNotNumber=V.throwIfOptionNotString=V.throwIfOptionUndefinedOrNull=V.throwIfOptionUndefined=V.OptionTypeError=V.OptionUndefinedError=V.throwIfNotNumber=V.throwIfNotString=V.throwIfUndefinedOrNull=V.throwIfUndefined=V.ArgumentTypeError=V.ArgumentUndefinedError=V.ValidationError=void 0;var je=Xe(),rt=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=rt;var Fi=class extends rt{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=Fi;var qi=class extends rt{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=qi;function mN(e,t){if((0,je.isUndefined)(e))throw new Fi(t)}o(mN,"throwIfUndefined");V.throwIfUndefined=mN;function dh(e,t){if((0,je.isUndefinedOrNull)(e))throw new Fi(t)}o(dh,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=dh;function yN(e,t){if(dh(e,t),!(0,je.isString)(e))throw new qi(t,"string")}o(yN,"throwIfNotString");V.throwIfNotString=yN;function gN(e,t){if(dh(e,t),!(0,je.isNumber)(e))throw new qi(t,"number")}o(gN,"throwIfNotNumber");V.throwIfNotNumber=gN;var $i=class extends rt{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=$i;var zn=class extends rt{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};V.OptionTypeError=zn;function bN(e,t,r,n){if((0,je.isUndefined)(n))throw new $i(e,t,r)}o(bN,"throwIfOptionUndefined");V.throwIfOptionUndefined=bN;function ic(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new $i(e,t,r)}o(ic,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=ic;function _N(e,t,r,n){if(ic(e,t,r,n),!(0,je.isString)(n))throw new zn(e,t,r,"string")}o(_N,"throwIfOptionNotString");V.throwIfOptionNotString=_N;function wN(e,t,r,n){if(ic(e,t,r,n),!(0,je.isNumber)(n))throw new zn(e,t,r,"number")}o(wN,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=wN;function EN(e,t,r,n){if(ic(e,t,r,n),!(0,je.isObject)(n))throw new zn(e,t,r,"object")}o(EN,"throwIfOptionNotObject");V.throwIfOptionNotObject=EN;function vN(e,t){if((0,je.isUndefined)(e))throw new rt(t)}o(vN,"throwIfStateUndefined");V.throwIfStateUndefined=vN;function oc(e,t){if((0,je.isUndefinedOrNull)(e))throw new rt(t)}o(oc,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=oc;function SN(e,t){if(oc(e,t),!(0,je.isString)(e))throw new rt(t);return!0}o(SN,"throwIfStateNotString");V.throwIfStateNotString=SN;function TN(e,t){if(oc(e,t),!(0,je.isNumber)(e))throw new rt(t);return!0}o(TN,"throwIfStateNotNumber");V.throwIfStateNotNumber=TN;function IN(e,t){if(oc(e,t),!(0,je.isObject)(e))throw new rt(t);return!0}o(IN,"throwIfStateNotObject");V.throwIfStateNotObject=IN});var N_=y(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.InMemoryRedisClient=Wn.StandardRedisClient=void 0;var ph=O(),sc=O_(),hh=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,sc.throwIfNotString)(t,"redisClientUrl"),(0,sc.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,sc.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 ph.SystemError("Redis client failed with 401: Unauthorized"):new ph.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Wn.StandardRedisClient=hh;var fh=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,sc.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 ph.SystemError("The in-memory redis client only supports /rate-limit calls")}};Wn.InMemoryRedisClient=fh});var U_=y(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.RateLimitInboundPolicy=void 0;var PN=Rr(),AN=jt(),RN=go(),Ot=O(),ON=ie(),C_=Ke(),ji=W(),x_=N_(),L_=Xe(),ac=(0,PN.debug)("zuplo:policies:RateLimitInboundPolicy"),NN="strict",CN=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"),xN=o(async e=>({key:`ip-${CN(e)}`}),"getIP"),LN=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),DN=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),cc;function UN(e,t){let r;if(cc)return cc;if(ji.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new x_.InMemoryRedisClient,cc=r,r;let{authApiJWT:n,redisURL:i}=ji.Environment.instance;if(!(0,L_.isString)(i))throw new Ot.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,L_.isString)(n))throw new Ot.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=x_.StandardRedisClient.initialize(i,n,ji.Environment.instance.deploymentName??"unknown",ji.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ot.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return cc=r,r}o(UN,"getRedisClient");async function D_(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(D_,"getCountAndUpdateExpiry");function MN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Ot.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Ot.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Ot.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 Ot.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 Ot.RuntimeError(u)}return c},"outerFunction")}o(MN,"wrapUserFunction");var kN="Retry-After",HN=o(async(e,t,r,n)=>{let i=Date.now(),s=C_.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new Ot.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[kN]=l.toString()),ON.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:MN(r,n),user:LN,ip:xN,all:DN}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=UN(n,s),T=`bucket/${ji.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??NN)==="async"){let L=await(0,AN.getPolicyCacheName)(n,r),re=new RN.ZoneCache(L,{logger:C_.SystemLogMap.getLogger(t)}),ne=D_(T,h,_,s,t.requestId),me=await re.get(T);if(me!==void 0&&me<=Date.now()){ac(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${T}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(g,Be)}return t.addEventListener("responseSending",Be=>{try{let E=Be,H=E.mutableResponse;E.mutableResponse=(async()=>{let xe=await ne;if(xe.count>m){let Eu=Date.now()+xe.ttlSeconds*1e3,_E=re.put(T,Eu,xe.ttlSeconds).catch(tf=>{throw s.error(new Ot.SystemError("Error caching rate limit result.",{cause:tf})),tf});return t.waitUntil(_E),ac(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,xe.ttlSeconds)}return H})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let K=await D_(T,h,_,s,t.requestId);return K.count>m?(ac(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (strict mode)`),c(g,K.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;ac(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");uc.RateLimitInboundPolicy=HN});var F_=y(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.ReadmeMetricsInboundPolicy=void 0;var FN=ve(),mh=W(),M_=Xt(),yh;function k_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(k_,"headersToNameValuePairs");function qN(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(qN,"queryToNameValueParis");function $N(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o($N,"parseIntOrUndefined");var H_={};async function jN(e,t,r,n){let i=new Date,s=Date.now();return yh||(yh={name:"zuplo",version:mh.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${mh.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,M_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,M_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:mh.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:yh,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:k_(e.headers),queryString:qN(e.query)},response:{status:a.status,statusText:a.statusText,headers:k_(a.headers),content:{size:$N(e.headers.get("content-length"))}}}]}}},d=H_[r.apiKey];if(!d){let p=r.apiKey;d=new FN.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),H_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(jN,"ReadmeMetricsInboundPolicy");lc.ReadmeMetricsInboundPolicy=jN});var q_=y(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.RemoveHeadersInboundPolicy=void 0;var VN=O(),GN=He(),BN=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new VN.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 GN.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");dc.RemoveHeadersInboundPolicy=BN});var $_=y(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.RemoveHeadersOutboundPolicy=void 0;var KN=O(),JN=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new KN.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");pc.RemoveHeadersOutboundPolicy=JN});var j_=y(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.RemoveQueryParamsInboundPolicy=void 0;var zN=O(),WN=He(),QN=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new zN.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 WN.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");hc.RemoveQueryParamsInboundPolicy=QN});var V_=y(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.ReplaceStringOutboundPolicy=void 0;var YN=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");fc.ReplaceStringOutboundPolicy=YN});var B_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.RequestSizeLimitInboundPolicy=void 0;var G_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),ZN=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?G_():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?G_():e},"RequestSizeLimitInboundPolicy");mc.RequestSizeLimitInboundPolicy=ZN});var yc=y(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.sanitizedIdentifierName=nt.getIdForRefSchema=nt.getIdForRequestBodySchema=nt.getIdForParameterSchema=nt.getRawOperationDataIdentifierName=void 0;function XN(e,t,r){return`_${Br(e+"_"+t+"_"+r)}`}o(XN,"getRawOperationDataIdentifierName");nt.getRawOperationDataIdentifierName=XN;function eC(e,t,r,n){return`_${Br(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(eC,"getIdForParameterSchema");nt.getIdForParameterSchema=eC;function tC(e,t,r){return`_${Br(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Br(r.toLowerCase())}`}o(tC,"getIdForRequestBodySchema");nt.getIdForRequestBodySchema=tC;function rC(e,t){return`_${Br(e)}__${Br(t)}`}o(rC,"getIdForRefSchema");nt.getIdForRefSchema=rC;function Br(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(Br,"sanitizedIdentifierName");nt.sanitizedIdentifierName=Br});var Vi=y(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.getErrorsFromValidator=De.shouldReject=De.shouldLog=De.logErrors=De.validateParameters=De.getParametersForOperation=void 0;var nC=Or(),iC=yc(),oC=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");De.getParametersForOperation=oC;var sC=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,iC.getIdForParameterSchema)(r,n,i,u.name),p=nC.Gateway.instance.schemaValidator[d],m=p(t[u.name]),h=(0,De.getErrorsFromValidator)(p.errors);m||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");De.validateParameters=sC;var aC=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");De.logErrors=aC;var cC=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");De.shouldLog=cC;var uC=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");De.shouldReject=uC;var lC=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");De.getErrorsFromValidator=lC});var K_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.handleBodyValidation=void 0;var dC=Or(),gc=ie(),pC=yc(),ze=Vi();async function hC(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let g=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=gc.HttpProblems.badRequest(t,e,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",g,[n],h),(0,ze.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,g=gc.HttpProblems.badRequest(t,e,{detail:h});return(0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,ze.shouldReject)(r.validateBody)?g:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,pC.getIdForRequestBodySchema)(e.route.path,t.method,i),c=dC.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,g=gc.HttpProblems.badRequest(t,e,{detail:h});return(0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,ze.shouldReject)(r.validateBody)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,ze.getErrorsFromValidator)(l),m=gc.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",d,[n],p),(0,ze.shouldReject)(r.validateBody))return m}o(hC,"handleBodyValidation");bc.handleBodyValidation=hC});var J_=y(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.handleHeadersValidation=void 0;var fC=ie(),Gi=Vi();function mC(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Gi.getParametersForOperation)(e),s=(0,Gi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=fC.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Gi.shouldLog)(r.validateHeaders)&&(0,Gi.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Gi.shouldReject)(r.validateHeaders))return c}}o(mC,"handleHeadersValidation");_c.handleHeadersValidation=mC});var z_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.handlePathParameterValidation=void 0;var yC=ie(),Bi=Vi();function gC(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Bi.getParametersForOperation)(e),i=(0,Bi.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=yC.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Bi.shouldLog)(r.validatePathParameters)&&(0,Bi.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Bi.shouldReject)(r.validatePathParameters))return a}}o(gC,"handlePathParameterValidation");wc.handlePathParameterValidation=gC});var W_=y(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.handleQueryParameterValidation=void 0;var bC=ie(),Ki=Vi();function _C(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Ki.getParametersForOperation)(e),i=(0,Ki.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=bC.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ki.shouldLog)(r.validateQueryParameters)&&(0,Ki.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ki.shouldReject)(r.validateQueryParameters))return a}}o(_C,"handleQueryParameterValidation");Ec.handleQueryParameterValidation=_C});var Q_=y(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.SchemaBasedRequestValidation=Kr.RequestValidationInboundPolicy=void 0;var wC=K_(),EC=J_(),vC=z_(),SC=W_(),TC=o(async(e,t,r)=>{let n=(0,SC.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,vC.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,EC.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,wC.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Kr.RequestValidationInboundPolicy=TC;Kr.SchemaBasedRequestValidation=Kr.RequestValidationInboundPolicy});var Y_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.RequireOriginInboundPolicy=void 0;var IC=O(),PC=ie(),AC=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new IC.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 PC.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");vc.RequireOriginInboundPolicy=AC});var Z_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.SetBodyInboundPolicy=void 0;var RC=He(),OC=o(async(e,t,r)=>new RC.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Sc.SetBodyInboundPolicy=OC});var ew=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.SetHeadersInboundPolicy=void 0;var X_=O(),NC=He(),CC=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new X_.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 X_.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 NC.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");Tc.SetHeadersInboundPolicy=CC});var rw=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.SetHeadersOutboundPolicy=void 0;var tw=O(),xC=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new tw.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 tw.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");Ic.SetHeadersOutboundPolicy=xC});var iw=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.SetQueryParamsInboundPolicy=void 0;var nw=O(),LC=He(),DC=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new nw.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 nw.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 LC.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");Pc.SetQueryParamsInboundPolicy=DC});var ow=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.SetStatusOutboundPolicy=void 0;var UC=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");Ac.SetStatusOutboundPolicy=UC});var sw=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.SleepInboundPolicy=void 0;var MC=O(),kC=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),HC=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new MC.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await kC(r.sleepInMs),e},"SleepInboundPolicy");Rc.SleepInboundPolicy=HC});var cw=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.SupabaseJwtInboundPolicy=void 0;var aw=O(),FC=ie(),qC=He(),$C=Rt(),jC=Vt(),VC=o(async(e,t,r,n)=>{(0,$C.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,jC.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof qC.ZuploRequest))throw new aw.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 aw.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?FC.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Oc.SupabaseJwtInboundPolicy=VC});var lw=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var GC=jt(),BC=Jt(),uw=O(),KC=En(),JC=Rt(),zC=o(async(e,t,r,n)=>{(0,JC.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,GC.getPolicyCacheName)(n,r),s=new BC.MemoryZoneReadThroughCache(i,t),a=await s.get(n);if(!a){let c=await WC(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");Nc.UpstreamAzureAdServiceAuthInboundPolicy=zC;async function WC(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,KC.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 uw.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 uw.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(WC,"getAccessToken")});var pw=y(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var QC=jt(),YC=Jt(),ZC=O(),gh=vn(),XC=Rt(),dw="https://accounts.google.com/o/oauth2/token",bh,ex=o(async(e,t,r,n)=>{(0,XC.optionValidator)(r,n).required("serviceAccountJson","string"),bh||(bh=await gh.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,QC.getPolicyCacheName)(n,r),a=new YC.MemoryZoneReadThroughCache(s,t),c=await a.get(n);if(!c){let u=await(0,gh.getTokenFromGcpServiceAccount)({serviceAccount:bh,audience:dw,payload:i}),l=await(0,gh.exchangeGgpJwtForIdToken)(dw,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new ZC.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");Cc.UpstreamFirebaseAdminAuthInboundPolicy=ex});var hw=y(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var tx=jt(),rx=Jt(),Qn=O(),nx=Yp(),_h=vn(),ix=Xt(),ox=Rt(),sx="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",ax=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],wh,cx=o(async(e,t,r,n)=>{if((0,ox.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Qn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(ax.indexOf(p)!==-1)throw new Qn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}wh||(wh=await _h.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new Qn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Qn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,ix.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Qn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,tx.getPolicyCacheName)(n,r),c=new rx.MemoryZoneReadThroughCache(a,t),u={uid:s,claims:i},l=await(0,nx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,_h.getTokenFromGcpServiceAccount)({serviceAccount:wh,audience:sx,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,_h.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Qn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");xc.UpstreamFirebaseUserAuthInboundPolicy=cx});var mw=y(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.UpstreamGcpJwtInboundPolicy=void 0;var fw=vn(),ux=Rt(),Eh,lx=o(async(e,t,r,n)=>{(0,ux.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Eh||(Eh=await fw.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,fw.getTokenFromGcpServiceAccount)({serviceAccount:Eh,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Lc.UpstreamGcpJwtInboundPolicy=lx});var gw=y(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.UpstreamGcpServiceAuthInboundPolicy=void 0;var dx=jt(),px=Ru(),hx=Jt(),Ji=O(),vh=vn(),fx=Xt(),mx=Rt(),yw="https://www.googleapis.com/oauth2/v4/token",Sh,yx=o(async(e,t,r,n)=>{(0,mx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Sh||(Sh=await vh.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new Ji.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,fx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof Ji.ConfigurationError?new Ji.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,dx.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new px.MemoryCache(s):a=new hx.MemoryZoneReadThroughCache(s,t);let c=await a.get(n);if(!c){let u=await(0,vh.getTokenFromGcpServiceAccount)({serviceAccount:Sh,audience:yw,payload:i}),l=await(0,vh.exchangeGgpJwtForIdToken)(yw,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new Ji.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new Ji.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamGcpServiceAuthInboundPolicy");Dc.UpstreamGcpServiceAuthInboundPolicy=yx});var _w=y(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.ValidateJsonSchemaInbound=void 0;var gx=O(),bw=ie(),bx=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return bw.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 gx.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 bw.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Uc.ValidateJsonSchemaInbound=bx});var ww=y(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.ServiceProviderImpl=void 0;var _x=O(),Th=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new _x.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)}};Mc.ServiceProviderImpl=Th});var Lw=y(f=>{"use strict";var wx=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]}),Ih=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&wx(t,e,r)},Ex=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.MonetizationInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=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.OutboundPolicy=f.InboundPolicy=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.RuntimeError=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=void 0;cf();var vx=Jt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return vx.MemoryZoneReadThroughCache}});var Sx=go();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return Sx.ZoneCache}});var Ew=Nr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return Ew.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return Ew.ResponseSentEvent}});var Tx=Jd();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return Tx.ContextData}});var Ph=Li();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return Ph.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Ph.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Ph.isZuploReadableEnvVariableName}});var vw=O();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return vw.ConfigurationError}});Object.defineProperty(f,"RuntimeError",{enumerable:!0,get:function(){return vw.RuntimeError}});var Ix=Wd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return Ix.originalFetch}});var Sw=Mg();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return Sw.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return Sw.purgeGatewayCache}});var Tw=Xg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return Tw.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return Tw.awsLambdaHandler}});var Px=tb();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return Px.openApiSpecHandler}});var Ax=rb();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return Ax.redirectHandler}});var Rx=ib();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return Rx.urlForwardHandler}});var Ox=sb();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return Ox.urlRewriteHandler}});var Nx=cb();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return Nx.webSocketHandler}});var Cx=db();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return Cx.webSocketPipelineHandler}});var xx=Xu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return xx.HttpStatusCode}});Ih(_b(),f);Ih(vb(),f);var Lx=Sb();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return Lx.AuditLogDataStaxProvider}});var Dx=Ib();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return Dx.AuditLogPlugin}});Ih(qb(),f);var Iw=Yo();Object.defineProperty(f,"InboundPolicy",{enumerable:!0,get:function(){return Iw.InboundPolicy}});Object.defineProperty(f,"OutboundPolicy",{enumerable:!0,get:function(){return Iw.OutboundPolicy}});var Pw=Bb();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return Pw.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return Pw.AmberfloMeteringPolicy}});var Ux=Qb();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Ux.ApiAuthKeyInboundPolicy}});var Mx=eh();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return Mx.ApiKeyInboundPolicy}});var kx=Yb();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return kx.Auth0JwtInboundPolicy}});var Hx=Zb();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Hx.BasicAuthInboundPolicy}});var Fx=Xb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return Fx.CachingInboundPolicy}});var qx=e_();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return qx.ChangeMethodInboundPolicy}});var $x=t_();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return $x.ClearHeadersInboundPolicy}});var jx=r_();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return jx.ClearHeadersOutboundPolicy}});var Vx=n_();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return Vx.ClerkJwtInboundPolicy}});var Gx=o_();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Gx.CognitoJwtInboundPolicy}});var Bx=a_();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return Bx.CompositeInboundPolicy}});var Kx=c_();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return Kx.CurityPhantomTokenInboundPolicy}});var Jx=u_();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return Jx.FirebaseJwtInboundPolicy}});var zx=l_();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return zx.FormDataToJsonInboundPolicy}});var Wx=d_();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Wx.GeoFilterInboundPolicy}});var Qx=p_();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return Qx.JWTScopeValidationInboundPolicy}});var Yx=__();Object.defineProperty(f,"MonetizationInboundPolicy",{enumerable:!0,get:function(){return Yx.MonetizationInboundPolicy}});var Zx=E_();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Zx.MockApiInboundPolicy}});var Aw=P_();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return Aw.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return Aw.setMoesifContext}});var Xx=A_();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return Xx.OktaJwtInboundPolicy}});var eL=Vt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return eL.OpenIdJwtInboundPolicy}});var tL=R_();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return tL.PropelAuthJwtInboundPolicy}});var Rw=U_();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return Rw.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return Rw.RateLimitInboundPolicy}});var rL=F_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return rL.ReadmeMetricsInboundPolicy}});var nL=q_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return nL.RemoveHeadersInboundPolicy}});var iL=$_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return iL.RemoveHeadersOutboundPolicy}});var oL=j_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return oL.RemoveQueryParamsInboundPolicy}});var sL=V_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return sL.ReplaceStringOutboundPolicy}});var aL=B_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return aL.RequestSizeLimitInboundPolicy}});var Ow=Q_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return Ow.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return Ow.SchemaBasedRequestValidation}});var cL=Y_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return cL.RequireOriginInboundPolicy}});var uL=Z_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return uL.SetBodyInboundPolicy}});var lL=ew();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return lL.SetHeadersInboundPolicy}});var dL=rw();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return dL.SetHeadersOutboundPolicy}});var pL=iw();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return pL.SetQueryParamsInboundPolicy}});var hL=ow();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return hL.SetStatusOutboundPolicy}});var fL=sw();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return fL.SleepInboundPolicy}});var mL=Cp();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return mL.StripeWebhookVerificationInboundPolicy}});var yL=cw();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return yL.SupabaseJwtInboundPolicy}});var gL=lw();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return gL.UpstreamAzureAdServiceAuthInboundPolicy}});var bL=pw();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return bL.UpstreamFirebaseAdminAuthInboundPolicy}});var _L=hw();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return _L.UpstreamFirebaseUserAuthInboundPolicy}});var wL=mw();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return wL.UpstreamGcpJwtInboundPolicy}});var EL=gw();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return EL.UpstreamGcpServiceAuthInboundPolicy}});var vL=_w();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return vL.ValidateJsonSchemaInbound}});var SL=ie();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return SL.HttpProblems}});var TL=Po();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return TL.ProblemResponseFormatter}});var IL=He();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return IL.ZuploRequest}});var PL=xr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return PL.SystemRouteName}});var Nw=Hd();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return Nw.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return Nw.Router}});var Cw=Vu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return Cw.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return Cw.serialize}});var AL=ww();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return AL.ServiceProviderImpl}});var xw=bl();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return xw.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return xw.SYSTEM_LOGGER}});var RL=tl();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return Ex(RL).default}});var OL=Ke();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return OL.SystemLogMap}});var zi=yc();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return zi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return zi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return zi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return zi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return zi.sanitizedIdentifierName}})});var Dw=y(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.BaseCryptoBeta=Yn.supportedDigests=void 0;Yn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Ah=class{static{o(this,"BaseCryptoBeta")}};Yn.BaseCryptoBeta=Ah});var Uw=y(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.WorkerCryptoBeta=void 0;var Rh=Dw(),NL=O(),Oh=class extends Rh.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!Rh.supportedDigests.includes(t.toLowerCase()))throw new NL.RuntimeError(`Algorithm ${t} is not supported. Try using ${Rh.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("")}};kc.WorkerCryptoBeta=Oh});var Mw=y(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.BaseKeyValueStore=void 0;var Nh=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Hc.BaseKeyValueStore=Nh});var Hw=y(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.WorkerKeyValueStore=void 0;var kw=O(),CL=Mw(),Ch=class extends CL.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new kw.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 kw.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)}};Fc.WorkerKeyValueStore=Ch});var Mt=y(pt=>{"use strict";var xL=pt&&pt.__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]}),LL=pt&&pt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&xL(t,e,r)};Object.defineProperty(pt,"__esModule",{value:!0});pt.KeyValueStore=pt.CryptoBeta=void 0;LL(Lw(),pt);var DL=Uw();Object.defineProperty(pt,"CryptoBeta",{enumerable:!0,get:function(){return DL.WorkerCryptoBeta}});var UL=Hw();Object.defineProperty(pt,"KeyValueStore",{enumerable:!0,get:function(){return UL.WorkerKeyValueStore}})});var jD={};lo(jD,{GraphQLComplexityLimitInboundPolicy:()=>yE,GraphQLDisableIntrospectionInboundPolicy:()=>bE});module.exports=po(jD);var ui=nf(Mt());function G(e,t){if(!!!e)throw new Error(t)}o(G,"devAssert");function we(e){return typeof e=="object"&&e!==null}o(we,"isObjectLike");function Nt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(Nt,"invariant");var ML=/\r\n|[\n\r]/g;function Zn(e,t){let r=0,n=1;for(let i of e.body.matchAll(ML)){if(typeof i.index=="number"||Nt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(Zn,"getLocation");function xh(e){return qc(e.source,Zn(e.source,e.start))}o(xh,"printLocation");function qc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
75
|
-
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+
|
|
76
|
-
`)}o(
|
|
74
|
+
`+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new $r.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}o(a0,"validateComputedSignature");function c0(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(c0,"parseHeader");function u0(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}o(u0,"secureCompare");async function Ob(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=xp[s[c]];return a.join("")}o(Ob,"computeHMACSignatureAsync");qn.computeHMACSignatureAsync=Ob;var xp=new Array(256);for(let e=0;e<xp.length;e++)xp[e]=e.toString(16).padStart(2,"0")});var Rt=y(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.optionValidator=void 0;var $n=O(),l0=Xe();function d0(e,t){if(!(0,l0.isObject)(e))throw new $n.ConfigurationError(`Options on policy '${t}' is expected to be an object. Received the type '${typeof e}'.`);let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new $n.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 $n.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new $n.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 $n.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 $n.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(d0,"optionValidator");Pa.optionValidator=d0});var Dp=y(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.StripeWebhookVerificationInboundPolicy=void 0;var p0=yi(),h0=ie(),f0=Nb(),m0=Rt(),Lp=class extends p0.InboundPolicy{static{o(this,"StripeWebhookVerificationInboundPolicy")}async handler(t,r){(0,m0.optionValidator)(this.options,this.policyName).required("signingSecret","string").optional("tolerance","number");let n=t.headers.get("stripe-signature");try{let i=await t.clone().text();await(0,f0.constructEventAsync)(i,n,this.options.signingSecret)}catch(i){return r.log.error("Error validating stripe webhook",i),h0.HttpProblems.badRequest(t,r,{title:"Webhook Error",detail:i.message})}return t}};Aa.StripeWebhookVerificationInboundPolicy=Lp});var xb=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.isStripeWebhookEvent=void 0;var Cb=Xe();function y0(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,Cb.isString)(e.id)&&"type"in e&&(0,Cb.isString)(e.type)}o(y0,"isStripeWebhookEvent");Ra.isStripeWebhookEvent=y0});var Lb=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.MeteringPlugin=void 0;var g0=bt(),Up=class extends g0.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};Oa.MeteringPlugin=Up});var Ub=y(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});var Db=O(),b0={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new Db.RuntimeError(s)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new Db.RuntimeError(s)}return i}};Mp.default=b0});var Mb=y(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.deleteConsumer=br.createConsumerInvite=br.createConsumer=void 0;var kp=O(),Hp=Ke(),Fp=W(),qp=Sn(),$p="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function _0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=Fp.Environment.instance,u=new URL(`/v1/buckets/${e}/consumers`,$p);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,qp.fetchRetry)({retryDelayMs:5,retries:2,logger:Hp.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),m=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,m),new kp.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}o(_0,"createConsumer");br.createConsumer=_0;async function E0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=Fp.Environment.instance,c=new URL(`/v1/buckets/${e}/consumers`,$p);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,qp.fetchRetry)({retryDelayMs:5,retries:2,logger:Hp.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let m="Error creating API Key Consumer";throw s.log.error(m,p),new kp.RuntimeError(m)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:t,stripeProductId:r}),u}o(E0,"createConsumerInvite");br.createConsumerInvite=E0;async function w0({apiKeyBucketName:e,consumerId:t,context:r}){let{authApiJWT:n}=Fp.Environment.instance,i=new URL(`/v1/buckets/${e}/consumers/${t}`,$p);i.searchParams.set("with-api-key","true");let s=await(0,qp.fetchRetry)({retryDelayMs:5,retries:2,logger:Hp.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(s.status!==204){let a=await s.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new kp.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${t}`),t}o(w0,"deleteConsumer");br.deleteConsumer=w0});var Na=y(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.getSubscription=Er.updateSubscription=Er.createSubscription=void 0;var _r=O(),jp=Ke(),Vp=W(),Gp=Sn(),Bp=Xe();async function v0({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=Vp.Environment.instance;if(!(0,Bp.isNonEmptyString)(l))throw new _r.SystemError("No Zuplo JWT token set.");let p=await(0,Gp.fetchRetry)({retryDelayMs:5,retries:2,logger:jp.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let m="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw e.log.error(m,h),new _r.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}o(v0,"createSubscription");Er.createSubscription=v0;async function S0({context:e,meteringSubscriptionId:t,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=Vp.Environment.instance;if(!(0,Bp.isNonEmptyString)(i))throw new _r.SystemError("No Zuplo JWT token set.");let a=await(0,Gp.fetchRetry)({retryDelayMs:5,retries:2,logger:jp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${r}/subscriptions/${t}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw e.log.error(c,u),new _r.RuntimeError(c)}e.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}o(S0,"updateSubscription");Er.updateSubscription=S0;async function T0({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=Vp.Environment.instance;if(!(0,Bp.isNonEmptyString)(i))throw new _r.SystemError("No Zuplo JWT token set.");let a=await(0,Gp.fetchRetry)({retryDelayMs:5,retries:2,logger:jp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${t}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":e.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw e.log.error(u,l),new _r.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new _r.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new _r.RuntimeError(u)}return c.data[0]}o(T0,"getSubscription");Er.getSubscription=T0});var Kp=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.stripeStatusToMeteringStatus=void 0;function I0(e){return e.replaceAll("_","-")}o(I0,"stripeStatusToMeteringStatus");Ca.stripeStatusToMeteringStatus=I0});var kb=y(qi=>{"use strict";var P0=qi&&qi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qi,"__esModule",{value:!0});var jr=ie(),A0=P0(Ub()),Jp=Mb(),R0=Na(),O0=Kp();async function N0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return t.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=s.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,Jp.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:t});else{let l=await A0.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return t.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,Jp.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:t})}if(!u)return jr.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,O0.stripeStatusToMeteringStatus)(r.data.object.status);await(0,R0.createSubscription)({context:t,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,Jp.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:t}),jr.HttpProblems.internalServerError(e,t,{detail:l.message})}return jr.HttpProblems.ok(e,t)}o(N0,"onCustomerSubscriptionCreated");qi.default=N0});var Fb=y(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});var zp=ie(),Hb=Na();async function C0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),zp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),zp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,Hb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,Hb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),zp.HttpProblems.ok(e,t)}o(C0,"onCustomerSubscriptionDeleted");Wp.default=C0});var qb=y(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});var $i=ie(),xa=Na(),x0=Kp();async function L0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),$i.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),$i.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){let c=await(0,xa.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,x0.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,xa.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),$i.HttpProblems.ok(e,t)}if(a.plan&&a.plan.product!==r.data.object.plan.product){let c=await(0,xa.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,xa.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[r.data.object.plan.product]}}),$i.HttpProblems.ok(e,t)}}return t.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),$i.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}o(L0,"onCustomerSubscriptionUpdated");Qp.default=L0});var jb=y(jn=>{"use strict";var Zp=jn&&jn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(jn,"__esModule",{value:!0});jn.StripeMeteringPlugin=void 0;var La=Mi(),Da=O(),D0=Ut(),U0=Dp(),$b=ie(),M0=Yt(),k0=sn(),H0=tl(),F0=at(),q0=W(),$0=xb(),j0=Lb(),V0=Zp(kb()),G0=Zp(Fb()),B0=Zp(qb()),Yp=class extends j0.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(La.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=La.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Da.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(La.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=La.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Da.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!q0.Environment.instance.build.ACCOUNT_NAME)throw new Da.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!K0(p))throw new Da.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,$0.isStripeWebhookEvent)(m))return $b.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${m.type}' with ID '${m.id}'.`),m.type){case"customer.subscription.created":return await(0,V0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,B0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,G0.default)(c,u,m,{meteringBucketId:l});default:return $b.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,k0.createInternalPolicyProcessor)({inboundPolicies:[new U0.StripeWebhookVerificationInboundPolicy({signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance},"stripe-webhook-verification")]}),s=new D0.Pipeline({processors:[M0.metricsProcessor,i],handler:n,gateway:r}),a=new F0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:H0.SystemRouteName.StripePlugin});t.addRoute(a,s.execute)}};jn.StripeMeteringPlugin=Yp;function K0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}o(K0,"isMetricsRegion")});var Jb=y(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.AmberfloMeteringInboundPolicy=Vn.AmberfloMeteringPolicy=void 0;var Vb=O(),J0=ve(),Gb=Xt(),Kb=new WeakMap,Bb={},Xp=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Kb.set(t,r)}};Vn.AmberfloMeteringPolicy=Xp;async function z0(e,t,r,n){if(!r.statusCodes)throw new Vb.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Gb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=Kb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new Vb.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Gb.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=Bb[r.apiKey];if(!m){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";m=new J0.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let S=r.url??"https://app.amberflo.io/ingest",T=await fetch(S,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});T.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${T.status}: ${await T.text()}`)}catch(S){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${S.message}`),S}}),Bb[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}o(z0,"AmberfloMeteringInboundPolicy");Vn.AmberfloMeteringInboundPolicy=z0});var eh=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.sha256=void 0;async function W0(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(W0,"sha256");Ua.sha256=W0});var jt=y(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.getPolicyCacheName=void 0;var Q0=eh(),zb=new Map;async function Y0(e,t){let r,n=zb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,Q0.sha256)(JSON.stringify({policyName:e,options:t}))}`,zb.set(e,r)),r}o(Y0,"getPolicyCacheName");Ma.getPolicyCacheName=Y0});var nh=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.ApiKeyInboundPolicy=void 0;var Z0=jt(),X0=Jt(),Wb=Mi(),th=O(),eO=Mt(),Qb=Ke(),rh=W(),tO=Sn(),Yb="key-metadata-cache-type";function rO(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(rO,"getKeyValue");async function nO(e,t,r,n){if(!r.bucketName)if(Wb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Wb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new th.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 th.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(S=>i.allowUnauthenticatedRequests?e:eO.HttpProblems.unauthorized(e,t,{detail:S}),"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=rO(a,i);if(!c||c==="")return s("No key present");let u=await iO(c),l=await(0,Z0.getPolicyCacheName)(n,i),d=new X0.MemoryZoneReadThroughCache(l,t),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Yb&&Qb.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let m={key:c},h=await(0,tO.fetchRetry)({retryDelayMs:5,retries:2,logger:Qb.SystemLogMap.getLogger(t)},`${rh.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":rh.Environment.instance.deploymentName??"unknown","User-Agent":rh.Environment.instance.systemUserAgent},body:JSON.stringify(m)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let S=await h.text(),T=JSON.parse(S);t.log.error("Unexpected response from key service",T)}catch{t.log.error("Invalid response from key service")}throw new th.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:Yb,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}o(nO,"ApiKeyInboundPolicy");ka.ApiKeyInboundPolicy=nO;async function iO(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(iO,"hashValue")});var Zb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.ApiAuthKeyInboundPolicy=void 0;var oO=nh();Ha.ApiAuthKeyInboundPolicy=oO.ApiKeyInboundPolicy});var Vt=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.OpenIdJwtInboundPolicy=void 0;var oh=(qs(),mo(Fs)),sh=O(),sO=ie(),ih={},aO=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new sh.ConfigurationError("Invalid State - jwkUrl not set");ih[t.jwkUrl]||(ih[t.jwkUrl]=(0,oh.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,oh.jwtVerify)(e,ih[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),cO=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,oh.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),uO=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(m=>sO.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new sh.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new sh.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?aO:cO,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 m=i.substring(s.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let g=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${g.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${g.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");Fa.OpenIdJwtInboundPolicy=uO});var Xb=y(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.Auth0JwtInboundPolicy=void 0;var lO=Vt(),dO=o(async(e,t,r,n)=>(0,lO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");qa.Auth0JwtInboundPolicy=dO});var e_=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.BasicAuthInboundPolicy=void 0;var pO=ie(),hO=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>pO.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 m=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===m&&_.password===h);return g||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");$a.BasicAuthInboundPolicy=hO});var t_=y(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.CachingInboundPolicy=void 0;var fO=jt(),mO=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function yO(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(yO,"digestMessage");var gO=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 yO(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 bO(e,t,r,n){let i=await(0,fO.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await gO(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 m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);mO.forEach(g=>h.headers.delete(g)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(bO,"CachingInboundPolicy");ja.CachingInboundPolicy=bO});var r_=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.ChangeMethodInboundPolicy=void 0;var _O=O(),EO=He(),wO=o(async(e,t,r,n)=>{if(!r.method)throw new _O.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new EO.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Va.ChangeMethodInboundPolicy=wO});var n_=y(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.ClearHeadersInboundPolicy=void 0;var vO=He(),SO=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 vO.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ga.ClearHeadersInboundPolicy=SO});var i_=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.ClearHeadersOutboundPolicy=void 0;var TO=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");Ba.ClearHeadersOutboundPolicy=TO});var o_=y(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.ClerkJwtInboundPolicy=void 0;var IO=Vt(),PO=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,IO.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Ka.ClerkJwtInboundPolicy=PO});var a_=y(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.CognitoJwtInboundPolicy=void 0;var s_=O(),AO=Vt(),RO=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new s_.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new s_.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,AO.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");Ja.CognitoJwtInboundPolicy=RO});var u_=y(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.CompositeInboundPolicy=void 0;var OO=O(),NO=Or(),c_=sn(),CO=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new OO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=NO.Gateway.instance,s=(0,c_.getInboundPolicyInstances)(r.policies,i?.routeData.policies);return(0,c_.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");za.CompositeInboundPolicy=CO});var l_=y(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.CurityPhantomTokenInboundPolicy=void 0;var xO=jt(),LO=Jt(),Wa=ie(),DO=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Wa.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=UO(i);if(!s)return Wa.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,xO.getPolicyCacheName)(n,r),c=new LO.MemoryZoneReadThroughCache(a,t),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),Wa.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Wa.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Qa.CurityPhantomTokenInboundPolicy=DO;function UO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(UO,"getToken")});var d_=y(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.FirebaseJwtInboundPolicy=void 0;var MO=Rt(),kO=Vt(),HO=o(async(e,t,r,n)=>((0,MO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,kO.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");Ya.FirebaseJwtInboundPolicy=HO});var p_=y(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.FormDataToJsonInboundPolicy=void 0;var FO=He(),qO=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 FO.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Za.FormDataToJsonInboundPolicy=qO});var h_=y(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.GeoFilterInboundPolicy=void 0;var $O=O(),jO=ie(),Gn="__unknown__",VO=o(async(e,t,r,n)=>{let i={allow:{countries:Kn(r.allow?.countries,"allow.countries",n),regionCodes:Kn(r.allow?.regionCodes,"allow.regionCode",n),asns:Kn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Kn(r.block?.countries,"block.countries",n),regionCodes:Kn(r.block?.regionCodes,"block.regionCode",n),asns:Kn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??Gn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Gn,c=t.incomingRequestProperties.asn?.toString()??Gn,u=i.ignoreUnknown&&s===Gn,l=i.ignoreUnknown&&a===Gn,d=i.ignoreUnknown&&c===Gn,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Bn(e,t,n,s,a,c);let g=i.block.countries,_=i.block.regionCodes,S=i.block.asns;return g.length>0&&g.includes(s)&&!u||_.length>0&&_.includes(a)&&!l||S.length>0&&S.includes(c)&&!d?Bn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");Xa.GeoFilterInboundPolicy=VO;function Bn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),jO.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Bn,"blockedResponse");function Kn(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 $O.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Kn,"toLowerStringArray")});var f_=y(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.JWTScopeValidationInboundPolicy=void 0;var GO=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");ec.JWTScopeValidationInboundPolicy=GO});var g_=y(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.consumeSubcriptionQuotas=Jn.loadSubscription=void 0;var m_=Ke(),y_=W();async function BO(e,t,r,n){let i=m_.SystemLogMap.getLogger(e),{authApiJWT:s,meteringServiceUrl:a}=y_.Environment.instance,c;try{let l=await fetch(`${a}/internal/v1/metering/${n}/subscriptions?customerKey=${t}`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":e.requestId},method:"GET"});if(l.ok)c=await l.json();else{let d=await l.json(),p=d.detail??d.title??"Unknown error on quota consumption.";e.log.error(`MonetizationInboundPolicy '${r}' - Error loading subscription. ${l.status} - ${p}`),i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription.${l.status} - ${p}`)}}catch(l){i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription`,l)}return c&&c.data&&c.data.length>0?c.data[0]:void 0}o(BO,"loadSubscription");Jn.loadSubscription=BO;async function KO(e,t,r,n,i){let{authApiJWT:s,meteringServiceUrl:a}=y_.Environment.instance,c=m_.SystemLogMap.getLogger(e);try{let u=await fetch(`${a}/internal/v1/metering/${n}/subscriptions/${t}/quotas/consume`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":e.requestId},method:"POST",body:JSON.stringify({meters:i})});if(!u.ok){let l=await u.json(),d=l.detail??l.title??"Unknown error on quota consumption.";e.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`)}}catch(u){e.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`,u)}}o(KO,"consumeSubcriptionQuotas");Jn.consumeSubcriptionQuotas=KO});var b_=y(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.parseAllowedSubscriptionStatuses=zn.validateMeters=void 0;var Vr=O(),JO=Xt(),zO=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]);function WO(e,t){try{let r=[];for(let n in e)typeof e[n]!="number"&&!(Number.isInteger(e[n])&&/^-?\d+$/.test(e[n].toString()))&&r.push(n);if(r.length>0)throw new Vr.ConfigurationError(r.length>1?`The values found in these properties are not integers : ${r.join(", ")}`:`The value in property '${r[0]}' is not an integer`)}catch(r){throw r instanceof Vr.ConfigurationError?new Vr.ConfigurationError(`MonetizationInboundPolicy '${t}' - The property 'meters' is invalid. ${r.message}`):r}}o(WO,"validateMeters");zn.validateMeters=WO;function QO(e,t){if(e)try{if(e.length===0)throw new Vr.ConfigurationError("Must set valid subscription statuses");let r=(0,JO.parseValueToStringArray)(e),n=[];for(let i of r)zO.has(i)||n.push(i);if(n.length>0)throw new Vr.ConfigurationError(`Found the following invalid statuses: ${n.join(", ")}`);return e}catch(r){throw r instanceof Vr.ConfigurationError?new Vr.ConfigurationError(`MonetizationInboundPolicy '${t}' - The property 'allowedSubscriptionStatuses' is invalid. ${r.message}`):r}else return["active","incomplete","trialing"]}o(QO,"parseAllowedSubscriptionStatuses");zn.parseAllowedSubscriptionStatuses=QO});var E_=y(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.MonetizationInboundPolicy=void 0;var Gr=Xr(),Br=Qd(),tc=Mi(),ah=O(),YO=yi(),Kr=ie(),ZO=Xt(),XO=Rt(),__=g_(),rc=b_(),ch=class extends YO.InboundPolicy{static{o(this,"MonetizationInboundPolicy")}static getSubscription(t){return Br.ContextData.get(t,Gr.METERING_SUBSCRIPTION_CONTEXT_DATA)}static setMeters(t,r){(0,rc.validateMeters)(r,"setMeters"),Br.ContextData.set(t,Gr.DYNAMIC_METERS_CONTEXT_DATA,r)}async handler(t,r){if((0,XO.optionValidator)(this.options,this.policyName).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string"),!this.options.meterOnStatusCodes)throw new ah.ConfigurationError(`Invalid MonetizationInboundPolicy '${this.policyName}' - The property 'meterOnStatusCodes' must be an array of HTTP status code numbers`);let n=this.options.allowRequestsOverQuota??!1,i=Array.isArray(this.options.meterOnStatusCodes)?this.options.meterOnStatusCodes:(0,ZO.statusCodesStringToNumberArray)(this.options.meterOnStatusCodes),s=Br.ContextData.get(r,Gr.DYNAMIC_METERS_CONTEXT_DATA),a={...this.options.meters,...s};(0,rc.validateMeters)(a,this.policyName);let c=this.options.allowRequestsWithoutSubscription??!1,u=(0,rc.parseAllowedSubscriptionStatuses)(this.options.allowedSubscriptionStatuses,this.policyName);r.addResponseSendingFinalHook(async(_,S,T)=>{let k=Br.ContextData.get(T,Gr.METERING_SUBSCRIPTION_CONTEXT_DATA);if((this.options.allowRequestsWithoutSubscription??!1)&&!k){T.log.debug(`MonetizationInboundPolicy '${this.policyName}' - No subscription found and property 'allowRequestsWithoutSubscription' is true`);return}if(!this.options.bucketId)if(tc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=tc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new ah.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let L=Br.ContextData.get(T,Gr.DYNAMIC_METERS_CONTEXT_DATA),Z={...this.options.meters,...L};(0,rc.validateMeters)(Z,this.policyName),i.includes(_.status)&&k&&Z&&(T.log.debug(`MonetizationInboundPolicy '${this.policyName}' - Updating subscription '${k.id}' with meters '${JSON.stringify(Z)} on response status '${_.status}'`),await(0,__.consumeSubcriptionQuotas)(T,k.id,this.policyName,this.options.bucketId,Z))});let l=t.user;if(!l)return c?t:Kr.HttpProblems.unauthorized(t,r,{detail:"Unable to check subscription for anonymous user"});if(!this.options.bucketId)if(tc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=tc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new ah.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let{sub:d}=l,p=await(0,__.loadSubscription)(r,d,this.policyName,this.options.bucketId);if(!p)return r.log.warn("No valid subscription found"),c?t:Kr.HttpProblems.unauthorized(t,r,{detail:"No valid subscription found"});if(!u.includes(p.status)&&!c)return r.log.warn(`Subscription '${p.id}' has status '${p.status}' which is not part of the allowed statuses.`),Kr.HttpProblems.unauthorized(t,r,{detail:"No valid subscription found"});u.includes(p.status)&&(r.log.debug(`Loading subscription '${p.id}' for user sub '${d}' to ContextData`),Br.ContextData.set(r,Gr.METERING_SUBSCRIPTION_CONTEXT_DATA,p));let m=Br.ContextData.get(r,Gr.METERING_SUBSCRIPTION_CONTEXT_DATA);if(!m)return c?t:(r.log.warn("Subscription is not available for user"),Kr.HttpProblems.paymentRequired(t,r,{detail:"Subscription is not available for user",title:"No Subscription"}));if(m&&Object.keys(m.meters).length===0)return r.log.error(`Quota is not set up for subscription '${m.id}'`),Kr.HttpProblems.tooManyRequests(t,r,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let g=Object.keys(a).filter(_=>!Object.keys(m.meters).includes(_));if(g.length>0)return r.log.warn(`The following policy meters are not present in the subscription: ${g.join(", ")}`),Kr.HttpProblems.tooManyRequests(t,r,{detail:`The following policy meters are not present in the subscription: ${g.join(", ")}`,title:"Quota Exceeded"});for(let _ of Object.keys(a))if(m.meters[_].consumed<=0&&!n)return Kr.HttpProblems.tooManyRequests(t,r,{detail:`Quota exceeded for meter '${_}'`,title:"Quota Exceeded"});return t}};nc.MonetizationInboundPolicy=ch});var v_=y(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.MockApiInboundPolicy=void 0;var eN=ie(),tN=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return uh(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 uh(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(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return w_(a[c])}else return a.length>0?w_(a[0]):uh(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");ic.MockApiInboundPolicy=tN;function w_(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(w_,"generateResponse");var uh=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return eN.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var A_=y(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.MoesifInboundPolicy=Wn.setMoesifContext=void 0;var rN=O(),nN=ve(),iN="Incoming",oN={logRequestBody:!0,logResponseBody:!0};function S_(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(S_,"headersToObject");function T_(){return new Date().toISOString()}o(T_,"timestamp");var lh=new WeakMap,sN={};function aN(e,t){let r=lh.get(e);r||(r=sN);let n=Object.assign({...r},t);lh.set(e,n)}o(aN,"setMoesifContext");Wn.setMoesifContext=aN;async function I_(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o(I_,"readBody");var cN={},dh;function P_(){if(!dh)throw new rN.RuntimeError("Invalid State - no _lastLogger");return dh}o(P_,"getLastLogger");function uN(e){let t=cN[e];return t||(t=new nN.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);P_().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||P_().error({status:i.status,body:await i.text()})})),t}o(uN,"getDispatcher");async function lN(e,t,r,n){dh=t.log;let i=T_(),s=Object.assign(oN,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await I_(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=uN(s.applicationId),d=e.headers.get("true-client-ip"),p=lh.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:S_(e.headers)},h=s.logResponseBody?await I_(c,t):void 0,g={time:T_(),status:c.status,headers:S_(c.headers),body:h},_={request:m,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:iN};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}o(lN,"MoesifInboundPolicy");Wn.MoesifInboundPolicy=lN});var R_=y(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.OktaJwtInboundPolicy=void 0;var dN=Vt(),pN=o(async(e,t,r,n)=>(0,dN.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");oc.OktaJwtInboundPolicy=pN});var O_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.PropelAuthJwtInboundPolicy=void 0;var hN=(qs(),mo(Fs)),fN=Vt(),ph,mN=o(async(e,t,r,n)=>{if(!ph)try{ph=await(0,hN.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,fN.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:ph,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");sc.PropelAuthJwtInboundPolicy=mN});var N_=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.throwIfStateNotObject=V.throwIfStateNotNumber=V.throwIfStateNotString=V.throwIfStateUndefinedOrNull=V.throwIfStateUndefined=V.throwIfOptionNotObject=V.throwIfOptionNotNumber=V.throwIfOptionNotString=V.throwIfOptionUndefinedOrNull=V.throwIfOptionUndefined=V.OptionTypeError=V.OptionUndefinedError=V.throwIfNotNumber=V.throwIfNotString=V.throwIfUndefinedOrNull=V.throwIfUndefined=V.ArgumentTypeError=V.ArgumentUndefinedError=V.ValidationError=void 0;var je=Xe(),rt=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=rt;var ji=class extends rt{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=ji;var Vi=class extends rt{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=Vi;function yN(e,t){if((0,je.isUndefined)(e))throw new ji(t)}o(yN,"throwIfUndefined");V.throwIfUndefined=yN;function hh(e,t){if((0,je.isUndefinedOrNull)(e))throw new ji(t)}o(hh,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=hh;function gN(e,t){if(hh(e,t),!(0,je.isString)(e))throw new Vi(t,"string")}o(gN,"throwIfNotString");V.throwIfNotString=gN;function bN(e,t){if(hh(e,t),!(0,je.isNumber)(e))throw new Vi(t,"number")}o(bN,"throwIfNotNumber");V.throwIfNotNumber=bN;var Gi=class extends rt{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=Gi;var Qn=class extends rt{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};V.OptionTypeError=Qn;function _N(e,t,r,n){if((0,je.isUndefined)(n))throw new Gi(e,t,r)}o(_N,"throwIfOptionUndefined");V.throwIfOptionUndefined=_N;function ac(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Gi(e,t,r)}o(ac,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=ac;function EN(e,t,r,n){if(ac(e,t,r,n),!(0,je.isString)(n))throw new Qn(e,t,r,"string")}o(EN,"throwIfOptionNotString");V.throwIfOptionNotString=EN;function wN(e,t,r,n){if(ac(e,t,r,n),!(0,je.isNumber)(n))throw new Qn(e,t,r,"number")}o(wN,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=wN;function vN(e,t,r,n){if(ac(e,t,r,n),!(0,je.isObject)(n))throw new Qn(e,t,r,"object")}o(vN,"throwIfOptionNotObject");V.throwIfOptionNotObject=vN;function SN(e,t){if((0,je.isUndefined)(e))throw new rt(t)}o(SN,"throwIfStateUndefined");V.throwIfStateUndefined=SN;function cc(e,t){if((0,je.isUndefinedOrNull)(e))throw new rt(t)}o(cc,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=cc;function TN(e,t){if(cc(e,t),!(0,je.isString)(e))throw new rt(t);return!0}o(TN,"throwIfStateNotString");V.throwIfStateNotString=TN;function IN(e,t){if(cc(e,t),!(0,je.isNumber)(e))throw new rt(t);return!0}o(IN,"throwIfStateNotNumber");V.throwIfStateNotNumber=IN;function PN(e,t){if(cc(e,t),!(0,je.isObject)(e))throw new rt(t);return!0}o(PN,"throwIfStateNotObject");V.throwIfStateNotObject=PN});var C_=y(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.InMemoryRedisClient=Yn.StandardRedisClient=void 0;var fh=O(),uc=N_(),mh=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,uc.throwIfNotString)(t,"redisClientUrl"),(0,uc.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,uc.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 fh.SystemError("Redis client failed with 401: Unauthorized"):new fh.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Yn.StandardRedisClient=mh;var yh=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,uc.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 fh.SystemError("The in-memory redis client only supports /rate-limit calls")}};Yn.InMemoryRedisClient=yh});var M_=y(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.RateLimitInboundPolicy=void 0;var AN=Rr(),RN=jt(),ON=Eo(),Ot=O(),NN=ie(),x_=Ke(),Bi=W(),L_=C_(),D_=Xe(),lc=(0,AN.debug)("zuplo:policies:RateLimitInboundPolicy"),CN="strict",xN=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"),LN=o(async e=>({key:`ip-${xN(e)}`}),"getIP"),DN=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),UN=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),dc;function MN(e,t){let r;if(dc)return dc;if(Bi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new L_.InMemoryRedisClient,dc=r,r;let{authApiJWT:n,redisURL:i}=Bi.Environment.instance;if(!(0,D_.isString)(i))throw new Ot.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,D_.isString)(n))throw new Ot.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=L_.StandardRedisClient.initialize(i,n,Bi.Environment.instance.deploymentName??"unknown",Bi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ot.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return dc=r,r}o(MN,"getRedisClient");async function U_(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(U_,"getCountAndUpdateExpiry");function kN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Ot.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Ot.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Ot.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 Ot.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 Ot.RuntimeError(u)}return c},"outerFunction")}o(kN,"wrapUserFunction");var HN="Retry-After",FN=o(async(e,t,r,n)=>{let i=Date.now(),s=x_.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new Ot.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[HN]=l.toString()),NN.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:kN(r,n),user:DN,ip:LN,all:UN}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=MN(n,s),T=`bucket/${Bi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??CN)==="async"){let L=await(0,RN.getPolicyCacheName)(n,r),Z=new ON.ZoneCache(L,{logger:x_.SystemLogMap.getLogger(t)}),ne=U_(T,h,_,s,t.requestId),me=await Z.get(T);if(me!==void 0&&me<=Date.now()){lc(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${T}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(g,Be)}return t.addEventListener("responseSending",Be=>{try{let w=Be,H=w.mutableResponse;w.mutableResponse=(async()=>{let xe=await ne;if(xe.count>m){let Tu=Date.now()+xe.ttlSeconds*1e3,Ew=Z.put(T,Tu,xe.ttlSeconds).catch(nf=>{throw s.error(new Ot.SystemError("Error caching rate limit result.",{cause:nf})),nf});return t.waitUntil(Ew),lc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,xe.ttlSeconds)}return H})()}catch(w){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let G=await U_(T,h,_,s,t.requestId);return G.count>m?(lc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (strict mode)`),c(g,G.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;lc(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");pc.RateLimitInboundPolicy=FN});var q_=y(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.ReadmeMetricsInboundPolicy=void 0;var qN=ve(),gh=W(),k_=Xt(),bh;function H_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(H_,"headersToNameValuePairs");function $N(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o($N,"queryToNameValueParis");function jN(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(jN,"parseIntOrUndefined");var F_={};async function VN(e,t,r,n){let i=new Date,s=Date.now();return bh||(bh={name:"zuplo",version:gh.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${gh.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,k_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,k_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:gh.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:bh,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:H_(e.headers),queryString:$N(e.query)},response:{status:a.status,statusText:a.statusText,headers:H_(a.headers),content:{size:jN(e.headers.get("content-length"))}}}]}}},d=F_[r.apiKey];if(!d){let p=r.apiKey;d=new qN.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),F_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(VN,"ReadmeMetricsInboundPolicy");hc.ReadmeMetricsInboundPolicy=VN});var $_=y(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.RemoveHeadersInboundPolicy=void 0;var GN=O(),BN=He(),KN=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new GN.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 BN.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");fc.RemoveHeadersInboundPolicy=KN});var j_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.RemoveHeadersOutboundPolicy=void 0;var JN=O(),zN=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new JN.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");mc.RemoveHeadersOutboundPolicy=zN});var V_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.RemoveQueryParamsInboundPolicy=void 0;var WN=O(),QN=He(),YN=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new WN.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 QN.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");yc.RemoveQueryParamsInboundPolicy=YN});var G_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.ReplaceStringOutboundPolicy=void 0;var ZN=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");gc.ReplaceStringOutboundPolicy=ZN});var K_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.RequestSizeLimitInboundPolicy=void 0;var B_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),XN=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?B_():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?B_():e},"RequestSizeLimitInboundPolicy");bc.RequestSizeLimitInboundPolicy=XN});var _c=y(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.sanitizedIdentifierName=nt.getIdForRefSchema=nt.getIdForRequestBodySchema=nt.getIdForParameterSchema=nt.getRawOperationDataIdentifierName=void 0;function eC(e,t,r){return`_${Jr(e+"_"+t+"_"+r)}`}o(eC,"getRawOperationDataIdentifierName");nt.getRawOperationDataIdentifierName=eC;function tC(e,t,r,n){return`_${Jr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(tC,"getIdForParameterSchema");nt.getIdForParameterSchema=tC;function rC(e,t,r){return`_${Jr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Jr(r.toLowerCase())}`}o(rC,"getIdForRequestBodySchema");nt.getIdForRequestBodySchema=rC;function nC(e,t){return`_${Jr(e)}__${Jr(t)}`}o(nC,"getIdForRefSchema");nt.getIdForRefSchema=nC;function Jr(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(Jr,"sanitizedIdentifierName");nt.sanitizedIdentifierName=Jr});var Ki=y(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.getErrorsFromValidator=De.shouldReject=De.shouldLog=De.logErrors=De.validateParameters=De.getParametersForOperation=void 0;var iC=Or(),oC=_c(),sC=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");De.getParametersForOperation=sC;var aC=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,oC.getIdForParameterSchema)(r,n,i,u.name),p=iC.Gateway.instance.schemaValidator[d],m=p(t[u.name]),h=(0,De.getErrorsFromValidator)(p.errors);m||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");De.validateParameters=aC;var cC=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");De.logErrors=cC;var uC=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");De.shouldLog=uC;var lC=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");De.shouldReject=lC;var dC=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");De.getErrorsFromValidator=dC});var J_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.handleBodyValidation=void 0;var pC=Or(),Ec=ie(),hC=_c(),ze=Ki();async function fC(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let g=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=Ec.HttpProblems.badRequest(t,e,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",g,[n],h),(0,ze.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,g=Ec.HttpProblems.badRequest(t,e,{detail:h});return(0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,ze.shouldReject)(r.validateBody)?g:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,hC.getIdForRequestBodySchema)(e.route.path,t.method,i),c=pC.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,g=Ec.HttpProblems.badRequest(t,e,{detail:h});return(0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,ze.shouldReject)(r.validateBody)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,ze.getErrorsFromValidator)(l),m=Ec.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",d,[n],p),(0,ze.shouldReject)(r.validateBody))return m}o(fC,"handleBodyValidation");wc.handleBodyValidation=fC});var z_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.handleHeadersValidation=void 0;var mC=ie(),Ji=Ki();function yC(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ji.getParametersForOperation)(e),s=(0,Ji.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=mC.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Ji.shouldLog)(r.validateHeaders)&&(0,Ji.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Ji.shouldReject)(r.validateHeaders))return c}}o(yC,"handleHeadersValidation");vc.handleHeadersValidation=yC});var W_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.handlePathParameterValidation=void 0;var gC=ie(),zi=Ki();function bC(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,zi.getParametersForOperation)(e),i=(0,zi.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=gC.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,zi.shouldLog)(r.validatePathParameters)&&(0,zi.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,zi.shouldReject)(r.validatePathParameters))return a}}o(bC,"handlePathParameterValidation");Sc.handlePathParameterValidation=bC});var Q_=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.handleQueryParameterValidation=void 0;var _C=ie(),Wi=Ki();function EC(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Wi.getParametersForOperation)(e),i=(0,Wi.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=_C.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Wi.shouldLog)(r.validateQueryParameters)&&(0,Wi.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Wi.shouldReject)(r.validateQueryParameters))return a}}o(EC,"handleQueryParameterValidation");Tc.handleQueryParameterValidation=EC});var Y_=y(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.SchemaBasedRequestValidation=zr.RequestValidationInboundPolicy=void 0;var wC=J_(),vC=z_(),SC=W_(),TC=Q_(),IC=o(async(e,t,r)=>{let n=(0,TC.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,SC.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,vC.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,wC.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");zr.RequestValidationInboundPolicy=IC;zr.SchemaBasedRequestValidation=zr.RequestValidationInboundPolicy});var Z_=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.RequireOriginInboundPolicy=void 0;var PC=O(),AC=ie(),RC=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new PC.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 AC.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");Ic.RequireOriginInboundPolicy=RC});var X_=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.SetBodyInboundPolicy=void 0;var OC=He(),NC=o(async(e,t,r)=>new OC.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Pc.SetBodyInboundPolicy=NC});var tE=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.SetHeadersInboundPolicy=void 0;var eE=O(),CC=He(),xC=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new eE.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 eE.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 CC.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");Ac.SetHeadersInboundPolicy=xC});var nE=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.SetHeadersOutboundPolicy=void 0;var rE=O(),LC=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new rE.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 rE.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");Rc.SetHeadersOutboundPolicy=LC});var oE=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.SetQueryParamsInboundPolicy=void 0;var iE=O(),DC=He(),UC=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new iE.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 iE.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 DC.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");Oc.SetQueryParamsInboundPolicy=UC});var sE=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.SetStatusOutboundPolicy=void 0;var MC=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");Nc.SetStatusOutboundPolicy=MC});var aE=y(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.SleepInboundPolicy=void 0;var kC=O(),HC=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),FC=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new kC.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await HC(r.sleepInMs),e},"SleepInboundPolicy");Cc.SleepInboundPolicy=FC});var uE=y(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.SupabaseJwtInboundPolicy=void 0;var cE=O(),qC=ie(),$C=He(),jC=Rt(),VC=Vt(),GC=o(async(e,t,r,n)=>{(0,jC.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,VC.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof $C.ZuploRequest))throw new cE.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 cE.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?qC.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");xc.SupabaseJwtInboundPolicy=GC});var dE=y(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var BC=jt(),KC=Jt(),lE=O(),JC=Sn(),zC=Rt(),WC=o(async(e,t,r,n)=>{(0,zC.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,BC.getPolicyCacheName)(n,r),s=new KC.MemoryZoneReadThroughCache(i,t),a=await s.get(n);if(!a){let c=await QC(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");Lc.UpstreamAzureAdServiceAuthInboundPolicy=WC;async function QC(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,JC.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 lE.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 lE.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(QC,"getAccessToken")});var hE=y(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var YC=jt(),ZC=Jt(),XC=O(),_h=Tn(),ex=Rt(),pE="https://accounts.google.com/o/oauth2/token",Eh,tx=o(async(e,t,r,n)=>{(0,ex.optionValidator)(r,n).required("serviceAccountJson","string"),Eh||(Eh=await _h.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,YC.getPolicyCacheName)(n,r),a=new ZC.MemoryZoneReadThroughCache(s,t),c=await a.get(n);if(!c){let u=await(0,_h.getTokenFromGcpServiceAccount)({serviceAccount:Eh,audience:pE,payload:i}),l=await(0,_h.exchangeGgpJwtForIdToken)(pE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new XC.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");Dc.UpstreamFirebaseAdminAuthInboundPolicy=tx});var fE=y(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var rx=jt(),nx=Jt(),Zn=O(),ix=eh(),wh=Tn(),ox=Xt(),sx=Rt(),ax="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",cx=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],vh,ux=o(async(e,t,r,n)=>{if((0,sx.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Zn.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(cx.indexOf(p)!==-1)throw new Zn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}vh||(vh=await wh.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new Zn.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 Zn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,ox.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Zn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,rx.getPolicyCacheName)(n,r),c=new nx.MemoryZoneReadThroughCache(a,t),u={uid:s,claims:i},l=await(0,ix.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,wh.getTokenFromGcpServiceAccount)({serviceAccount:vh,audience:ax,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,wh.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Zn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");Uc.UpstreamFirebaseUserAuthInboundPolicy=ux});var yE=y(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.UpstreamGcpJwtInboundPolicy=void 0;var mE=Tn(),lx=Rt(),Sh,dx=o(async(e,t,r,n)=>{(0,lx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Sh||(Sh=await mE.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,mE.getTokenFromGcpServiceAccount)({serviceAccount:Sh,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Mc.UpstreamGcpJwtInboundPolicy=dx});var bE=y(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.UpstreamGcpServiceAuthInboundPolicy=void 0;var px=jt(),hx=Cu(),fx=Jt(),Qi=O(),Th=Tn(),mx=Xt(),yx=Rt(),gE="https://www.googleapis.com/oauth2/v4/token",Ih,gx=o(async(e,t,r,n)=>{(0,yx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Ih||(Ih=await Th.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new Qi.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,mx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof Qi.ConfigurationError?new Qi.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,px.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new hx.MemoryCache(s):a=new fx.MemoryZoneReadThroughCache(s,t);let c=await a.get(n);if(!c){let u=await(0,Th.getTokenFromGcpServiceAccount)({serviceAccount:Ih,audience:gE,payload:i}),l=await(0,Th.exchangeGgpJwtForIdToken)(gE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new Qi.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new Qi.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamGcpServiceAuthInboundPolicy");kc.UpstreamGcpServiceAuthInboundPolicy=gx});var EE=y(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.ValidateJsonSchemaInbound=void 0;var bx=O(),_E=ie(),_x=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return _E.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 bx.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 _E.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Hc.ValidateJsonSchemaInbound=_x});var wE=y(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.ServiceProviderImpl=void 0;var Ex=O(),Ph=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new Ex.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};Fc.ServiceProviderImpl=Ph});var DE=y(f=>{"use strict";var wx=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]}),Ah=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&wx(t,e,r)},vx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.MonetizationInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=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.OutboundPolicy=f.InboundPolicy=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.RuntimeError=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=void 0;lf();var Sx=Jt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return Sx.MemoryZoneReadThroughCache}});var Tx=Eo();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return Tx.ZoneCache}});var vE=Nr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return vE.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return vE.ResponseSentEvent}});var Ix=Qd();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return Ix.ContextData}});var Rh=Mi();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return Rh.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Rh.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Rh.isZuploReadableEnvVariableName}});var SE=O();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return SE.ConfigurationError}});Object.defineProperty(f,"RuntimeError",{enumerable:!0,get:function(){return SE.RuntimeError}});var Px=Zd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return Px.originalFetch}});var TE=Hg();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return TE.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return TE.purgeGatewayCache}});var IE=tb();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return IE.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return IE.awsLambdaHandler}});var Ax=nb();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return Ax.openApiSpecHandler}});var Rx=ib();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return Rx.redirectHandler}});var Ox=sb();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return Ox.urlForwardHandler}});var Nx=cb();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return Nx.urlRewriteHandler}});var Cx=lb();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return Cx.webSocketHandler}});var xx=hb();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return xx.webSocketPipelineHandler}});var Lx=rl();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return Lx.HttpStatusCode}});Ah(wb(),f);Ah(Tb(),f);var Dx=Ib();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return Dx.AuditLogDataStaxProvider}});var Ux=Ab();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return Ux.AuditLogPlugin}});Ah(jb(),f);var PE=yi();Object.defineProperty(f,"InboundPolicy",{enumerable:!0,get:function(){return PE.InboundPolicy}});Object.defineProperty(f,"OutboundPolicy",{enumerable:!0,get:function(){return PE.OutboundPolicy}});var AE=Jb();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return AE.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return AE.AmberfloMeteringPolicy}});var Mx=Zb();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Mx.ApiAuthKeyInboundPolicy}});var kx=nh();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return kx.ApiKeyInboundPolicy}});var Hx=Xb();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return Hx.Auth0JwtInboundPolicy}});var Fx=e_();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Fx.BasicAuthInboundPolicy}});var qx=t_();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return qx.CachingInboundPolicy}});var $x=r_();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return $x.ChangeMethodInboundPolicy}});var jx=n_();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return jx.ClearHeadersInboundPolicy}});var Vx=i_();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Vx.ClearHeadersOutboundPolicy}});var Gx=o_();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return Gx.ClerkJwtInboundPolicy}});var Bx=a_();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Bx.CognitoJwtInboundPolicy}});var Kx=u_();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return Kx.CompositeInboundPolicy}});var Jx=l_();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return Jx.CurityPhantomTokenInboundPolicy}});var zx=d_();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return zx.FirebaseJwtInboundPolicy}});var Wx=p_();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return Wx.FormDataToJsonInboundPolicy}});var Qx=h_();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Qx.GeoFilterInboundPolicy}});var Yx=f_();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return Yx.JWTScopeValidationInboundPolicy}});var Zx=E_();Object.defineProperty(f,"MonetizationInboundPolicy",{enumerable:!0,get:function(){return Zx.MonetizationInboundPolicy}});var Xx=v_();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Xx.MockApiInboundPolicy}});var RE=A_();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return RE.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return RE.setMoesifContext}});var eL=R_();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return eL.OktaJwtInboundPolicy}});var tL=Vt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return tL.OpenIdJwtInboundPolicy}});var rL=O_();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return rL.PropelAuthJwtInboundPolicy}});var OE=M_();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return OE.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return OE.RateLimitInboundPolicy}});var nL=q_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return nL.ReadmeMetricsInboundPolicy}});var iL=$_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return iL.RemoveHeadersInboundPolicy}});var oL=j_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return oL.RemoveHeadersOutboundPolicy}});var sL=V_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return sL.RemoveQueryParamsInboundPolicy}});var aL=G_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return aL.ReplaceStringOutboundPolicy}});var cL=K_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return cL.RequestSizeLimitInboundPolicy}});var NE=Y_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return NE.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return NE.SchemaBasedRequestValidation}});var uL=Z_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return uL.RequireOriginInboundPolicy}});var lL=X_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return lL.SetBodyInboundPolicy}});var dL=tE();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return dL.SetHeadersInboundPolicy}});var pL=nE();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return pL.SetHeadersOutboundPolicy}});var hL=oE();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return hL.SetQueryParamsInboundPolicy}});var fL=sE();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return fL.SetStatusOutboundPolicy}});var mL=aE();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return mL.SleepInboundPolicy}});var yL=Dp();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return yL.StripeWebhookVerificationInboundPolicy}});var gL=uE();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return gL.SupabaseJwtInboundPolicy}});var bL=dE();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return bL.UpstreamAzureAdServiceAuthInboundPolicy}});var _L=hE();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return _L.UpstreamFirebaseAdminAuthInboundPolicy}});var EL=fE();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return EL.UpstreamFirebaseUserAuthInboundPolicy}});var wL=yE();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return wL.UpstreamGcpJwtInboundPolicy}});var vL=bE();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return vL.UpstreamGcpServiceAuthInboundPolicy}});var SL=EE();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return SL.ValidateJsonSchemaInbound}});var TL=ie();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return TL.HttpProblems}});var IL=Oo();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return IL.ProblemResponseFormatter}});var PL=He();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return PL.ZuploRequest}});var AL=xr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return AL.SystemRouteName}});var CE=$d();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return CE.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return CE.Router}});var xE=Ku();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return xE.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return xE.serialize}});var RL=wE();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return RL.ServiceProviderImpl}});var LE=wl();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return LE.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return LE.SYSTEM_LOGGER}});var OL=il();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return vx(OL).default}});var NL=Ke();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return NL.SystemLogMap}});var Yi=_c();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Yi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Yi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Yi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Yi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Yi.sanitizedIdentifierName}})});var UE=y(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.BaseCryptoBeta=Xn.supportedDigests=void 0;Xn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Oh=class{static{o(this,"BaseCryptoBeta")}};Xn.BaseCryptoBeta=Oh});var ME=y(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.WorkerCryptoBeta=void 0;var Nh=UE(),CL=O(),Ch=class extends Nh.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!Nh.supportedDigests.includes(t.toLowerCase()))throw new CL.RuntimeError(`Algorithm ${t} is not supported. Try using ${Nh.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("")}};qc.WorkerCryptoBeta=Ch});var kE=y($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.BaseKeyValueStore=void 0;var xh=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};$c.BaseKeyValueStore=xh});var FE=y(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.WorkerKeyValueStore=void 0;var HE=O(),xL=kE(),Lh=class extends xL.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new HE.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 HE.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)}};jc.WorkerKeyValueStore=Lh});var Mt=y(pt=>{"use strict";var LL=pt&&pt.__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]}),DL=pt&&pt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&LL(t,e,r)};Object.defineProperty(pt,"__esModule",{value:!0});pt.KeyValueStore=pt.CryptoBeta=void 0;DL(DE(),pt);var UL=ME();Object.defineProperty(pt,"CryptoBeta",{enumerable:!0,get:function(){return UL.WorkerCryptoBeta}});var ML=FE();Object.defineProperty(pt,"KeyValueStore",{enumerable:!0,get:function(){return ML.WorkerKeyValueStore}})});var VD={};fo(VD,{GraphQLComplexityLimitInboundPolicy:()=>gw,GraphQLDisableIntrospectionInboundPolicy:()=>_w});module.exports=mo(VD);var di=sf(Mt());function B(e,t){if(!!!e)throw new Error(t)}o(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}o(Ee,"isObjectLike");function Nt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(Nt,"invariant");var kL=/\r\n|[\n\r]/g;function ei(e,t){let r=0,n=1;for(let i of e.body.matchAll(kL)){if(typeof i.index=="number"||Nt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(ei,"getLocation");function Dh(e){return Vc(e.source,ei(e.source,e.start))}o(Dh,"printLocation");function Vc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
75
|
+
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+qE([[`${a} |`,g[0]],...g.slice(1,m+1).map(_=>["|",_]),["|","^".padStart(h)],["|",g[m+1]]])}return l+qE([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(Vc,"printSourceLocation");function qE(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
|
|
76
|
+
`)}o(qE,"printPrefixedLines");function HL(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(HL,"toNormalizedOptions");var x=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}=HL(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=$E(Array.isArray(a)?a:a?[a]:void 0);let m=$E((n=this.nodes)===null||n===void 0?void 0:n.map(g=>g.loc).filter(g=>g!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(g=>g.start),this.locations=u&&c?u.map(g=>ei(c,g)):m?.map(g=>ei(g.source,g.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
|
|
77
77
|
|
|
78
|
-
`+
|
|
78
|
+
`+Dh(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
|
|
79
79
|
|
|
80
|
-
`+
|
|
80
|
+
`+Vc(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 $E(e){return e===void 0||e.length===0?void 0:e}o($E,"undefinedIfEmpty");function de(e,t,r){return new x(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(de,"syntaxError");var Zi=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}}},ti=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}}},Uh={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"]},FL=new Set(Object.keys(Uh));function Xi(e){let t=e?.kind;return typeof t=="string"&&FL.has(t)}o(Xi,"isNode");var it;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(it||(it={}));var K;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var b;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(b||(b={}));function Gc(e){return e===9||e===32}o(Gc,"isWhiteSpace");function ri(e){return e>=48&&e<=57}o(ri,"isDigit");function jE(e){return e>=97&&e<=122||e>=65&&e<=90}o(jE,"isLetter");function eo(e){return jE(e)||e===95}o(eo,"isNameStart");function Bc(e){return jE(e)||ri(e)||e===95}o(Bc,"isNameContinue");function VE(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=qL(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(VE,"dedentBlockStringLines");function qL(e){let t=0;for(;t<e.length&&Gc(e.charCodeAt(t));)++t;return t}o(qL,"leadingWhitespace");function GE(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||Gc(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="",m=i&&Gc(e.charCodeAt(0));return(d&&!m||s)&&(p+=`
|
|
81
81
|
`),p+=r,(d||l)&&(p+=`
|
|
82
|
-
`),'"""'+p+'"""'}o(
|
|
83
|
-
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(
|
|
84
|
-
`));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(
|
|
82
|
+
`),'"""'+p+'"""'}o(GE,"printBlockString");var E;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(E||(E={}));var ro=class{static{o(this,"Lexer")}constructor(t){let r=new ti(E.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==E.EOF)do if(t.next)t=t.next;else{let r=$L(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===E.COMMENT);return t}};function KE(e){return e===E.BANG||e===E.DOLLAR||e===E.AMP||e===E.PAREN_L||e===E.PAREN_R||e===E.SPREAD||e===E.COLON||e===E.EQUALS||e===E.AT||e===E.BRACKET_L||e===E.BRACKET_R||e===E.BRACE_L||e===E.PIPE||e===E.BRACE_R}o(KE,"isPunctuatorTokenKind");function ni(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o(ni,"isUnicodeScalarValue");function Kc(e,t){return JE(e.charCodeAt(t))&&zE(e.charCodeAt(t+1))}o(Kc,"isSupplementaryCodePoint");function JE(e){return e>=55296&&e<=56319}o(JE,"isLeadingSurrogate");function zE(e){return e>=56320&&e<=57343}o(zE,"isTrailingSurrogate");function Wr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return E.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(Wr,"printCodePointAt");function fe(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new ti(t,r,n,s,a,i)}o(fe,"createToken");function $L(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 jL(e,i);case 33:return fe(e,E.BANG,i,i+1);case 36:return fe(e,E.DOLLAR,i,i+1);case 38:return fe(e,E.AMP,i,i+1);case 40:return fe(e,E.PAREN_L,i,i+1);case 41:return fe(e,E.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,E.SPREAD,i,i+3);break;case 58:return fe(e,E.COLON,i,i+1);case 61:return fe(e,E.EQUALS,i,i+1);case 64:return fe(e,E.AT,i,i+1);case 91:return fe(e,E.BRACKET_L,i,i+1);case 93:return fe(e,E.BRACKET_R,i,i+1);case 123:return fe(e,E.BRACE_L,i,i+1);case 124:return fe(e,E.PIPE,i,i+1);case 125:return fe(e,E.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?zL(e,i):GL(e,i)}if(ri(s)||s===45)return VL(e,i,s);if(eo(s))return WL(e,i);throw de(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:ni(s)||Kc(r,i)?`Unexpected character: ${Wr(e,i)}.`:`Invalid character: ${Wr(e,i)}.`)}return fe(e,E.EOF,n,n)}o($L,"readNextToken");function jL(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(ni(s))++i;else if(Kc(r,i))i+=2;else break}return fe(e,E.COMMENT,t,i,r.slice(t+1,i))}o(jL,"readComment");function VL(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),ri(s))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${Wr(e,i)}.`)}else i=Mh(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=Mh(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=Mh(e,i,s),s=n.charCodeAt(i)),s===46||eo(s))throw de(e.source,i,`Invalid number, expected digit but got: ${Wr(e,i)}.`);return fe(e,a?E.FLOAT:E.INT,t,i,n.slice(t,i))}o(VL,"readNumber");function Mh(e,t,r){if(!ri(r))throw de(e.source,t,`Invalid number, expected digit but got: ${Wr(e,t)}.`);let n=e.source.body,i=t+1;for(;ri(n.charCodeAt(i));)++i;return i}o(Mh,"readDigits");function GL(e,t){let r=e.source.body,n=r.length,i=t+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),fe(e,E.STRING,t,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?BL(e,i):KL(e,i):JL(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(ni(c))++i;else if(Kc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${Wr(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}o(GL,"readString");function BL(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||!ni(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|to(s),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(BL,"readEscapedUnicodeVariableWidth");function KL(e,t){let r=e.source.body,n=BE(r,t+2);if(ni(n))return{value:String.fromCodePoint(n),size:6};if(JE(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=BE(r,t+8);if(zE(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(KL,"readEscapedUnicodeFixedWidth");function BE(e,t){return to(e.charCodeAt(t))<<12|to(e.charCodeAt(t+1))<<8|to(e.charCodeAt(t+2))<<4|to(e.charCodeAt(t+3))}o(BE,"read16BitHexCode");function to(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(to,"readHexDigit");function JL(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
|
|
83
|
+
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(JL,"readEscapedCharacter");function zL(e,t){let r=e.source.body,n=r.length,i=e.lineStart,s=t+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=fe(e,E.BLOCK_STRING,t,s+3,VE(u).join(`
|
|
84
|
+
`));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(ni(l))++s;else if(Kc(r,s))s+=2;else throw de(e.source,s,`Invalid character within String: ${Wr(e,s)}.`)}throw de(e.source,s,"Unterminated string.")}o(zL,"readBlockString");function WL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(Bc(s))++i;else break}return fe(e,E.NAME,t,i,r.slice(t,i))}o(WL,"readName");function A(e){return Jc(e,[])}o(A,"inspect");function Jc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return QL(e,t);default:return String(e)}}o(Jc,"formatValue");function QL(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(YL(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:Jc(n,r)}else if(Array.isArray(e))return XL(e,r);return ZL(e,r)}o(QL,"formatObjectValue");function YL(e){return typeof e.toJSON=="function"}o(YL,"isJSONable");function ZL(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+eD(e)+"]":"{ "+r.map(([i,s])=>i+": "+Jc(s,t)).join(", ")+" }"}o(ZL,"formatObject");function XL(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let s=0;s<r;++s)i.push(Jc(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(XL,"formatArray");function eD(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(eD,"getObjectTag");var We=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.
|
|
85
85
|
|
|
86
86
|
Ensure that there is only one instance of "graphql" in the node_modules
|
|
87
87
|
directory. If different versions of "graphql" are the dependencies of other
|
|
@@ -92,17 +92,17 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
|
|
|
92
92
|
Duplicate "graphql" modules cannot be used at the same time since different
|
|
93
93
|
versions may have different capabilities and behavior. The data from one
|
|
94
94
|
version used in the function from another could produce confusing and
|
|
95
|
-
spurious results.`)}}return!1},"instanceOf");var ri=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||G(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||G(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||G(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function zw(e){return We(e,ri)}o(zw,"isSource");function Jc(e,t){return new Kc(e,t).parseDocument()}o(Jc,"parse");function zc(e,t){let r=new Kc(e,t);r.expectToken(w.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(w.EOF),n}o(zc,"parseValue");var Kc=class{static{o(this,"Parser")}constructor(t,r={}){let n=zw(t)?t:new ri(t);this._lexer=new Xi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(w.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(w.SOF,this.parseDefinition,w.EOF)})}parseDefinition(){if(this.peek(w.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===w.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(w.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:it.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(w.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(w.NAME);switch(t.value){case"query":return it.QUERY;case"mutation":return it.MUTATION;case"subscription":return it.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(w.PAREN_L,this.parseVariableDefinition,w.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(w.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(w.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(w.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(w.BRACE_L,this.parseSelection,w.BRACE_R)})}parseSelection(){return this.peek(w.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(w.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(w.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(w.PAREN_L,r,w.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(w.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(w.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(w.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case w.BRACKET_L:return this.parseList(t);case w.BRACE_L:return this.parseObject(t);case w.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case w.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case w.STRING:case w.BLOCK_STRING:return this.parseStringLiteral();case w.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case w.DOLLAR:if(t)if(this.expectToken(w.DOLLAR),this._lexer.token.kind===w.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===w.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(w.BRACKET_L,r,w.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(w.BRACE_L,r,w.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(w.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(w.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(w.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(w.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(w.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(w.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(w.STRING)||this.peek(w.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(w.BRACE_L,this.parseOperationTypeDefinition,w.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(w.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(w.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(w.BRACE_L,this.parseFieldDefinition,w.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(w.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(w.PAREN_L,this.parseInputValueDef,w.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(w.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(w.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(w.EQUALS)?this.delimitedMany(w.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(w.BRACE_L,this.parseEnumValueDefinition,w.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${Bc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(w.BRACE_L,this.parseInputValueDef,w.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===w.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(w.BRACE_L,this.parseOperationTypeDefinition,w.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(w.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(w.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(B,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Wi(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${Ww(t)}, found ${Bc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===w.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${Bc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===w.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${Bc(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!==w.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Bc(e){let t=e.value;return Ww(e.kind)+(t!=null?` "${t}"`:"")}o(Bc,"getTokenDesc");function Ww(e){return Bw(e)?`"${e}"`:e}o(Ww,"getTokenKindDesc");function Wc(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(Wc,"didYouMean");function Uh(e){return e}o(Uh,"identityFunc");function ni(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(ni,"keyMap");function Ct(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(Ct,"keyValMap");function eo(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(eo,"mapValue");function Qw(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(Qc(i)&&Qc(s)){let a=0;do++r,a=a*10+i-Mh,i=e.charCodeAt(r);while(Qc(i)&&a>0);let c=0;do++n,c=c*10+s-Mh,s=t.charCodeAt(n);while(Qc(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(Qw,"naturalCompare");var Mh=48,eD=57;function Qc(e){return!isNaN(e)&&Mh<=e&&e<=eD}o(Qc,"isDigit");function Yc(e,t){let r=Object.create(null),n=new kh(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:Qw(s,a)})}o(Yc,"suggestionList");var kh=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=Yw(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=Yw(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],m=u[d%3],h=m[0]=d;for(let g=1;g<=c;g++){let _=i[d-1]===s[g-1]?0:1,S=Math.min(p[g]+1,m[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===s[g-2]&&i[d-2]===s[g-1]){let T=u[(d-2)%3][g-2];S=Math.min(S,T+1)}S<h&&(h=S),m[g]=S}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function Yw(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(Yw,"stringToArray");function Ue(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(Ue,"toObjMap");function Zw(e){return`"${e.replace(tD,rD)}"`}o(Zw,"printString");var tD=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function rD(e){return nD[e.charCodeAt(0)]}o(rD,"escapedReplacer");var nD=["\\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 Hh=Object.freeze({});function Er(e,t,r=Lh){let n=new Map;for(let T of Object.values(b))n.set(T,ii(t,T));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let T=c===a.length,k=T&&u.length!==0;if(T){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),k)if(s){l=l.slice();let L=0;for(let[re,ne]of u){let me=re-L;ne===null?(l.splice(me,1),L++):l[me]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[L,re]of u)l[L]=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;m.push(d)}let K;if(!Array.isArray(l)){var g,_;Qi(l)||G(!1,`Invalid AST Node: ${P(l)}.`);let L=T?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(K=L?.call(t,l,d,p,m,h),K===Hh)break;if(K===!1){if(!T){m.pop();continue}}else if(K!==void 0&&(u.push([d,K]),!T))if(Qi(K))l=K;else{m.pop();continue}}if(K===void 0&&k&&u.push([d,l]),T)m.pop();else{var S;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(S=r[l.kind])!==null&&S!==void 0?S:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(Er,"visit");function ii(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(ii,"getEnterLeaveForKind");function Me(e){return Er(e,oD)}o(Me,"print");var iD=80,oD={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>C(e.definitions,`
|
|
95
|
+
spurious results.`)}}return!1},"instanceOf");var ii=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 WE(e){return We(e,ii)}o(WE,"isSource");function Qc(e,t){return new Wc(e,t).parseDocument()}o(Qc,"parse");function Yc(e,t){let r=new Wc(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}o(Yc,"parseValue");var Wc=class{static{o(this,"Parser")}constructor(t,r={}){let n=WE(t)?t:new ii(t);this._lexer=new ro(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(E.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(E.SOF,this.parseDefinition,E.EOF)})}parseDefinition(){if(this.peek(E.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===E.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(E.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:it.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(E.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(E.NAME);switch(t.value){case"query":return it.QUERY;case"mutation":return it.MUTATION;case"subscription":return it.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(E.PAREN_L,this.parseVariableDefinition,E.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(E.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(E.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(E.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(E.BRACE_L,this.parseSelection,E.BRACE_R)})}parseSelection(){return this.peek(E.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(E.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(E.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(E.PAREN_L,r,E.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(E.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(E.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case E.BRACKET_L:return this.parseList(t);case E.BRACE_L:return this.parseObject(t);case E.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case E.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case E.STRING:case E.BLOCK_STRING:return this.parseStringLiteral();case E.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case E.DOLLAR:if(t)if(this.expectToken(E.DOLLAR),this._lexer.token.kind===E.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===E.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(E.BRACKET_L,r,E.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(E.BRACE_L,r,E.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(E.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(E.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(E.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(E.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(E.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(E.STRING)||this.peek(E.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(E.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(E.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseFieldDefinition,E.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(E.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(E.PAREN_L,this.parseInputValueDef,E.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(E.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(E.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(E.EQUALS)?this.delimitedMany(E.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(E.BRACE_L,this.parseEnumValueDefinition,E.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${zc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseInputValueDef,E.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===E.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(E.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(E.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 Zi(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${QE(t)}, found ${zc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===E.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${zc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===E.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${zc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==E.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function zc(e){let t=e.value;return QE(e.kind)+(t!=null?` "${t}"`:"")}o(zc,"getTokenDesc");function QE(e){return KE(e)?`"${e}"`:e}o(QE,"getTokenKindDesc");function Zc(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(Zc,"didYouMean");function kh(e){return e}o(kh,"identityFunc");function oi(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(oi,"keyMap");function Ct(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(Ct,"keyValMap");function no(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(no,"mapValue");function YE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(Xc(i)&&Xc(s)){let a=0;do++r,a=a*10+i-Hh,i=e.charCodeAt(r);while(Xc(i)&&a>0);let c=0;do++n,c=c*10+s-Hh,s=t.charCodeAt(n);while(Xc(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(YE,"naturalCompare");var Hh=48,tD=57;function Xc(e){return!isNaN(e)&&Hh<=e&&e<=tD}o(Xc,"isDigit");function eu(e,t){let r=Object.create(null),n=new Fh(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:YE(s,a)})}o(eu,"suggestionList");var Fh=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=ZE(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=ZE(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],m=u[d%3],h=m[0]=d;for(let g=1;g<=c;g++){let _=i[d-1]===s[g-1]?0:1,S=Math.min(p[g]+1,m[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===s[g-2]&&i[d-2]===s[g-1]){let T=u[(d-2)%3][g-2];S=Math.min(S,T+1)}S<h&&(h=S),m[g]=S}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function ZE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(ZE,"stringToArray");function Ue(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(Ue,"toObjMap");function XE(e){return`"${e.replace(rD,nD)}"`}o(XE,"printString");var rD=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function nD(e){return iD[e.charCodeAt(0)]}o(nD,"escapedReplacer");var iD=["\\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 qh=Object.freeze({});function wr(e,t,r=Uh){let n=new Map;for(let T of Object.values(b))n.set(T,si(t,T));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let T=c===a.length,k=T&&u.length!==0;if(T){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),k)if(s){l=l.slice();let L=0;for(let[Z,ne]of u){let me=Z-L;ne===null?(l.splice(me,1),L++):l[me]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[L,Z]of u)l[L]=Z}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;m.push(d)}let G;if(!Array.isArray(l)){var g,_;Xi(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let L=T?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(G=L?.call(t,l,d,p,m,h),G===qh)break;if(G===!1){if(!T){m.pop();continue}}else if(G!==void 0&&(u.push([d,G]),!T))if(Xi(G))l=G;else{m.pop();continue}}if(G===void 0&&k&&u.push([d,l]),T)m.pop();else{var S;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(S=r[l.kind])!==null&&S!==void 0?S:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(wr,"visit");function si(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(si,"getEnterLeaveForKind");function Me(e){return wr(e,sD)}o(Me,"print");var oD=80,sD={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>C(e.definitions,`
|
|
96
96
|
|
|
97
|
-
`)},OperationDefinition:{leave(e){let t=J("(",C(e.variableDefinitions,", "),")"),r=C([e.operation,C([e.name,t]),C(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",C(n," "))},SelectionSet:{leave:({selections:e})=>ht(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=J("",e,": ")+t,a=s+J("(",C(r,", "),")");return a.length>
|
|
98
|
-
`,
|
|
97
|
+
`)},OperationDefinition:{leave(e){let t=J("(",C(e.variableDefinitions,", "),")"),r=C([e.operation,C([e.name,t]),C(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",C(n," "))},SelectionSet:{leave:({selections:e})=>ht(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=J("",e,": ")+t,a=s+J("(",C(r,", "),")");return a.length>oD&&(a=s+J(`(
|
|
98
|
+
`,tu(C(r,`
|
|
99
99
|
`)),`
|
|
100
|
-
)`)),C([a,C(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",C(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>C(["...",J("on ",e),C(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",C(r,", "),")")} on ${t} ${J("",C(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?
|
|
100
|
+
)`)),C([a,C(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",C(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>C(["...",J("on ",e),C(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",C(r,", "),")")} on ${t} ${J("",C(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?GE(e):XE(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+C(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+C(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",C(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
|
|
101
101
|
`)+C(["schema",C(t," "),ht(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
102
102
|
`)+C(["scalar",t,C(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
103
103
|
`)+C(["type",t,J("implements ",C(r," & ")),C(n," "),ht(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
|
|
104
|
-
`)+t+(
|
|
105
|
-
`,
|
|
104
|
+
`)+t+(ew(r)?J(`(
|
|
105
|
+
`,tu(C(r,`
|
|
106
106
|
`)),`
|
|
107
107
|
)`):J("(",C(r,", "),")"))+": "+n+J(" ",C(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
|
|
108
108
|
`)+C([t+": "+r,J("= ",n),C(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
@@ -111,17 +111,17 @@ spurious results.`)}}return!1},"instanceOf");var ri=class{static{o(this,"Source"
|
|
|
111
111
|
`)+C(["enum",t,C(r," "),ht(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
112
112
|
`)+C([t,C(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
|
|
113
113
|
`)+C(["input",t,C(r," "),ht(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
|
|
114
|
-
`)+"directive @"+t+(
|
|
115
|
-
`,
|
|
114
|
+
`)+"directive @"+t+(ew(r)?J(`(
|
|
115
|
+
`,tu(C(r,`
|
|
116
116
|
`)),`
|
|
117
117
|
)`):J("(",C(r,", "),")"))+(n?" repeatable":"")+" on "+C(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>C(["extend schema",C(e," "),ht(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>C(["extend scalar",e,C(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>C(["extend type",e,J("implements ",C(t," & ")),C(r," "),ht(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>C(["extend interface",e,J("implements ",C(t," & ")),C(r," "),ht(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>C(["extend union",e,C(t," "),J("= ",C(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>C(["extend enum",e,C(t," "),ht(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>C(["extend input",e,C(t," "),ht(r)]," ")}};function C(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}o(C,"join");function ht(e){return J(`{
|
|
118
|
-
`,
|
|
118
|
+
`,tu(C(e,`
|
|
119
119
|
`)),`
|
|
120
|
-
}`)}o(ht,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function
|
|
121
|
-
`))}o(
|
|
122
|
-
`)))!==null&&t!==void 0?t:!1}o(Xw,"hasMultilineItems");function to(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>to(r,t));case b.OBJECT:return Ct(e.fields,r=>r.name.value,r=>to(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}o(to,"valueFromASTUntyped");function Ve(e){if(e!=null||G(!1,"Must provide name."),typeof e=="string"||G(!1,"Expected name to be a string."),e.length===0)throw new x("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!jc(e.charCodeAt(t)))throw new x(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Yi(e.charCodeAt(0)))throw new x(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(Ve,"assertName");function Fh(e){if(e==="true"||e==="false"||e==="null")throw new x(`Enum values cannot be named: ${e}`);return Ve(e)}o(Fh,"assertEnumValueName");function eu(e){return vr(e)||Ce(e)||Ee(e)||ot(e)||Ye(e)||Ae(e)||Ge(e)||ce(e)}o(eu,"isType");function vr(e){return We(e,Qe)}o(vr,"isScalarType");function Ce(e){return We(e,Ne)}o(Ce,"isObjectType");function tu(e){if(!Ce(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}o(tu,"assertObjectType");function Ee(e){return We(e,Gt)}o(Ee,"isInterfaceType");function ru(e){if(!Ee(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}o(ru,"assertInterfaceType");function ot(e){return We(e,zr)}o(ot,"isUnionType");function Ye(e){return We(e,xt)}o(Ye,"isEnumType");function Ae(e){return We(e,Wr)}o(Ae,"isInputObjectType");function Ge(e){return We(e,pe)}o(Ge,"isListType");function ce(e){return We(e,$)}o(ce,"isNonNullType");function Ze(e){return vr(e)||Ye(e)||Ae(e)||ro(e)&&Ze(e.ofType)}o(Ze,"isInputType");function Bt(e){return vr(e)||Ce(e)||Ee(e)||ot(e)||Ye(e)||ro(e)&&Bt(e.ofType)}o(Bt,"isOutputType");function Sr(e){return vr(e)||Ye(e)}o(Sr,"isLeafType");function Lt(e){return Ce(e)||Ee(e)||ot(e)}o(Lt,"isCompositeType");function Tr(e){return Ee(e)||ot(e)}o(Tr,"isAbstractType");var pe=class{static{o(this,"GraphQLList")}constructor(t){eu(t)||G(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(t){nu(t)||G(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function ro(e){return Ge(e)||ce(e)}o(ro,"isWrappingType");function nu(e){return eu(e)&&!ce(e)}o(nu,"isNullableType");function iu(e){if(!nu(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}o(iu,"assertNullableType");function ou(e){if(e)return ce(e)?e.ofType:e}o(ou,"getNullableType");function ft(e){if(e){let t=e;for(;ro(t);)t=t.ofType;return t}}o(ft,"getNamedType");function su(e){return typeof e=="function"?e():e}o(su,"resolveReadonlyArrayThunk");function au(e){return typeof e=="function"?e():e}o(au,"resolveObjMapThunk");var Qe=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:Uh;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:Uh,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(to(c,u)),this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||G(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||G(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||G(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ne=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>tE(t),this._interfaces=()=>eE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||G(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:rE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function eE(e){var t;let r=su((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||G(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(eE,"defineInterfaces");function tE(e){let t=au(e.fields);return oi(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),eo(t,(r,n)=>{var i;oi(r)||G(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||G(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return oi(s)||G(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:qh(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}})}o(tE,"defineFieldMap");function qh(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}o(qh,"defineArguments");function oi(e){return we(e)&&!Array.isArray(e)}o(oi,"isPlainObj");function rE(e){return eo(e,t=>({description:t.description,type:t.type,args:$h(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(rE,"fieldsToFieldsConfig");function $h(e){return Ct(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o($h,"argsToArgsConfig");var Gt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=tE.bind(void 0,t),this._interfaces=eE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:rE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},zr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=sD.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function sD(e){let t=su(e.types);return Array.isArray(t)||G(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(sD,"defineTypes");var xt=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=aD(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=ni(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new x(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new x(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Xc(this,n))}let r=this.getValue(t);if(r==null)throw new x(`Value "${t}" does not exist in "${this.name}" enum.`+Xc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Me(t);throw new x(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Xc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Me(t);throw new x(`Value "${i}" does not exist in "${this.name}" enum.`+Xc(this,i),{nodes:t})}return n.value}toConfig(){let t=Ct(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Xc(e,t){let r=e.getValues().map(i=>i.name),n=Yc(t,r);return Wc("the enum value",n)}o(Xc,"didYouMeanEnumValue");function aD(e,t){return oi(t)||G(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(oi(n)||G(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:Fh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Ue(n.extensions),astNode:n.astNode}))}o(aD,"defineEnumValues");var Wr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=cD.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=eo(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 cD(e){let t=au(e.fields);return oi(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),eo(t,(r,n)=>(!("resolve"in r)||G(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}o(cD,"defineInputFieldMap");var cu=2147483647,uu=-2147483648,jh=new Qe({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=no(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new x(`Int cannot represent non-integer value: ${P(t)}`);if(r>cu||r<uu)throw new x("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new x(`Int cannot represent non-integer value: ${P(e)}`);if(e>cu||e<uu)throw new x(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new x(`Int cannot represent non-integer value: ${Me(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>cu||t<uu)throw new x(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),nE=new Qe({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=no(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new x(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new x(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new x(`Float cannot represent non numeric value: ${Me(e)}`,e);return parseFloat(e.value)}}),se=new Qe({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=no(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new x(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new x(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new x(`String cannot represent a non string value: ${Me(e)}`,{nodes:e});return e.value}}),ke=new Qe({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=no(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new x(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new x(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new x(`Boolean cannot represent a non boolean value: ${Me(e)}`,{nodes:e});return e.value}}),lu=new Qe({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=no(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new x(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new x(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new x("ID cannot represent a non-string and non-integer value: "+Me(e),{nodes:e});return e.value}}),Vh=Object.freeze([se,jh,nE,ke,lu]);function no(e){if(we(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!we(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(no,"serializeObject");function Gh(e){return We(e,mt)}o(Gh,"isDirective");var mt=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Ue(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||G(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};we(i)&&!Array.isArray(i)||G(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=qh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:$h(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},iE=new mt({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Included when true."}}}),oE=new mt({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Skipped when true."}}}),sE="No longer supported",aE=new mt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[B.FIELD_DEFINITION,B.ARGUMENT_DEFINITION,B.INPUT_FIELD_DEFINITION,B.ENUM_VALUE],args:{reason:{type:se,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:sE}}}),cE=new mt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[B.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),Bh=Object.freeze([iE,oE,aE,cE]);function du(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(du,"isIterableObject");function Qr(e,t){if(ce(t)){let r=Qr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(du(e)){let n=[];for(let i of e){let s=Qr(i,r);s!=null&&n.push(s)}return{kind:b.LIST,values:n}}return Qr(e,r)}if(Ae(t)){if(!we(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=Qr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(Sr(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return uE.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Ye(t)?{kind:b.ENUM,value:r}:t===lu&&uE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Nt(!1,"Unexpected input type: "+P(t))}o(Qr,"astFromValue");var uE=/^-?(?:0|[1-9][0-9]*)$/;var io=new Ne({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:se,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(st))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(st),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:st,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:st,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(Kh))),resolve:e=>e.getDirectives()}})}),Kh=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
120
|
+
}`)}o(ht,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function tu(e){return J(" ",e.replace(/\n/g,`
|
|
121
|
+
`))}o(tu,"indent");function ew(e){var t;return(t=e?.some(r=>r.includes(`
|
|
122
|
+
`)))!==null&&t!==void 0?t:!1}o(ew,"hasMultilineItems");function io(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>io(r,t));case b.OBJECT:return Ct(e.fields,r=>r.name.value,r=>io(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}o(io,"valueFromASTUntyped");function Ve(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new x("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Bc(e.charCodeAt(t)))throw new x(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!eo(e.charCodeAt(0)))throw new x(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(Ve,"assertName");function $h(e){if(e==="true"||e==="false"||e==="null")throw new x(`Enum values cannot be named: ${e}`);return Ve(e)}o($h,"assertEnumValueName");function nu(e){return vr(e)||Ce(e)||we(e)||ot(e)||Ye(e)||Ae(e)||Ge(e)||ce(e)}o(nu,"isType");function vr(e){return We(e,Qe)}o(vr,"isScalarType");function Ce(e){return We(e,Ne)}o(Ce,"isObjectType");function iu(e){if(!Ce(e))throw new Error(`Expected ${A(e)} to be a GraphQL Object type.`);return e}o(iu,"assertObjectType");function we(e){return We(e,Gt)}o(we,"isInterfaceType");function ou(e){if(!we(e))throw new Error(`Expected ${A(e)} to be a GraphQL Interface type.`);return e}o(ou,"assertInterfaceType");function ot(e){return We(e,Qr)}o(ot,"isUnionType");function Ye(e){return We(e,xt)}o(Ye,"isEnumType");function Ae(e){return We(e,Yr)}o(Ae,"isInputObjectType");function Ge(e){return We(e,pe)}o(Ge,"isListType");function ce(e){return We(e,$)}o(ce,"isNonNullType");function Ze(e){return vr(e)||Ye(e)||Ae(e)||oo(e)&&Ze(e.ofType)}o(Ze,"isInputType");function Bt(e){return vr(e)||Ce(e)||we(e)||ot(e)||Ye(e)||oo(e)&&Bt(e.ofType)}o(Bt,"isOutputType");function Sr(e){return vr(e)||Ye(e)}o(Sr,"isLeafType");function Lt(e){return Ce(e)||we(e)||ot(e)}o(Lt,"isCompositeType");function Tr(e){return we(e)||ot(e)}o(Tr,"isAbstractType");var pe=class{static{o(this,"GraphQLList")}constructor(t){nu(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){su(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 oo(e){return Ge(e)||ce(e)}o(oo,"isWrappingType");function su(e){return nu(e)&&!ce(e)}o(su,"isNullableType");function au(e){if(!su(e))throw new Error(`Expected ${A(e)} to be a GraphQL nullable type.`);return e}o(au,"assertNullableType");function cu(e){if(e)return ce(e)?e.ofType:e}o(cu,"getNullableType");function ft(e){if(e){let t=e;for(;oo(t);)t=t.ofType;return t}}o(ft,"getNamedType");function uu(e){return typeof e=="function"?e():e}o(uu,"resolveReadonlyArrayThunk");function lu(e){return typeof e=="function"?e():e}o(lu,"resolveObjMapThunk");var Qe=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:kh;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:kh,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(io(c,u)),this.extensions=Ue(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()}},Ne=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>rw(t),this._interfaces=()=>tw(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:nw(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function tw(e){var t;let r=uu((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(tw,"defineInterfaces");function rw(e){let t=lu(e.fields);return ai(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),no(t,(r,n)=>{var i;ai(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 ai(s)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:jh(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}})}o(rw,"defineFieldMap");function jh(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}o(jh,"defineArguments");function ai(e){return Ee(e)&&!Array.isArray(e)}o(ai,"isPlainObj");function nw(e){return no(e,t=>({description:t.description,type:t.type,args:Vh(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(nw,"fieldsToFieldsConfig");function Vh(e){return Ct(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Vh,"argsToArgsConfig");var Gt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=rw.bind(void 0,t),this._interfaces=tw.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:nw(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Qr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=aD.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 aD(e){let t=uu(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(aD,"defineTypes");var xt=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=cD(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=oi(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new x(`Enum "${this.name}" cannot represent value: ${A(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=A(t);throw new x(`Enum "${this.name}" cannot represent non-string value: ${n}.`+ru(this,n))}let r=this.getValue(t);if(r==null)throw new x(`Value "${t}" does not exist in "${this.name}" enum.`+ru(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Me(t);throw new x(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+ru(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Me(t);throw new x(`Value "${i}" does not exist in "${this.name}" enum.`+ru(this,i),{nodes:t})}return n.value}toConfig(){let t=Ct(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 ru(e,t){let r=e.getValues().map(i=>i.name),n=eu(t,r);return Zc("the enum value",n)}o(ru,"didYouMeanEnumValue");function cD(e,t){return ai(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(ai(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:$h(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Ue(n.extensions),astNode:n.astNode}))}o(cD,"defineEnumValues");var Yr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=uD.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=no(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 uD(e){let t=lu(e.fields);return ai(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),no(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}o(uD,"defineInputFieldMap");var du=2147483647,pu=-2147483648,Gh=new Qe({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=so(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new x(`Int cannot represent non-integer value: ${A(t)}`);if(r>du||r<pu)throw new x("Int cannot represent non 32-bit signed integer value: "+A(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new x(`Int cannot represent non-integer value: ${A(e)}`);if(e>du||e<pu)throw new x(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new x(`Int cannot represent non-integer value: ${Me(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>du||t<pu)throw new x(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),iw=new Qe({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=so(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new x(`Float cannot represent non numeric value: ${A(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new x(`Float cannot represent non numeric value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new x(`Float cannot represent non numeric value: ${Me(e)}`,e);return parseFloat(e.value)}}),se=new Qe({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=so(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new x(`String cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e!="string")throw new x(`String cannot represent a non string value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new x(`String cannot represent a non string value: ${Me(e)}`,{nodes:e});return e.value}}),ke=new Qe({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=so(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new x(`Boolean cannot represent a non boolean value: ${A(t)}`)},parseValue(e){if(typeof e!="boolean")throw new x(`Boolean cannot represent a non boolean value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new x(`Boolean cannot represent a non boolean value: ${Me(e)}`,{nodes:e});return e.value}}),hu=new Qe({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=so(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new x(`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 x(`ID cannot represent value: ${A(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new x("ID cannot represent a non-string and non-integer value: "+Me(e),{nodes:e});return e.value}}),Bh=Object.freeze([se,Gh,iw,ke,hu]);function so(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(so,"serializeObject");function Kh(e){return We(e,mt)}o(Kh,"isDirective");var mt=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Ue(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=jh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Vh(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},ow=new mt({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 $(ke),description:"Included when true."}}}),sw=new mt({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 $(ke),description:"Skipped when true."}}}),aw="No longer supported",cw=new mt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:se,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:aw}}}),uw=new mt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),Jh=Object.freeze([ow,sw,cw,uw]);function fu(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(fu,"isIterableObject");function Zr(e,t){if(ce(t)){let r=Zr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(fu(e)){let n=[];for(let i of e){let s=Zr(i,r);s!=null&&n.push(s)}return{kind:b.LIST,values:n}}return Zr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=Zr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(Sr(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return lw.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Ye(t)?{kind:b.ENUM,value:r}:t===hu&&lw.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}Nt(!1,"Unexpected input type: "+A(t))}o(Zr,"astFromValue");var lw=/^-?(?:0|[1-9][0-9]*)$/;var ao=new Ne({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:se,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(st))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(st),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:st,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:st,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(zh))),resolve:e=>e.getDirectives()}})}),zh=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
123
123
|
|
|
124
|
-
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(ke),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(Jh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(oo))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Jh=new xt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:B.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:B.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:B.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:B.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:B.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:B.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:B.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:B.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:B.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:B.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:B.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:B.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:B.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:B.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:B.UNION,description:"Location adjacent to a union definition."},ENUM:{value:B.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:B.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:B.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:B.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),st=new Ne({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(Qh),resolve(e){if(vr(e))return ee.SCALAR;if(Ce(e))return ee.OBJECT;if(Ee(e))return ee.INTERFACE;if(ot(e))return ee.UNION;if(Ye(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Nt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(zh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ce(e)||Ee(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(st)),resolve(e){if(Ce(e)||Ee(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(st)),resolve(e,t,r,{schema:n}){if(Tr(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Wh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ye(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new $(oo)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ae(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:st,resolve:e=>"ofType"in e?e.ofType:void 0}})}),zh=new Ne({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new pe(new $(oo))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(st),resolve:e=>e.type},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),oo=new Ne({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(st),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=Qr(r,t);return n?Me(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Wh=new Ne({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),ee;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(ee||(ee={}));var Qh=new xt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),pu={name:"__schema",type:new $(io),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},hu={name:"__type",type:st,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},fu={name:"__typename",type:new $(se),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Yh=Object.freeze([io,Kh,Jh,st,zh,oo,Wh,Qh]);var so=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,we(t)||G(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||G(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||G(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Bh;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),yt(s,i);this._queryType!=null&&yt(this._queryType,i),this._mutationType!=null&&yt(this._mutationType,i),this._subscriptionType!=null&&yt(this._subscriptionType,i);for(let s of this._directives)if(Gh(s))for(let a of s.args)yt(a.type,i);yt(io,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||G(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=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(Ce(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 it.QUERY:return this.getQueryType();case it.MUTATION:return this.getMutationType();case it.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return ot(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),ot(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 yt(e,t){let r=ft(e);if(!t.has(r)){if(t.add(r),ot(r))for(let n of r.getTypes())yt(n,t);else if(Ce(r)||Ee(r)){for(let n of r.getInterfaces())yt(n,t);for(let n of Object.values(r.getFields())){yt(n.type,t);for(let i of n.args)yt(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))yt(n.type,t)}return t}o(yt,"collectReferencedTypes");function Ir(e,t){switch(t.kind){case b.LIST_TYPE:{let r=Ir(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=Ir(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}o(Ir,"typeFromAST");var Pr=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??uD,r&&(Ze(r)&&this._inputTypeStack.push(r),Lt(r)&&this._parentTypeStack.push(r),Bt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=ft(this.getType());this._parentTypeStack.push(Lt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(Bt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ce(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?Ir(r,i):ft(this.getType());this._typeStack.push(Bt(s)?s:void 0);break}case b.VARIABLE_DEFINITION:{let i=Ir(r,t.type);this._inputTypeStack.push(Ze(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ze(s)?s:void 0);break}case b.LIST:{let i=ou(this.getInputType()),s=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ze(s)?s:void 0);break}case b.OBJECT_FIELD:{let i=ft(this.getInputType()),s,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ze(s)?s:void 0);break}case b.ENUM:{let i=ft(this.getInputType()),s;Ye(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function uD(e,t,r){let n=r.name.value;if(n===pu.name&&e.getQueryType()===t)return pu;if(n===hu.name&&e.getQueryType()===t)return hu;if(n===fu.name&&Lt(t))return fu;if(Ce(t)||Ee(t))return t.getFields()[n]}o(uD,"getFieldDef");function si(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=ii(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),Qi(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=ii(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(si,"visitWithTypeInfo");function mu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(mu,"printPathArray");function Zh(e,t,r){return{prev:e,key:t,typename:r}}o(Zh,"addPath");function Kt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(Kt,"pathToArray");function Xh(e,t,r=lD){return ao(e,t,r,void 0)}o(Xh,"coerceInputValue");function lD(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${mu(e)}"`),r.message=n+": "+r.message,r}o(lD,"defaultOnError");function ao(e,t,r,n){if(ce(t)){if(e!=null)return ao(e,t.ofType,r,n);r(Kt(n),e,new x(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return du(e)?Array.from(e,(s,a)=>{let c=Zh(n,a,void 0);return ao(s,i,r,c)}):[ao(e,i,r,n)]}if(Ae(t)){if(!we(e)){r(Kt(n),e,new x(`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(ce(a.type)){let u=P(a.type);r(Kt(n),e,new x(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=ao(c,a.type,r,Zh(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=Yc(a,Object.keys(t.getFields()));r(Kt(n),e,new x(`Field "${a}" is not defined by type "${t.name}".`+Wc(c)))}return i}if(Sr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof x?r(Kt(n),e,s):r(Kt(n),e,new x(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(Kt(n),e,new x(`Expected type "${t.name}".`)),i}Nt(!1,"Unexpected input type: "+P(t))}o(ao,"coerceInputValueImpl");function Dt(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Dt(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let s=[];for(let a of e.values)if(lE(a,r)){if(ce(n))return;s.push(null)}else{let c=Dt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Dt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=ni(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||lE(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ce(s.type))return;continue}let c=Dt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(Sr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Nt(!1,"Unexpected input type: "+P(t))}}o(Dt,"valueFromAST");function lE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(lE,"isMissingVariable");function yu(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=dD(e,t,r,c=>{if(s!=null&&i.length>=s)throw new x("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(yu,"getVariableValues");function dD(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=Ir(e,s.type);if(!Ze(c)){let l=Me(s.type);n(new x(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!dE(r,a)){if(s.defaultValue)i[a]=Dt(s.defaultValue,c);else if(ce(c)){let l=P(c);n(new x(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new x(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Xh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${mu(l)}"`),n(new x(m+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(dD,"coerceVariableValues");function co(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=ni(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(ce(l))throw new x(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!dE(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}m=r[g]==null}if(m&&ce(l))throw new x(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Dt(p,l,r);if(h===void 0)throw new x(`Argument "${u}" has invalid value ${Me(p)}.`,{nodes:p});i[u]=h}return i}o(co,"getArgumentValues");function uo(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 co(e,i,r)}o(uo,"getDirectiveValues");function dE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(dE,"hasOwnProperty");var gu=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===b.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},pE=class extends gu{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},ai=class extends gu{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 Pr(this._schema);Er(t,si(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 bu(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
|
|
124
|
+
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(ke),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(Wh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(co))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Wh=new xt({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."}}}),st=new Ne({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(Zh),resolve(e){if(vr(e))return te.SCALAR;if(Ce(e))return te.OBJECT;if(we(e))return te.INTERFACE;if(ot(e))return te.UNION;if(Ye(e))return te.ENUM;if(Ae(e))return te.INPUT_OBJECT;if(Ge(e))return te.LIST;if(ce(e))return te.NON_NULL;Nt(!1,`Unexpected type: "${A(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(Qh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ce(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(st)),resolve(e){if(Ce(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(st)),resolve(e,t,r,{schema:n}){if(Tr(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Yh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ye(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new $(co)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ae(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:st,resolve:e=>"ofType"in e?e.ofType:void 0}})}),Qh=new Ne({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new pe(new $(co))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(st),resolve:e=>e.type},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),co=new Ne({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(st),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=Zr(r,t);return n?Me(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Yh=new Ne({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),te;(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"})(te||(te={}));var Zh=new xt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:te.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:te.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:te.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:te.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:te.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:te.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:te.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:te.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),mu={name:"__schema",type:new $(ao),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},yu={name:"__type",type:st,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},gu={name:"__typename",type:new $(se),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Xh=Object.freeze([ao,zh,Wh,st,Qh,co,Yh,Zh]);var uo=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${A(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${A(t.directives)}.`),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Jh;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),yt(s,i);this._queryType!=null&&yt(this._queryType,i),this._mutationType!=null&&yt(this._mutationType,i),this._subscriptionType!=null&&yt(this._subscriptionType,i);for(let s of this._directives)if(Kh(s))for(let a of s.args)yt(a.type,i);yt(ao,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,we(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ce(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case it.QUERY:return this.getQueryType();case it.MUTATION:return this.getMutationType();case it.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return ot(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),ot(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 yt(e,t){let r=ft(e);if(!t.has(r)){if(t.add(r),ot(r))for(let n of r.getTypes())yt(n,t);else if(Ce(r)||we(r)){for(let n of r.getInterfaces())yt(n,t);for(let n of Object.values(r.getFields())){yt(n.type,t);for(let i of n.args)yt(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))yt(n.type,t)}return t}o(yt,"collectReferencedTypes");function Ir(e,t){switch(t.kind){case b.LIST_TYPE:{let r=Ir(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=Ir(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}o(Ir,"typeFromAST");var Pr=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??lD,r&&(Ze(r)&&this._inputTypeStack.push(r),Lt(r)&&this._parentTypeStack.push(r),Bt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=ft(this.getType());this._parentTypeStack.push(Lt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(Bt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ce(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?Ir(r,i):ft(this.getType());this._typeStack.push(Bt(s)?s:void 0);break}case b.VARIABLE_DEFINITION:{let i=Ir(r,t.type);this._inputTypeStack.push(Ze(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ze(s)?s:void 0);break}case b.LIST:{let i=cu(this.getInputType()),s=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ze(s)?s:void 0);break}case b.OBJECT_FIELD:{let i=ft(this.getInputType()),s,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ze(s)?s:void 0);break}case b.ENUM:{let i=ft(this.getInputType()),s;Ye(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function lD(e,t,r){let n=r.name.value;if(n===mu.name&&e.getQueryType()===t)return mu;if(n===yu.name&&e.getQueryType()===t)return yu;if(n===gu.name&&Lt(t))return gu;if(Ce(t)||we(t))return t.getFields()[n]}o(lD,"getFieldDef");function ci(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=si(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),Xi(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=si(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(ci,"visitWithTypeInfo");function bu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(bu,"printPathArray");function ef(e,t,r){return{prev:e,key:t,typename:r}}o(ef,"addPath");function Kt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(Kt,"pathToArray");function tf(e,t,r=dD){return lo(e,t,r,void 0)}o(tf,"coerceInputValue");function dD(e,t,r){let n="Invalid value "+A(t);throw e.length>0&&(n+=` at "value${bu(e)}"`),r.message=n+": "+r.message,r}o(dD,"defaultOnError");function lo(e,t,r,n){if(ce(t)){if(e!=null)return lo(e,t.ofType,r,n);r(Kt(n),e,new x(`Expected non-nullable type "${A(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return fu(e)?Array.from(e,(s,a)=>{let c=ef(n,a,void 0);return lo(s,i,r,c)}):[lo(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Kt(n),e,new x(`Expected type "${t.name}" to be an object.`));return}let i={},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(ce(a.type)){let u=A(a.type);r(Kt(n),e,new x(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=lo(c,a.type,r,ef(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=eu(a,Object.keys(t.getFields()));r(Kt(n),e,new x(`Field "${a}" is not defined by type "${t.name}".`+Zc(c)))}return i}if(Sr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof x?r(Kt(n),e,s):r(Kt(n),e,new x(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(Kt(n),e,new x(`Expected type "${t.name}".`)),i}Nt(!1,"Unexpected input type: "+A(t))}o(lo,"coerceInputValueImpl");function Dt(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Dt(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let s=[];for(let a of e.values)if(dw(a,r)){if(ce(n))return;s.push(null)}else{let c=Dt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Dt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=oi(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||dw(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ce(s.type))return;continue}let c=Dt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(Sr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Nt(!1,"Unexpected input type: "+A(t))}}o(Dt,"valueFromAST");function dw(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(dw,"isMissingVariable");function _u(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=pD(e,t,r,c=>{if(s!=null&&i.length>=s)throw new x("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(_u,"getVariableValues");function pD(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=Ir(e,s.type);if(!Ze(c)){let l=Me(s.type);n(new x(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!pw(r,a)){if(s.defaultValue)i[a]=Dt(s.defaultValue,c);else if(ce(c)){let l=A(c);n(new x(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ce(c)){let l=A(c);n(new x(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=tf(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(m+=` at "${a}${bu(l)}"`),n(new x(m+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(pD,"coerceVariableValues");function po(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=oi(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(ce(l))throw new x(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!pw(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}m=r[g]==null}if(m&&ce(l))throw new x(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let h=Dt(p,l,r);if(h===void 0)throw new x(`Argument "${u}" has invalid value ${Me(p)}.`,{nodes:p});i[u]=h}return i}o(po,"getArgumentValues");function ho(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 po(e,i,r)}o(ho,"getDirectiveValues");function pw(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(pw,"hasOwnProperty");var Eu=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===b.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},hw=class extends Eu{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},ui=class extends Eu{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 Pr(this._schema);wr(t,ci(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 wu(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
|
|
125
125
|
query IntrospectionQuery {
|
|
126
126
|
__schema {
|
|
127
127
|
${s}
|
|
@@ -226,5 +226,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
`}o(bu,"getIntrospectionQuery");function _u(e,t){we(e)&&we(e.__schema)||G(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Ct(r.types,E=>E.name,E=>m(E));for(let E of[...Vh,...Yh])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(Be):[];return new so({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===ee.LIST){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(E.kind===ee.NON_NULL){let H=E.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let xe=u(H);return new $(iu(xe))}return l(E)}function l(E){let H=E.name;if(!H)throw new Error(`Unknown type reference: ${P(E)}.`);let xe=n[H];if(!xe)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return xe}function d(E){return tu(l(E))}function p(E){return ru(l(E))}function m(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ee.SCALAR:return h(E);case ee.OBJECT:return _(E);case ee.INTERFACE:return S(E);case ee.UNION:return T(E);case ee.ENUM:return k(E);case ee.INPUT_OBJECT:return K(E)}let H=P(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(E){return new Qe({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function g(E){if(E.interfaces===null&&E.kind===ee.INTERFACE)return[];if(!E.interfaces){let H=P(E);throw new Error(`Introspection result missing interfaces: ${H}.`)}return E.interfaces.map(p)}function _(E){return new Ne({name:E.name,description:E.description,interfaces:()=>g(E),fields:()=>L(E)})}function S(E){return new Gt({name:E.name,description:E.description,interfaces:()=>g(E),fields:()=>L(E)})}function T(E){if(!E.possibleTypes){let H=P(E);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new zr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let H=P(E);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new xt({name:E.name,description:E.description,values:Ct(E.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function K(E){if(!E.inputFields){let H=P(E);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new Wr({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function L(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${P(E)}.`);return Ct(E.fields,H=>H.name,re)}function re(E){let H=u(E.type);if(!Bt(H)){let xe=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${xe}.`)}if(!E.args){let xe=P(E);throw new Error(`Introspection result missing field args: ${xe}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:H,args:ne(E.args)}}function ne(E){return Ct(E,H=>H.name,me)}function me(E){let H=u(E.type);if(!Ze(H)){let Eu=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${Eu}.`)}let xe=E.defaultValue!=null?Dt(zc(E.defaultValue),H):void 0;return{description:E.description,type:H,defaultValue:xe,deprecationReason:E.deprecationReason}}function Be(E){if(!E.args){let H=P(E);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!E.locations){let H=P(E);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new mt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}o(_u,"buildClientSchema");function UD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(UD,"queryComplexityMessage");function hE(e){let t=new Pr(e.schema),r=[],n=new ai(e.schema,e.query,t,s=>r.push(s)),i=new ef(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(Er(e.query,si(t,i)),r.length)throw r.pop();return i.complexity}o(hE,"getComplexity");var ef=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}=yu(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 Ne||r instanceof Gt)&&(n=r.getFields());let i;Tr(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&&uo(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&uo(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=ft(p.type),h;try{h=co(p,c,this.variableValues||{})}catch(T){return this.context.reportError(T),a}let g=0;Lt(m)&&(g=this.nodeComplexity(c,m));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(T=>{let k=T(_);return typeof k=="number"&&!isNaN(k)?(u=ci(k,a,i),!0):!1}))return this.context.reportError(new x(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!Lt(m))break;let h=this.nodeComplexity(p,m);Tr(m)?u=ci(h,a,this.context.getSchema().getPossibleTypes(m).map(g=>g.name)):u=ci(h,a,[m.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Lt(p)))break;let m=this.nodeComplexity(c,p);Tr(p)?u=ci(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=ci(m,a,[p.name]);break}default:{u=ci(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 x(UD(this.options.maximumComplexity,this.complexity))}};function ci(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(ci,"addComplexities");function fE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(fE,"simpleEstimator");var mE=o((e,t,r={})=>{let{definitions:n}=e,i=MD(n),s=kD(n);return Object.entries(s).map(([a,c])=>wu(c,i,0,t,a,r))},"depthLimit");function MD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(MD,"getFragments");function kD(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(kD,"getQueriesAndMutations");function wu(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new x(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case b.FIELD:return HD(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>wu(c,t,r+1,n,i,s)));case b.FRAGMENT_SPREAD:return wu(t[e.name.value],t,r,n,i,s);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>wu(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(wu,"determineDepth");var HD=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var FD=o(async(e,t)=>{if(!t.complexityLimit)throw new ui.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new ui.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=bu(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new x("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=_u(c,{assumeValid:!0}),l=hE({estimators:[fE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new x(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),qD=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new ui.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...mE(e,r))},"applyDepthLimitPolicy"),yE=o(async(e,t,r)=>{let n=ui.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=Jc(s.query);r.useDepthLimit&&await qD(a,r.useDepthLimit),r.useComplexityLimit&&await FD(a,r.useComplexityLimit)}catch(i){if(i instanceof x)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var gE=nf(Mt());function $D(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o($D,"isIntrospectionQuery");var bE=o(async(e,t)=>{let n=await e.clone().json();return $D(n.query)?gE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
229
|
+
`}o(wu,"getIntrospectionQuery");function vu(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${A(e)}.`);let r=e.__schema,n=Ct(r.types,w=>w.name,w=>m(w));for(let w of[...Bh,...Xh])n[w.name]&&(n[w.name]=w);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(Be):[];return new uo({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(w){if(w.kind===te.LIST){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(w.kind===te.NON_NULL){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let xe=u(H);return new $(au(xe))}return l(w)}function l(w){let H=w.name;if(!H)throw new Error(`Unknown type reference: ${A(w)}.`);let xe=n[H];if(!xe)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return xe}function d(w){return iu(l(w))}function p(w){return ou(l(w))}function m(w){if(w!=null&&w.name!=null&&w.kind!=null)switch(w.kind){case te.SCALAR:return h(w);case te.OBJECT:return _(w);case te.INTERFACE:return S(w);case te.UNION:return T(w);case te.ENUM:return k(w);case te.INPUT_OBJECT:return G(w)}let H=A(w);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(w){return new Qe({name:w.name,description:w.description,specifiedByURL:w.specifiedByURL})}function g(w){if(w.interfaces===null&&w.kind===te.INTERFACE)return[];if(!w.interfaces){let H=A(w);throw new Error(`Introspection result missing interfaces: ${H}.`)}return w.interfaces.map(p)}function _(w){return new Ne({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function S(w){return new Gt({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function T(w){if(!w.possibleTypes){let H=A(w);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new Qr({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function k(w){if(!w.enumValues){let H=A(w);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new xt({name:w.name,description:w.description,values:Ct(w.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function G(w){if(!w.inputFields){let H=A(w);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new Yr({name:w.name,description:w.description,fields:()=>ne(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${A(w)}.`);return Ct(w.fields,H=>H.name,Z)}function Z(w){let H=u(w.type);if(!Bt(H)){let xe=A(H);throw new Error(`Introspection must provide output type for fields, but received: ${xe}.`)}if(!w.args){let xe=A(w);throw new Error(`Introspection result missing field args: ${xe}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:H,args:ne(w.args)}}function ne(w){return Ct(w,H=>H.name,me)}function me(w){let H=u(w.type);if(!Ze(H)){let Tu=A(H);throw new Error(`Introspection must provide input type for arguments, but received: ${Tu}.`)}let xe=w.defaultValue!=null?Dt(Yc(w.defaultValue),H):void 0;return{description:w.description,type:H,defaultValue:xe,deprecationReason:w.deprecationReason}}function Be(w){if(!w.args){let H=A(w);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!w.locations){let H=A(w);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new mt({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ne(w.args)})}}o(vu,"buildClientSchema");function MD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(MD,"queryComplexityMessage");function fw(e){let t=new Pr(e.schema),r=[],n=new ui(e.schema,e.query,t,s=>r.push(s)),i=new rf(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(wr(e.query,ci(t,i)),r.length)throw r.pop();return i.complexity}o(fw,"getComplexity");var rf=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}=_u(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 Ne||r instanceof Gt)&&(n=r.getFields());let i;Tr(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&&ho(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&ho(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=ft(p.type),h;try{h=po(p,c,this.variableValues||{})}catch(T){return this.context.reportError(T),a}let g=0;Lt(m)&&(g=this.nodeComplexity(c,m));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(T=>{let k=T(_);return typeof k=="number"&&!isNaN(k)?(u=li(k,a,i),!0):!1}))return this.context.reportError(new x(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!Lt(m))break;let h=this.nodeComplexity(p,m);Tr(m)?u=li(h,a,this.context.getSchema().getPossibleTypes(m).map(g=>g.name)):u=li(h,a,[m.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Lt(p)))break;let m=this.nodeComplexity(c,p);Tr(p)?u=li(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=li(m,a,[p.name]);break}default:{u=li(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 x(MD(this.options.maximumComplexity,this.complexity))}};function li(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(li,"addComplexities");function mw(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(mw,"simpleEstimator");var yw=o((e,t,r={})=>{let{definitions:n}=e,i=kD(n),s=HD(n);return Object.entries(s).map(([a,c])=>Su(c,i,0,t,a,r))},"depthLimit");function kD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(kD,"getFragments");function HD(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(HD,"getQueriesAndMutations");function Su(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new x(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case b.FIELD:return FD(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>Su(c,t,r+1,n,i,s)));case b.FRAGMENT_SPREAD:return Su(t[e.name.value],t,r,n,i,s);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>Su(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(Su,"determineDepth");var FD=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var qD=o(async(e,t)=>{if(!t.complexityLimit)throw new di.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new di.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=wu(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new x("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=vu(c,{assumeValid:!0}),l=fw({estimators:[mw({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new x(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),$D=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new di.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...yw(e,r))},"applyDepthLimitPolicy"),gw=o(async(e,t,r)=>{let n=di.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=Qc(s.query);r.useDepthLimit&&await $D(a,r.useDepthLimit),r.useComplexityLimit&&await qD(a,r.useComplexityLimit)}catch(i){if(i instanceof x)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var bw=sf(Mt());function jD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(jD,"isIntrospectionQuery");var _w=o(async(e,t)=>{let n=await e.clone().json();return jD(n.query)?bw.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
230
230
|
/*! For license information please see index.minified.js.LEGAL.txt */
|