@zuplo/graphql 5.1758.0 → 5.1760.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 +42 -42
- 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 CE=Object.create;var Xn=Object.defineProperty;var LE=Object.getOwnPropertyDescriptor;var DE=Object.getOwnPropertyNames;var UE=Object.getPrototypeOf,ME=Object.prototype.hasOwnProperty;var s=(e,t)=>Xn(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ro=(e,t)=>{for(var r in t)Xn(e,r,{get:t[r],enumerable:!0})},gh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of DE(t))!ME.call(e,i)&&i!==r&&Xn(e,i,{get:()=>t[i],enumerable:!(n=LE(t,i))||n.enumerable});return e};var bh=(e,t,r)=>(r=e!=null?CE(UE(e)):{},gh(t||!e||!e.__esModule?Xn(r,"default",{value:e,enumerable:!0}):r,e)),no=e=>gh(Xn({},"__esModule",{value:!0}),e);var N=g(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.FeatureNotEnabledError=mt.ConfigurationError=mt.RuntimeError=mt.SystemError=void 0;var uu=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};mt.SystemError=uu;var ei=class extends Error{static{s(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};mt.RuntimeError=ei;var lu=class extends ei{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};mt.ConfigurationError=lu;var du=class extends ei{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};mt.FeatureNotEnabledError=du});var W=g(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.Environment=void 0;var kE=N(),pu=class e{static{s(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new kE.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};io.Environment=pu});var vh=g(wh=>{"use strict";Object.defineProperty(wh,"__esModule",{value:!0});var _h=W();Function.prototype.toString=function(){return"[native code]"};var oo=globalThis,Eh=oo.caches;if(Eh){let e=Eh.open;oo.caches.open=function(t){let r=_h.Environment.instance.deploymentName??_h.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete oo.caches.default,Object.freeze(oo.caches)}});var mu=g(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.MemoryCache=void 0;var HE=1e4,FE=1e3,Th=new Map,hu=class{static{s(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),o={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,o)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+HE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},fu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:FE}){this.name=t;let n=Th.get(t);n||(n=new hu(r),Th.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};so.MemoryCache=fu});var ti=g(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.ZoneCache=void 0;var yu="__zuplo-expiry-header",gu=class{static{s(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let o=i.headers.get(yu);if(!o){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(o);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(yu,`${Date.now()+n*1e3}`);let o=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await o.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(yu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),o=new Response("",{headers:r});await n.put(i,o)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};ao.ZoneCache=gu});var Kt=g(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.MemoryZoneReadThroughCache=void 0;var qE=mu(),$E=ti(),bu=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new qE.MemoryCache(n),this.#r=new $E.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3},o=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(o)}};co.MemoryZoneReadThroughCache=bu});var ri=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var Ch=g(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var Sh=!0,_u=!Sh;function jE(e){Sh||(_u=e)}s(jE,"setColorEnabled");v.setColorEnabled=jE;function VE(){return _u}s(VE,"getColorEnabled");v.getColorEnabled=VE;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}s(F,"code");function q(e,t){return _u?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function GE(e){return q(e,F([0],0))}s(GE,"reset");v.reset=GE;function BE(e){return q(e,F([1],22))}s(BE,"bold");v.bold=BE;function KE(e){return q(e,F([2],22))}s(KE,"dim");v.dim=KE;function JE(e){return q(e,F([3],23))}s(JE,"italic");v.italic=JE;function zE(e){return q(e,F([4],24))}s(zE,"underline");v.underline=zE;function WE(e){return q(e,F([7],27))}s(WE,"inverse");v.inverse=WE;function QE(e){return q(e,F([8],28))}s(QE,"hidden");v.hidden=QE;function YE(e){return q(e,F([9],29))}s(YE,"strikethrough");v.strikethrough=YE;function ZE(e){return q(e,F([30],39))}s(ZE,"black");v.black=ZE;function Ih(e){return q(e,F([31],39))}s(Ih,"red");v.red=Ih;function Ph(e){return q(e,F([32],39))}s(Ph,"green");v.green=Ph;function Ah(e){return q(e,F([33],39))}s(Ah,"yellow");v.yellow=Ah;function Rh(e){return q(e,F([34],39))}s(Rh,"blue");v.blue=Rh;function Oh(e){return q(e,F([35],39))}s(Oh,"magenta");v.magenta=Oh;function Nh(e){return q(e,F([36],39))}s(Nh,"cyan");v.cyan=Nh;function XE(e){return q(e,F([37],39))}s(XE,"white");v.white=XE;function ew(e){return xh(e)}s(ew,"gray");v.gray=ew;function xh(e){return q(e,F([90],39))}s(xh,"brightBlack");v.brightBlack=xh;function tw(e){return q(e,F([91],39))}s(tw,"brightRed");v.brightRed=tw;function rw(e){return q(e,F([92],39))}s(rw,"brightGreen");v.brightGreen=rw;function nw(e){return q(e,F([93],39))}s(nw,"brightYellow");v.brightYellow=nw;function iw(e){return q(e,F([94],39))}s(iw,"brightBlue");v.brightBlue=iw;function ow(e){return q(e,F([95],39))}s(ow,"brightMagenta");v.brightMagenta=ow;function sw(e){return q(e,F([96],39))}s(sw,"brightCyan");v.brightCyan=sw;function aw(e){return q(e,F([97],39))}s(aw,"brightWhite");v.brightWhite=aw;function cw(e){return q(e,F([40],49))}s(cw,"bgBlack");v.bgBlack=cw;function uw(e){return q(e,F([41],49))}s(uw,"bgRed");v.bgRed=uw;function lw(e){return q(e,F([42],49))}s(lw,"bgGreen");v.bgGreen=lw;function dw(e){return q(e,F([43],49))}s(dw,"bgYellow");v.bgYellow=dw;function pw(e){return q(e,F([44],49))}s(pw,"bgBlue");v.bgBlue=pw;function hw(e){return q(e,F([45],49))}s(hw,"bgMagenta");v.bgMagenta=hw;function fw(e){return q(e,F([46],49))}s(fw,"bgCyan");v.bgCyan=fw;function mw(e){return q(e,F([47],49))}s(mw,"bgWhite");v.bgWhite=mw;function yw(e){return q(e,F([100],49))}s(yw,"bgBrightBlack");v.bgBrightBlack=yw;function gw(e){return q(e,F([101],49))}s(gw,"bgBrightRed");v.bgBrightRed=gw;function bw(e){return q(e,F([102],49))}s(bw,"bgBrightGreen");v.bgBrightGreen=bw;function _w(e){return q(e,F([103],49))}s(_w,"bgBrightYellow");v.bgBrightYellow=_w;function Ew(e){return q(e,F([104],49))}s(Ew,"bgBrightBlue");v.bgBrightBlue=Ew;function ww(e){return q(e,F([105],49))}s(ww,"bgBrightMagenta");v.bgBrightMagenta=ww;function vw(e){return q(e,F([106],49))}s(vw,"bgBrightCyan");v.bgBrightCyan=vw;function Tw(e){return q(e,F([107],49))}s(Tw,"bgBrightWhite");v.bgBrightWhite=Tw;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(Jt,"clampAndTruncate");function Sw(e,t){return q(e,F([38,5,Jt(t)],39))}s(Sw,"rgb8");v.rgb8=Sw;function Iw(e,t){return q(e,F([48,5,Jt(t)],49))}s(Iw,"bgRgb8");v.bgRgb8=Iw;function Pw(e,t){return typeof t=="number"?q(e,F([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,F([38,2,Jt(t.r),Jt(t.g),Jt(t.b)],39))}s(Pw,"rgb24");v.rgb24=Pw;function Aw(e,t){return typeof t=="number"?q(e,F([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,F([48,2,Jt(t.r),Jt(t.g),Jt(t.b)],49))}s(Aw,"bgRgb24");v.bgRgb24=Aw;var Rw=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 Ow(e){return e.replace(Rw,"")}s(Ow,"stripColor");v.stripColor=Ow;v.colorFunctions=[Ih,Ph,Ah,Rh,Oh,Nh];function Nw(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}s(Nw,"hashCode");function xw(e){let t=Math.abs(Nw(e));return v.colorFunctions[t%v.colorFunctions.length]}s(xw,"generateColor");v.generateColor=xw});var Lh=g(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.format=void 0;function Cw(e,t,...r){let n=0,i=r.length,o=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
|
|
26
|
-
`).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?o+=" "+a:o+=" "+e(a);return o}s(
|
|
25
|
+
"use strict";var FE=Object.create;var ei=Object.defineProperty;var qE=Object.getOwnPropertyDescriptor;var $E=Object.getOwnPropertyNames;var jE=Object.getPrototypeOf,VE=Object.prototype.hasOwnProperty;var s=(e,t)=>ei(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ro=(e,t)=>{for(var r in t)ei(e,r,{get:t[r],enumerable:!0})},_h=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $E(t))!VE.call(e,i)&&i!==r&&ei(e,i,{get:()=>t[i],enumerable:!(n=qE(t,i))||n.enumerable});return e};var Eh=(e,t,r)=>(r=e!=null?FE(jE(e)):{},_h(t||!e||!e.__esModule?ei(r,"default",{value:e,enumerable:!0}):r,e)),no=e=>_h(ei({},"__esModule",{value:!0}),e);var O=g(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.FeatureNotEnabledError=yt.ConfigurationError=yt.RuntimeError=yt.SystemError=void 0;var uu=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};yt.SystemError=uu;var ti=class extends Error{static{s(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};yt.RuntimeError=ti;var lu=class extends ti{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};yt.ConfigurationError=lu;var du=class extends ti{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};yt.FeatureNotEnabledError=du});var W=g(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.Environment=void 0;var GE=O(),pu=class e{static{s(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new GE.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};io.Environment=pu});var Sh=g(Th=>{"use strict";Object.defineProperty(Th,"__esModule",{value:!0});var wh=W();Function.prototype.toString=function(){return"[native code]"};var oo=globalThis,vh=oo.caches;if(vh){let e=vh.open;oo.caches.open=function(t){let r=wh.Environment.instance.deploymentName??wh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete oo.caches.default,Object.freeze(oo.caches)}});var mu=g(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.MemoryCache=void 0;var BE=1e4,KE=1e3,Ih=new Map,hu=class{static{s(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),o={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,o)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+BE*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},fu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:KE}){this.name=t;let n=Ih.get(t);n||(n=new hu(r),Ih.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};so.MemoryCache=fu});var ri=g(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.ZoneCache=void 0;var yu="__zuplo-expiry-header",gu=class{static{s(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let o=i.headers.get(yu);if(!o){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(o);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(yu,`${Date.now()+n*1e3}`);let o=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await o.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(yu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),o=new Response("",{headers:r});await n.put(i,o)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};ao.ZoneCache=gu});var Kt=g(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.MemoryZoneReadThroughCache=void 0;var JE=mu(),zE=ri(),bu=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new JE.MemoryCache(n),this.#r=new zE.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3},o=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(o)}};co.MemoryZoneReadThroughCache=bu});var ni=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var Dh=g(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var Ph=!0,_u=!Ph;function WE(e){Ph||(_u=e)}s(WE,"setColorEnabled");v.setColorEnabled=WE;function QE(){return _u}s(QE,"getColorEnabled");v.getColorEnabled=QE;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}s(F,"code");function q(e,t){return _u?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function YE(e){return q(e,F([0],0))}s(YE,"reset");v.reset=YE;function ZE(e){return q(e,F([1],22))}s(ZE,"bold");v.bold=ZE;function XE(e){return q(e,F([2],22))}s(XE,"dim");v.dim=XE;function ew(e){return q(e,F([3],23))}s(ew,"italic");v.italic=ew;function tw(e){return q(e,F([4],24))}s(tw,"underline");v.underline=tw;function rw(e){return q(e,F([7],27))}s(rw,"inverse");v.inverse=rw;function nw(e){return q(e,F([8],28))}s(nw,"hidden");v.hidden=nw;function iw(e){return q(e,F([9],29))}s(iw,"strikethrough");v.strikethrough=iw;function ow(e){return q(e,F([30],39))}s(ow,"black");v.black=ow;function Ah(e){return q(e,F([31],39))}s(Ah,"red");v.red=Ah;function Rh(e){return q(e,F([32],39))}s(Rh,"green");v.green=Rh;function Oh(e){return q(e,F([33],39))}s(Oh,"yellow");v.yellow=Oh;function Nh(e){return q(e,F([34],39))}s(Nh,"blue");v.blue=Nh;function xh(e){return q(e,F([35],39))}s(xh,"magenta");v.magenta=xh;function Ch(e){return q(e,F([36],39))}s(Ch,"cyan");v.cyan=Ch;function sw(e){return q(e,F([37],39))}s(sw,"white");v.white=sw;function aw(e){return Lh(e)}s(aw,"gray");v.gray=aw;function Lh(e){return q(e,F([90],39))}s(Lh,"brightBlack");v.brightBlack=Lh;function cw(e){return q(e,F([91],39))}s(cw,"brightRed");v.brightRed=cw;function uw(e){return q(e,F([92],39))}s(uw,"brightGreen");v.brightGreen=uw;function lw(e){return q(e,F([93],39))}s(lw,"brightYellow");v.brightYellow=lw;function dw(e){return q(e,F([94],39))}s(dw,"brightBlue");v.brightBlue=dw;function pw(e){return q(e,F([95],39))}s(pw,"brightMagenta");v.brightMagenta=pw;function hw(e){return q(e,F([96],39))}s(hw,"brightCyan");v.brightCyan=hw;function fw(e){return q(e,F([97],39))}s(fw,"brightWhite");v.brightWhite=fw;function mw(e){return q(e,F([40],49))}s(mw,"bgBlack");v.bgBlack=mw;function yw(e){return q(e,F([41],49))}s(yw,"bgRed");v.bgRed=yw;function gw(e){return q(e,F([42],49))}s(gw,"bgGreen");v.bgGreen=gw;function bw(e){return q(e,F([43],49))}s(bw,"bgYellow");v.bgYellow=bw;function _w(e){return q(e,F([44],49))}s(_w,"bgBlue");v.bgBlue=_w;function Ew(e){return q(e,F([45],49))}s(Ew,"bgMagenta");v.bgMagenta=Ew;function ww(e){return q(e,F([46],49))}s(ww,"bgCyan");v.bgCyan=ww;function vw(e){return q(e,F([47],49))}s(vw,"bgWhite");v.bgWhite=vw;function Tw(e){return q(e,F([100],49))}s(Tw,"bgBrightBlack");v.bgBrightBlack=Tw;function Sw(e){return q(e,F([101],49))}s(Sw,"bgBrightRed");v.bgBrightRed=Sw;function Iw(e){return q(e,F([102],49))}s(Iw,"bgBrightGreen");v.bgBrightGreen=Iw;function Pw(e){return q(e,F([103],49))}s(Pw,"bgBrightYellow");v.bgBrightYellow=Pw;function Aw(e){return q(e,F([104],49))}s(Aw,"bgBrightBlue");v.bgBrightBlue=Aw;function Rw(e){return q(e,F([105],49))}s(Rw,"bgBrightMagenta");v.bgBrightMagenta=Rw;function Ow(e){return q(e,F([106],49))}s(Ow,"bgBrightCyan");v.bgBrightCyan=Ow;function Nw(e){return q(e,F([107],49))}s(Nw,"bgBrightWhite");v.bgBrightWhite=Nw;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(Jt,"clampAndTruncate");function xw(e,t){return q(e,F([38,5,Jt(t)],39))}s(xw,"rgb8");v.rgb8=xw;function Cw(e,t){return q(e,F([48,5,Jt(t)],49))}s(Cw,"bgRgb8");v.bgRgb8=Cw;function Lw(e,t){return typeof t=="number"?q(e,F([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,F([38,2,Jt(t.r),Jt(t.g),Jt(t.b)],39))}s(Lw,"rgb24");v.rgb24=Lw;function Dw(e,t){return typeof t=="number"?q(e,F([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,F([48,2,Jt(t.r),Jt(t.g),Jt(t.b)],49))}s(Dw,"bgRgb24");v.bgRgb24=Dw;var Uw=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 kw(e){return e.replace(Uw,"")}s(kw,"stripColor");v.stripColor=kw;v.colorFunctions=[Ah,Rh,Oh,Nh,xh,Ch];function Mw(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}s(Mw,"hashCode");function Hw(e){let t=Math.abs(Mw(e));return v.colorFunctions[t%v.colorFunctions.length]}s(Hw,"generateColor");v.generateColor=Hw});var Uh=g(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.format=void 0;function Fw(e,t,...r){let n=0,i=r.length,o=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
|
|
26
|
+
`).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?o+=" "+a:o+=" "+e(a);return o}s(Fw,"format");uo.format=Fw});var $h=g(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.inspect=void 0;function Tr(e,t,r,n){let i={seen:[],stylize:qw,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=jw),lo(i,e,i.depth)}s(Tr,"inspect");po.inspect=Tr;Tr.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};Tr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function qw(e,t){return e}s(qw,"stylizeNoColor");function $w(e){return typeof e=="boolean"}s($w,"isBoolean");function Mh(e){return e===void 0}s(Mh,"isUndefined");function jw(e,t){let r=Tr.styles[t];return r?"\x1B["+Tr.colors[r][0]+"m"+e+"\x1B["+Tr.colors[r][1]+"m":e}s(jw,"stylizeWithColor");function Eu(e){return typeof e=="function"}s(Eu,"isFunction");function Hh(e){return typeof e=="string"}s(Hh,"isString");function Vw(e){return typeof e=="number"}s(Vw,"isNumber");function Fh(e){return e===null}s(Fh,"isNull");function qh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(qh,"hasOwn");function wu(e){return Iu(e)&&Pu(e)==="[object RegExp]"}s(wu,"isRegExp");function Iu(e){return typeof e=="object"&&e!==null}s(Iu,"isObject");function vu(e){return Iu(e)&&(Pu(e)==="[object Error]"||e instanceof Error)}s(vu,"isError");function kh(e){return Iu(e)&&Pu(e)==="[object Date]"}s(kh,"isDate");function Pu(e){return Object.prototype.toString.call(e)}s(Pu,"objectToString");function Gw(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}s(Gw,"arrayToHash");function Bw(e,t,r,n,i){let o=[];for(let a=0,c=t.length;a<c;++a)qh(t,String(a))?o.push(Su(e,t,r,n,String(a),!0)):o.push("");return i.forEach(function(a){a.match(/^\d+$/)||o.push(Su(e,t,r,n,a,!0))}),o}s(Bw,"formatArray");function Tu(e){return"["+Error.prototype.toString.call(e)+"]"}s(Tu,"formatError");function lo(e,t,r){if(e.customInspect&&t&&Eu(t.inspect)&&t.inspect!==Tr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Hh(d)||(d=lo(e,d,r)),d}let n=Kw(e,t);if(n)return n;let i=Object.keys(t),o=Gw(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(vu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Tu(t);if(i.length===0){if(Eu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(wu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(kh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(vu(t))return Tu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Eu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),wu(t)&&(a=" "+RegExp.prototype.toString.call(t)),kh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),vu(t)&&(a=" "+Tu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return wu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=Bw(e,t,r,o,i):l=i.map(function(d){return Su(e,t,r,o,d,c)}),e.seen.pop(),Jw(l,a,u)}s(lo,"formatValue");function Su(e,t,r,n,i,o){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),qh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(Fh(r)?c=lo(e,u.value,null):c=lo(e,u.value,r-1),c.indexOf(`
|
|
27
27
|
`)>-1&&(o?c=c.split(`
|
|
28
28
|
`).map(function(l){return" "+l}).join(`
|
|
29
29
|
`).substr(2):c=`
|
|
30
30
|
`+c.split(`
|
|
31
31
|
`).map(function(l){return" "+l}).join(`
|
|
32
|
-
`))):c=e.stylize("[Circular]","special")),
|
|
32
|
+
`))):c=e.stylize("[Circular]","special")),Mh(a)){if(o&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}s(Su,"formatProperty");function Kw(e,t){if(Mh(t))return e.stylize("undefined","undefined");if(Hh(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Vw(t))return e.stylize(""+t,"number");if($w(t))return e.stylize(""+t,"boolean");if(Fh(t))return e.stylize("null","null")}s(Kw,"formatPrimitive");function Jw(e,t,r){let n=0;return e.reduce(function(o,a){return n++,a.indexOf(`
|
|
33
33
|
`)>=0&&n++,o+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
|
|
34
34
|
`)+" "+e.join(`,
|
|
35
|
-
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}s(qw,"reduceToSingleString")});var qh=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.format=void 0;var $w=Lh(),jw=Fh(),Vw=s((e,...t)=>(0,$w.format)(jw.inspect,e,t),"format");ho.format=Vw});var Sr=g(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var Gw=Ch(),Bw=qh(),fo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,Gw.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,Bw.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};zt.Debugger=fo;var mo=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function $h(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s($h,"extract");var ni;function Kw(e){e||(e=[]),typeof e=="string"&&(e=$h(e)),ni=new mo(e)}s(Kw,"withoutEnv");zt.withoutEnv=Kw;function Jw(e){let t=globalThis.DEBUG;ni||(ni=new mo($h(t)));let r=new fo(ni,e);return ni.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(Jw,"debug");zt.debug=Jw});var go=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.ProblemResponseFormatter=Vr.InternalProblemResponseFormatter=void 0;var zw=N(),yo=class e{static{s(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(o){throw new zw.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Vr.InternalProblemResponseFormatter=yo;var Au=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await yo.problemResponseFormat(t,r,n)}};Vr.ProblemResponseFormatter=Au});var Vh=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.deepFreeze=void 0;function jh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&jh(r)}return Object.freeze(e)}s(jh,"deepFreeze");bo.deepFreeze=jh});var ke=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.ZuploRequest=void 0;var Gh=Vh(),Ru=class e extends Request{static{s(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,Gh.deepFreeze)(this.#e)}get params(){return(0,Gh.deepFreeze)(this.#t)}user};_o.ZuploRequest=Ru});var yt=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var Bh=N(),Ww=go(),Qw=ke(),wo=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=wo;var vo=class extends wo{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=vo;ye.runtimeExtensions={};var Ou=[];ye.plugins=Ou;var Kh=[],Jh=[],zh=[],Eo={addPlugin(e){Ou.push(e)},addRequestHook(e){Kh.push(e)},addResponseSendingHook(e){Jh.push(e)},addResponseSendingFinalHook(e){zh.push(e)}},Yw=s(async(e,t)=>{let r=e;for(let n of Kh){let i=await n(r,t);if(i instanceof Qw.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Bh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Yw;var Zw=s(async(e,t,r)=>{let n=e;for(let i of Jh){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new Bh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Zw;var Xw=s(async(e,t,r)=>{for(let n of zh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Xw;async function ev(e=()=>Promise.resolve()){await e(Eo),ye.runtimeExtensions.value=Eo;for(let t of Ou)t instanceof vo&&await t.initialize(Eo);Ww.InternalProblemResponseFormatter.setProblemResponseFormat(Eo.problemResponseFormat)}s(ev,"initializeRuntime");ye.initializeRuntime=ev});var Nu=g(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serialize=Wt.ContentTypes=void 0;Wt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function tv(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Json)||!t?JSON.stringify(e):e}s(tv,"serialize");Wt.serialize=tv});var Lt=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.Pipeline=void 0;var xu=Ir(),Wh=yt(),rv=Nu(),Cu=class{static{s(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(o){return i.log.error("Error executing request handler.",o),r.errorHandler(n,i,o)}};#t=({processors:t,gateway:r,handler:n})=>async(i,o)=>{let a=[...t],c=s(async y=>{let E=a.pop();return E?E(i,o,r,c):await this.#e(async S=>{let k=await n(S,o);return nv(k)},r)(y,o)},"nextPipe"),l=await c(i),d=new xu.ResponseSendingEvent(i,l);o.dispatchEvent(d);let p=xu.ZuploContextExtensions.getContextExtensions(o),m=p.latestRequest,h;try{h=await d.mutableResponse}catch(y){return o.log.error(y),r.errorHandler(i,o,y)}try{h=await p.onResponseSending(h,m,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}try{h=await(0,Wh.invokeOnResponseSendingExtensions)(h,m,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}o.dispatchEvent(new xu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,m,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,Wh.invokeOnResponseSendingFinalExtensions)(l,m,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return h}};To.Pipeline=Cu;function nv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,rv.serialize)(e),{headers:{"content-type":"application/json"}})}s(nv,"resultToResponse")});var Io=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.MetricsPlugin=void 0;var iv=yt(),Lu=class extends iv.RuntimePlugin{static{s(this,"MetricsPlugin")}};So.MetricsPlugin=Lu});var Be=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.SystemLogMap=void 0;var ov=N(),Du=class e{static{s(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new ov.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Po.SystemLogMap=Du});var ve=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.BatchDispatch=void 0;var Uu=class{static{s(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};Ao.BatchDispatch=Uu});var Yh=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.EllieMetricsTransport=void 0;var Qh=Be(),sv=ve(),Ro=W(),Mu=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Ro.Environment.instance.loggingId,this.#e=t,this.#t=new sv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Qh.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:o}=Ro.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&o&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(o)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":Ro.Environment.instance.deploymentName??"unknown","user-agent":Ro.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Qh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Oo.EllieMetricsTransport=Mu});var ot=g(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.systemNoVersion=Pr.SystemRouteConfiguration=void 0;var ku=class{static{s(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:o="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=o,this.version=Pr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Pr.SystemRouteConfiguration=ku;Pr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.metricsProcessor=void 0;var Zh=ri(),av=Ir(),cv=yt(),uv=Io(),lv=Yh(),dv=ot(),pv=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(Zh.RAY_ID_HEADER)??void 0,u=e.headers.get(Zh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof dv.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=av.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-o,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new lv.EllieMetricsTransport(t)),cv.plugins.forEach(y=>{if(y instanceof uv.MetricsPlugin){let E=y.getTransport();h.push(E)}}),h.forEach(y=>{y.pushMetrics(m,t)}),a},"metricsProcessor");No.metricsProcessor=pv});var Hu=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.SystemRouteName=void 0;var Xh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(Xh||(xo.SystemRouteName=Xh={}))});var tf=g(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0})});var Ar=g(Yt=>{"use strict";var hv=Yt&&Yt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),rf=Yt&&Yt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&hv(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});rf(Hu(),Yt);rf(tf(),Yt)});var nf=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.registerBuildRoute=void 0;var fv=Dt(),mv=Lt(),yv=Qt(),gv=Ar(),bv=ot(),_v=Be(),Ev=W(),wv=s((e,t)=>{let r=s(async(o,a)=>{let u=new URL(o.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return fv.HttpProblems.notFound(o,a);let l=Ev.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=o.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&_v.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 mv.Pipeline({processors:[yv.metricsProcessor],handler:r,gateway:t}),i=new bv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:gv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Co.registerBuildRoute=wv});var Fu=g(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.HTTP_STATUS_TITLES=Gr.HttpStatusCode=void 0;var of;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(of||(Gr.HttpStatusCode=of={}));Gr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var $u=g(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});var vv={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"};qu.default=vv});var ie=g(Br=>{"use strict";var Tv=Br&&Br.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Br,"__esModule",{value:!0});Br.HttpProblems=void 0;var Sv=ri(),O=Fu(),Iv=Tv($u()),Pv=W(),ju=go();function Av(e){return`${new URL(e.url).pathname}`}s(Av,"instance");function Rv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Pv.Environment.instance.build.BUILD_ID},n=e.headers.get(Sv.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(Rv,"trace");var Ov=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:Av(t),trace:Rv(t,r),...n},additionalHeaders:i,statusText:Iv.default[e.status]}),"merge"),Vu=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?ju.ProblemResponseFormatter.format(t,r,n):ju.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:O.HTTP_STATUS_TITLES[t],...r}}},Gu=class extends Vu{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=Ov(this.getProblemFromStatus(t),r,n,i,o);return ju.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(O.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Br.HttpProblems=Gu});var gt=g(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:Nv}=Object.prototype,{propertyIsEnumerable:xv}=Object.prototype;function sf(e){return Nv.call(e)}s(sf,"toString");U.toString=sf;function Lo(e){return typeof e=="string"}s(Lo,"isString");U.isString=Lo;function Cv(e){return Lo(e)&&e!==""}s(Cv,"isNonEmptyString");U.isNonEmptyString=Cv;function Lv(e){return Array.isArray(e)&&e.every(t=>Lo(t))}s(Lv,"isStringArray");U.isStringArray=Lv;function Dv(e){return sf(e)==="[object RegExp]"}s(Dv,"isRegexp");U.isRegexp=Dv;function Uv(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>xv.call(e,t))]}s(Uv,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=Uv;function Bu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(Bu,"isObject");U.isObject=Bu;function Mv(e){return Bu(e)&&Array.isArray(e)}s(Mv,"isArray");U.isArray=Mv;function kv(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(kv,"isTypedArray");U.isTypedArray=kv;function Hv(e){return typeof e=="number"&&!isNaN(e)}s(Hv,"isNumber");U.isNumber=Hv;function Fv(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(Fv,"isIterable");U.isIterable=Fv;function qv(e){return e===!0||e===!1}s(qv,"isBoolean");U.isBoolean=qv;function af(e){return typeof e>"u"}s(af,"isUndefined");U.isUndefined=af;function $v(e){return!ii(e)}s($v,"isDefined");U.isDefined=$v;function ii(e){return af(e)||e===null}s(ii,"isUndefinedOrNull");U.isUndefinedOrNull=ii;function jv(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(jv,"assertType");U.assertType=jv;function Vv(e){if(ii(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(Vv,"assertIsDefined");U.assertIsDefined=Vv;function Gv(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ii(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(Gv,"assertAllDefined");U.assertAllDefined=Gv;var Bv=Object.prototype.hasOwnProperty;function Kv(e){if(!Bu(e))return!1;for(let t in e)if(Bv.call(e,t))return!1;return!0}s(Kv,"isEmptyObject");U.isEmptyObject=Kv;function Ku(e){return typeof e=="function"}s(Ku,"isFunction");U.isFunction=Ku;function Jv(...e){return e.length>0&&e.every(Ku)}s(Jv,"areFunctions");U.areFunctions=Jv;function zv(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)cf(e[n],t[n])}s(zv,"validateConstraints");U.validateConstraints=zv;function cf(e,t){if(Lo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Ku(t)){try{if(e instanceof t)return}catch{}if(!ii(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}s(cf,"validateConstraint");U.validateConstraint=cf;function Wv(e){return e===null?void 0:e}s(Wv,"withNullAsUndefined");U.withNullAsUndefined=Wv;function Qv(e){return typeof e>"u"?null:e}s(Qv,"withUndefinedAsNull");U.withUndefinedAsNull=Qv;function Yv(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(Yv,"isErrorLike");U.isErrorLike=Yv});var oi=g(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.parseValueToBoolean=bt.parseValueToStringArray=bt.getValueFromRequestUser=bt.statusCodesStringToNumberArray=void 0;var Kr=N(),Ju=gt(),uf=new Map;function Zv(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=uf.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let o=i.split("-");if(o.length===2){let a=parseInt(o[0],10),c=parseInt(o[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return uf.set(e,n),n}s(Zv,"statusCodesStringToNumberArray");bt.statusCodesStringToNumberArray=Zv;function Xv(e,t,r){if(!t.startsWith("."))throw new Kr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(o=>{if(i===void 0)throw new Kr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(Xv,"getValueFromRequestUser");bt.getValueFromRequestUser=Xv;function eT(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Kr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Ju.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Kr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(eT,"parseValueToStringArray");bt.parseValueToStringArray=eT;function tT(e){if((0,Ju.isBoolean)(e))return e;if((0,Ju.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Kr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Kr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(tT,"parseValueToBoolean");bt.parseValueToBoolean=tT});var Uo=g(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Rr=N(),lf=oi(),Do=gt();function rT(e){if(e==null)return[];if(!Array.isArray(e))throw new Rr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Do.isObject)(r))throw new Rr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Do.isNonEmptyString)(r.name))throw new Rr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Do.isNumber)(r.maxAge))throw new Rr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,Do.isBoolean)(r.allowCredentials))throw new Rr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=zu(r,"allowedHeaders"),i=zu(r,"allowedMethods"),o=zu(r,"exposeHeaders"),a;try{a=(0,lf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Rr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:o?o.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}s(rT,"parseCorsPolicies");Zt.parseCorsPolicies=rT;function zu(e,t){let r;if(e[t]!==void 0)try{r=(0,lf.parseValueToStringArray)(e[t])}catch(n){throw new Rr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}s(zu,"parseOptionalProperty");var nT=s((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Zt.findMatchingOrigin=nT;var iT=s((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Zt.generateCorsHeaders=iT});var pf=g(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.registerCorsRoute=void 0;var oT=N(),sT=Lt(),Wu=ie(),aT=Qt(),cT=Ar(),uT=ot(),df=Uo(),lT=s((e,t)=>{let r=t.routeData.corsPolicies,n=s(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return Wu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return Wu.HttpProblems.notFound(a,c);let h=m.routeConfiguration,y=dT(l,d,p,h,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):(y.error&&c.log.warn(y.error),Wu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new sT.Pipeline({processors:[aT.metricsProcessor],handler:n,gateway:t}),o=new uT.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:cT.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");Mo.registerCorsRoute=lT;var dT=s((e,t,r,n,i)=>{let o={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...o,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new oT.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,df.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,df.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var hf=g(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.registerNoRoutes=void 0;var pT=Lt(),hT=Qt(),fT=Ar(),mT=ot(),yT=s((e,t)=>{let r=s(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new pT.Pipeline({processors:[hT.metricsProcessor],handler:r,gateway:t}),i=new mT.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:fT.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");ko.registerNoRoutes=yT});var ff=g(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.registerNotMatchedHandler=Or.notFoundRouteConfiguration=void 0;var gT=Ir(),bT=yt(),_T=Lt(),ET=ie(),wT=Qt(),vT=Ar(),TT=ot();Or.notFoundRouteConfiguration=new TT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:vT.SystemRouteName.UnmatchedPath});var ST=s((e,t)=>{let r=s(async(i,o)=>{let a=bT.runtimeExtensions.value?.notFoundHandler;if(a){let c=gT.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return ET.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new _T.Pipeline({processors:[wT.metricsProcessor],handler:r,gateway:t});e.addRoute(Or.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Or.registerNotMatchedHandler=ST});var Qu=g(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.corsProcessor=void 0;var gf=N(),mf=Uo(),IT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],yf=s(e=>{IT.forEach(t=>e.delete(t))},"stripCorsHeaders"),PT=s(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return yf(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let o=await n(e);if(!(o instanceof Response))throw new gf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=AT(i,r.routeData.corsPolicies),c=RT(e,a),u=new Headers(o.headers);return yf(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(o.body,{status:o.status,statusText:o.statusText,headers:u,webSocket:o.webSocket})},"corsProcessor");Ho.corsProcessor=PT;var AT=s((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new gf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),RT=s((e,t)=>{let r=(0,mf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,mf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var bf=g(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.registerPingRoute=void 0;var OT=Lt(),NT=Qu(),xT=Ar(),CT=ot(),LT=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new OT.Pipeline({processors:[NT.corsProcessor],handler:r,gateway:t}),i=new CT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:xT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Fo.registerPingRoute=LT});var zr=g(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var DT=Ir(),Jr=N(),_f=ke(),UT=W();function Ef(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(o=>{let a=t?.find(u=>u.name===o);if(!a)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${o}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${o}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}s(Ef,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=Ef;function MT(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:o.handler.export,handler:a,options:o.handler.options,policyName:o.name}})}s(MT,"getOutboundPolicyHandlerAndOptions");var kT=s(e=>async(t,r)=>{let n=DT.ZuploContextExtensions.getContextExtensions(r),i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,a.options,a.policyName);if(c instanceof _f.ZuploRequest)o=c;else if(c instanceof Request)o=new _f.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=o}return o},"toStackedInboundHandler");st.toStackedInboundHandler=kT;var HT=s(e=>async(t,r,n)=>{let i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);o=c}return o},"toStackedOutboundHandler"),FT=s(async(e,t,r,n)=>{let i=Ef(t.route,r.routeData.policies),o=MT(t.route,r.routeData.policies);return wf({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");st.policyProcessor=FT;function qT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>wf({request:n,context:i,inboundPolicies:e.map(c=>({...c,exportName:"default",policyName:c.handler.name})),outboundPolicies:t.map(c=>({...c,exportName:"default",policyName:c.handler.name})),gateway:o,next:a}),"policyProcessor")}s(qT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=qT;async function wf({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:o}){let a=(0,st.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await o(c),l=HT(n),d;return UT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}s(wf,"executePolicyProcessor")});var vf=g(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.serialize=Wr.parse=void 0;var $T=Object.prototype.toString,qo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function jT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||GT,o=0;for(;o<e.length;){let a=e.indexOf("=",o);if(a===-1)break;let c=e.indexOf(";",o);if(c===-1)c=e.length;else if(c<a){o=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(o,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=JT(l,i)}o=c+1}return r}s(jT,"parse");Wr.parse=jT;function VT(e,t,r){let n=r||{},i=n.encode||BT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!qo.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!qo.test(o))throw new TypeError("argument val is invalid");let a=e+"="+o;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!qo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!qo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!KT(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}s(VT,"serialize");Wr.serialize=VT;function GT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(GT,"decode");function BT(e){return encodeURIComponent(e)}s(BT,"encode");function KT(e){return $T.call(e)==="[object Date]"||e instanceof Date}s(KT,"isDate");function JT(e,t){try{return t(e)}catch{return e}}s(JT,"tryDecode")});var Tf=g($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.devPortalBaseURL=void 0;var zT=vf();function WT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,zT.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}s(WT,"devPortalBaseURL");$o.devPortalBaseURL=WT});var Rf=g(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.registerDevPortalLegacyRedirectRoute=Qr.registerDevPortalV3Route=void 0;var Yu=Dt(),If=Lt(),Pf=Qt(),QT=zr(),Af=ot(),YT=Tf(),Xt=W(),Sf="/__zuplo/dev-portal",ZT="dev-portal-id",XT="dev-portal-host",eS="zp-account",tS="zp-project",rS="dev-portal-build",nS=`
|
|
35
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}s(Jw,"reduceToSingleString")});var jh=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.format=void 0;var zw=Uh(),Ww=$h(),Qw=s((e,...t)=>(0,zw.format)(Ww.inspect,e,t),"format");ho.format=Qw});var Sr=g(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var Yw=Dh(),Zw=jh(),fo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,Yw.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,Zw.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};zt.Debugger=fo;var mo=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function Vh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(Vh,"extract");var ii;function Xw(e){e||(e=[]),typeof e=="string"&&(e=Vh(e)),ii=new mo(e)}s(Xw,"withoutEnv");zt.withoutEnv=Xw;function ev(e){let t=globalThis.DEBUG;ii||(ii=new mo(Vh(t)));let r=new fo(ii,e);return ii.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(ev,"debug");zt.debug=ev});var go=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.ProblemResponseFormatter=Vr.InternalProblemResponseFormatter=void 0;var tv=O(),yo=class e{static{s(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(o){throw new tv.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Vr.InternalProblemResponseFormatter=yo;var Au=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await yo.problemResponseFormat(t,r,n)}};Vr.ProblemResponseFormatter=Au});var Bh=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.deepFreeze=void 0;function Gh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Gh(r)}return Object.freeze(e)}s(Gh,"deepFreeze");bo.deepFreeze=Gh});var Me=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.ZuploRequest=void 0;var Kh=Bh(),Ru=class e extends Request{static{s(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,Kh.deepFreeze)(this.#e)}get params(){return(0,Kh.deepFreeze)(this.#t)}user};_o.ZuploRequest=Ru});var gt=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var Jh=O(),rv=go(),nv=Me(),wo=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=wo;var vo=class extends wo{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=vo;ye.runtimeExtensions={};var Ou=[];ye.plugins=Ou;var zh=[],Wh=[],Qh=[],Eo={addPlugin(e){Ou.push(e)},addRequestHook(e){zh.push(e)},addResponseSendingHook(e){Wh.push(e)},addResponseSendingFinalHook(e){Qh.push(e)}},iv=s(async(e,t)=>{let r=e;for(let n of zh){let i=await n(r,t);if(i instanceof nv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Jh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=iv;var ov=s(async(e,t,r)=>{let n=e;for(let i of Wh){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new Jh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=ov;var sv=s(async(e,t,r)=>{for(let n of Qh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=sv;async function av(e=()=>Promise.resolve()){await e(Eo),ye.runtimeExtensions.value=Eo;for(let t of Ou)t instanceof vo&&await t.initialize(Eo);rv.InternalProblemResponseFormatter.setProblemResponseFormat(Eo.problemResponseFormat)}s(av,"initializeRuntime");ye.initializeRuntime=av});var Nu=g(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serialize=Wt.ContentTypes=void 0;Wt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function cv(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Json)||!t?JSON.stringify(e):e}s(cv,"serialize");Wt.serialize=cv});var Lt=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.Pipeline=void 0;var xu=Ir(),Yh=gt(),uv=Nu(),Cu=class{static{s(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(o){return i.log.error("Error executing request handler.",o),r.errorHandler(n,i,o)}};#t=({processors:t,gateway:r,handler:n})=>async(i,o)=>{let a=[...t],c=s(async y=>{let E=a.pop();return E?E(i,o,r,c):await this.#e(async S=>{let M=await n(S,o);return lv(M)},r)(y,o)},"nextPipe"),l=await c(i),d=new xu.ResponseSendingEvent(i,l);o.dispatchEvent(d);let p=xu.ZuploContextExtensions.getContextExtensions(o),f=p.latestRequest,h;try{h=await d.mutableResponse}catch(y){return o.log.error(y),r.errorHandler(i,o,y)}try{h=await p.onResponseSending(h,f,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}try{h=await(0,Yh.invokeOnResponseSendingExtensions)(h,f,o)}catch(y){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),r.errorHandler(i,o,y)}o.dispatchEvent(new xu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,f,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,Yh.invokeOnResponseSendingFinalExtensions)(l,f,o)}catch(y){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return h}};To.Pipeline=Cu;function lv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,uv.serialize)(e),{headers:{"content-type":"application/json"}})}s(lv,"resultToResponse")});var Io=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.MetricsPlugin=void 0;var dv=gt(),Lu=class extends dv.RuntimePlugin{static{s(this,"MetricsPlugin")}};So.MetricsPlugin=Lu});var He=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.SystemLogMap=void 0;var pv=O(),Du=class e{static{s(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new pv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Po.SystemLogMap=Du});var ve=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.BatchDispatch=void 0;var Uu=class{static{s(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};Ao.BatchDispatch=Uu});var Xh=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.EllieMetricsTransport=void 0;var Zh=He(),hv=ve(),Ro=W(),ku=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Ro.Environment.instance.loggingId,this.#e=t,this.#t=new hv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Zh.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:o}=Ro.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&o&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(o)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":Ro.Environment.instance.deploymentName??"unknown","user-agent":Ro.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Zh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Oo.EllieMetricsTransport=ku});var ot=g(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.systemNoVersion=Pr.SystemRouteConfiguration=void 0;var Mu=class{static{s(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:o="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=o,this.version=Pr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Pr.SystemRouteConfiguration=Mu;Pr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.metricsProcessor=void 0;var ef=ni(),fv=Ir(),mv=gt(),yv=Io(),gv=Xh(),bv=ot(),_v=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(ef.RAY_ID_HEADER)??void 0,u=e.headers.get(ef.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof bv.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=fv.ZuploContextExtensions.getContextExtensions(t).latestRequest,f={timestamp:i,statusCode:a.status,durationMs:Date.now()-o,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new gv.EllieMetricsTransport(t)),mv.plugins.forEach(y=>{if(y instanceof yv.MetricsPlugin){let E=y.getTransport();h.push(E)}}),h.forEach(y=>{y.pushMetrics(f,t)}),a},"metricsProcessor");No.metricsProcessor=_v});var Hu=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.SystemRouteName=void 0;var tf;(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"})(tf||(xo.SystemRouteName=tf={}))});var nf=g(rf=>{"use strict";Object.defineProperty(rf,"__esModule",{value:!0})});var Ar=g(Yt=>{"use strict";var Ev=Yt&&Yt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),of=Yt&&Yt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Ev(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});of(Hu(),Yt);of(nf(),Yt)});var sf=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.registerBuildRoute=void 0;var wv=Dt(),vv=Lt(),Tv=Qt(),Sv=Ar(),Iv=ot(),Pv=He(),Av=W(),Rv=s((e,t)=>{let r=s(async(o,a)=>{let u=new URL(o.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return wv.HttpProblems.notFound(o,a);let l=Av.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=o.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&Pv.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 vv.Pipeline({processors:[Tv.metricsProcessor],handler:r,gateway:t}),i=new Iv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Sv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Co.registerBuildRoute=Rv});var Fu=g(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.HTTP_STATUS_TITLES=Gr.HttpStatusCode=void 0;var af;(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"})(af||(Gr.HttpStatusCode=af={}));Gr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var $u=g(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});var Ov={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"};qu.default=Ov});var te=g(Br=>{"use strict";var Nv=Br&&Br.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Br,"__esModule",{value:!0});Br.HttpProblems=void 0;var xv=ni(),N=Fu(),Cv=Nv($u()),Lv=W(),ju=go();function Dv(e){return`${new URL(e.url).pathname}`}s(Dv,"instance");function Uv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Lv.Environment.instance.build.BUILD_ID},n=e.headers.get(xv.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(Uv,"trace");var kv=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:Dv(t),trace:Uv(t,r),...n},additionalHeaders:i,statusText:Cv.default[e.status]}),"merge"),Vu=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?ju.ProblemResponseFormatter.format(t,r,n):ju.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},Gu=class extends Vu{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=kv(this.getProblemFromStatus(t),r,n,i,o);return ju.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Br.HttpProblems=Gu});var st=g(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:Mv}=Object.prototype,{propertyIsEnumerable:Hv}=Object.prototype;function cf(e){return Mv.call(e)}s(cf,"toString");U.toString=cf;function Lo(e){return typeof e=="string"}s(Lo,"isString");U.isString=Lo;function Fv(e){return Lo(e)&&e!==""}s(Fv,"isNonEmptyString");U.isNonEmptyString=Fv;function qv(e){return Array.isArray(e)&&e.every(t=>Lo(t))}s(qv,"isStringArray");U.isStringArray=qv;function $v(e){return cf(e)==="[object RegExp]"}s($v,"isRegexp");U.isRegexp=$v;function jv(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Hv.call(e,t))]}s(jv,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=jv;function Bu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(Bu,"isObject");U.isObject=Bu;function Vv(e){return Bu(e)&&Array.isArray(e)}s(Vv,"isArray");U.isArray=Vv;function Gv(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(Gv,"isTypedArray");U.isTypedArray=Gv;function Bv(e){return typeof e=="number"&&!isNaN(e)}s(Bv,"isNumber");U.isNumber=Bv;function Kv(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(Kv,"isIterable");U.isIterable=Kv;function Jv(e){return e===!0||e===!1}s(Jv,"isBoolean");U.isBoolean=Jv;function uf(e){return typeof e>"u"}s(uf,"isUndefined");U.isUndefined=uf;function zv(e){return!oi(e)}s(zv,"isDefined");U.isDefined=zv;function oi(e){return uf(e)||e===null}s(oi,"isUndefinedOrNull");U.isUndefinedOrNull=oi;function Wv(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(Wv,"assertType");U.assertType=Wv;function Qv(e){if(oi(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(Qv,"assertIsDefined");U.assertIsDefined=Qv;function Yv(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(oi(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(Yv,"assertAllDefined");U.assertAllDefined=Yv;var Zv=Object.prototype.hasOwnProperty;function Xv(e){if(!Bu(e))return!1;for(let t in e)if(Zv.call(e,t))return!1;return!0}s(Xv,"isEmptyObject");U.isEmptyObject=Xv;function Ku(e){return typeof e=="function"}s(Ku,"isFunction");U.isFunction=Ku;function eT(...e){return e.length>0&&e.every(Ku)}s(eT,"areFunctions");U.areFunctions=eT;function tT(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)lf(e[n],t[n])}s(tT,"validateConstraints");U.validateConstraints=tT;function lf(e,t){if(Lo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Ku(t)){try{if(e instanceof t)return}catch{}if(!oi(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}s(lf,"validateConstraint");U.validateConstraint=lf;function rT(e){return e===null?void 0:e}s(rT,"withNullAsUndefined");U.withNullAsUndefined=rT;function nT(e){return typeof e>"u"?null:e}s(nT,"withUndefinedAsNull");U.withUndefinedAsNull=nT;function iT(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(iT,"isErrorLike");U.isErrorLike=iT});var si=g(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.parseValueToBoolean=bt.parseValueToStringArray=bt.getValueFromRequestUser=bt.statusCodesStringToNumberArray=void 0;var Kr=O(),Ju=st(),df=new Map;function oT(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=df.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let o=i.split("-");if(o.length===2){let a=parseInt(o[0],10),c=parseInt(o[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return df.set(e,n),n}s(oT,"statusCodesStringToNumberArray");bt.statusCodesStringToNumberArray=oT;function sT(e,t,r){if(!t.startsWith("."))throw new Kr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(o=>{if(i===void 0)throw new Kr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(sT,"getValueFromRequestUser");bt.getValueFromRequestUser=sT;function aT(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Kr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Ju.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Kr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(aT,"parseValueToStringArray");bt.parseValueToStringArray=aT;function cT(e){if((0,Ju.isBoolean)(e))return e;if((0,Ju.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Kr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Kr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(cT,"parseValueToBoolean");bt.parseValueToBoolean=cT});var Uo=g(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Rr=O(),pf=si(),Do=st();function uT(e){if(e==null)return[];if(!Array.isArray(e))throw new Rr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Do.isObject)(r))throw new Rr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Do.isNonEmptyString)(r.name))throw new Rr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Do.isNumber)(r.maxAge))throw new Rr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,Do.isBoolean)(r.allowCredentials))throw new Rr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=zu(r,"allowedHeaders"),i=zu(r,"allowedMethods"),o=zu(r,"exposeHeaders"),a;try{a=(0,pf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Rr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:o?o.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}s(uT,"parseCorsPolicies");Zt.parseCorsPolicies=uT;function zu(e,t){let r;if(e[t]!==void 0)try{r=(0,pf.parseValueToStringArray)(e[t])}catch(n){throw new Rr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}s(zu,"parseOptionalProperty");var lT=s((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Zt.findMatchingOrigin=lT;var dT=s((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Zt.generateCorsHeaders=dT});var ff=g(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.registerCorsRoute=void 0;var pT=O(),hT=Lt(),Wu=te(),fT=Qt(),mT=Ar(),yT=ot(),hf=Uo(),gT=s((e,t)=>{let r=t.routeData.corsPolicies,n=s(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return Wu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let f=e.lookup(l,u);if(!f)return Wu.HttpProblems.notFound(a,c);let h=f.routeConfiguration,y=bT(l,d,p,h,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):(y.error&&c.log.warn(y.error),Wu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new hT.Pipeline({processors:[fT.metricsProcessor],handler:n,gateway:t}),o=new yT.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:mT.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");ko.registerCorsRoute=gT;var bT=s((e,t,r,n,i)=>{let o={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...o,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new pT.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,hf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,hf.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var mf=g(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.registerNoRoutes=void 0;var _T=Lt(),ET=Qt(),wT=Ar(),vT=ot(),TT=s((e,t)=>{let r=s(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new _T.Pipeline({processors:[ET.metricsProcessor],handler:r,gateway:t}),i=new vT.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:wT.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Mo.registerNoRoutes=TT});var yf=g(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.registerNotMatchedHandler=Or.notFoundRouteConfiguration=void 0;var ST=Ir(),IT=gt(),PT=Lt(),AT=te(),RT=Qt(),OT=Ar(),NT=ot();Or.notFoundRouteConfiguration=new NT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:OT.SystemRouteName.UnmatchedPath});var xT=s((e,t)=>{let r=s(async(i,o)=>{let a=IT.runtimeExtensions.value?.notFoundHandler;if(a){let c=ST.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return AT.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new PT.Pipeline({processors:[RT.metricsProcessor],handler:r,gateway:t});e.addRoute(Or.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Or.registerNotMatchedHandler=xT});var Qu=g(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.corsProcessor=void 0;var _f=O(),gf=Uo(),CT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],bf=s(e=>{CT.forEach(t=>e.delete(t))},"stripCorsHeaders"),LT=s(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return bf(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let o=await n(e);if(!(o instanceof Response))throw new _f.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=DT(i,r.routeData.corsPolicies),c=UT(e,a),u=new Headers(o.headers);return bf(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(o.body,{status:o.status,statusText:o.statusText,headers:u,webSocket:o.webSocket})},"corsProcessor");Ho.corsProcessor=LT;var DT=s((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new _f.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),UT=s((e,t)=>{let r=(0,gf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,gf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Ef=g(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.registerPingRoute=void 0;var kT=Lt(),MT=Qu(),HT=Ar(),FT=ot(),qT=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new kT.Pipeline({processors:[MT.corsProcessor],handler:r,gateway:t}),i=new FT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:HT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Fo.registerPingRoute=qT});var zr=g(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.createInternalPolicyProcessor=at.policyProcessor=at.toStackedInboundHandler=at.getInboundPolicyHandlerAndOptions=void 0;var $T=Ir(),Jr=O(),wf=Me(),jT=W();function vf(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(o=>{let a=t?.find(u=>u.name===o);if(!a)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${o}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${o}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}s(vf,"getInboundPolicyHandlerAndOptions");at.getInboundPolicyHandlerAndOptions=vf;function VT(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new Jr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:o.handler.export,handler:a,options:o.handler.options,policyName:o.name}})}s(VT,"getOutboundPolicyHandlerAndOptions");var GT=s(e=>async(t,r)=>{let n=$T.ZuploContextExtensions.getContextExtensions(r),i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,a.options,a.policyName);if(c instanceof wf.ZuploRequest)o=c;else if(c instanceof Request)o=new wf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=o}return o},"toStackedInboundHandler");at.toStackedInboundHandler=GT;var BT=s(e=>async(t,r,n)=>{let i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Jr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);o=c}return o},"toStackedOutboundHandler"),KT=s(async(e,t,r,n)=>{let i=vf(t.route,r.routeData.policies),o=VT(t.route,r.routeData.policies);return Tf({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");at.policyProcessor=KT;function JT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>Tf({request:n,context:i,inboundPolicies:e.map(c=>({...c,exportName:"default",policyName:c.handler.name})),outboundPolicies:t.map(c=>({...c,exportName:"default",policyName:c.handler.name})),gateway:o,next:a}),"policyProcessor")}s(JT,"createInternalPolicyProcessor");at.createInternalPolicyProcessor=JT;async function Tf({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:o}){let a=(0,at.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await o(c),l=BT(n),d;return jT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}s(Tf,"executePolicyProcessor")});var Sf=g(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.serialize=Wr.parse=void 0;var zT=Object.prototype.toString,qo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function WT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||YT,o=0;for(;o<e.length;){let a=e.indexOf("=",o);if(a===-1)break;let c=e.indexOf(";",o);if(c===-1)c=e.length;else if(c<a){o=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(o,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=eS(l,i)}o=c+1}return r}s(WT,"parse");Wr.parse=WT;function QT(e,t,r){let n=r||{},i=n.encode||ZT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!qo.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!qo.test(o))throw new TypeError("argument val is invalid");let a=e+"="+o;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!qo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!qo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!XT(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}s(QT,"serialize");Wr.serialize=QT;function YT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(YT,"decode");function ZT(e){return encodeURIComponent(e)}s(ZT,"encode");function XT(e){return zT.call(e)==="[object Date]"||e instanceof Date}s(XT,"isDate");function eS(e,t){try{return t(e)}catch{return e}}s(eS,"tryDecode")});var If=g($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.devPortalBaseURL=void 0;var tS=Sf();function rS(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,tS.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}s(rS,"devPortalBaseURL");$o.devPortalBaseURL=rS});var Nf=g(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.registerDevPortalLegacyRedirectRoute=Qr.registerDevPortalV3Route=void 0;var Yu=Dt(),Af=Lt(),Rf=Qt(),nS=zr(),Of=ot(),iS=If(),Xt=W(),Pf="/__zuplo/dev-portal",oS="dev-portal-id",sS="dev-portal-host",aS="zp-account",cS="zp-project",uS="dev-portal-build",lS=`
|
|
36
36
|
<!DOCTYPE html>
|
|
37
37
|
<html lang="en">
|
|
38
38
|
<head>
|
|
@@ -46,42 +46,42 @@
|
|
|
46
46
|
<p>For more information, see <a href="https://zuplo.com/docs/articles/developer-portal">https://zuplo.com/docs/articles/developer-portal</a>.</p>
|
|
47
47
|
</body>
|
|
48
48
|
</html>
|
|
49
|
-
`,
|
|
50
|
-
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(
|
|
51
|
-
`)}s(
|
|
49
|
+
`,dS=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Xt.Environment.instance.deploymentName,i=Xt.Environment.instance.devPortalBaseUrl,o=s(async(u,l)=>{if(Xt.Environment.instance.isLocalDevelopment)return new Response(lS,{headers:{"content-type":"text/html"}});if(!n)return Yu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,iS.devPortalBaseURL)(i,u.headers),f=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:y,body:E}=u;return Xt.Environment.instance.build.ACCOUNT_NAME&&h.set(aS,Xt.Environment.instance.build.ACCOUNT_NAME),Xt.Environment.instance.build.PROJECT_NAME&&h.set(cS,Xt.Environment.instance.build.PROJECT_NAME),h.set(oS,n),h.set(sS,d.host),h.set(uS,Xt.Environment.instance.build.BUILD_ID),await fetch(f.toString(),{headers:h,method:y,body:E,redirect:"manual"})},"devPortalRoute"),a=new Af.Pipeline({processors:[Rf.metricsProcessor,nS.policyProcessor],handler:o,gateway:t}),c=new Of.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Yu.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Qr.registerDevPortalV3Route=dS;var pS=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=s(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(Pf.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Af.Pipeline({processors:[Rf.metricsProcessor],handler:n,gateway:t}),o=new Of.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Pf}(.*)`,systemRouteName:Yu.SystemRouteName.DeveloperPortalLegacy});e.addRoute(o,i.execute)},"registerDevPortalLegacyRedirectRoute");Qr.registerDevPortalLegacyRedirectRoute=pS});var Zu=g(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.API_KEY=Yr.SYSTEM_LOGGER=void 0;Yr.SYSTEM_LOGGER="system-logger";Yr.API_KEY="api-key"});var xf=g(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.CoreLogger=void 0;var Xu=0,el=class{static{s(this,"CoreLogger")}constructor(t,r,n,i,o){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=o,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=s(()=>{},"emptyFunction"),o=s((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:o,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,o,a){Xu>=Number.MAX_SAFE_INTEGER&&(Xu=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:o,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Xu++};this.#t[t](c,a)}};jo.CoreLogger=el});var Ut=g(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.LogPlugin=void 0;var hS=gt(),tl=class extends hS.RuntimePlugin{static{s(this,"LogPlugin")}};Vo.LogPlugin=tl});var Cf=g(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.LoggingContext=void 0;var rl=class{static{s(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};Go.LoggingContext=rl});var Lf=g(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.RequestLogger=void 0;var nl=class{static{s(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};Bo.RequestLogger=nl});var Nr=g(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.cleanStack=er.serializeError=er.NonError=void 0;var Df=st(),fS=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),mS=new Map(fS),il=class e extends Error{static{s(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};er.NonError=il;var yS=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],ol=Symbol(".toJSON was called"),gS=s(e=>{e[ol]=!0;let t=e.toJSON();return delete e[ol],t},"toJSON"),bS=s(e=>mS.get(e)??Error,"getErrorConstructor"),Uf=s(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:o,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,Df.isErrorLike)(e)){let l=bS(e.name);r=new l}else r={};if(t.push(e),o>=i)return r;if(a&&typeof e.toJSON=="function"&&e[ol]!==!0)return gS(e);let u=s(l=>Uf({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:o,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){o++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of yS)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,Df.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function _S(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?Uf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}s(_S,"serializeError");er.serializeError=_S;var ES=/file:\/\/\/(.*?)\/dist\//g,wS=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,vS="at async Event.respondWith";function TS(e){return typeof e!="string"?e:e.split(`
|
|
50
|
+
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(ES,"").replaceAll(wS,"").replaceAll(vS,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
|
|
51
|
+
`)}s(TS,"cleanStack");er.cleanStack=TS});var kf=g(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});var sl=st();function SS(e,t,r=""){let n=[],i=t?.maxDepth??3;return s(function o(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
|
|
52
52
|
`,newlineOrSpace:`
|
|
53
|
-
`,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
|
|
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,sl.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((y,E)=>{let T=a.length-1===E?p.newline:","+p.newlineOrSpace,S=o(y,c,u+d,l+1);return c.transform&&(S=c.transform(a,E,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),
|
|
55
|
-
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}s(
|
|
56
|
-
`)}s(wS,"messagesToMultilineText");He.messagesToMultilineText=wS;function kf(e){return typeof e=="string"?e:JSON.stringify(e)}s(kf,"stringifyNonString");He.stringifyNonString=kf;function Hf(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,Mf.toString)(e):"unknown"}s(Hf,"stringifyNonStringToText");He.stringifyNonStringToText=Hf});var D,ae,Te=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var vS,Ko,ul=I(()=>{Te();vS=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Ko=vS});function Se(...e){let t=e.reduce((i,{length:o})=>i+o,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function Ff(e,t){return Se(Z.encode(e),new Uint8Array([0]),t)}function ll(e,t,r){if(t<0||t>=Jo)throw new RangeError(`value must be >= 0 and <= ${Jo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function zo(e){let t=Math.floor(e/Jo),r=e%Jo,n=new Uint8Array(8);return ll(n,t,0),ll(n,r,4),n}function Wo(e){let t=new Uint8Array(4);return ll(t,e),t}function Qo(e){return Se(Wo(e.length),e)}async function qf(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let o=0;o<n;o++){let a=new Uint8Array(4+e.length+r.length);a.set(Wo(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Ko("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,Jo,ge=I(()=>{ul();Z=new TextEncoder,ue=new TextDecoder,Jo=2**32;s(Se,"concat");s(Ff,"p2s");s(ll,"writeUInt32BE");s(zo,"uint64be");s(Wo,"uint32be");s(Qo,"lengthAndInput");s(qf,"concatKdf")});var Yo,X,dl,te,Ie=I(()=>{ge();Yo=s(e=>{let t=e;typeof t=="string"&&(t=Z.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),X=s(e=>Yo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),dl=s(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),te=s(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return dl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var pl={};ro(pl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Mt,JWEInvalid:()=>A,JWKInvalid:()=>si,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>ai,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>ci,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Cr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Zr,JWTInvalid:()=>le});var he,be,Zr,tr,M,Mt,A,z,le,si,rr,xr,ai,ci,Cr,V=I(()=>{he=class extends Error{static{s(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{s(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Zr=class extends he{static{s(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},tr=class extends he{static{s(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends he{static{s(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Mt=class extends he{static{s(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},A=class extends he{static{s(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{s(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{s(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},si=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},xr=class extends he{static{s(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},ai=class extends he{static{s(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},ci=class extends he{static{s(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Cr=class extends he{static{s(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var nr,ui=I(()=>{Te();nr=D.getRandomValues.bind(D)});function hl(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 Zo,Xo=I(()=>{V();ui();s(hl,"bitLength");Zo=s(e=>nr(new Uint8Array(hl(e)>>3)),"default")});var TS,es,fl=I(()=>{V();Xo();TS=s((e,t)=>{if(t.length<<3!==hl(e))throw new A("Invalid Initialization Vector length")},"checkIvLength"),es=TS});var SS,Xr,ml=I(()=>{V();SS=s((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new A(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Xr=SS});var IS,jf,Vf=I(()=>{IS=s((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),jf=IS});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ir(e,t){return e.name===t}function ts(e){return parseInt(e.name.slice(4),10)}function PS(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Gf(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function Bf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ir(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(ts(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ir(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(ts(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ir(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(ts(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!ir(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=PS(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Gf(e,r)}function Fe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ir(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!ir(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ir(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ir(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(ts(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Gf(e,r)}var or=I(()=>{s(Pe,"unusable");s(ir,"isAlgorithm");s(ts,"getHashLength");s(PS,"getNamedCurve");s(Gf,"checkUsage");s(Bf,"checkSigCryptoKey");s(Fe,"checkEncCryptoKey")});function Kf(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function yl(e,t,...r){return Kf(`Key for the ${e} algorithm must be `,t,...r)}var oe,at=I(()=>{s(Kf,"message");oe=s((e,...t)=>Kf("Key must be ",e,...t),"default");s(yl,"withAlg")});var gl,Q,ct=I(()=>{Te();gl=s(e=>ae(e),"default"),Q=["CryptoKey"]});async function AS(e,t,r,n,i,o){if(!(t instanceof Uint8Array))throw new TypeError(oe(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(o,n,r,zo(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=jf(i,d)}catch{}if(!p)throw new Mt;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Mt;return m}async function RS(e,t,r,n,i,o){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(Fe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:o,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Mt}}var OS,rs,bl=I(()=>{ge();fl();ml();Vf();V();Te();or();at();ct();s(AS,"cbcDecrypt");s(RS,"gcmDecrypt");OS=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(es(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(-3),10)),AS(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(1,4),10)),RS(e,t,r,n,i,o);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),rs=OS});var Jf,zf,_l=I(()=>{V();Jf=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),zf=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var NS,Et,en=I(()=>{NS=s((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let o of i){if(r.has(o))return!1;r.add(o)}}return!0},"isDisjoint"),Et=NS});function xS(e){return typeof e=="object"&&e!==null}function Y(e){if(!xS(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var qe=I(()=>{s(xS,"isObjectLike");s(Y,"isObject")});var CS,tn,El=I(()=>{CS=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],tn=CS});function Wf(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Qf(e,t,r){if(ae(e))return Fe(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 li,di,ns=I(()=>{El();Te();or();at();ct();s(Wf,"checkKeySize");s(Qf,"getCryptoKey");li=s(async(e,t,r)=>{let n=await Qf(t,e,"wrapKey");Wf(n,e);let i=await D.subtle.importKey("raw",r,...tn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),di=s(async(e,t,r)=>{let n=await Qf(t,e,"unwrapKey");Wf(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...tn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function is(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(Fe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));Fe(t,"ECDH","deriveBits");let a=Se(Qo(Z.encode(r)),Qo(i),Qo(o),Wo(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return qf(u,n,a)}async function Yf(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function os(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 wl=I(()=>{ge();Te();or();at();ct();s(is,"deriveKey");s(Yf,"generateEpk");s(os,"ecdhAllowed")});function vl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}var Xf=I(()=>{V();s(vl,"checkP2s")});function LS(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return Fe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function em(e,t,r,n){vl(e);let i=Ff(t,e),o=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:o,name:"AES-KW"},u=await LS(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,o));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var tm,rm,Tl=I(()=>{ui();ge();Ie();ns();Xf();Te();or();at();ct();s(LS,"getCryptoKey");s(em,"deriveKey");tm=s(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let o=await em(i,e,n,t);return{encryptedKey:await li(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),rm=s(async(e,t,r,n,i)=>{let o=await em(i,e,n,t);return di(e.slice(-6),o,r)},"decrypt")});function rn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var nm=I(()=>{V();s(rn,"subtleRsaEs")});var Lr,ss=I(()=>{Lr=s((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var im,om,Sl=I(()=>{nm();El();Te();or();ss();at();ct();im=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(Fe(t,e,"encrypt","wrapKey"),Lr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(rn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...tn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,rn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),om=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(Fe(t,e,"decrypt","unwrapKey"),Lr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(rn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,rn(e),...tn);return new Uint8Array(await D.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function pi(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var wt,hi=I(()=>{V();ui();s(pi,"bitLength");wt=s(e=>nr(new Uint8Array(pi(e)>>3)),"default")});var Il,sm=I(()=>{Il=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
53
|
+
`,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let f=s(h=>{if(c.inlineCharacterLimit===void 0)return h;let y=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return y.length<=c.inlineCharacterLimit?y:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
|
|
54
|
+
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,sl.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((y,E)=>{let T=a.length-1===E?p.newline:","+p.newlineOrSpace,S=o(y,c,u+d,l+1);return c.transform&&(S=c.transform(a,E,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),f(h)}if((0,sl.isObject)(a)){let h=(0,sl.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(E=>c.filter?.(a,E))),h.length===0)return"{}";n.push(a);let y="{"+p.newline+h.map((E,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,M=typeof E=="symbol",j=!M&&/^[a-z$_][$\w]*$/i.test(E),L=M||j?E:o(E,c,"",l+1),ne=o(a[E],c,u+d,l+1);return c.transform&&(ne=c.transform(a,E,ne)),p.indent+String(L)+": "+ne+S}).join("")+p.pad+"}";return n.pop(),f(y)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
|
|
55
|
+
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}s(SS,"stringifyObject");al.default=SS});var _t=g(Fe=>{"use strict";var IS=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=Nr(),Mf=IS(kf()),Hf=st();function PS(e){return e.map(t=>(0,cl.serializeError)(t))}s(PS,"makeErrorsSerializable");Fe.makeErrorsSerializable=PS;function AS(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:Ff((0,cl.serializeError)(t))}s(AS,"extractBestMessage");Fe.extractBestMessage=AS;function RS(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,Hf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,Mf.default)((0,cl.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,Mf.default)(r);t.push(n)}else{let n=qf(r);t.push(n)}}),t.join(`
|
|
56
|
+
`)}s(RS,"messagesToMultilineText");Fe.messagesToMultilineText=RS;function Ff(e){return typeof e=="string"?e:JSON.stringify(e)}s(Ff,"stringifyNonString");Fe.stringifyNonString=Ff;function qf(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,Hf.toString)(e):"unknown"}s(qf,"stringifyNonStringToText");Fe.stringifyNonStringToText=qf});var D,ae,Te=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var OS,Ko,ul=I(()=>{Te();OS=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Ko=OS});function Se(...e){let t=e.reduce((i,{length:o})=>i+o,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function $f(e,t){return Se(Z.encode(e),new Uint8Array([0]),t)}function ll(e,t,r){if(t<0||t>=Jo)throw new RangeError(`value must be >= 0 and <= ${Jo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function zo(e){let t=Math.floor(e/Jo),r=e%Jo,n=new Uint8Array(8);return ll(n,t,0),ll(n,r,4),n}function Wo(e){let t=new Uint8Array(4);return ll(t,e),t}function Qo(e){return Se(Wo(e.length),e)}async function jf(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let o=0;o<n;o++){let a=new Uint8Array(4+e.length+r.length);a.set(Wo(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Ko("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,Jo,ge=I(()=>{ul();Z=new TextEncoder,ue=new TextDecoder,Jo=2**32;s(Se,"concat");s($f,"p2s");s(ll,"writeUInt32BE");s(zo,"uint64be");s(Wo,"uint32be");s(Qo,"lengthAndInput");s(jf,"concatKdf")});var Yo,X,dl,re,Ie=I(()=>{ge();Yo=s(e=>{let t=e;typeof t=="string"&&(t=Z.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),X=s(e=>Yo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),dl=s(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),re=s(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return dl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var pl={};ro(pl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>k,JWEDecryptionFailed:()=>kt,JWEInvalid:()=>A,JWKInvalid:()=>ai,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>ci,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>ui,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Cr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>Zr,JWTInvalid:()=>le});var he,be,Zr,tr,k,kt,A,z,le,ai,rr,xr,ci,ui,Cr,V=I(()=>{he=class extends Error{static{s(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{s(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Zr=class extends he{static{s(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},tr=class extends he{static{s(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},k=class extends he{static{s(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},kt=class extends he{static{s(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},A=class extends he{static{s(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{s(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{s(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},ai=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},xr=class extends he{static{s(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},ci=class extends he{static{s(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},ui=class extends he{static{s(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Cr=class extends he{static{s(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var nr,li=I(()=>{Te();nr=D.getRandomValues.bind(D)});function hl(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var Zo,Xo=I(()=>{V();li();s(hl,"bitLength");Zo=s(e=>nr(new Uint8Array(hl(e)>>3)),"default")});var NS,es,fl=I(()=>{V();Xo();NS=s((e,t)=>{if(t.length<<3!==hl(e))throw new A("Invalid Initialization Vector length")},"checkIvLength"),es=NS});var xS,Xr,ml=I(()=>{V();xS=s((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new A(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Xr=xS});var CS,Gf,Bf=I(()=>{CS=s((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),Gf=CS});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ir(e,t){return e.name===t}function ts(e){return parseInt(e.name.slice(4),10)}function LS(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Kf(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 Jf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ir(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(ts(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ir(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(ts(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ir(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(ts(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!ir(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=LS(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Kf(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ir(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!ir(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ir(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ir(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(ts(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Kf(e,r)}var or=I(()=>{s(Pe,"unusable");s(ir,"isAlgorithm");s(ts,"getHashLength");s(LS,"getNamedCurve");s(Kf,"checkUsage");s(Jf,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function zf(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function yl(e,t,...r){return zf(`Key for the ${e} algorithm must be `,t,...r)}var oe,ct=I(()=>{s(zf,"message");oe=s((e,...t)=>zf("Key must be ",e,...t),"default");s(yl,"withAlg")});var gl,Q,ut=I(()=>{Te();gl=s(e=>ae(e),"default"),Q=["CryptoKey"]});async function DS(e,t,r,n,i,o){if(!(t instanceof Uint8Array))throw new TypeError(oe(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(o,n,r,zo(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Gf(i,d)}catch{}if(!p)throw new kt;let f;try{f=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!f)throw new kt;return f}async function US(e,t,r,n,i,o){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:o,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new kt}}var kS,rs,bl=I(()=>{ge();fl();ml();Bf();V();Te();or();ct();ut();s(DS,"cbcDecrypt");s(US,"gcmDecrypt");kS=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(es(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(-3),10)),DS(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Xr(t,parseInt(e.slice(1,4),10)),US(e,t,r,n,i,o);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),rs=kS});var Wf,Qf,_l=I(()=>{V();Wf=s(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),Qf=s(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var MS,Et,en=I(()=>{MS=s((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let o of i){if(r.has(o))return!1;r.add(o)}}return!0},"isDisjoint"),Et=MS});function HS(e){return typeof e=="object"&&e!==null}function Y(e){if(!HS(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var $e=I(()=>{s(HS,"isObjectLike");s(Y,"isObject")});var FS,tn,El=I(()=>{FS=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],tn=FS});function Yf(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Zf(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(oe(e,...Q,"Uint8Array"))}var di,pi,ns=I(()=>{El();Te();or();ct();ut();s(Yf,"checkKeySize");s(Zf,"getCryptoKey");di=s(async(e,t,r)=>{let n=await Zf(t,e,"wrapKey");Yf(n,e);let i=await D.subtle.importKey("raw",r,...tn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),pi=s(async(e,t,r)=>{let n=await Zf(t,e,"unwrapKey");Yf(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...tn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function is(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Se(Qo(Z.encode(r)),Qo(i),Qo(o),Wo(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return jf(u,n,a)}async function Xf(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function os(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 wl=I(()=>{ge();Te();or();ct();ut();s(is,"deriveKey");s(Xf,"generateEpk");s(os,"ecdhAllowed")});function vl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}var tm=I(()=>{V();s(vl,"checkP2s")});function qS(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 rm(e,t,r,n){vl(e);let i=$f(t,e),o=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:o,name:"AES-KW"},u=await qS(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,o));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var nm,im,Tl=I(()=>{li();ge();Ie();ns();tm();Te();or();ct();ut();s(qS,"getCryptoKey");s(rm,"deriveKey");nm=s(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let o=await rm(i,e,n,t);return{encryptedKey:await di(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),im=s(async(e,t,r,n,i)=>{let o=await rm(i,e,n,t);return pi(e.slice(-6),o,r)},"decrypt")});function rn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var om=I(()=>{V();s(rn,"subtleRsaEs")});var Lr,ss=I(()=>{Lr=s((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var sm,am,Sl=I(()=>{om();El();Te();or();ss();ct();ut();sm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Lr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(rn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...tn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,rn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),am=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Lr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(rn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,rn(e),...tn);return new Uint8Array(await D.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function hi(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var wt,fi=I(()=>{V();li();s(hi,"bitLength");wt=s(e=>nr(new Uint8Array(hi(e)>>3)),"default")});var Il,cm=I(()=>{Il=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
57
57
|
`);return`-----BEGIN ${t}-----
|
|
58
58
|
${r}
|
|
59
|
-
-----END ${t}-----`},"default")});function cm(e){let t=[],r=0;for(;r<e.length;){let n=fm(e.subarray(r));t.push(n),r+=n.byteLength}return t}function fm(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let o=t+n+2;return{byteLength:o,contents:e.subarray(t,t+n),raw:e.subarray(0,o)}}else{let o=e[t]&127;t++,n=0;for(let a=0;a<o;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function DS(e){let t=cm(cm(fm(e).contents)[0].contents);return Yo(t[t[0].raw[0]===160?6:5].raw)}function US(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=dl(t);return Il(DS(r),"PUBLIC KEY")}var um,lm,dm,sr,am,pm,hm,Pl,mm,as=I(()=>{Te();at();Ie();sm();V();ct();um=s(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(r,...Q));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return Il(Yo(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),lm=s(e=>um("public","spki",e),"toSPKI"),dm=s(e=>um("private","pkcs8",e),"toPKCS8"),sr=s((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((o,a)=>o===t[a])||sr(e,t,n+1)},"findOid"),am=s(e=>{switch(!0){case sr(e,[42,134,72,206,61,3,1,7]):return"P-256";case sr(e,[43,129,4,0,34]):return"P-384";case sr(e,[43,129,4,0,35]):return"P-521";case sr(e,[43,101,110]):return"X25519";case sr(e,[43,101,111]):return"X448";case sr(e,[43,101,112]):return"Ed25519";case sr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),pm=s(async(e,t,r,n,i)=>{var o;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=am(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:am(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(o=i?.extractable)!==null&&o!==void 0?o:!1,c)},"genericImport"),hm=s((e,t,r)=>pm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Pl=s((e,t,r)=>pm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(cm,"getElement");s(fm,"parseElement");s(DS,"spkiFromX509");s(US,"getSPKI");mm=s((e,t,r)=>{let n;try{n=US(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Pl(n,t,r)},"fromX509")});function MS(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 kS,Al,ym=I(()=>{Te();V();Ie();s(MS,"subtleMapping");kS=s(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=MS(e),o=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return D.subtle.importKey("raw",te(e.k),...o);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...o)},"parse"),Al=kS});async function gm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Pl(e,t,r)}async function bm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return mm(e,t,r)}async function _m(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return hm(e,t,r)}async function ar(e,t,r){var n;if(!Y(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?Al({...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 Al({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var fi=I(()=>{Ie();as();ym();V();qe();s(gm,"importSPKI");s(bm,"importX509");s(_m,"importPKCS8");s(ar,"importJWK")});var HS,FS,qS,cr,mi=I(()=>{at();ct();HS=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!gl(t))throw new TypeError(yl(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),FS=s((e,t,r)=>{if(!gl(t))throw new TypeError(yl(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"),qS=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?HS(e,t):FS(e,t,r)},"checkKeyType"),cr=qS});async function $S(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(r,"Uint8Array"));let o=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(o>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,zo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function jS(e,t,r,n,i){let o;r instanceof Uint8Array?o=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Fe(r,e,"encrypt"),o=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},o,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var VS,yi,Rl=I(()=>{ge();fl();ml();Te();or();at();V();ct();s($S,"cbcEncrypt");s(jS,"gcmEncrypt");VS=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(es(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(-3),10)),$S(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(1,4),10)),jS(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),yi=VS});async function Em(e,t,r,n){let i=e.slice(0,7);n||(n=Zo(i));let{ciphertext:o,tag:a}=await yi(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function wm(e,t,r,n,i){let o=e.slice(0,7);return rs(o,t,r,n,i,new Uint8Array(0))}var Ol=I(()=>{Rl();bl();Xo();Ie();s(Em,"wrap");s(wm,"unwrap")});async function GS(e,t,r,n,i){switch(cr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!os(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new A('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await is(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?pi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new A("JWE Encrypted Key missing");return di(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new A("JWE Encrypted Key missing");return om(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new A('JOSE Header "p2c" (PBES2 Count) missing or invalid');let o=i?.maxPBES2Count||1e4;if(n.p2c>o)throw new A('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new A('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return rm(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");return di(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new A('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new A('JOSE Header "tag" (Authentication Tag) missing or invalid');let o=te(n.iv),a=te(n.tag);return wm(e,t,r,o,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var vm,Tm=I(()=>{ns();wl();Tl();Sl();Ie();V();hi();fi();mi();qe();Ol();s(GS,"decryptKeyManagement");vm=GS});function BS(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let o;r!==void 0?o=new Map([...Object.entries(r),...t.entries()]):o=t;for(let a of n.crit){if(!o.has(a))throw new M(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(o.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var vt,nn=I(()=>{V();s(BS,"validateCrit");vt=BS});var KS,gi,Nl=I(()=>{KS=s((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),gi=KS});async function on(e,t,r){var n;if(!Y(e))throw new A("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new A("JOSE Header missing");if(typeof e.iv!="string")throw new A("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new A("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new A("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new A("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new A("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new A("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let j=te(e.protected);i=JSON.parse(ue.decode(j))}catch{throw new A("JWE Protected Header is invalid")}if(!Et(i,e.header,e.unprotected))throw new A("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let o={...i,...e.header,...e.unprotected};if(vt(A,new Map,r?.crit,i,o),o.zip!==void 0){if(!i||!i.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(o.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=o;if(typeof a!="string"||!a)throw new A("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new A("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&gi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&gi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new tr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await vm(a,t,d,o,r)}catch(j){if(j instanceof TypeError||j instanceof A||j instanceof M)throw j;m=wt(c)}let h=te(e.iv),y=te(e.tag),E=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(E,Z.encode("."),Z.encode(e.aad)):T=E;let S=await rs(c,m,te(e.ciphertext),h,y,T);o.zip==="DEF"&&(S=await(r?.inflateRaw||Jf)(S));let k={plaintext:S};return e.protected!==void 0&&(k.protectedHeader=i),e.aad!==void 0&&(k.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(k.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(k.unprotectedHeader=e.header),p?{...k,key:t}:k}var cs=I(()=>{Ie();bl();_l();V();en();qe();Tm();ge();hi();nn();Nl();s(on,"flattenedDecrypt")});async function us(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new A("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:o,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new A("Invalid Compact JWE");let l=await on({ciphertext:a,iv:o||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var xl=I(()=>{cs();V();ge();s(us,"compactDecrypt")});async function Sm(e,t,r){if(!Y(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new A("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new A("JWE Recipients has no members");for(let n of e.recipients)try{return await on({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new Mt}var Im=I(()=>{cs();V();qe();s(Sm,"generalDecrypt")});var JS,Pm,Am=I(()=>{Te();at();Ie();ct();JS=s(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(oe(e,...Q,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...o}=await D.subtle.exportKey("jwk",e);return o},"keyToJWK"),Pm=JS});async function Rm(e){return lm(e)}async function Om(e){return dm(e)}async function ls(e){return Pm(e)}var Cl=I(()=>{as();as();Am();s(Rm,"exportSPKI");s(Om,"exportPKCS8");s(ls,"exportJWK")});async function zS(e,t,r,n,i={}){let o,a,c;switch(cr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!os(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 Yf(r)).privateKey);let{x:p,y:m,crv:h,kty:y}=await ls(d),E=await is(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?pi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:y}},y==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=E;break}c=n||wt(t);let T=e.slice(-6);o=await li(T,E,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||wt(t),o=await im(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||wt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await tm(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||wt(t),o=await li(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||wt(t);let{iv:u}=i;({encryptedKey:o,...a}=await Em(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:o,parameters:a}}var ds,Ll=I(()=>{ns();wl();Tl();Sl();Ie();hi();V();Cl();mi();Ol();s(zS,"encryptKeyManagement");ds=zS});var Dl,kt,ps=I(()=>{Ie();Rl();_l();Xo();Ll();V();en();ge();nn();Dl=Symbol(),kt=class{static{s(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new A("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Et(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(vt(A,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:o}=n;if(typeof i!="string"||!i)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof o!="string"||!o)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let y;({cek:c,encryptedKey:a,parameters:y}=await ds(i,o,t,this._cek,this._keyManagementParameters)),y&&(r&&Dl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=Zo(o));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Se(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let y=await(r?.deflateRaw||zf)(this._plaintext);({ciphertext:p,tag:m}=await yi(o,y,c,this._iv,u))}else({ciphertext:p,tag:m}=await yi(o,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(m)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Ul,hs,Nm=I(()=>{ps();V();hi();en();Ll();Ie();nn();Ul=class{static{s(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},hs=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Ul(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new A("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new kt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!Et(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new A('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!o)o=d.enc;else if(o!==d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(vt(A,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=wt(o),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let E=await new kt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[Dl]:!0});c.ciphertext=E.ciphertext,c.iv=E.iv,c.tag=E.tag,E.aad&&(c.aad=E.aad),E.protected&&(c.protected=E.protected),E.unprotected&&(c.unprotected=E.unprotected),d.encrypted_key=E.encrypted_key,E.header&&(d.header=E.header);continue}let{encryptedKey:h,parameters:y}=await ds(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),o,l.key,a,{p2c:m});d.encrypted_key=X(h),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function bi(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 Ml=I(()=>{V();s(bi,"subtleDsa")});function _i(e,t,r){if(ae(t))return Bf(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 kl=I(()=>{Te();or();at();ct();s(_i,"getCryptoKey")});var WS,xm,Cm=I(()=>{Ml();Te();ss();kl();WS=s(async(e,t,r,n)=>{let i=await _i(e,t,"verify");Lr(e,i);let o=bi(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),xm=WS});async function sn(e,t,r){var n;if(!Y(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=te(e.protected);i=JSON.parse(ue.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!Et(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=vt(z,new Map([["b64",!0]]),r?.crit,i,o),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=o;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&gi("algorithms",r.algorithms);if(l&&!l.has(u))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),cr(u,t,"verify");let p=Se(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),m=te(e.signature);if(!await xm(u,t,m,p))throw new Cr;let y;c?y=te(e.payload):typeof e.payload=="string"?y=Z.encode(e.payload):y=e.payload;let E={payload:y};return e.protected!==void 0&&(E.protectedHeader=i),e.header!==void 0&&(E.unprotectedHeader=e.header),d?{...E,key:t}:E}var fs=I(()=>{Ie();Cm();V();ge();en();qe();mi();nn();Nl();s(sn,"flattenedVerify")});async function ms(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:o,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await sn({payload:i,protected:n,signature:o},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var Hl=I(()=>{fs();V();ge();s(ms,"compactVerify")});async function Lm(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 sn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Cr}var Dm=I(()=>{fs();V();qe();s(Lm,"generalVerify")});var an,Fl=I(()=>{an=s(e=>Math.floor(e.getTime()/1e3),"default")});var QS,cn,ql=I(()=>{QS=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,cn=s(e=>{let t=QS.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var Um,YS,un,ys=I(()=>{V();ge();Fl();ql();qe();Um=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),YS=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),un=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Um(e.typ)!==Um(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Y(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:o=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&o.push("iat"),u!==void 0&&o.push("aud"),c!==void 0&&o.push("sub"),a!==void 0&&o.push("iss");for(let h of new Set(o.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!YS(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=cn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=an(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new Zr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,y=typeof l=="number"?l:cn(l);if(h-d>y)throw new Zr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Mm(e,t,r){var n;let i=await ms(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:un(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var km=I(()=>{Hl();ys();V();s(Mm,"jwtVerify")});async function Hm(e,t,r){let n=await us(e,t,r),i=un(n.protectedHeader,n.plaintext,r),{protectedHeader:o}=n;if(o.iss!==void 0&&o.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(o.sub!==void 0&&o.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(o.aud!==void 0&&JSON.stringify(o.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:o};return typeof t=="function"?{...a,key:n.key}:a}var Fm=I(()=>{xl();ys();V();s(Hm,"jwtDecrypt")});var ln,$l=I(()=>{ps();ln=class{static{s(this,"CompactEncrypt")}constructor(t){this._flattened=new kt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var ZS,qm,$m=I(()=>{Ml();Te();ss();kl();ZS=s(async(e,t,r)=>{let n=await _i(e,t,"sign");Lr(e,n);let i=await D.subtle.sign(bi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),qm=ZS});var ur,gs=I(()=>{Ie();$m();en();V();ge();mi();nn();ur=class{static{s(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Et(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=vt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Se(u,Z.encode("."),c),d=await qm(a,t,l),p={signature:X(d),payload:""};return o&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var dn,jl=I(()=>{gs();dn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new ur(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var Vl,bs,jm=I(()=>{gs();V();Vl=class{static{s(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},bs=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Vl(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new ur(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,_s=I(()=>{Fl();qe();ql();lr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Y(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:an(new Date)+cn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:an(new Date)+cn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:an(new Date)}:this._payload={...this._payload,iat:t},this}}});var Es,Vm=I(()=>{jl();V();ge();_s();Es=class extends lr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new dn(Z.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var ws,Gm=I(()=>{$l();ge();_s();ws=class extends lr{static{s(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new ln(Z.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function Gl(e,t){if(!Y(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":dr(e.crv,'"crv" (Curve) Parameter'),dr(e.x,'"x" (X Coordinate) Parameter'),dr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":dr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),dr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":dr(e.e,'"e" (Exponent) Parameter'),dr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":dr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await Ko(t,n))}async function Bm(e,t){t??(t="sha256");let r=await Gl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,Km=I(()=>{ul();Ie();V();ge();qe();dr=s((e,t)=>{if(typeof e!="string"||!e)throw new si(`${t} missing or invalid`)},"check");s(Gl,"calculateJwkThumbprint");s(Bm,"calculateJwkThumbprintUri")});async function Jm(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ar({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var zm=I(()=>{fi();qe();V();s(Jm,"EmbeddedJWK")});function XS(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 Bl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(eI)}function eI(e){return Y(e)}function tI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Wm(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ar({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new rr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Qm(e){let t=new Ei(e);return async function(r,n){return t.getKey(r,n)}}var Ei,Kl=I(()=>{fi();V();qe();s(XS,"getKtyFromAlg");s(Bl,"isJWKSLike");s(eI,"isJWKLike");s(tI,"clone");Ei=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Bl(t))throw new rr("JSON Web Key Set malformed");this._jwks=tI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=XS(n),a=this._jwks.keys.filter(l=>{let d=o===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new xr;if(u!==1){let l=new ai,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Wm(d,p,n)}catch{continue}},l}return Wm(this._cached,c,n)}};s(Wm,"importWithAlgCache");s(Qm,"createLocalJWKSet")});var rI,Ym,Zm=I(()=>{V();rI=s(async(e,t,r)=>{let n,i,o=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{o=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw o?new ci: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"),Ym=rI});function nI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Xm(e,t){let r=new Jl(e,t);return async function(n,i){return r.getKey(n,i)}}var Jl,ey=I(()=>{Zm();V();Kl();s(nI,"isCloudflareWorkers");Jl=class extends Ei{static{s(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof xr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&nI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Ym(this._url,this._timeoutDuration,this._options).then(t=>{if(!Bl(t))throw new rr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};s(Xm,"createRemoteJWKSet")});var vs,ty=I(()=>{Ie();ge();V();ys();_s();vs=class extends lr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:un(c,te(i),r),header:c}}}});var zl={};ro(zl,{decode:()=>wi,encode:()=>iI});var iI,wi,Ts=I(()=>{Ie();iI=X,wi=te});function ry(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(wi(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var ny=I(()=>{Ts();ge();qe();s(ry,"decodeProtectedHeader")});function iy(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=wi(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 oy=I(()=>{Ts();ge();qe();V();s(iy,"decodeJwt")});async function sy(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),nr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},o=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},o=["encrypt","decrypt"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,o)}function Wl(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 ay(e,t){var r,n,i;let o,a;switch(e){case"PS256":case"PS384":case"PS512":o={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Wl(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":o={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Wl(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":o={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Wl(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":o={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":o={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":o={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":o={name:c};break;default:throw new M("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{o={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":o={name:u};break;default:throw new M("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(o,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Ql=I(()=>{Te();V();ui();s(sy,"generateSecret");s(Wl,"getModulusLengthOption");s(ay,"generateKeyPair")});async function cy(e,t){return ay(e,t)}var uy=I(()=>{Ql();s(cy,"generateKeyPair")});async function ly(e,t){return sy(e,t)}var dy=I(()=>{Ql();s(ly,"generateSecret")});var Ss={};ro(Ss,{CompactEncrypt:()=>ln,CompactSign:()=>dn,EmbeddedJWK:()=>Jm,EncryptJWT:()=>ws,FlattenedEncrypt:()=>kt,FlattenedSign:()=>ur,GeneralEncrypt:()=>hs,GeneralSign:()=>bs,SignJWT:()=>Es,UnsecuredJWT:()=>vs,base64url:()=>zl,calculateJwkThumbprint:()=>Gl,calculateJwkThumbprintUri:()=>Bm,compactDecrypt:()=>us,compactVerify:()=>ms,createLocalJWKSet:()=>Qm,createRemoteJWKSet:()=>Xm,decodeJwt:()=>iy,decodeProtectedHeader:()=>ry,errors:()=>pl,exportJWK:()=>ls,exportPKCS8:()=>Om,exportSPKI:()=>Rm,flattenedDecrypt:()=>on,flattenedVerify:()=>sn,generalDecrypt:()=>Sm,generalVerify:()=>Lm,generateKeyPair:()=>cy,generateSecret:()=>ly,importJWK:()=>ar,importPKCS8:()=>_m,importSPKI:()=>gm,importX509:()=>bm,jwtDecrypt:()=>Hm,jwtVerify:()=>Mm});var Is=I(()=>{xl();cs();Im();Nm();Hl();fs();Dm();km();Fm();$l();ps();jl();gs();jm();Vm();Gm();Km();zm();Kl();ey();ty();Cl();fi();ny();oy();V();uy();dy();Ts()});var vi=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.fetchRetry=void 0;var oI=N();async function sI(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let o=await i;if(o.status<500&&o.status!==429)return o;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:o.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new oI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(sI,"fetchRetry");Ps.fetchRetry=sI});var pn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var py=(Is(),no(Ss)),aI=N(),cI=vi();async function uI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new py.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(uI,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=uI;async function lI(e,t,r){return Zl(e,{token:t,returnSecureToken:!0},r)}s(lI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=lI;async function dI(e,t,r){return Zl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(dI,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=dI;async function Zl(e,t,r){let n=await(0,cI.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let o;try{let a=await n.text(),c=JSON.parse(a);o={cause:c.error??c}}catch{}throw new aI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(Zl,"fetchToken");Ze.fetchToken=Zl;var Yl=class e{static{s(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,py.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=Yl});var Rs=g(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var pI=N(),hI=ve(),Xl=W(),ed=pn(),fI=Ut(),hy=_t(),td=class extends fI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new As(this.options)}};Ht.GoogleCloudLoggingPlugin=td;var mI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var As=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Xl.Environment.instance.loggingEnvironmentType,this.#o=Xl.Environment.instance.loggingEnvironmentStage,this.#n=Xl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await ed.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new pI.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,hy.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ht.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(o.labels.rayId=t.rayId);let a=(0,hy.extractBestMessage)(n.allMessages);o.jsonPayload={...n,message:a},this.batcher.enqueue(o),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await ed.GcpServiceAccount.init(this.#e));let r=await(0,ed.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(mI,{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 hI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=As});var rd=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.gcpLogFormat=hn.GCP_LOG_FORMAT=void 0;var fy=_t(),yI=Rs();hn.GCP_LOG_FORMAT="gcp";function gI(e){let t={allMessages:(0,fy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,fy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:yI.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}s(gI,"gcpLogFormat");hn.gcpLogFormat=gI});var yy=g(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.ConsoleTransport=void 0;var my=rd(),nd=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===my.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,my.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Os.ConsoleTransport=nd});var ud=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.DataDogTransport=fn.DataDogLoggingPlugin=void 0;var bI=ve(),id=W(),_I=Ut(),gy=_t(),cd=class extends _I.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ns(this.options)}};fn.DataDogLoggingPlugin=cd;var od="__ddtags",sd="__ddattr",ad=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),EI=s(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"),Ns=class{static{s(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=id.Environment.instance.loggingEnvironmentType,this.#i=id.Environment.instance.loggingEnvironmentStage,this.#r=id.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[od];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[od]!==void 0);a>-1&&(Object.assign(n,o[a][od]),o.splice(a,1));let c={},u=r.custom[sd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[sd]!==void 0);l>-1&&(Object.assign(c,o[l][sd]),o.splice(l,1));let d=(0,gy.makeErrorsSerializable)(o),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,gy.extractBestMessage)(d),service:t.loggingId,ddtags:EI(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 bI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};fn.DataDogTransport=Ns});var _y=g(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.ProcessTransport=void 0;var by=rd(),ld=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===by.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,by.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};xs.ProcessTransport=ld});var wy=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.RemoteLogTransport=void 0;var wI=ve(),Ey=W(),vI=_t(),TI=s(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let o;if(n===!0?o=i.filter(a=>a.level==="error"):o=i,o.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:o.map(a=>({...a,messages:(0,vI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Ey.Environment.instance.systemUserAgent,"zp-dn":Ey.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Cs,dd=class{static{s(this,"RemoteLogTransport")}constructor(t){Cs||(Cs=new wI.BatchDispatch("remote-log-transport",1,TI(t)))}log(t,r){Cs.enqueue(t),r.waitUntil(Cs.waitUntilFlushed())}};Ls.RemoteLogTransport=dd});var vy=g(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.unifiedFormatter=Dr.SeverityNumberOpenTelemetryMap=void 0;Dr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var SI=s((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Dr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Dr.unifiedFormatter=SI});var Sy=g(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.UnifiedLogTransport=void 0;var II=ve(),Ty=W(),PI=vy(),AI=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,PI.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(o)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Ty.Environment.instance.systemUserAgent,"zp-dn":Ty.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Ds,pd=class{static{s(this,"UnifiedLogTransport")}constructor(t){Ds||(Ds=new II.BatchDispatch("unified-log-transport",1,AI(t)))}async log(t,r){Ds.enqueue(t),r.waitUntil(Ds.waitUntilFlushed())}};Us.UnifiedLogTransport=pd});var xy=g(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.LogInitializer=void 0;var RI=Sr(),OI=yt(),Iy=Zu(),Py=W(),Ay=Of(),NI=Ut(),xI=Nf(),Ry=xf(),Oy=yy(),CI=ud(),LI=Rs(),Ny=_y(),DI=wy(),UI=Sy(),hd=(0,RI.debug)("zuplo:logging"),fd=class e{static{s(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(Py.Environment.instance,t),n=await e.setupUserCoreLogger(Py.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;hd("Gateway.setupSystemCoreLogger");let i=[],o=r.getService(Iy.SYSTEM_LOGGER);return o?i.push(new Ny.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&i.push(new Oy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new UI.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 Ay.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){hd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:o}=t,a=r.getService(Iy.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new Ny.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new Oy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new DI.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 LI.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 CI.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return OI.plugins.forEach(c=>{c instanceof NI.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Ay.CoreLogger(t.userLogLevel,"user",t.loggingId,o.BUILD_ID,n)}createRequestLoggers(t,r,n,i,o){hd("Gateway.createRequestLoggers");let a=new xI.LoggingContext(n,i,o),c=new Ry.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Ry.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Ms.LogInitializer=fd});var yd=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.UserRouteConfiguration=void 0;var md=class{static{s(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};ks.UserRouteConfiguration=md});var bd=g(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Router=Tt.RouterError=Tt.LookupResult=Tt.RouterEntry=void 0;var Cy=N(),MI=ot(),kI=yd(),Hs=class{static{s(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Tt.RouterEntry=Hs;var Ti=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Tt.LookupResult=Ti;var Fs=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};Tt.RouterError=Fs;var gd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof kI.UserRouteConfiguration||t instanceof MI.SystemRouteConfiguration))throw new Cy.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(o=>o.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let o=new URLPattern({pathname:i}),a=new Hs(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new Fs(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new Cy.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let o=n[i],c=o.urlPattern.exec({pathname:r});if(c!==null)return new Ti(o.config,o.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new Ti(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Tt.Router=gd});var mn=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.Gateway=void 0;var HI=Sr(),Ly=nf(),Dy=pf(),FI=hf(),Uy=ff(),My=bf(),Ft=ri(),qs=Ir(),ky=Rf(),It=N(),Si=yt(),qI=xy(),$I=Lt(),jI=ie(),VI=Qu(),GI=Qt(),BI=zr(),KI=ke(),JI=bd(),_d=ot(),Hy=yd(),zI=Be(),WI=Uo(),Fy=W(),qy=Nr(),QI=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],St=(0,HI.debug)("zuplo:runtime"),YI=s(e=>{let t=e.findIndex(r=>r.name===_d.systemNoVersion.name);return t>-1?[...e.splice(t),_d.systemNoVersion]:[...e,_d.systemNoVersion]},"setupSystemNoVersion"),Ed=class e{static{s(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,St("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,o){if(St("Gateway.initialize"),!e.#e){await(0,Si.initializeRuntime)(o);let a=await qI.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,WI.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){St("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new It.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[BI.policyProcessor,VI.corsProcessor,GI.metricsProcessor];#i;setupRoutes=()=>{St("Gateway.setupRoutes");let t=this.routeData,r=YI(t.versions),n=new JI.Router(r);if(t.routes.length===0)return(0,Ly.registerBuildRoute)(n,this),(0,My.registerPingRoute)(n,this),(0,Dy.registerCorsRoute)(n,this),(0,FI.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,ky.registerDevPortalLegacyRedirectRoute)(n,this),(0,ky.registerDevPortalV3Route)(n,this)),(0,Ly.registerBuildRoute)(n,this),(0,My.registerPingRoute)(n,this),(0,Dy.registerCorsRoute)(n,this);for(let o of Si.plugins)o instanceof Si.SystemRuntimePlugin&&o.registerRoutes(n,this);return t.routes.forEach(o=>{let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new It.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new $I.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Hy.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,Uy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new It.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return St("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){St("Gateway.internalErrorResponse");let i={};if(Fy.Environment.instance.isDeno){if(n instanceof It.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,qy.serializeError)(n.cause);"stack"in o&&(o.stack=(0,qy.cleanStack)(o.stack)),i={cause:o}}}return jI.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ft.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Fy.Environment.instance.isDeno&&Ft.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ft.REQUEST_ID_HEADER)??t.headers.get(Ft.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ft.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Ft.REQUEST_ID_HEADER,n),t=new Request(t,{headers:T})}if(["GET","HEAD"].includes(t.method)&&t.body){let T=new Headers(t.headers);T.set(Ft.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let o={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,o,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new It.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new qs.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new KI.ZuploRequest(m,{params:d.params}),y=new qs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),E=qs.ZuploContextExtensions.initialize(y,h);if(d.routeConfiguration===Uy.notFoundRouteConfiguration&&Si.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);E.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof Hy.UserRouteConfiguration)}try{if(zI.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,Si.invokeOnRequestExtensions)(h,y);if(j instanceof Response)return j;{let L=qs.ZuploContextExtensions.getContextExtensions(y);h=j,L.latestRequest=h}}[...QI,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;ZI(S,d,t),St("Gateway.handleRequest - call user handler");let k=await S(h,y);if(St("Gateway.handleRequest - user handler"),!(k instanceof Response))throw new It.RuntimeError(`Invalid Response type from the request handler: ${typeof k}`);if(k.bodyUsed)throw new It.RuntimeError("The response object has already been used. Return a new response instead.");if(k.headers.get(Ft.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(Ft.REQUEST_ID_HEADER,n),new Response(k.body,{status:k.status,statusText:k.statusText,headers:j,cf:k.cf})}else return k}catch(T){return St("Gateway - error executing handler",T),T instanceof It.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,y,T)}}};$s.Gateway=Ed;function ZI(e,t,r){if(St("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new It.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new It.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(ZI,"checkHandler")});var $y=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.invokeInboundPolicy=void 0;var XI=N(),eP=mn(),tP=zr(),rP=s(async(e,t,r)=>{let n=eP.Gateway.instance.routeData.policies,i=(0,tP.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new XI.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");js.invokeInboundPolicy=rP});var Ir=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=ri(),nP=N(),iP=$y(),wd=class{static{s(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=wd;var vd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=vd;var Td=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Td;var Ii=class e{static{s(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new nP.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let o of this.#r)i=await o(t,r,n);return i}};Xe.ZuploContextExtensions=Ii;var Sd=class extends EventTarget{static{s(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:o,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=o,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,iP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ii.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ii.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=s(o=>{try{typeof r=="function"?r(o):r.handleEvent(o)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=Sd});var Gs=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.ContextData=void 0;var Id=class e{static{s(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};Vs.ContextData=Id});var yn=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var oP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function jy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!oP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(jy,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=jy;function Vy(e){return!!e.startsWith("ZUPLO_")}s(Vy,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=Vy;var sP=new Proxy({},{get(e,t){if(jy(String(t))&&!Vy(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=sP});var Pd=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.externalServiceHandler=gn.externalServiceTunnelConfig=void 0;var aP=Sr(),Ur=N(),cP=Ad(),Pi=W(),ut=(0,aP.debug)("zuplo:runtime:external-service");function By(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Pi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(By,"getServiceAuth");async function uP(e){let t=By();if(!t)throw ut("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new Ur.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let o;if(t.customServiceMapping&&t.customServiceMapping[n])o=`https://${t.customServiceMapping[n]}`;else if(Pi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=Pi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await Ky(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(uP,"externalServiceTunnelConfig");gn.externalServiceTunnelConfig=uP;async function lP(e,t){let r=By();if(r)if(ut(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,o=t??{},a=new Headers(o.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),o.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(Pi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=Pi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Ky(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`Calling external service: ${u.toString()}`);let l=await(0,cP.originalFetch)(u.toString(),o);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Ur.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new Ur.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.")}s(lP,"externalServiceHandler");gn.externalServiceHandler=lP;async function Ky(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=dP(n);ut(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await Gy(`${o}-${i}`),l=await Gy(`${o}-${a}-${c}`);return`${u}.${l}`}s(Ky,"hashServiceName");async function Gy(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("").slice(0,-1)}s(Gy,"hashSegment");function dP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(dP,"sanitizeEnvironmentType")});var Ad=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.originalFetch=void 0;var pP=Pd(),Jy=new Map;Jy.set("service:",pP.externalServiceHandler);bn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=hP(t);if(typeof e=="string"){let n=new URL(e),i=Jy.get(n.protocol);return i?i(e,r):(0,bn.originalFetch)(e,r)}else return(0,bn.originalFetch)(e,r)};var hP=s(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var Qy=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.Handler=_n.purgeGatewayCache=void 0;var fP=N(),Wy=mn(),zy=W(),mP=s(()=>{Wy.Gateway.purgeGatewayCache()},"purgeGatewayCache");_n.purgeGatewayCache=mP;var Rd=class{static{s(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{zy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Wy.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let o="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof fP.ConfigurationError&&(o=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:o,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:zy.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};_n.Handler=Rd});var eg=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function yP(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",o=r+1;o<e.length;){var a=e.charCodeAt(o);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[o++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=o;continue}if(n==="("){var c=1,u="",o=r+1;if(e[o]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(o));for(;o<e.length;){if(e[o]==="\\"){u+=e[o++]+e[o++];continue}if(e[o]===")"){if(c--,c===0){o++;break}}else if(e[o]==="("&&(c++,e[o+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(o));u+=e[o++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=o;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}s(yP,"lexer");function Od(e,t){t===void 0&&(t={});for(var r=yP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(En(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=s(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=s(function(ne){var me=d(ne);if(me!==void 0)return me;var Ge=r[u],w=Ge.type,H=Ge.index;throw new TypeError("Unexpected ".concat(w," at ").concat(H,", expected ").concat(ne))},"mustConsume"),m=s(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),y=d("NAME"),E=d("PATTERN");if(y||E){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:E||o,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=m(),j=d("NAME")||"",L=d("PATTERN")||"",re=m();p("CLOSE"),a.push({name:j||(L?c++:""),pattern:j&&!L?o:L,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}s(Od,"parse");Re.parse=Od;function gP(e,t){return Yy(Od(e,t),t)}s(gP,"compile");Re.compile=gP;function Yy(e,t){t===void 0&&(t={});var r=Nd(t),n=t.encode,i=n===void 0?function(u){return u}:n,o=t.validate,a=o===void 0?!0:o,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var E=0;E<m.length;E++){var T=i(m[E],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var T=i(String(m),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}s(Yy,"tokensToFunction");Re.tokensToFunction=Yy;function bP(e,t){var r=[],n=xd(e,r,t);return Zy(n,r,t)}s(bP,"match");Re.match=bP;function Zy(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(o){return o}:n;return function(o){var a=e.exec(o);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=s(function(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(y){return i(y,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(Zy,"regexpToFunction");Re.regexpToFunction=Zy;function En(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(En,"escapeString");function Nd(e){return e&&e.sensitive?"":"i"}s(Nd,"flags");function _P(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}s(_P,"regexpToRegexp");function EP(e,t,r){var n=e.map(function(i){return xd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Nd(r))}s(EP,"arrayToRegexp");function wP(e,t,r){return Xy(Od(e,r),t,r)}s(wP,"stringToRegexp");function Xy(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,o=r.start,a=o===void 0?!0:o,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,y=h===void 0?"":h,E="[".concat(En(y),"]|$"),T="[".concat(En(m),"]"),S=a?"^":"",k=0,j=e;k<j.length;k++){var L=j[k];if(typeof L=="string")S+=En(d(L));else{var re=En(d(L.prefix)),ne=En(d(L.suffix));if(L.pattern)if(t&&t.push(L),re||ne)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(L.pattern,")(?:").concat(ne).concat(re,"(?:").concat(L.pattern,"))*)").concat(ne,")").concat(me)}else S+="(?:".concat(re,"(").concat(L.pattern,")").concat(ne,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?S+="((?:".concat(L.pattern,")").concat(L.modifier,")"):S+="(".concat(L.pattern,")").concat(L.modifier);else S+="(?:".concat(re).concat(ne,")").concat(L.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(E,")"):"$";else{var Ge=e[e.length-1],w=typeof Ge=="string"?T.indexOf(Ge[Ge.length-1])>-1:Ge===void 0;i||(S+="(?:".concat(T,"(?=").concat(E,"))?")),w||(S+="(?=".concat(T,"|").concat(E,")"))}return new RegExp(S,Nd(r))}s(Xy,"tokensToRegexp");Re.tokensToRegexp=Xy;function xd(e,t,r){return e instanceof RegExp?_P(e,t):Array.isArray(e)?EP(e,t,r):wP(e,t,r)}s(xd,"pathToRegexp");Re.pathToRegexp=xd});var Ud=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.AwsV4Signer=wn.AwsClient=void 0;var vP=Sr(),ig=N(),TP=(0,vP.debug)("zuplo:runtime"),Ld=new TextEncoder,tg={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},SP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Dd=class{static{s(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:o,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=o,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Bs(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){TP("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:o}=await this.sign(t,r),a=fetch(i,o);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new ig.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};wn.AwsClient=Dd;var Bs=class{static{s(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:o,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:h,allHeaders:y,singleEncode:E}){if(r==null)throw new TypeError("url is a required option");if(o==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=o,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=IP(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let 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=>y||!SP.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"&&!
|
|
59
|
+
-----END ${t}-----`},"default")});function lm(e){let t=[],r=0;for(;r<e.length;){let n=ym(e.subarray(r));t.push(n),r+=n.byteLength}return t}function ym(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let o=t+n+2;return{byteLength:o,contents:e.subarray(t,t+n),raw:e.subarray(0,o)}}else{let o=e[t]&127;t++,n=0;for(let a=0;a<o;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function $S(e){let t=lm(lm(ym(e).contents)[0].contents);return Yo(t[t[0].raw[0]===160?6:5].raw)}function jS(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=dl(t);return Il($S(r),"PUBLIC KEY")}var dm,pm,hm,sr,um,fm,mm,Pl,gm,as=I(()=>{Te();ct();Ie();cm();V();ut();dm=s(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(r,...Q));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return Il(Yo(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),pm=s(e=>dm("public","spki",e),"toSPKI"),hm=s(e=>dm("private","pkcs8",e),"toPKCS8"),sr=s((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((o,a)=>o===t[a])||sr(e,t,n+1)},"findOid"),um=s(e=>{switch(!0){case sr(e,[42,134,72,206,61,3,1,7]):return"P-256";case sr(e,[43,129,4,0,34]):return"P-384";case sr(e,[43,129,4,0,35]):return"P-521";case sr(e,[43,101,110]):return"X25519";case sr(e,[43,101,111]):return"X448";case sr(e,[43,101,112]):return"Ed25519";case sr(e,[43,101,113]):return"Ed448";default:throw new k("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),fm=s(async(e,t,r,n,i)=>{var o;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=um(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:um(u)},c=l?["verify"]:["sign"];break;default:throw new k('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(o=i?.extractable)!==null&&o!==void 0?o:!1,c)},"genericImport"),mm=s((e,t,r)=>fm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Pl=s((e,t,r)=>fm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(lm,"getElement");s(ym,"parseElement");s($S,"spkiFromX509");s(jS,"getSPKI");gm=s((e,t,r)=>{let n;try{n=jS(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Pl(n,t,r)},"fromX509")});function VS(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new k(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new k('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var GS,Al,bm=I(()=>{Te();V();Ie();s(VS,"subtleMapping");GS=s(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=VS(e),o=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return D.subtle.importKey("raw",re(e.k),...o);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...o)},"parse"),Al=GS});async function _m(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Pl(e,t,r)}async function Em(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return gm(e,t,r)}async function wm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return mm(e,t,r)}async function ar(e,t,r){var n;if(!Y(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?Al({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(e.k);case"RSA":if(e.oth!==void 0)throw new k('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Al({...e,alg:t});default:throw new k('Unsupported "kty" (Key Type) Parameter value')}}var mi=I(()=>{Ie();as();bm();V();$e();s(_m,"importSPKI");s(Em,"importX509");s(wm,"importPKCS8");s(ar,"importJWK")});var BS,KS,JS,cr,yi=I(()=>{ct();ut();BS=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!gl(t))throw new TypeError(yl(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),KS=s((e,t,r)=>{if(!gl(t))throw new TypeError(yl(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"),JS=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?BS(e,t):KS(e,t,r)},"checkKeyType"),cr=JS});async function zS(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(r,"Uint8Array"));let o=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(o>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,zo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function WS(e,t,r,n,i){let o;r instanceof Uint8Array?o=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(r,e,"encrypt"),o=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},o,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var QS,gi,Rl=I(()=>{ge();fl();ml();Te();or();ct();V();ut();s(zS,"cbcEncrypt");s(WS,"gcmEncrypt");QS=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(es(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(-3),10)),zS(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Xr(r,parseInt(e.slice(1,4),10)),WS(e,t,r,n,i);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),gi=QS});async function vm(e,t,r,n){let i=e.slice(0,7);n||(n=Zo(i));let{ciphertext:o,tag:a}=await gi(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function Tm(e,t,r,n,i){let o=e.slice(0,7);return rs(o,t,r,n,i,new Uint8Array(0))}var Ol=I(()=>{Rl();bl();Xo();Ie();s(vm,"wrap");s(Tm,"unwrap")});async function YS(e,t,r,n,i){switch(cr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new A("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!os(t))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new A('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await is(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?hi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new A("JWE Encrypted Key missing");return pi(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new A("JWE Encrypted Key missing");return am(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new A('JOSE Header "p2c" (PBES2 Count) missing or invalid');let o=i?.maxPBES2Count||1e4;if(n.p2c>o)throw new A('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new A('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return im(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new A("JWE Encrypted Key missing");return pi(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new A("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new A('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new A('JOSE Header "tag" (Authentication Tag) missing or invalid');let o=re(n.iv),a=re(n.tag);return Tm(e,t,r,o,a)}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Sm,Im=I(()=>{ns();wl();Tl();Sl();Ie();V();fi();mi();yi();$e();Ol();s(YS,"decryptKeyManagement");Sm=YS});function ZS(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let o;r!==void 0?o=new Map([...Object.entries(r),...t.entries()]):o=t;for(let a of n.crit){if(!o.has(a))throw new k(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(o.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var vt,nn=I(()=>{V();s(ZS,"validateCrit");vt=ZS});var XS,bi,Nl=I(()=>{XS=s((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),bi=XS});async function on(e,t,r){var n;if(!Y(e))throw new A("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new A("JOSE Header missing");if(typeof e.iv!="string")throw new A("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new A("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new A("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new A("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new A("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new A("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let j=re(e.protected);i=JSON.parse(ue.decode(j))}catch{throw new A("JWE Protected Header is invalid")}if(!Et(i,e.header,e.unprotected))throw new A("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let o={...i,...e.header,...e.unprotected};if(vt(A,new Map,r?.crit,i,o),o.zip!==void 0){if(!i||!i.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(o.zip!=="DEF")throw new k('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=o;if(typeof a!="string"||!a)throw new A("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new A("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&bi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&bi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new tr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let f;try{f=await Sm(a,t,d,o,r)}catch(j){if(j instanceof TypeError||j instanceof A||j instanceof k)throw j;f=wt(c)}let h=re(e.iv),y=re(e.tag),E=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(E,Z.encode("."),Z.encode(e.aad)):T=E;let S=await rs(c,f,re(e.ciphertext),h,y,T);o.zip==="DEF"&&(S=await(r?.inflateRaw||Wf)(S));let M={plaintext:S};return e.protected!==void 0&&(M.protectedHeader=i),e.aad!==void 0&&(M.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(M.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(M.unprotectedHeader=e.header),p?{...M,key:t}:M}var cs=I(()=>{Ie();bl();_l();V();en();$e();Im();ge();fi();nn();Nl();s(on,"flattenedDecrypt")});async function us(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new A("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:o,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new A("Invalid Compact JWE");let l=await on({ciphertext:a,iv:o||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var xl=I(()=>{cs();V();ge();s(us,"compactDecrypt")});async function Pm(e,t,r){if(!Y(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new A("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new A("JWE Recipients has no members");for(let n of e.recipients)try{return await on({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new kt}var Am=I(()=>{cs();V();$e();s(Pm,"generalDecrypt")});var eI,Rm,Om=I(()=>{Te();ct();Ie();ut();eI=s(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(oe(e,...Q,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...o}=await D.subtle.exportKey("jwk",e);return o},"keyToJWK"),Rm=eI});async function Nm(e){return pm(e)}async function xm(e){return hm(e)}async function ls(e){return Rm(e)}var Cl=I(()=>{as();as();Om();s(Nm,"exportSPKI");s(xm,"exportPKCS8");s(ls,"exportJWK")});async function tI(e,t,r,n,i={}){let o,a,c;switch(cr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!os(r))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await Xf(r)).privateKey);let{x:p,y:f,crv:h,kty:y}=await ls(d),E=await is(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?hi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:y}},y==="EC"&&(a.epk.y=f),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=E;break}c=n||wt(t);let T=e.slice(-6);o=await di(T,E,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||wt(t),o=await sm(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||wt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await nm(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||wt(t),o=await di(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||wt(t);let{iv:u}=i;({encryptedKey:o,...a}=await vm(e,r,c,u));break}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:o,parameters:a}}var ds,Ll=I(()=>{ns();wl();Tl();Sl();Ie();fi();V();Cl();yi();Ol();s(tI,"encryptKeyManagement");ds=tI});var Dl,Mt,ps=I(()=>{Ie();Rl();_l();Xo();Ll();V();en();ge();nn();Dl=Symbol(),Mt=class{static{s(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new A("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Et(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(vt(A,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new k('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:o}=n;if(typeof i!="string"||!i)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof o!="string"||!o)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let y;({cek:c,encryptedKey:a,parameters:y}=await ds(i,o,t,this._cek,this._keyManagementParameters)),y&&(r&&Dl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=Zo(o));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Se(l,Z.encode("."),Z.encode(d))):u=l;let p,f;if(n.zip==="DEF"){let y=await(r?.deflateRaw||Qf)(this._plaintext);({ciphertext:p,tag:f}=await gi(o,y,c,this._iv,u))}else({ciphertext:p,tag:f}=await gi(o,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(f)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Ul,hs,Cm=I(()=>{ps();V();fi();en();Ll();Ie();nn();Ul=class{static{s(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},hs=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Ul(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new A("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!Et(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new A('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!o)o=d.enc;else if(o!==d.enc)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(vt(A,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=wt(o),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let f={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let E=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:f}).encrypt(l.key,{...l.options,...t,[Dl]:!0});c.ciphertext=E.ciphertext,c.iv=E.iv,c.tag=E.tag,E.aad&&(c.aad=E.aad),E.protected&&(c.protected=E.protected),E.unprotected&&(c.unprotected=E.unprotected),d.encrypted_key=E.encrypted_key,E.header&&(d.header=E.header);continue}let{encryptedKey:h,parameters:y}=await ds(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),o,l.key,a,{p2c:f});d.encrypted_key=X(h),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function _i(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var kl=I(()=>{V();s(_i,"subtleDsa")});function Ei(e,t,r){if(ae(t))return Jf(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 Ml=I(()=>{Te();or();ct();ut();s(Ei,"getCryptoKey")});var rI,Lm,Dm=I(()=>{kl();Te();ss();Ml();rI=s(async(e,t,r,n)=>{let i=await Ei(e,t,"verify");Lr(e,i);let o=_i(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),Lm=rI});async function sn(e,t,r){var n;if(!Y(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=re(e.protected);i=JSON.parse(ue.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!Et(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=vt(z,new Map([["b64",!0]]),r?.crit,i,o),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=o;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&bi("algorithms",r.algorithms);if(l&&!l.has(u))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),cr(u,t,"verify");let p=Se(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),f=re(e.signature);if(!await Lm(u,t,f,p))throw new Cr;let y;c?y=re(e.payload):typeof e.payload=="string"?y=Z.encode(e.payload):y=e.payload;let E={payload:y};return e.protected!==void 0&&(E.protectedHeader=i),e.header!==void 0&&(E.unprotectedHeader=e.header),d?{...E,key:t}:E}var fs=I(()=>{Ie();Dm();V();ge();en();$e();yi();nn();Nl();s(sn,"flattenedVerify")});async function ms(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:o,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await sn({payload:i,protected:n,signature:o},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var Hl=I(()=>{fs();V();ge();s(ms,"compactVerify")});async function Um(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 sn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Cr}var km=I(()=>{fs();V();$e();s(Um,"generalVerify")});var an,Fl=I(()=>{an=s(e=>Math.floor(e.getTime()/1e3),"default")});var nI,cn,ql=I(()=>{nI=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,cn=s(e=>{let t=nI.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 Mm,iI,un,ys=I(()=>{V();ge();Fl();ql();$e();Mm=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),iI=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),un=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Mm(e.typ)!==Mm(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Y(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:o=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&o.push("iat"),u!==void 0&&o.push("aud"),c!==void 0&&o.push("sub"),a!==void 0&&o.push("iss");for(let h of new Set(o.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!iI(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=cn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,f=an(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>f+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=f-d)throw new Zr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=f-i.iat,y=typeof l=="number"?l:cn(l);if(h-d>y)throw new Zr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Hm(e,t,r){var n;let i=await ms(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:un(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Fm=I(()=>{Hl();ys();V();s(Hm,"jwtVerify")});async function qm(e,t,r){let n=await us(e,t,r),i=un(n.protectedHeader,n.plaintext,r),{protectedHeader:o}=n;if(o.iss!==void 0&&o.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(o.sub!==void 0&&o.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(o.aud!==void 0&&JSON.stringify(o.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:o};return typeof t=="function"?{...a,key:n.key}:a}var $m=I(()=>{xl();ys();V();s(qm,"jwtDecrypt")});var ln,$l=I(()=>{ps();ln=class{static{s(this,"CompactEncrypt")}constructor(t){this._flattened=new Mt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var oI,jm,Vm=I(()=>{kl();Te();ss();Ml();oI=s(async(e,t,r)=>{let n=await Ei(e,t,"sign");Lr(e,n);let i=await D.subtle.sign(_i(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),jm=oI});var ur,gs=I(()=>{Ie();Vm();en();V();ge();yi();nn();ur=class{static{s(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Et(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=vt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Se(u,Z.encode("."),c),d=await jm(a,t,l),p={signature:X(d),payload:""};return o&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var dn,jl=I(()=>{gs();dn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new ur(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var Vl,bs,Gm=I(()=>{gs();V();Vl=class{static{s(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},bs=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Vl(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new ur(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,_s=I(()=>{Fl();$e();ql();lr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Y(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:an(new Date)+cn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:an(new Date)+cn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:an(new Date)}:this._payload={...this._payload,iat:t},this}}});var Es,Bm=I(()=>{jl();V();ge();_s();Es=class extends lr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new dn(Z.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var ws,Km=I(()=>{$l();ge();_s();ws=class extends lr{static{s(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new ln(Z.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function Gl(e,t){if(!Y(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":dr(e.crv,'"crv" (Curve) Parameter'),dr(e.x,'"x" (X Coordinate) Parameter'),dr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":dr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),dr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":dr(e.e,'"e" (Exponent) Parameter'),dr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":dr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new k('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await Ko(t,n))}async function Jm(e,t){t??(t="sha256");let r=await Gl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,zm=I(()=>{ul();Ie();V();ge();$e();dr=s((e,t)=>{if(typeof e!="string"||!e)throw new ai(`${t} missing or invalid`)},"check");s(Gl,"calculateJwkThumbprint");s(Jm,"calculateJwkThumbprintUri")});async function Wm(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ar({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var Qm=I(()=>{mi();$e();V();s(Wm,"EmbeddedJWK")});function sI(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new k('Unsupported "alg" value for a JSON Web Key Set')}}function Bl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(aI)}function aI(e){return Y(e)}function cI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Ym(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ar({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new rr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Zm(e){let t=new wi(e);return async function(r,n){return t.getKey(r,n)}}var wi,Kl=I(()=>{mi();V();$e();s(sI,"getKtyFromAlg");s(Bl,"isJWKSLike");s(aI,"isJWKLike");s(cI,"clone");wi=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Bl(t))throw new rr("JSON Web Key Set malformed");this._jwks=cI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=sI(n),a=this._jwks.keys.filter(l=>{let d=o===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new xr;if(u!==1){let l=new ci,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Ym(d,p,n)}catch{continue}},l}return Ym(this._cached,c,n)}};s(Ym,"importWithAlgCache");s(Zm,"createLocalJWKSet")});var uI,Xm,ey=I(()=>{V();uI=s(async(e,t,r)=>{let n,i,o=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{o=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw o?new ui:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),Xm=uI});function lI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function ty(e,t){let r=new Jl(e,t);return async function(n,i){return r.getKey(n,i)}}var Jl,ry=I(()=>{ey();V();Kl();s(lI,"isCloudflareWorkers");Jl=class extends wi{static{s(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof xr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&lI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Xm(this._url,this._timeoutDuration,this._options).then(t=>{if(!Bl(t))throw new rr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};s(ty,"createRemoteJWKSet")});var vs,ny=I(()=>{Ie();ge();V();ys();_s();vs=class extends lr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:un(c,re(i),r),header:c}}}});var zl={};ro(zl,{decode:()=>vi,encode:()=>dI});var dI,vi,Ts=I(()=>{Ie();dI=X,vi=re});function iy(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(vi(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var oy=I(()=>{Ts();ge();$e();s(iy,"decodeProtectedHeader")});function sy(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=vi(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Y(i))throw new le("Invalid JWT Claims Set");return i}var ay=I(()=>{Ts();ge();$e();V();s(sy,"decodeJwt")});async function cy(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),nr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},o=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},o=["encrypt","decrypt"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,o)}function Wl(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new k("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function uy(e,t){var r,n,i;let o,a;switch(e){case"PS256":case"PS384":case"PS512":o={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Wl(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":o={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Wl(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":o={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Wl(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":o={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":o={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":o={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":o={name:c};break;default:throw new k("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{o={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":o={name:u};break;default:throw new k("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(o,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Ql=I(()=>{Te();V();li();s(cy,"generateSecret");s(Wl,"getModulusLengthOption");s(uy,"generateKeyPair")});async function ly(e,t){return uy(e,t)}var dy=I(()=>{Ql();s(ly,"generateKeyPair")});async function py(e,t){return cy(e,t)}var hy=I(()=>{Ql();s(py,"generateSecret")});var Ss={};ro(Ss,{CompactEncrypt:()=>ln,CompactSign:()=>dn,EmbeddedJWK:()=>Wm,EncryptJWT:()=>ws,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>ur,GeneralEncrypt:()=>hs,GeneralSign:()=>bs,SignJWT:()=>Es,UnsecuredJWT:()=>vs,base64url:()=>zl,calculateJwkThumbprint:()=>Gl,calculateJwkThumbprintUri:()=>Jm,compactDecrypt:()=>us,compactVerify:()=>ms,createLocalJWKSet:()=>Zm,createRemoteJWKSet:()=>ty,decodeJwt:()=>sy,decodeProtectedHeader:()=>iy,errors:()=>pl,exportJWK:()=>ls,exportPKCS8:()=>xm,exportSPKI:()=>Nm,flattenedDecrypt:()=>on,flattenedVerify:()=>sn,generalDecrypt:()=>Pm,generalVerify:()=>Um,generateKeyPair:()=>ly,generateSecret:()=>py,importJWK:()=>ar,importPKCS8:()=>wm,importSPKI:()=>_m,importX509:()=>Em,jwtDecrypt:()=>qm,jwtVerify:()=>Hm});var Is=I(()=>{xl();cs();Am();Cm();Hl();fs();km();Fm();$m();$l();ps();jl();gs();Gm();Bm();Km();zm();Qm();Kl();ry();ny();Cl();mi();oy();ay();V();dy();hy();Ts()});var pn=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.fetchRetry=void 0;var pI=O();async function hI(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let o=await i;if(o.status<500&&o.status!==429)return o;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:o.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new pI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(hI,"fetchRetry");Ps.fetchRetry=hI});var hn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var fy=(Is(),no(Ss)),fI=O(),mI=pn();async function yI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new fy.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(yI,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=yI;async function gI(e,t,r){return Zl(e,{token:t,returnSecureToken:!0},r)}s(gI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=gI;async function bI(e,t,r){return Zl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(bI,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=bI;async function Zl(e,t,r){let n=await(0,mI.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let o;try{let a=await n.text(),c=JSON.parse(a);o={cause:c.error??c}}catch{}throw new fI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(Zl,"fetchToken");Ze.fetchToken=Zl;var Yl=class e{static{s(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,fy.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=Yl});var Rs=g(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var _I=O(),EI=ve(),Xl=W(),ed=hn(),wI=Ut(),my=_t(),td=class extends wI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new As(this.options)}};Ht.GoogleCloudLoggingPlugin=td;var vI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var As=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Xl.Environment.instance.loggingEnvironmentType,this.#o=Xl.Environment.instance.loggingEnvironmentStage,this.#n=Xl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await ed.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new _I.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,my.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ht.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(o.labels.rayId=t.rayId);let a=(0,my.extractBestMessage)(n.allMessages);o.jsonPayload={...n,message:a},this.batcher.enqueue(o),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await ed.GcpServiceAccount.init(this.#e));let r=await(0,ed.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(vI,{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 EI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=As});var rd=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.gcpLogFormat=fn.GCP_LOG_FORMAT=void 0;var yy=_t(),TI=Rs();fn.GCP_LOG_FORMAT="gcp";function SI(e){let t={allMessages:(0,yy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,yy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:TI.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}s(SI,"gcpLogFormat");fn.gcpLogFormat=SI});var by=g(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.ConsoleTransport=void 0;var gy=rd(),nd=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===gy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,gy.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Os.ConsoleTransport=nd});var ud=g(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.DataDogTransport=mn.DataDogLoggingPlugin=void 0;var II=ve(),id=W(),PI=Ut(),_y=_t(),cd=class extends PI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ns(this.options)}};mn.DataDogLoggingPlugin=cd;var od="__ddtags",sd="__ddattr",ad=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),AI=s(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"),Ns=class{static{s(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=id.Environment.instance.loggingEnvironmentType,this.#i=id.Environment.instance.loggingEnvironmentStage,this.#r=id.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[od];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[od]!==void 0);a>-1&&(Object.assign(n,o[a][od]),o.splice(a,1));let c={},u=r.custom[sd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[sd]!==void 0);l>-1&&(Object.assign(c,o[l][sd]),o.splice(l,1));let d=(0,_y.makeErrorsSerializable)(o),f={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,_y.extractBestMessage)(d),service:t.loggingId,ddtags:AI(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(f,c),this.batcher.enqueue(f),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new II.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};mn.DataDogTransport=Ns});var wy=g(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.ProcessTransport=void 0;var Ey=rd(),ld=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===Ey.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Ey.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};xs.ProcessTransport=ld});var Ty=g(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.RemoteLogTransport=void 0;var RI=ve(),vy=W(),OI=_t(),NI=s(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let o;if(n===!0?o=i.filter(a=>a.level==="error"):o=i,o.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:o.map(a=>({...a,messages:(0,OI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":vy.Environment.instance.systemUserAgent,"zp-dn":vy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Cs,dd=class{static{s(this,"RemoteLogTransport")}constructor(t){Cs||(Cs=new RI.BatchDispatch("remote-log-transport",1,NI(t)))}log(t,r){Cs.enqueue(t),r.waitUntil(Cs.waitUntilFlushed())}};Ls.RemoteLogTransport=dd});var Sy=g(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.unifiedFormatter=Dr.SeverityNumberOpenTelemetryMap=void 0;Dr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var xI=s((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Dr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Dr.unifiedFormatter=xI});var Py=g(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.UnifiedLogTransport=void 0;var CI=ve(),Iy=W(),LI=Sy(),DI=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,LI.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(o)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Iy.Environment.instance.systemUserAgent,"zp-dn":Iy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Ds,pd=class{static{s(this,"UnifiedLogTransport")}constructor(t){Ds||(Ds=new CI.BatchDispatch("unified-log-transport",1,DI(t)))}async log(t,r){Ds.enqueue(t),r.waitUntil(Ds.waitUntilFlushed())}};Us.UnifiedLogTransport=pd});var Ly=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.LogInitializer=void 0;var UI=Sr(),kI=gt(),Ay=Zu(),Ry=W(),Oy=xf(),MI=Ut(),HI=Cf(),Ny=Lf(),xy=by(),FI=ud(),qI=Rs(),Cy=wy(),$I=Ty(),jI=Py(),hd=(0,UI.debug)("zuplo:logging"),fd=class e{static{s(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(Ry.Environment.instance,t),n=await e.setupUserCoreLogger(Ry.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;hd("Gateway.setupSystemCoreLogger");let i=[],o=r.getService(Ay.SYSTEM_LOGGER);return o?i.push(new Cy.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&i.push(new xy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new jI.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 Oy.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){hd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:o}=t,a=r.getService(Ay.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new Cy.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new xy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new $I.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 qI.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 FI.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return kI.plugins.forEach(c=>{c instanceof MI.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Oy.CoreLogger(t.userLogLevel,"user",t.loggingId,o.BUILD_ID,n)}createRequestLoggers(t,r,n,i,o){hd("Gateway.createRequestLoggers");let a=new HI.LoggingContext(n,i,o),c=new Ny.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Ny.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};ks.LogInitializer=fd});var yd=g(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.UserRouteConfiguration=void 0;var md=class{static{s(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ms.UserRouteConfiguration=md});var bd=g(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Router=Tt.RouterError=Tt.LookupResult=Tt.RouterEntry=void 0;var Dy=O(),VI=ot(),GI=yd(),Hs=class{static{s(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Tt.RouterEntry=Hs;var Ti=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Tt.LookupResult=Ti;var Fs=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};Tt.RouterError=Fs;var gd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof GI.UserRouteConfiguration||t instanceof VI.SystemRouteConfiguration))throw new Dy.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(o=>o.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let o=new URLPattern({pathname:i}),a=new Hs(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new Fs(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new Dy.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let o=n[i],c=o.urlPattern.exec({pathname:r});if(c!==null)return new Ti(o.config,o.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new Ti(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Tt.Router=gd});var yn=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.Gateway=void 0;var BI=Sr(),Uy=sf(),ky=ff(),KI=mf(),My=yf(),Hy=Ef(),Ft=ni(),qs=Ir(),Fy=Nf(),It=O(),Si=gt(),JI=Ly(),zI=Lt(),WI=te(),QI=Qu(),YI=Qt(),ZI=zr(),XI=Me(),eP=bd(),_d=ot(),qy=yd(),tP=He(),rP=Uo(),$y=W(),jy=Nr(),nP=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],St=(0,BI.debug)("zuplo:runtime"),iP=s(e=>{let t=e.findIndex(r=>r.name===_d.systemNoVersion.name);return t>-1?[...e.splice(t),_d.systemNoVersion]:[...e,_d.systemNoVersion]},"setupSystemNoVersion"),Ed=class e{static{s(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,St("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,o){if(St("Gateway.initialize"),!e.#e){await(0,Si.initializeRuntime)(o);let a=await JI.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,rP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){St("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new It.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[ZI.policyProcessor,QI.corsProcessor,YI.metricsProcessor];#i;setupRoutes=()=>{St("Gateway.setupRoutes");let t=this.routeData,r=iP(t.versions),n=new eP.Router(r);if(t.routes.length===0)return(0,Uy.registerBuildRoute)(n,this),(0,Hy.registerPingRoute)(n,this),(0,ky.registerCorsRoute)(n,this),(0,KI.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Fy.registerDevPortalLegacyRedirectRoute)(n,this),(0,Fy.registerDevPortalV3Route)(n,this)),(0,Uy.registerBuildRoute)(n,this),(0,Hy.registerPingRoute)(n,this),(0,ky.registerCorsRoute)(n,this);for(let o of Si.plugins)o instanceof Si.SystemRuntimePlugin&&o.registerRoutes(n,this);return t.routes.forEach(o=>{let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new It.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new zI.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new qy.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,My.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new It.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return St("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){St("Gateway.internalErrorResponse");let i={};if($y.Environment.instance.isDeno){if(n instanceof It.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,jy.serializeError)(n.cause);"stack"in o&&(o.stack=(0,jy.cleanStack)(o.stack)),i={cause:o}}}return WI.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ft.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),$y.Environment.instance.isDeno&&Ft.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ft.REQUEST_ID_HEADER)??t.headers.get(Ft.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ft.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Ft.REQUEST_ID_HEADER,n),t=new Request(t,{headers:T})}if(["GET","HEAD"].includes(t.method)&&t.body){let T=new Headers(t.headers);T.set(Ft.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let o={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,o,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new It.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new qs.HeaderIncomingRequestProperties(t.headers),f=this.#s(t),h=new XI.ZuploRequest(f,{params:d.params}),y=new qs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),E=qs.ZuploContextExtensions.initialize(y,h);if(d.routeConfiguration===My.notFoundRouteConfiguration&&Si.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);E.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof qy.UserRouteConfiguration)}try{if(tP.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,Si.invokeOnRequestExtensions)(h,y);if(j instanceof Response)return j;{let L=qs.ZuploContextExtensions.getContextExtensions(y);h=j,L.latestRequest=h}}[...nP,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;oP(S,d,t),St("Gateway.handleRequest - call user handler");let M=await S(h,y);if(St("Gateway.handleRequest - user handler"),!(M instanceof Response))throw new It.RuntimeError(`Invalid Response type from the request handler: ${typeof M}`);if(M.bodyUsed)throw new It.RuntimeError("The response object has already been used. Return a new response instead.");if(M.headers.get(Ft.REQUEST_ID_HEADER)===null&&!M.webSocket){let j=new Headers(M.headers);return j.set(Ft.REQUEST_ID_HEADER,n),new Response(M.body,{status:M.status,statusText:M.statusText,headers:j,cf:M.cf})}else return M}catch(T){return St("Gateway - error executing handler",T),T instanceof It.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,y,T)}}};$s.Gateway=Ed;function oP(e,t,r){if(St("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new It.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new It.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(oP,"checkHandler")});var Vy=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.invokeInboundPolicy=void 0;var sP=O(),aP=yn(),cP=zr(),uP=s(async(e,t,r)=>{let n=aP.Gateway.instance.routeData.policies,i=(0,cP.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new sP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");js.invokeInboundPolicy=uP});var Ir=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=ni(),lP=O(),dP=Vy(),wd=class{static{s(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=wd;var vd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=vd;var Td=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Td;var Ii=class e{static{s(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new lP.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let o of this.#r)i=await o(t,r,n);return i}};Xe.ZuploContextExtensions=Ii;var Sd=class extends EventTarget{static{s(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:o,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=o,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,dP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ii.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ii.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=s(o=>{try{typeof r=="function"?r(o):r.handleEvent(o)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=Sd});var Gs=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.ContextData=void 0;var Id=class e{static{s(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};Vs.ContextData=Id});var gn=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var pP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Gy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!pP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(Gy,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=Gy;function By(e){return!!e.startsWith("ZUPLO_")}s(By,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=By;var hP=new Proxy({},{get(e,t){if(Gy(String(t))&&!By(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=hP});var Pd=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.externalServiceHandler=bn.externalServiceTunnelConfig=void 0;var fP=Sr(),Ur=O(),mP=Ad(),Pi=W(),lt=(0,fP.debug)("zuplo:runtime:external-service");function Jy(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Pi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(Jy,"getServiceAuth");async function yP(e){let t=Jy();if(!t)throw lt("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw lt("Cannot call external service with Request object"),new Ur.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let o;if(t.customServiceMapping&&t.customServiceMapping[n])o=`https://${t.customServiceMapping[n]}`;else if(Pi.Environment.instance.useSha256ServiceRouting){lt("Using sha256 service routing");let a=Pi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await zy(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw lt("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(yP,"externalServiceTunnelConfig");bn.externalServiceTunnelConfig=yP;async function gP(e,t){let r=Jy();if(r)if(lt(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,o=t??{},a=new Headers(o.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),o.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(Pi.Environment.instance.useSha256ServiceRouting){lt("Using sha256 service routing");let d=Pi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await zy(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw lt("Cannot use sha256 service routing, missing build variables"),new Ur.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);lt(`Calling external service: ${u.toString()}`);let l=await(0,mP.originalFetch)(u.toString(),o);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Ur.RuntimeError("Could not connect to secure tunnel.");return l}else throw lt("Cannot call external service with Request object"),new Ur.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw lt("There is no external service auth configured for this zup."),new Ur.RuntimeError("There are no external services configured for this zup.")}s(gP,"externalServiceHandler");bn.externalServiceHandler=gP;async function zy(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=bP(n);lt(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await Ky(`${o}-${i}`),l=await Ky(`${o}-${a}-${c}`);return`${u}.${l}`}s(zy,"hashServiceName");async function Ky(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("").slice(0,-1)}s(Ky,"hashSegment");function bP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(bP,"sanitizeEnvironmentType")});var Ad=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.originalFetch=void 0;var _P=Pd(),Wy=new Map;Wy.set("service:",_P.externalServiceHandler);_n.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=EP(t);if(typeof e=="string"){let n=new URL(e),i=Wy.get(n.protocol);return i?i(e,r):(0,_n.originalFetch)(e,r)}else return(0,_n.originalFetch)(e,r)};var EP=s(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var Zy=g(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.Handler=En.purgeGatewayCache=void 0;var wP=O(),Yy=yn(),Qy=W(),vP=s(()=>{Yy.Gateway.purgeGatewayCache()},"purgeGatewayCache");En.purgeGatewayCache=vP;var Rd=class{static{s(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Qy.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Yy.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let o="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof wP.ConfigurationError&&(o=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:o,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Qy.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};En.Handler=Rd});var rg=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function TP(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",o=r+1;o<e.length;){var a=e.charCodeAt(o);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[o++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=o;continue}if(n==="("){var c=1,u="",o=r+1;if(e[o]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(o));for(;o<e.length;){if(e[o]==="\\"){u+=e[o++]+e[o++];continue}if(e[o]===")"){if(c--,c===0){o++;break}}else if(e[o]==="("&&(c++,e[o+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(o));u+=e[o++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=o;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}s(TP,"lexer");function Od(e,t){t===void 0&&(t={});for(var r=TP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(wn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=s(function(ie){if(u<r.length&&r[u].type===ie)return r[u++].value},"tryConsume"),p=s(function(ie){var me=d(ie);if(me!==void 0)return me;var Be=r[u],w=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(w," at ").concat(H,", expected ").concat(ie))},"mustConsume"),f=s(function(){for(var ie="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ie+=me;return ie},"consumeText");u<r.length;){var h=d("CHAR"),y=d("NAME"),E=d("PATTERN");if(y||E){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:E||o,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var M=d("OPEN");if(M){var T=f(),j=d("NAME")||"",L=d("PATTERN")||"",ne=f();p("CLOSE"),a.push({name:j||(L?c++:""),pattern:j&&!L?o:L,prefix:T,suffix:ne,modifier:d("MODIFIER")||""});continue}p("END")}return a}s(Od,"parse");Re.parse=Od;function SP(e,t){return Xy(Od(e,t),t)}s(SP,"compile");Re.compile=SP;function Xy(e,t){t===void 0&&(t={});var r=Nd(t),n=t.encode,i=n===void 0?function(u){return u}:n,o=t.validate,a=o===void 0?!0:o,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var f=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(f)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(f.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var E=0;E<f.length;E++){var T=i(f[E],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof f=="string"||typeof f=="number"){var T=i(String(f),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}s(Xy,"tokensToFunction");Re.tokensToFunction=Xy;function IP(e,t){var r=[],n=xd(e,r,t);return eg(n,r,t)}s(IP,"match");Re.match=IP;function eg(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(o){return o}:n;return function(o){var a=e.exec(o);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=s(function(f){if(a[f]===void 0)return"continue";var h=t[f-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[f].split(h.prefix+h.suffix).map(function(y){return i(y,h)}):l[h.name]=i(a[f],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(eg,"regexpToFunction");Re.regexpToFunction=eg;function wn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(wn,"escapeString");function Nd(e){return e&&e.sensitive?"":"i"}s(Nd,"flags");function PP(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}s(PP,"regexpToRegexp");function AP(e,t,r){var n=e.map(function(i){return xd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Nd(r))}s(AP,"arrayToRegexp");function RP(e,t,r){return tg(Od(e,r),t,r)}s(RP,"stringToRegexp");function tg(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,o=r.start,a=o===void 0?!0:o,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,f=p===void 0?"/#?":p,h=r.endsWith,y=h===void 0?"":h,E="[".concat(wn(y),"]|$"),T="[".concat(wn(f),"]"),S=a?"^":"",M=0,j=e;M<j.length;M++){var L=j[M];if(typeof L=="string")S+=wn(d(L));else{var ne=wn(d(L.prefix)),ie=wn(d(L.suffix));if(L.pattern)if(t&&t.push(L),ne||ie)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";S+="(?:".concat(ne,"((?:").concat(L.pattern,")(?:").concat(ie).concat(ne,"(?:").concat(L.pattern,"))*)").concat(ie,")").concat(me)}else S+="(?:".concat(ne,"(").concat(L.pattern,")").concat(ie,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?S+="((?:".concat(L.pattern,")").concat(L.modifier,")"):S+="(".concat(L.pattern,")").concat(L.modifier);else S+="(?:".concat(ne).concat(ie,")").concat(L.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(E,")"):"$";else{var Be=e[e.length-1],w=typeof Be=="string"?T.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(S+="(?:".concat(T,"(?=").concat(E,"))?")),w||(S+="(?=".concat(T,"|").concat(E,")"))}return new RegExp(S,Nd(r))}s(tg,"tokensToRegexp");Re.tokensToRegexp=tg;function xd(e,t,r){return e instanceof RegExp?PP(e,t):Array.isArray(e)?AP(e,t,r):RP(e,t,r)}s(xd,"pathToRegexp");Re.pathToRegexp=xd});var Ud=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.AwsV4Signer=vn.AwsClient=void 0;var OP=Sr(),sg=O(),NP=(0,OP.debug)("zuplo:runtime"),Ld=new TextEncoder,ng={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"},xP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Dd=class{static{s(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:o,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=o,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Bs(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){NP("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:o}=await this.sign(t,r),a=fetch(i,o);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new sg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};vn.AwsClient=Dd;var Bs=class{static{s(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:o,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:f,appendSessionToken:h,allHeaders:y,singleEncode:E}){if(r==null)throw new TypeError("url is a required option");if(o==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=o,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=CP(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=f,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let M=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),M.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&M.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>y||!xP.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"&&!M.has("X-Amz-Expires")&&M.set("X-Amz-Expires","86400"),M.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),M.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),M.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,"/");E||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=og(this.encodedPath);let j=new Set;this.encodedSearch=[...this.url.searchParams].filter(([L])=>{if(!L)return!1;if(this.service==="s3"){if(j.has(L))return!1;j.add(L)}return!0}).map(L=>L.map(ne=>og(encodeURIComponent(ne)))).sort(([L,ne],[ie,me])=>L<ie?-1:L>ie?1:ne<me?-1:ne>me?1:0).map(L=>L.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let t=this.datetime.slice(0,8),r=[this.secretAccessKey,t,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await Ai("AWS4"+this.secretAccessKey,t),o=await Ai(i,this.region),a=await Ai(o,this.service);n=await Ai(a,"aws4_request"),this.cache.set(r,n)}return Cd(await Ai(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Cd(await ig(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 ig.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Cd(await rg(this.body||""))}return t}};wn.AwsV4Signer=Bs;async function Ai(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Ld.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Ld.encode(t))}s(Ai,"hmac");async function rg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Ld.encode(e):e)}s(rg,"hash");function Cd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(Cd,"buf2hex");function ng(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(ng,"encodeRfc3986");function IP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[o,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",o="s3";else if(o==="iot")r.startsWith("iot.")?o="execute-api":r.startsWith("data.jobs.iot.")?o="iot-jobs-data":o=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?o="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(o="autoscaling-plans")}else a==null&&o.startsWith("s3-")?(a=o.slice(3).replace(/^fips-|^external-1/,""),o="s3"):o.endsWith("-fips")?o=o.slice(0,-5):a&&/-\d$/.test(o)&&!/-\d$/.test(a)&&([o,a]=[a,o]);return o in tg?[tg[o],a]:[o,a]}s(IP,"guessServiceRegion")});var og=g(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.convertStringToUtf8Array=Pt.convertUtf8ArrayToString=Pt.base64Encode=Pt.base64Decode=void 0;function PP(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}s(PP,"b64ToUint6");function AP(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,o=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=PP(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)o[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return o}s(AP,"base64Decode");Pt.base64Decode=AP;function Ks(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Ks,"uint6ToB64");function RP(e){let t=2,r="",n=e.length,i=0;for(let o=0;o<n;o++)t=o%3,i|=e[o]<<(16>>>t&24),(t===2||e.length-o===1)&&(r+=String.fromCodePoint(Ks(i>>>18&63),Ks(i>>>12&63),Ks(i>>>6&63),Ks(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(RP,"base64Encode");Pt.base64Encode=RP;function OP(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}s(OP,"convertUtf8ArrayToString");Pt.convertUtf8ArrayToString=OP;function NP(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),o=0,a=0;for(;o<n;)t=e.codePointAt(a),t<128?i[o++]=t:t<2048?(i[o++]=192+(t>>>6),i[o++]=128+(t&63)):t<65536?(i[o++]=224+(t>>>12),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63)):t<2097152?(i[o++]=240+(t>>>18),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):t<67108864?(i[o++]=248+(t>>>24),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):(i[o++]=252+(t>>>30),i[o++]=128+(t>>>24&63),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++),a++;return i}s(NP,"convertStringToUtf8Array");Pt.convertStringToUtf8Array=NP});var sg=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.toCLFDate=void 0;function vn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(vn,"numberToString");function xP(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=vn(Math.floor(r/60)),o=vn(r%60);return`${n}${i}${o}`}s(xP,"getCLFOffset");function CP(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=vn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=vn(e.getHours()),a=vn(e.getMinutes()),c=vn(e.getSeconds()),u=xP(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(CP,"toCLFDate");Js.toCLFDate=CP});var hg=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var LP=Sr(),ag=eg(),Ri=N(),DP=Dt(),UP=Ud(),ug=og(),lg=sg(),cg=(0,LP.debug)("zuplo:runtime"),MP="X-Amzn-Trace-Id",kP="x-amzn-errortype",dg=[],HP=s(async(e,t,r)=>{let n=r;for await(let i of dg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Ri.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(MP)??void 0,this.errorType=r.get(kP)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{dg.push(e)}};async function FP(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:o,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Ri.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ri.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ri.ConfigurationError("region is not set in the handler options");if(!o)throw new Ri.ConfigurationError("functionName is not set in the handler options");let l=new UP.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(cg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await jP(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,y;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?y=$P(e,t):y=await qP(e,t,{useAwsResourcePathStyle:c}),cg("Calling onSendingAwsLambdaEvent hook");let E=await HP(e,t,y);E.body=p,E.isBase64Encoded=m;let T=await l.fetch(d,{body:JSON.stringify(E)});try{return pg(T)}catch(S){if(S instanceof Ke){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return DP.HttpProblems.internalServerError(e,t,void 0,k)}throw S}}s(FP,"awsLambdaHandler");hr.awsLambdaHandler=FP;async function pg(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,o]of Object.entries(t.headers))r.set(i,o)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,ug.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}s(pg,"getResponse");hr.getResponse=pg;async function qP(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let o=e.query,a={};for(let[l,d]of Object.entries(o))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:o,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,lg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:GP(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(qP,"buildEventVersion1");function $P(e,t){let r={};e.headers.forEach((o,a)=>{r[a]=o});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,lg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s($P,"buildEventVersion2");async function jP(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&&VP(t,i)){let o=await e.arrayBuffer();r=(0,ug.base64Encode)(new Uint8Array(o)),n=!0}else r=await e.clone().text();return[r,n]}s(jP,"getBodyResult");function VP(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(VP,"matchesContentType");function GP(e,t=!1){if(!t)return e;let r=(0,ag.parse)(e),n=(0,ag.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(GP,"getResourcePath")});var Sn=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.getHandlerUserLogFunction=Tn.logBadGatewayResponses=void 0;var BP=Be(),KP=W(),JP=[502,503,504];async function zP(e,t){if(JP.includes(e.status)){let r=BP.SystemLogMap.getLogger(t),i=await e.clone().text(),o={};for(let[a,c]of e.headers)o[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:o})}}s(zP,"logBadGatewayResponses");Tn.logBadGatewayResponses=zP;var Md;function WP(e){if(Md===void 0){let r=KP.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Md=r}return e.log[Md]}s(WP,"getHandlerUserLogFunction");Tn.getHandlerUserLogFunction=WP});var mg=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.openApiSpecHandler=void 0;var fg=N(),QP=ie(),kd=W(),YP=Sn();async function ZP(e,t){let r=kd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=kd.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new fg.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=XP(o);if(!a.isValid)throw new fg.ConfigurationError(a.error);let c;kd.Environment.instance.isLocalDevelopment?c=`${n}/${o.substring(1)}`:c=`${n}/${r}${o.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return QP.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,YP.logBadGatewayResponses)(l,t),l}s(ZP,"openApiSpecHandler");zs.openApiSpecHandler=ZP;var XP=s(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var yg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.redirectHandler=void 0;var eA=N();async function tA(e,t){let r=t.route.handler.options;if(!r.location)throw new eA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(tA,"redirectHandler");Ws.redirectHandler=tA});var bg=g(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.urlForwardHandler=void 0;var rA=N(),gg=Sn();function nA(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}s(nA,"join");async function iA(e,t){let r=(0,gg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new rA.ConfigurationError("Invalid options for this route");let o={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,o),u=nA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,gg.logBadGatewayResponses)(p,t),p}s(iA,"urlForwardHandler");Qs.urlForwardHandler=iA});var Eg=g(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.urlRewriteHandler=void 0;var oA=N(),_g=Sn(),sA=s((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,o]of n.searchParams.entries())r.searchParams.append(i,o);return r.toString()},"addQuery");async function aA(e,t){let r=(0,_g.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new oA.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?sA(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:o?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,_g.logBadGatewayResponses)(d,t),d}s(aA,"urlRewriteHandler");Ys.urlRewriteHandler=aA});var vg=g(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.webSocketHandler=void 0;var wg=N(),cA=Pd(),uA=Dt(),lA=W(),dA=Sn();async function pA(e,t){let r=lA.Environment.instance,n=t.route.handler.options,i=(0,dA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new wg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return uA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new wg.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,cA.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${h.serviceBaseUrl}${y.pathname}${y.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}s(pA,"webSocketHandler");Zs.webSocketHandler=pA});var Tg=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.webSocketPolicyProcessor=In.getWebSocketPolicyFunctions=void 0;var hA=N(),fA=s((e,t)=>e.map((n,i)=>{let o;if(typeof n.module=="object"&&(o=n.module[n.export]),!o||typeof o!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new hA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");In.getWebSocketPolicyFunctions=fA;var mA=s(async(e,t,r,n,i,o)=>{let a=e.data;if(o&&o.length>0){let c=[...o];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");In.webSocketPolicyProcessor=mA});var Ig=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.webSocketPipelineHandler=void 0;var Hd=N(),yA=Dt(),gA=W(),bA=Sn(),Fd=Tg();function Sg(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",o=>{n.log.error("WebSocket error: ",o),t.send(JSON.stringify(o))}),e.addEventListener("message",o=>{try{let c=s(async u=>{let l=await(0,Fd.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(o).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}s(Sg,"wireUpListeners");async function _A(e,t){let r=gA.Environment.instance,n=t.route.handler.options,i=(0,bA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Hd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return yA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Hd.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 Hd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let S=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(k)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let y=l.webSocket;y.accept(),m.accept();let E=n.policies&&n.policies.inbound?(0,Fd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,Fd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Sg(m,y,e,t,E),Sg(y,m,e,t,T),new Response(null,{status:101,webSocket:p})}s(_A,"webSocketPipelineHandler");Xs.webSocketPipelineHandler=_A});var Pg=g(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.DynaTraceLoggingPlugin=void 0;var EA=ve(),qd=W(),wA=Nr(),vA=Ut(),TA=_t(),$d=class extends vA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new jd(this.options)}};ea.DynaTraceLoggingPlugin=$d;var jd=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=qd.Environment.instance.loggingEnvironmentType,this.#i=qd.Environment.instance.loggingEnvironmentStage,this.#r=qd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,TA.stringifyNonString)((0,wA.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 EA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Ag=g(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.LokiLoggingPlugin=void 0;var SA=ve(),Vd=W(),IA=Nr(),PA=Ut(),AA=_t(),Gd=class extends PA.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Kd(this.options)}};ta.LokiLoggingPlugin=Gd;var Bd=class{static{s(this,"LokiStream")}constructor(t,r,n,i,o){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=o}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function RA(e,t){return btoa(`${e}:${t}`)}s(RA,"createBasicDigest");var Kd=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=RA(t.username,t.password),this.#n=Vd.Environment.instance.loggingEnvironmentType,this.#i=Vd.Environment.instance.loggingEnvironmentStage,this.#r=Vd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new Bd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,AA.stringifyNonString)((0,IA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(o)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(o=>o.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new SA.BatchDispatch("loki-log-transport",10,this.#s)}});var Rg=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.SumoLogicLoggingPlugin=void 0;var OA=ve(),Jd=W(),NA=Nr(),xA=Ut(),CA=_t(),zd=class extends xA.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Wd(this.options)}};ra.SumoLogicLoggingPlugin=zd;var Wd=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Jd.Environment.instance.loggingEnvironmentType,this.#n=Jd.Environment.instance.loggingEnvironmentStage,this.#t=Jd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,CA.stringifyNonString)((0,NA.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 ca(await n.text())}};mr.DynaTraceMetricsTransport=aa;var ca=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=ca});var
|
|
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 sg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Cd(await ig(this.body||""))}return t}};vn.AwsV4Signer=Bs;async function Ai(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Ld.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Ld.encode(t))}s(Ai,"hmac");async function ig(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Ld.encode(e):e)}s(ig,"hash");function Cd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(Cd,"buf2hex");function og(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(og,"encodeRfc3986");function CP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[o,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",o="s3";else if(o==="iot")r.startsWith("iot.")?o="execute-api":r.startsWith("data.jobs.iot.")?o="iot-jobs-data":o=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?o="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(o="autoscaling-plans")}else a==null&&o.startsWith("s3-")?(a=o.slice(3).replace(/^fips-|^external-1/,""),o="s3"):o.endsWith("-fips")?o=o.slice(0,-5):a&&/-\d$/.test(o)&&!/-\d$/.test(a)&&([o,a]=[a,o]);return o in ng?[ng[o],a]:[o,a]}s(CP,"guessServiceRegion")});var ag=g(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.convertStringToUtf8Array=Pt.convertUtf8ArrayToString=Pt.base64Encode=Pt.base64Decode=void 0;function LP(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}s(LP,"b64ToUint6");function DP(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,o=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=LP(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)o[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return o}s(DP,"base64Decode");Pt.base64Decode=DP;function Ks(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Ks,"uint6ToB64");function UP(e){let t=2,r="",n=e.length,i=0;for(let o=0;o<n;o++)t=o%3,i|=e[o]<<(16>>>t&24),(t===2||e.length-o===1)&&(r+=String.fromCodePoint(Ks(i>>>18&63),Ks(i>>>12&63),Ks(i>>>6&63),Ks(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(UP,"base64Encode");Pt.base64Encode=UP;function kP(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}s(kP,"convertUtf8ArrayToString");Pt.convertUtf8ArrayToString=kP;function MP(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),o=0,a=0;for(;o<n;)t=e.codePointAt(a),t<128?i[o++]=t:t<2048?(i[o++]=192+(t>>>6),i[o++]=128+(t&63)):t<65536?(i[o++]=224+(t>>>12),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63)):t<2097152?(i[o++]=240+(t>>>18),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):t<67108864?(i[o++]=248+(t>>>24),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):(i[o++]=252+(t>>>30),i[o++]=128+(t>>>24&63),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++),a++;return i}s(MP,"convertStringToUtf8Array");Pt.convertStringToUtf8Array=MP});var cg=g(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.toCLFDate=void 0;function Tn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(Tn,"numberToString");function HP(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=Tn(Math.floor(r/60)),o=Tn(r%60);return`${n}${i}${o}`}s(HP,"getCLFOffset");function FP(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=Tn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=Tn(e.getHours()),a=Tn(e.getMinutes()),c=Tn(e.getSeconds()),u=HP(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(FP,"toCLFDate");Js.toCLFDate=FP});var mg=g(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var qP=Sr(),ug=rg(),Ri=O(),$P=Dt(),jP=Ud(),dg=ag(),pg=cg(),lg=(0,qP.debug)("zuplo:runtime"),VP="X-Amzn-Trace-Id",GP="x-amzn-errortype",hg=[],BP=s(async(e,t,r)=>{let n=r;for await(let i of hg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Ri.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(VP)??void 0,this.errorType=r.get(GP)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{hg.push(e)}};async function KP(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:o,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Ri.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ri.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ri.ConfigurationError("region is not set in the handler options");if(!o)throw new Ri.ConfigurationError("functionName is not set in the handler options");let l=new jP.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(lg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,f]=await WP(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,y;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?y=zP(e,t):y=await JP(e,t,{useAwsResourcePathStyle:c}),lg("Calling onSendingAwsLambdaEvent hook");let E=await BP(e,t,y);E.body=p,E.isBase64Encoded=f;let T=await l.fetch(d,{body:JSON.stringify(E)});try{return fg(T)}catch(S){if(S instanceof Ke){let M=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return $P.HttpProblems.internalServerError(e,t,void 0,M)}throw S}}s(KP,"awsLambdaHandler");hr.awsLambdaHandler=KP;async function fg(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,o]of Object.entries(t.headers))r.set(i,o)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,dg.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}s(fg,"getResponse");hr.getResponse=fg;async function JP(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let o=e.query,a={};for(let[l,d]of Object.entries(o))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:o,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,pg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:YP(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(JP,"buildEventVersion1");function zP(e,t){let r={};e.headers.forEach((o,a)=>{r[a]=o});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,pg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(zP,"buildEventVersion2");async function WP(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&&QP(t,i)){let o=await e.arrayBuffer();r=(0,dg.base64Encode)(new Uint8Array(o)),n=!0}else r=await e.clone().text();return[r,n]}s(WP,"getBodyResult");function QP(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(QP,"matchesContentType");function YP(e,t=!1){if(!t)return e;let r=(0,ug.parse)(e),n=(0,ug.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(YP,"getResourcePath")});var In=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.getHandlerUserLogFunction=Sn.logBadGatewayResponses=void 0;var ZP=He(),XP=W(),eA=[502,503,504];async function tA(e,t){if(eA.includes(e.status)){let r=ZP.SystemLogMap.getLogger(t),i=await e.clone().text(),o={};for(let[a,c]of e.headers)o[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:o})}}s(tA,"logBadGatewayResponses");Sn.logBadGatewayResponses=tA;var kd;function rA(e){if(kd===void 0){let r=XP.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),kd=r}return e.log[kd]}s(rA,"getHandlerUserLogFunction");Sn.getHandlerUserLogFunction=rA});var gg=g(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.openApiSpecHandler=void 0;var yg=O(),nA=te(),Md=W(),iA=In();async function oA(e,t){let r=Md.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Md.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new yg.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=sA(o);if(!a.isValid)throw new yg.ConfigurationError(a.error);let c;Md.Environment.instance.isLocalDevelopment?c=`${n}/${o.substring(1)}`:c=`${n}/${r}${o.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return nA.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,iA.logBadGatewayResponses)(l,t),l}s(oA,"openApiSpecHandler");zs.openApiSpecHandler=oA;var sA=s(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var bg=g(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.redirectHandler=void 0;var aA=O();async function cA(e,t){let r=t.route.handler.options;if(!r.location)throw new aA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(cA,"redirectHandler");Ws.redirectHandler=cA});var Eg=g(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.urlForwardHandler=void 0;var uA=O(),_g=In();function lA(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}s(lA,"join");async function dA(e,t){let r=(0,_g.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 uA.ConfigurationError("Invalid options for this route");let o={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,o),u=lA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),f=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${f}ms`),(0,_g.logBadGatewayResponses)(p,t),p}s(dA,"urlForwardHandler");Qs.urlForwardHandler=dA});var vg=g(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.urlRewriteHandler=void 0;var pA=O(),wg=In(),hA=s((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,o]of n.searchParams.entries())r.searchParams.append(i,o);return r.toString()},"addQuery");async function fA(e,t){let r=(0,wg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new pA.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?hA(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:o?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,wg.logBadGatewayResponses)(d,t),d}s(fA,"urlRewriteHandler");Ys.urlRewriteHandler=fA});var Sg=g(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.webSocketHandler=void 0;var Tg=O(),mA=Pd(),yA=Dt(),gA=W(),bA=In();async function _A(e,t){let r=gA.Environment.instance,n=t.route.handler.options,i=(0,bA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Tg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return yA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Tg.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,mA.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${h.serviceBaseUrl}${y.pathname}${y.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let f=JSON.stringify({url:c});return new Response(f,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),f=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(f)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}s(_A,"webSocketHandler");Zs.webSocketHandler=_A});var Ig=g(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.webSocketPolicyProcessor=Pn.getWebSocketPolicyFunctions=void 0;var EA=O(),wA=s((e,t)=>e.map((n,i)=>{let o;if(typeof n.module=="object"&&(o=n.module[n.export]),!o||typeof o!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new EA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");Pn.getWebSocketPolicyFunctions=wA;var vA=s(async(e,t,r,n,i,o)=>{let a=e.data;if(o&&o.length>0){let c=[...o];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");Pn.webSocketPolicyProcessor=vA});var Ag=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.webSocketPipelineHandler=void 0;var Hd=O(),TA=Dt(),SA=W(),IA=In(),Fd=Ig();function Pg(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",o=>{n.log.error("WebSocket error: ",o),t.send(JSON.stringify(o))}),e.addEventListener("message",o=>{try{let c=s(async u=>{let l=await(0,Fd.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(o).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}s(Pg,"wireUpListeners");async function PA(e,t){let r=SA.Environment.instance,n=t.route.handler.options,i=(0,IA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Hd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return TA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Hd.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 Hd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let S=await l.text(),M=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(M)}let d=new WebSocketPair,[p,f]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let y=l.webSocket;y.accept(),f.accept();let E=n.policies&&n.policies.inbound?(0,Fd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,Fd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Pg(f,y,e,t,E),Pg(y,f,e,t,T),new Response(null,{status:101,webSocket:p})}s(PA,"webSocketPipelineHandler");Xs.webSocketPipelineHandler=PA});var Rg=g(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.DynaTraceLoggingPlugin=void 0;var AA=ve(),qd=W(),RA=Nr(),OA=Ut(),NA=_t(),$d=class extends OA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new jd(this.options)}};ea.DynaTraceLoggingPlugin=$d;var jd=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=qd.Environment.instance.loggingEnvironmentType,this.#i=qd.Environment.instance.loggingEnvironmentStage,this.#r=qd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,NA.stringifyNonString)((0,RA.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 AA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Og=g(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.LokiLoggingPlugin=void 0;var xA=ve(),Vd=W(),CA=Nr(),LA=Ut(),DA=_t(),Gd=class extends LA.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Kd(this.options)}};ta.LokiLoggingPlugin=Gd;var Bd=class{static{s(this,"LokiStream")}constructor(t,r,n,i,o){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=o}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function UA(e,t){return btoa(`${e}:${t}`)}s(UA,"createBasicDigest");var Kd=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=UA(t.username,t.password),this.#n=Vd.Environment.instance.loggingEnvironmentType,this.#i=Vd.Environment.instance.loggingEnvironmentStage,this.#r=Vd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new Bd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,DA.stringifyNonString)((0,CA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(o)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(o=>o.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new xA.BatchDispatch("loki-log-transport",10,this.#s)}});var Ng=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.SumoLogicLoggingPlugin=void 0;var kA=ve(),Jd=W(),MA=Nr(),HA=Ut(),FA=_t(),zd=class extends HA.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Wd(this.options)}};ra.SumoLogicLoggingPlugin=zd;var Wd=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Jd.Environment.instance.loggingEnvironmentType,this.#n=Jd.Environment.instance.loggingEnvironmentStage,this.#t=Jd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,FA.stringifyNonString)((0,MA.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 kA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Cg=g(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.VMWareLogInsightTransport=An.VMWareLogInsightLoggingPlugin=void 0;var qA=O(),$A=ve(),Qd=W(),jA=Ut(),xg=_t(),VA="d3a5b78f-8236-48f5-b1df-4fe269d41172",Yd=class extends jA.LogPlugin{static{s(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new na(this.options)}};An.VMWareLogInsightLoggingPlugin=Yd;var na=class{static{s(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new qA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Qd.Environment.instance.loggingEnvironmentType,this.#n=Qd.Environment.instance.loggingEnvironmentStage,this.#t=Qd.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,xg.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([o,a])=>{let c=(0,xg.stringifyNonStringToText)(a);c&&i.fields.push({name:o,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${VA}`,{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 $A.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};An.VMWareLogInsightTransport=na});var Dg=g(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.AWSLogTransport=Rn.AWSLoggingPlugin=void 0;var GA=Ud(),BA=ve(),Lg=W(),KA=Nr(),JA=Ut(),zA=_t(),Zd=class extends JA.LogPlugin{static{s(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ia(this.options)}};Rn.AWSLoggingPlugin=Zd;var ia=class{static{s(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new BA.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:o}){this.awsClient=new GA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:o}),this.logGroupName=n,this.logStreamName=r,this.region=o,this.environmentType=Lg.Environment.instance.loggingEnvironmentType,this.environment=Lg.Environment.instance.deploymentName}log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,zA.stringifyNonString)((0,KA.serializeError)(n)),severity:t.level,source:t.logSource,environment:this.environment,requestId:t.requestId,environmentType:this.environmentType,rayId:t.rayId===null?void 0:t.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};Rn.AWSLogTransport=ia});var Ug=g(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var WA=ud();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return WA.DataDogLoggingPlugin}});var QA=Rg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return QA.DynaTraceLoggingPlugin}});var YA=Rs();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return YA.GoogleCloudLoggingPlugin}});var ZA=Og();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return ZA.LokiLoggingPlugin}});var XA=Ng();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return XA.SumoLogicLoggingPlugin}});var eR=Cg();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return eR.VMWareLogInsightLoggingPlugin}});var tR=Dg();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return tR.AWSLoggingPlugin}})});var kg=g(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.DataDogMetricsError=fr.DataDogMetricsTransport=fr.DataDogMetricsPlugin=void 0;var rR=He(),nR=ve(),iR=Io(),Xd=new WeakMap,oR={tags:[]},ep=class extends iR.MetricsPlugin{static{s(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new oa(this.options)}static setContext(t,r){let n=Xd.get(t);n||(n=oR);let i=Object.assign({...n},r);Xd.set(t,i)}};fr.DataDogMetricsPlugin=ep;var oa=class{static{s(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new nR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,rR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(Xd.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let o=t.systemRouteName||t.routePath;i.push(`path:${o}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new sa(await n.text())}};fr.DataDogMetricsTransport=oa;var sa=class e extends Error{static{s(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};fr.DataDogMetricsError=sa});var Mg=g(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DynaTraceMetricsError=mr.DynaTraceMetricsTransport=mr.DynatraceMetricsPlugin=void 0;var sR=He(),aR=ve(),cR=Io(),tp=new WeakMap,uR={dimensions:[]},rp=class extends cR.MetricsPlugin{static{s(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new aa(this.options)}static setContext(t,r){let n=tp.get(t);n||(n=uR);let i=Object.assign({...n},r);tp.set(t,i)}};mr.DynatraceMetricsPlugin=rp;var aa=class{static{s(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new aR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,sR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(tp.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let o=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${o} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${o} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${o} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
|
|
65
|
+
`),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new ca(await n.text())}};mr.DynaTraceMetricsTransport=aa;var ca=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=ca});var Hg=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.DynatraceMetricsPlugin=On.DataDogMetricsPlugin=void 0;var lR=kg();Object.defineProperty(On,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return lR.DataDogMetricsPlugin}});var dR=Mg();Object.defineProperty(On,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return dR.DynatraceMetricsPlugin}})});var Fg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.AuditLogDataStaxProvider=void 0;var np=class{static{s(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};ua.AuditLogDataStaxProvider=np});var $g=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.AuditLogPlugin=void 0;var pR=gt(),hR=ve(),ip=class extends pR.SystemRuntimePlugin{static{s(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new op(t,this.#e,this.#t)}};la.AuditLogPlugin=ip;var qg=s(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),fR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},op=class{static{s(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...fR};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 hR.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,o,a)=>{try{let c={timestamp:i,durationMs:o,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?qg(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:t.status,statusText:t.statusText,headers:this.#e.include?.response?.headers?qg(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,o=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-o,u.user?.sub).catch(f=>{r.log.error(f)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var jg=g(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.StripeSignatureVerificationError=Nn.StripeError=void 0;var da=class extends Error{static{s(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(t={}){super(t.message),this.type=this.constructor.name,this.raw=t,this.rawType=t.type,this.code=t.code,this.doc_url=t.doc_url,this.param=t.param,this.detail=t.detail,this.headers=t.headers,this.requestId=t.requestId,this.statusCode=t.statusCode,this.message=t.message,this.charge=t.charge,this.decline_code=t.decline_code,this.payment_intent=t.payment_intent,this.payment_method=t.payment_method,this.payment_method_type=t.payment_method_type,this.setup_intent=t.setup_intent,this.source=t.source}};Nn.StripeError=da;var sp=class extends da{static{s(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Nn.StripeSignatureVerificationError=sp});var Gg=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.computeHMACSignatureAsync=xn.constructEventAsync=void 0;var kr=jg(),mR="v1",yR=300;async function gR(e,t,r,n=yR,i){return await _R(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}s(gR,"constructEventAsync");xn.constructEventAsync=gR;function bR(e,t){return`${t.timestamp}.${e}`}s(bR,"makeHMACContent");async function _R(e,t,r,n,i){let{decodedHeader:o,decodedPayload:a,details:c,suspectPayloadType:u}=ER(e,t,mR),l=/\s/.test(r),d=await Vg(bR(a,c),r);return wR(a,o,c,d,n,u,l,i)}s(_R,"verifyHeaderAsync");function ER(e,t,r){if(!e)throw new kr.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),o=e instanceof Uint8Array?i.decode(e):e;if(Array.isArray(t))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(t==null||t=="")throw new kr.StripeSignatureVerificationError(t,e,{message:"No stripe-signature header value was provided."});let a=t instanceof Uint8Array?i.decode(t):t,c=vR(a,r);if(!c||c.timestamp===-1)throw new kr.StripeSignatureVerificationError(a,o,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new kr.StripeSignatureVerificationError(a,o,{message:"No signatures found with expected scheme"});return{decodedPayload:o,decodedHeader:a,details:c,suspectPayloadType:n}}s(ER,"parseEventDetails");function wR(e,t,r,n,i,o,a,c){let u=!!r.signatures.filter(f=>TR(f,n)).length,l=`
|
|
66
66
|
Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
|
|
67
67
|
|
|
68
|
-
Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw o?new
|
|
68
|
+
Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw o?new kr.StripeSignatureVerificationError(t,e,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
|
|
69
69
|
Signature verification is impossible without access to the original signed material.
|
|
70
70
|
`+l+`
|
|
71
|
-
`+d}):new
|
|
71
|
+
`+d}):new kr.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
|
|
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 Mr.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}s(fR,"validateComputedSignature");function mR(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}s(mR,"parseHeader");function yR(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}s(yR,"secureCompare");async function $g(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),o=new Uint8Array(i),a=new Array(o.length);for(let c=0;c<o.length;c++)a[c]=ap[o[c]];return a.join("")}s($g,"computeHMACSignatureAsync");Nn.computeHMACSignatureAsync=$g;var ap=new Array(256);for(let e=0;e<ap.length;e++)ap[e]=e.toString(16).padStart(2,"0")});var qt=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.optionValidator=void 0;var Oi=N();function gR(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=s((o,a)=>(r(o,a,!0),{optional:n,required:i}),"optional"),i=s((o,a)=>(r(o,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}s(gR,"optionValidator");pa.optionValidator=gR});var cp=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.StripeWebhookVerificationInboundPolicy=void 0;var bR=ie(),_R=jg(),ER=qt(),wR=s(async(e,t,r,n)=>{(0,ER.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let o=await e.clone().text();await(0,_R.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),bR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");ha.StripeWebhookVerificationInboundPolicy=wR});var Gg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.isStripeWebhookEvent=void 0;var Vg=gt();function vR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,Vg.isString)(e.id)&&"type"in e&&(0,Vg.isString)(e.type)}s(vR,"isStripeWebhookEvent");fa.isStripeWebhookEvent=vR});var Bg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.MeteringPlugin=void 0;var TR=yt(),up=class extends TR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};ma.MeteringPlugin=up});var Jg=g(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});var Kg=N(),SR={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving subscription from Stripe API.";throw r.error(o,i),new Kg.RuntimeError(o)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving customer from Stripe API.";throw r.error(o,i),new Kg.RuntimeError(o)}}};lp.default=SR});var Zg=g(Ni=>{"use strict";var IR=Ni&&Ni.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ni,"__esModule",{value:!0});var yr=N(),zg=ie(),Wg=Be(),Qg=W(),Yg=vi(),PR=IR(Jg()),AR=gt();async function RR(e,t,r,n){let i=r.data?.object?.subscription;if(!i)throw new yr.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data?.object?.client_reference_id,a=r.data?.object?.customer_email;if(!o)throw new yr.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.client_reference_id' to be the customer sub.");if(!a)throw new yr.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer_email' to be the customer email.");let c=await PR.default.getSubscription({logger:t.log,stripeSecretKey:n.stripeSecretKey,subscriptionId:i}),u=c.id,l=c.customer,d=c.items?.data.find(E=>E.object==="subscription_item");if(!d||!d.id)throw new yr.RuntimeError("Invalid Stripe API result. Expected subscription to contain at least one subscription_item.");let p=d.plan;if(!p||!p.product)throw new yr.RuntimeError("Invalid Stripe API result. Expected subscription_item to have a plan.");let m=p.product,h=await OR({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:m,stripeSubscriptionId:u,stripeCustomerId:l,managerEmail:a,managerSub:o,context:t});if(!h)return zg.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});let y="routes.oas.json";try{await NR({context:t,stripeProductId:m,stripeSubscriptionId:u,customerKey:h,productKey:y,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:l})}catch(E){return zg.HttpProblems.internalServerError(e,t,{detail:E.message})}}s(RR,"onCheckoutSessionCompleted");Ni.default=RR;async function OR({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:o,context:a}){let{authApiJWT:c}=Qg.Environment.instance,u="https://api-key-management-service-eq7z4lly2a-ue.a.run.app",l=new URL(`/v1/buckets/${e}/consumers`,u);l.searchParams.set("with-api-key","true");let d=crypto.randomUUID(),p={name:d,description:`Consumer for Stripe subscription ${t}`,tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:o,email:i}]},m=await(0,Yg.fetchRetry)({retryDelayMs:5,retries:2,logger:Wg.SystemLogMap.getLogger(a)},l.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(p)}),h=await m.json();if(m.status!==200){let y="Error creating API Key Consumer";throw a.log.error(y,h),new yr.RuntimeError(y)}return a.log.info("Successfully created API Key Consumer",{consumerId:d,stripeSubscriptionId:t,stripeProductId:r}),d}s(OR,"createConsumer");async function NR({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,productKey:i,meteringBucketId:o,meteringBucketRegion:a,customerExternalId:c}){let u={status:"active",type:"periodic",renewalStrategy:"monthly",region:a,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,productKey:i,customerExternalId:c},{authApiJWT:l,meteringServiceUrl:d}=Qg.Environment.instance;if(!(0,AR.isNonEmptyString)(l))throw new yr.SystemError("No Zuplo JWT token set.");let p=await(0,Yg.fetchRetry)({retryDelayMs:5,retries:2,logger:Wg.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${o}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let 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 yr.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}s(NR,"saveSubscription")});var Xg=g(xn=>{"use strict";var xR=xn&&xn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xn,"__esModule",{value:!0});xn.StripeMeteringPlugin=void 0;var ya=yn(),ga=N(),CR=Lt(),LR=cp(),dp=ie(),DR=Qt(),UR=zr(),MR=Hu(),kR=ot(),HR=W(),FR=Gg(),qR=Bg(),$R=xR(Zg()),pp=class extends qR.MeteringPlugin{static{s(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=s(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(ya.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=ya.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new ga.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(ya.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=ya.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new ga.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!HR.Environment.instance.build.ACCOUNT_NAME)throw new ga.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!jR(p))throw new ga.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,FR.isStripeWebhookEvent)(m))return dp.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"checkout.session.completed":await(0,$R.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});break;default:return dp.HttpProblems.ok(c,u,{detail:"Event was ignored by Stripe metering plugin webhook."})}return dp.HttpProblems.ok(c,u)},"stripeWebhookHandler"),i=(0,UR.createInternalPolicyProcessor)({inboundPolicies:[{handler:LR.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new CR.Pipeline({processors:[DR.metricsProcessor,i],handler:n,gateway:r}),a=new kR.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:MR.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};xn.StripeMeteringPlugin=pp;function jR(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(jR,"isMetricsRegion")});var ib=g(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.AmberfloMeteringInboundPolicy=Cn.AmberfloMeteringPolicy=void 0;var eb=N(),VR=ve(),tb=oi(),nb=new WeakMap,rb={},hp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){nb.set(t,r)}};Cn.AmberfloMeteringPolicy=hp;async function GR(e,t,r,n){if(!r.statusCodes)throw new eb.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,tb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async o=>{if(i.includes(o.status)){let a=nb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new eb.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,tb.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=rb[r.apiKey];if(!m){let h=r.apiKey,y=e.headers.get("zm-test-id")??"";m=new VR.BatchDispatch("amberflo-ingest-meter",10,async E=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(E),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":y}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),rb[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}s(GR,"AmberfloMeteringInboundPolicy");Cn.AmberfloMeteringInboundPolicy=GR});var fp=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.sha256=void 0;async function BR(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}s(BR,"sha256");ba.sha256=BR});var $t=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.getPolicyCacheName=void 0;var KR=fp(),ob=new Map;async function JR(e,t){let r,n=ob.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,KR.sha256)(JSON.stringify({policyName:e,options:t}))}`,ob.set(e,r)),r}s(JR,"getPolicyCacheName");_a.getPolicyCacheName=JR});var gp=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.ApiKeyInboundPolicy=void 0;var zR=$t(),WR=Kt(),sb=yn(),mp=N(),QR=Dt(),ab=Be(),yp=W(),YR=vi(),cb="key-metadata-cache-type";function ZR(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(ZR,"getKeyValue");async function XR(e,t,r,n){if(!r.bucketName)if(sb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=sb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new mp.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 mp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(T=>i.allowUnauthenticatedRequests?e:QR.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return o("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return o("Invalid Authorization Scheme");let c=ZR(a,i);if(!c||c==="")return o("No key present");let u=await e0(c),l=await(0,zR.getPolicyCacheName)(n,i),d=new WR.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!==cb&&ab.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let m={key:c},h=await(0,YR.fetchRetry)({retryDelayMs:5,retries:2,logger:ab.SystemLogMap.getLogger(t)},`${yp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":yp.Environment.instance.deploymentName??"unknown","User-Agent":yp.Environment.instance.systemUserAgent},body:JSON.stringify(m)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),o("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);t.log.error("Unexpected response from key service",S)}catch{t.log.error("Invalid response from key service")}throw new mp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let y=await h.json(),E={isValid:!0,typeId:cb,user:{sub:y.name,data:y.metadata}};return e.user=E.user,d.put(u,E,i.cacheTtlSeconds),e}s(XR,"ApiKeyInboundPolicy");Ea.ApiKeyInboundPolicy=XR;async function e0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(e0,"hashValue")});var ub=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.ApiAuthKeyInboundPolicy=void 0;var t0=gp();wa.ApiAuthKeyInboundPolicy=t0.ApiKeyInboundPolicy});var jt=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.OpenIdJwtInboundPolicy=void 0;var _p=(Is(),no(Ss)),Ep=N(),r0=ie(),bp={},n0=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Ep.ConfigurationError("Invalid State - jwkUrl not set");bp[t.jwkUrl]||(bp[t.jwkUrl]=(0,_p.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,_p.jwtVerify)(e,bp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),i0=s(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let o=new TextEncoder().encode(t.secret);r=new Uint8Array(o)}else r=t.secret;let{payload:n}=await(0,_p.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),o0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(m=>r0.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Ep.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Ep.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?n0:i0,l=await s(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(o)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(o.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let y=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${y.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${y.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");va.OpenIdJwtInboundPolicy=o0});var lb=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.Auth0JwtInboundPolicy=void 0;var s0=jt(),a0=s(async(e,t,r,n)=>(0,s0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Ta.Auth0JwtInboundPolicy=a0});var db=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.BasicAuthInboundPolicy=void 0;var c0=ie(),u0=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>c0.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await s(async()=>{if(!n)return await o("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await o("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await o("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await o("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),h=d.substring(p+1),y=r.accounts.find(E=>E.username===m&&E.password===h);return y||await o("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");Sa.BasicAuthInboundPolicy=u0});var pb=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.CachingInboundPolicy=void 0;var l0=$t(),d0=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function p0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(p0,"digestMessage");var h0=s(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await p0(JSON.stringify(n)),o=new URL(e.url),a=new URLSearchParams(o.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${o.origin}${o.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function f0(e,t,r,n){let i=await(0,l0.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await h0(e,r),u=await o.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);d0.forEach(y=>h.headers.delete(y)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(o.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}s(f0,"CachingInboundPolicy");Ia.CachingInboundPolicy=f0});var hb=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ChangeMethodInboundPolicy=void 0;var m0=N(),y0=ke(),g0=s(async(e,t,r,n)=>{if(!r.method)throw new m0.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new y0.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Pa.ChangeMethodInboundPolicy=g0});var fb=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.ClearHeadersInboundPolicy=void 0;var b0=ke(),_0=s(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new b0.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Aa.ClearHeadersInboundPolicy=_0});var mb=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.ClearHeadersOutboundPolicy=void 0;var E0=s(async(e,t,r,n)=>{let i=[...n.exclude??[]],o=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&o.set(c,u)}),new Response(e.body,{headers:o,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");Ra.ClearHeadersOutboundPolicy=E0});var yb=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ClerkJwtInboundPolicy=void 0;var w0=jt(),v0=s(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),o=new URL(i);return o.pathname="/.well-known/jwks.json",(0,w0.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Oa.ClerkJwtInboundPolicy=v0});var bb=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.CognitoJwtInboundPolicy=void 0;var gb=N(),T0=jt(),S0=s(async(e,t,r,n)=>{if(!r.userPoolId)throw new gb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new gb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,T0.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");Na.CognitoJwtInboundPolicy=S0});var Eb=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.CompositeInboundPolicy=void 0;var I0=N(),P0=mn(),_b=zr(),A0=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new I0.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=P0.Gateway.instance,o=(0,_b.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,_b.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");xa.CompositeInboundPolicy=A0});var vb=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.CreditsMeteringInboundPolicy=void 0;var xi=ie(),wb=W(),R0=s(async(e,t,r)=>{let n=e.user;if(!n)return xi.HttpProblems.unauthorized(e,t,{title:"Unable to check subscription for anonymous user",detail:"No user data on request"});let{sub:i}=n;if(!r.bucketId)return xi.HttpProblems.unauthorized(e,t,{title:"Metering bucket not configured",detail:"Specify one using the bucketId option on the policy"});let o=r.bucketId,a=await O0(o,i,t);if(!a)return xi.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return xi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return xi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});return t.custom.subscription=a,t.addResponseSendingFinalHook(async()=>{let c=t.custom.meters,u={};for(let l of Object.keys(c))u[l]=c[l];await N0(o,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");Ca.CreditsMeteringInboundPolicy=R0;async function O0(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=wb.Environment.instance,o=new URL(`${i}/internal/v1/metering/${e}/subscriptions`);o.search=new URLSearchParams({customerKey:t,status:"active"}).toString();let a=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${n}`,"zp-rid":r.requestId}});if(!a.ok)throw new Error(`Error retrieving subscriptions for credits metering ': ${a.status} - ${await a.text()}`);let c=await a.json();if(c.data.length!==0)return c.data.length>1&&r.log.warn(`Found more than one active subscription for customer ${t} -- using the first one.`),c.data[0]}s(O0,"getSubscription");async function N0(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:o}=wb.Environment.instance,a=new URL(`${o}/internal/v1/metering/${e}/subscriptions/${t}/quotas/consume`),c=await fetch(a,{method:"POST",body:JSON.stringify({meters:r}),headers:{Authorization:`Bearer ${i}`,"zp-rid":n.requestId}});c.ok||n.log.error(`Error consuming subscription quotas for credits metering ': ${c.status} - ${await c.text()}`)}s(N0,"consumeSubscription")});var Tb=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.CurityPhantomTokenInboundPolicy=void 0;var x0=$t(),C0=Kt(),La=ie(),L0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return La.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=D0(i);if(!o)return La.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,x0.getPolicyCacheName)(n,r),c=new C0.MemoryZoneReadThroughCache(a,t),u=await c.get(o);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+o+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(o,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),La.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):La.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Da.CurityPhantomTokenInboundPolicy=L0;function D0(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(D0,"getToken")});var Sb=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.FirebaseJwtInboundPolicy=void 0;var U0=qt(),M0=jt(),k0=s(async(e,t,r,n)=>((0,U0.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,M0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");Ua.FirebaseJwtInboundPolicy=k0});var Ib=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.FormDataToJsonInboundPolicy=void 0;var H0=ke(),F0=s(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",o=e.headers.get("content-type")?.toLowerCase();if(!o||![i,n].includes(o))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new H0.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Ma.FormDataToJsonInboundPolicy=F0});var Pb=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.GeoFilterInboundPolicy=void 0;var q0=N(),$0=ie(),Ln="__unknown__",j0=s(async(e,t,r,n)=>{let i={allow:{countries:Un(r.allow?.countries,"allow.countries",n),regionCodes:Un(r.allow?.regionCodes,"allow.regionCode",n),asns:Un(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Un(r.block?.countries,"block.countries",n),regionCodes:Un(r.block?.regionCodes,"block.regionCode",n),asns:Un(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Ln,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Ln,c=t.incomingRequestProperties.asn?.toString()??Ln,u=i.ignoreUnknown&&o===Ln,l=i.ignoreUnknown&&a===Ln,d=i.ignoreUnknown&&c===Ln,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(o)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Dn(e,t,n,o,a,c);let y=i.block.countries,E=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(o)&&!u||E.length>0&&E.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Dn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");ka.GeoFilterInboundPolicy=j0;function Dn(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),$0.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(Dn,"blockedResponse");function Un(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new q0.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s(Un,"toLowerStringArray")});var Ab=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.JWTScopeValidationInboundPolicy=void 0;var V0=s(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!s((o,a)=>a.every(c=>o.includes(c)),"scopeChecker")(n,r.scopes)){let o={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(o),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Ha.JWTScopeValidationInboundPolicy=V0});var Ob=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.MockApiInboundPolicy=void 0;var G0=ie(),B0=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return wp(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let o=Object.keys(i),a=[];if(o.length===0)return wp(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(o.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return Rb(a[c])}else return a.length>0?Rb(a[0]):wp(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");Fa.MockApiInboundPolicy=B0;function Rb(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}s(Rb,"generateResponse");var wp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return G0.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var Db=g(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.MoesifInboundPolicy=Mn.setMoesifContext=void 0;var K0=N(),J0=ve(),z0="Incoming",W0={logRequestBody:!0,logResponseBody:!0};function Nb(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(Nb,"headersToObject");function xb(){return new Date().toISOString()}s(xb,"timestamp");var vp=new WeakMap,Q0={};function Y0(e,t){let r=vp.get(e);r||(r=Q0);let n=Object.assign({...r},t);vp.set(e,n)}s(Y0,"setMoesifContext");Mn.setMoesifContext=Y0;async function Cb(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}s(Cb,"readBody");var Z0={},Tp;function Lb(){if(!Tp)throw new K0.RuntimeError("Invalid State - no _lastLogger");return Tp}s(Lb,"getLastLogger");function X0(e){let t=Z0[e];return t||(t=new J0.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Lb().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||Lb().error({status:i.status,body:await i.text()})})),t}s(X0,"getDispatcher");async function eO(e,t,r,n){Tp=t.log;let i=xb(),o=Object.assign(W0,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await Cb(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=X0(o.applicationId),d=e.headers.get("true-client-ip"),p=vp.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Nb(e.headers)},h=o.logResponseBody?await Cb(c,t):void 0,y={time:xb(),status:c.status,headers:Nb(c.headers),body:h},E={request:m,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:z0};l.enqueue(E),t.waitUntil(l.waitUntilFlushed())}),e}s(eO,"MoesifInboundPolicy");Mn.MoesifInboundPolicy=eO});var Ub=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.OktaJwtInboundPolicy=void 0;var tO=jt(),rO=s(async(e,t,r,n)=>(0,tO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");qa.OktaJwtInboundPolicy=rO});var Mb=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.PropelAuthJwtInboundPolicy=void 0;var nO=(Is(),no(Ss)),iO=jt(),Sp,oO=s(async(e,t,r,n)=>{if(!Sp)try{Sp=await(0,nO.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,iO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Sp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");$a.PropelAuthJwtInboundPolicy=oO});var kb=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var $e=gt(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var Ci=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Ci;var Li=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Li;function sO(e,t){if((0,$e.isUndefined)(e))throw new Ci(t)}s(sO,"throwIfUndefined");G.throwIfUndefined=sO;function Ip(e,t){if((0,$e.isUndefinedOrNull)(e))throw new Ci(t)}s(Ip,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Ip;function aO(e,t){if(Ip(e,t),!(0,$e.isString)(e))throw new Li(t,"string")}s(aO,"throwIfNotString");G.throwIfNotString=aO;function cO(e,t){if(Ip(e,t),!(0,$e.isNumber)(e))throw new Li(t,"number")}s(cO,"throwIfNotNumber");G.throwIfNotNumber=cO;var Di=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Di;var kn=class extends et{static{s(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=kn;function uO(e,t,r,n){if((0,$e.isUndefined)(n))throw new Di(e,t,r)}s(uO,"throwIfOptionUndefined");G.throwIfOptionUndefined=uO;function ja(e,t,r,n){if((0,$e.isUndefinedOrNull)(n))throw new Di(e,t,r)}s(ja,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=ja;function lO(e,t,r,n){if(ja(e,t,r,n),!(0,$e.isString)(n))throw new kn(e,t,r,"string")}s(lO,"throwIfOptionNotString");G.throwIfOptionNotString=lO;function dO(e,t,r,n){if(ja(e,t,r,n),!(0,$e.isNumber)(n))throw new kn(e,t,r,"number")}s(dO,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=dO;function pO(e,t,r,n){if(ja(e,t,r,n),!(0,$e.isObject)(n))throw new kn(e,t,r,"object")}s(pO,"throwIfOptionNotObject");G.throwIfOptionNotObject=pO;function hO(e,t){if((0,$e.isUndefined)(e))throw new et(t)}s(hO,"throwIfStateUndefined");G.throwIfStateUndefined=hO;function Va(e,t){if((0,$e.isUndefinedOrNull)(e))throw new et(t)}s(Va,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Va;function fO(e,t){if(Va(e,t),!(0,$e.isString)(e))throw new et(t);return!0}s(fO,"throwIfStateNotString");G.throwIfStateNotString=fO;function mO(e,t){if(Va(e,t),!(0,$e.isNumber)(e))throw new et(t);return!0}s(mO,"throwIfStateNotNumber");G.throwIfStateNotNumber=mO;function yO(e,t){if(Va(e,t),!(0,$e.isObject)(e))throw new et(t);return!0}s(yO,"throwIfStateNotObject");G.throwIfStateNotObject=yO});var Hb=g(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.InMemoryRedisClient=Hn.StandardRedisClient=void 0;var Pp=N(),Ga=kb(),Ap=class e{static{s(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,Ga.throwIfNotString)(t,"redisClientUrl"),(0,Ga.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,Ga.throwIfNotString)(t,"url");let o=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=o.headers.get("Content-Type")?.includes("application/json")?await o.json():await o.text();if(o.ok)return a;throw o.status===401?new Pp.SystemError("Redis client failed with 401: Unauthorized"):new Pp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Hn.StandardRedisClient=Ap;var Rp=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Ga.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:o,key:a}=JSON.parse(r),c=Date.now()+o*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Pp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Hn.InMemoryRedisClient=Rp});var Vb=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.RateLimitInboundPolicy=void 0;var gO=Sr(),bO=$t(),_O=ti(),At=N(),EO=ie(),Fb=Be(),Ui=W(),qb=Hb(),$b=gt(),Ba=(0,gO.debug)("zuplo:policies:RateLimitInboundPolicy"),wO="strict",vO=s(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),TO=s(async e=>({key:`ip-${vO(e)}`}),"getIP"),SO=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),IO=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ka;function PO(e,t){let r;if(Ka)return Ka;if(Ui.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new qb.InMemoryRedisClient,Ka=r,r;let{authApiJWT:n,redisURL:i}=Ui.Environment.instance;if(!(0,$b.isString)(i))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,$b.isString)(n))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=qb.StandardRedisClient.initialize(i,n,Ui.Environment.instance.deploymentName??"unknown",Ui.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new At.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ka=r,r}s(PO,"getRedisClient");async function jb(e,t,r,n,i){let o=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:o,key:e}),requestId:i})}s(jb,"getCountAndUpdateExpiry");function AO(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return s(async(i,o,a)=>{let c=await r(i,o,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw o.log.error(u),new At.RuntimeError(u)}return c},"outerFunction")}s(AO,"wrapUserFunction");var RO="Retry-After",OO=s(async(e,t,r,n)=>{let i=Date.now(),o=Fb.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new At.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[RO]=l.toString()),EO.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:AO(r,n),user:SO,ip:TO,all:IO}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",E=PO(n,o),S=`bucket/${Ui.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??wO)==="async"){let L=await(0,bO.getPolicyCacheName)(n,r),re=new _O.ZoneCache(L,{logger:Fb.SystemLogMap.getLogger(t)}),ne=jb(S,h,E,o,t.requestId),me=await re.get(S);if(me!==void 0&&me<=Date.now()){Ba(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Ge=Math.round((me-Date.now())/1e3);return c(y,Ge)}return t.addEventListener("responseSending",Ge=>{try{let w=Ge,H=w.mutableResponse;w.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>m){let cu=Date.now()+Ce.ttlSeconds*1e3,xE=re.put(S,cu,Ce.ttlSeconds).catch(yh=>{throw o.error(new At.SystemError("Error caching rate limit result.",{cause:yh})),yh});return t.waitUntil(xE),Ba(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(y,Ce.ttlSeconds)}return H})()}catch(w){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let j=await jb(S,h,E,o,t.requestId);return j.count>m?(Ba(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(y,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Ba(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Ja.RateLimitInboundPolicy=OO});var Jb=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.ReadmeMetricsInboundPolicy=void 0;var NO=ve(),Op=W(),Gb=oi(),Np;function Bb(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(Bb,"headersToNameValuePairs");function xO(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(xO,"queryToNameValueParis");function CO(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(CO,"parseIntOrUndefined");var Kb={};async function LO(e,t,r,n){let i=new Date,o=Date.now();return Np||(Np={name:"zuplo",version:Op.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Op.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,Gb.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,Gb.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Op.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Np,entries:[{startedDateTime:i.toISOString(),time:Date.now()-o,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:Bb(e.headers),queryString:xO(e.query)},response:{status:a.status,statusText:a.statusText,headers:Bb(a.headers),content:{size:CO(e.headers.get("content-length"))}}}]}}},d=Kb[r.apiKey];if(!d){let p=r.apiKey;d=new NO.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",y=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),Kb[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(LO,"ReadmeMetricsInboundPolicy");za.ReadmeMetricsInboundPolicy=LO});var zb=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.RemoveHeadersInboundPolicy=void 0;var DO=N(),UO=ke(),MO=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new DO.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let o=new Headers(e.headers);return i.forEach(c=>{o.delete(c)}),new UO.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");Wa.RemoveHeadersInboundPolicy=MO});var Wb=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.RemoveHeadersOutboundPolicy=void 0;var kO=N(),HO=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new kO.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return o.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Qa.RemoveHeadersOutboundPolicy=HO});var Qb=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.RemoveQueryParamsInboundPolicy=void 0;var FO=N(),qO=ke(),$O=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new FO.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let o=new URL(e.url);return i.forEach(c=>{o.searchParams.delete(c)}),new qO.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");Ya.RemoveQueryParamsInboundPolicy=$O});var Yb=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.ReplaceStringOutboundPolicy=void 0;var jO=s(async(e,t,r,n)=>{let i=await e.text(),o=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(o,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Za.ReplaceStringOutboundPolicy=jO});var Xb=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.RequestSizeLimitInboundPolicy=void 0;var Zb=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),VO=s(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),o=i!==null?parseInt(i):void 0;return o&&!isNaN(o)&&o>r.maxSizeInBytes?Zb():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?Zb():e},"RequestSizeLimitInboundPolicy");Xa.RequestSizeLimitInboundPolicy=VO});var ec=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function GO(e,t,r){return`_${kr(e+"_"+t+"_"+r)}`}s(GO,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=GO;function BO(e,t,r,n){return`_${kr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(BO,"getIdForParameterSchema");tt.getIdForParameterSchema=BO;function KO(e,t,r){return`_${kr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${kr(r.toLowerCase())}`}s(KO,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=KO;function JO(e,t){return`_${kr(e)}__${kr(t)}`}s(JO,"getIdForRefSchema");tt.getIdForRefSchema=JO;function kr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}s(kr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=kr});var Mi=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var zO=mn(),WO=ec(),QO=s(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=QO;var YO=s((e,t,r,n,i)=>{let o=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,o.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,WO.getIdForParameterSchema)(r,n,i,u.name),p=zO.Gateway.instance.schemaValidator[d],m=p(t[u.name]),h=(0,Le.getErrorsFromValidator)(p.errors);m||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),o.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:o}},"validateParameters");Le.validateParameters=YO;var ZO=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=ZO;var XO=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=XO;var eN=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=eN;var tN=s(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=tN});var e_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.handleBodyValidation=void 0;var rN=mn(),tc=ie(),nN=ec(),Je=Mi();async function iN(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let y=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,E=tc.HttpProblems.badRequest(t,e,{detail:`${y}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",y,[n],h),(0,Je.shouldReject)(r.validateBody))return E}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,y=tc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,nN.getIdForRequestBodySchema)(e.route.path,t.method,i),c=rN.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,y=tc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),m=tc.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return m}s(iN,"handleBodyValidation");rc.handleBodyValidation=iN});var t_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.handleHeadersValidation=void 0;var oN=ie(),ki=Mi();function sN(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,ki.getParametersForOperation)(e),o=(0,ki.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=oN.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,ki.shouldLog)(r.validateHeaders)&&(0,ki.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,ki.shouldReject)(r.validateHeaders))return c}}s(sN,"handleHeadersValidation");nc.handleHeadersValidation=sN});var r_=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.handlePathParameterValidation=void 0;var aN=ie(),Hi=Mi();function cN(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Hi.getParametersForOperation)(e),i=(0,Hi.validateParameters)(n.filter(o=>o.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let o="Path parameters validation failed",a=aN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Hi.shouldLog)(r.validatePathParameters)&&(0,Hi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Hi.shouldReject)(r.validatePathParameters))return a}}s(cN,"handlePathParameterValidation");ic.handlePathParameterValidation=cN});var n_=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.handleQueryParameterValidation=void 0;var uN=ie(),Fi=Mi();function lN(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Fi.getParametersForOperation)(e),i=(0,Fi.validateParameters)(n.filter(o=>o.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let o="Query parameters validation failed",a=uN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Fi.shouldLog)(r.validateQueryParameters)&&(0,Fi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Fi.shouldReject)(r.validateQueryParameters))return a}}s(lN,"handleQueryParameterValidation");oc.handleQueryParameterValidation=lN});var i_=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy=void 0;var dN=e_(),pN=t_(),hN=r_(),fN=n_(),mN=s(async(e,t,r)=>{let n=(0,fN.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,hN.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,pN.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,dN.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Hr.RequestValidationInboundPolicy=mN;Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy});var o_=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.RequireOriginInboundPolicy=void 0;var yN=N(),gN=ie(),bN=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new yN.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let o=e.headers.get("origin");if(!o||!i.includes(o)){let a=r.failureDetail??"Forbidden";return gN.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");sc.RequireOriginInboundPolicy=bN});var s_=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.SetBodyInboundPolicy=void 0;var _N=ke(),EN=s(async(e,t,r)=>new _N.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");ac.SetBodyInboundPolicy=EN});var c_=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.SetHeadersInboundPolicy=void 0;var a_=N(),wN=ke(),vN=s(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new a_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let o=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new a_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.has(c.name)||u)&&o.set(c.name,c.value)}),new wN.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");cc.SetHeadersInboundPolicy=vN});var l_=g(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.SetHeadersOutboundPolicy=void 0;var u_=N(),TN=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new u_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return o.forEach(u=>{if(!u.name||u.name.length===0)throw new u_.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");uc.SetHeadersOutboundPolicy=TN});var p_=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.SetQueryParamsInboundPolicy=void 0;var d_=N(),SN=ke(),IN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new d_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let o=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new d_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.searchParams.has(c.name)||u)&&o.searchParams.set(c.name,c.value)}),new SN.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");lc.SetQueryParamsInboundPolicy=IN});var h_=g(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.SetStatusOutboundPolicy=void 0;var PN=s(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");dc.SetStatusOutboundPolicy=PN});var f_=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.SleepInboundPolicy=void 0;var AN=N(),RN=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),ON=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new AN.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await RN(r.sleepInMs),e},"SleepInboundPolicy");pc.SleepInboundPolicy=ON});var y_=g(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.SupabaseJwtInboundPolicy=void 0;var m_=N(),NN=ie(),xN=ke(),CN=qt(),LN=jt(),DN=s(async(e,t,r,n)=>{(0,CN.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,LN.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof xN.ZuploRequest))throw new m_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return o;let c=e.user?.data.app_metadata;if(!c)throw new m_.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?NN.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");hc.SupabaseJwtInboundPolicy=DN});var b_=g(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var UN=$t(),MN=Kt(),g_=N(),kN=vi(),HN=qt(),FN=s(async(e,t,r,n)=>{(0,HN.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,UN.getPolicyCacheName)(n,r),o=new MN.MemoryZoneReadThroughCache(i,t),a=await o.get(n);if(!a){let c=await qN(r,t);o.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");fc.UpstreamAzureAdServiceAuthInboundPolicy=FN;async function qN(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,kN.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let o=await n.text();t.log.error("Could not get token from Azure AD",o)}catch{}throw new g_.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 g_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(qN,"getAccessToken")});var E_=g(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var $N=$t(),jN=Kt(),VN=N(),xp=pn(),GN=qt(),__="https://accounts.google.com/o/oauth2/token",Cp,BN=s(async(e,t,r,n)=>{(0,GN.optionValidator)(r,n).required("serviceAccountJson","string"),Cp||(Cp=await xp.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},o=await(0,$N.getPolicyCacheName)(n,r),a=new jN.MemoryZoneReadThroughCache(o,t),c=await a.get(n);if(!c){let u=await(0,xp.getTokenFromGcpServiceAccount)({serviceAccount:Cp,audience:__,payload:i}),l=await(0,xp.exchangeGgpJwtForIdToken)(__,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new VN.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");mc.UpstreamFirebaseAdminAuthInboundPolicy=BN});var w_=g(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var KN=$t(),JN=Kt(),Fn=N(),zN=fp(),Lp=pn(),WN=oi(),QN=qt(),YN="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",ZN=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Dp,XN=s(async(e,t,r,n)=>{if((0,QN.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Fn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(ZN.indexOf(p)!==-1)throw new Fn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Dp||(Dp=await Lp.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new Fn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");o=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Fn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,WN.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new Fn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,KN.getPolicyCacheName)(n,r),c=new JN.MemoryZoneReadThroughCache(a,t),u={uid:o,claims:i},l=await(0,zN.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Lp.getTokenFromGcpServiceAccount)({serviceAccount:Dp,audience:YN,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Lp.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Fn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");yc.UpstreamFirebaseUserAuthInboundPolicy=XN});var T_=g(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.UpstreamGcpJwtInboundPolicy=void 0;var v_=pn(),ex=qt(),Up,tx=s(async(e,t,r,n)=>{(0,ex.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Up||(Up=await v_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,v_.getTokenFromGcpServiceAccount)({serviceAccount:Up,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");gc.UpstreamGcpJwtInboundPolicy=tx});var I_=g(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.UpstreamGcpServiceAuthInboundPolicy=void 0;var rx=$t(),nx=mu(),ix=Kt(),ox=N(),Mp=pn(),sx=qt(),S_="https://www.googleapis.com/oauth2/v4/token",kp,ax=s(async(e,t,r,n)=>{(0,sx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),kp||(kp=await Mp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,rx.getPolicyCacheName)(n,r),o;r.useMemoryCacheOnly?o=new nx.MemoryCache(i):o=new ix.MemoryZoneReadThroughCache(i,t);let a=await o.get(n);if(!a){let c=await(0,Mp.getTokenFromGcpServiceAccount)({serviceAccount:kp,audience:S_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,Mp.exchangeGgpJwtForIdToken)(S_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new ox.RuntimeError("Invalid token response from GCP");a=u,o.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");bc.UpstreamGcpServiceAuthInboundPolicy=ax});var A_=g(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.ValidateJsonSchemaInbound=void 0;var cx=N(),P_=ie(),ux=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return P_.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 cx.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 P_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");_c.ValidateJsonSchemaInbound=ux});var N_=g(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.MeteringInboundPolicy=void 0;var R_=Gs(),O_=yn(),Ec=N(),lx=ie(),dx=Be(),px=W(),hx=s(async(e,t,r,n)=>{let i=dx.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,m)=>{let h=R_.ContextData.get(m,"subscription");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;if(!r.bucketId)if(O_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=O_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ec.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:E,meteringServiceUrl:T}=px.Environment.instance;if(d.ok&&h&&r.meters)try{let S=await fetch(`${T}/internal/v1/metering/${r.bucketId}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${E}`,"zp-rid":m.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});S.ok||(m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${S.status} - ${S.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${S.status} - ${S.statusText}`))}catch(S){m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,S)}});let o=R_.ContextData.get(t,"subscription"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!o){if(a)return e;throw new Ec.ConfigurationError("Subscription is not available for user")}if(o&&Object.keys(o.quotas).length===0)throw new Ec.ConfigurationError("Quota is not set up for the user's subscription");let l=Object.keys(r.meters).filter(d=>!Object.keys(o.quotas).includes(d));if(l.length>0)throw new Ec.ConfigurationError(`The following policy meters are not present in the subscription: ${l.join(", ")}`);for(let d of Object.keys(o.quotas))if(o.quotas[d]<=0&&!c)return lx.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");wc.MeteringInboundPolicy=hx});var L_=g(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.LoadSubscriptionInboundPolicy=void 0;var fx=ti(),mx=Gs(),x_=yn(),yx=N(),Hp=ie(),C_=Be(),gx=W(),bx=s(async(e,t,r,n)=>{let i=C_.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=e.user;if(!a)return o?e:Hp.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(x_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=x_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new yx.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:c,meteringServiceUrl:u}=gx.Environment.instance,{sub:l}=a,d;try{let m=`${r.bucketId}-${l}`,h=new fx.ZoneCache(m,{logger:C_.SystemLogMap.getLogger(t)}),y=await h.get(m);if(y)d=y;else{let E=await fetch(`${u}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${l}&status=active`,{headers:{Authorization:`Bearer ${c}`,"zp-rid":t.requestId},method:"GET"});if(!E.ok)return t.log.error(await E.text()),Hp.HttpProblems.forbidden(e,t);d=await E.json(),h.put(m,d,15).catch(T=>{throw i.error(T),T})}}catch(m){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,m)}if((!d||!d.data||d.data.length===0)&&!o)return Hp.HttpProblems.unauthorized(e,t,{detail:"No valid, active subscription found"});if((!d||!d.data||d.data.length===0)&&o)return e;let p=d&&d.data?d.data[0]:void 0;return mx.ContextData.set(t,"subscription",p),e},"LoadSubscriptionInboundPolicy");vc.LoadSubscriptionInboundPolicy=bx});var D_=g(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.ServiceProviderImpl=void 0;var _x=N(),Fp=class{static{s(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)}};Tc.ServiceProviderImpl=Fp});var B_=g(f=>{"use strict";var Ex=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),qp=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Ex(t,e,r)},wx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CreditsMeteringInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.LoadSubscriptionInboundPolicy=f.MeteringInboundPolicy=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=void 0;vh();var vx=Kt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return vx.MemoryZoneReadThroughCache}});var Tx=ti();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return Tx.ZoneCache}});var U_=Ir();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return U_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return U_.ResponseSentEvent}});var Sx=Gs();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return Sx.ContextData}});var $p=yn();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return $p.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return $p.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return $p.isZuploReadableEnvVariableName}});var Ix=N();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return Ix.ConfigurationError}});var Px=Ad();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return Px.originalFetch}});var M_=Qy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return M_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return M_.purgeGatewayCache}});var k_=hg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return k_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return k_.awsLambdaHandler}});var Ax=mg();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return Ax.openApiSpecHandler}});var Rx=yg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return Rx.redirectHandler}});var Ox=bg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return Ox.urlForwardHandler}});var Nx=Eg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return Nx.urlRewriteHandler}});var xx=vg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return xx.webSocketHandler}});var Cx=Ig();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return Cx.webSocketPipelineHandler}});var Lx=Fu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return Lx.HttpStatusCode}});qp(Lg(),f);qp(Mg(),f);var Dx=kg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return Dx.AuditLogDataStaxProvider}});var Ux=Fg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return Ux.AuditLogPlugin}});qp(Xg(),f);var H_=ib();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return H_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return H_.AmberfloMeteringPolicy}});var Mx=ub();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Mx.ApiAuthKeyInboundPolicy}});var kx=gp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return kx.ApiKeyInboundPolicy}});var Hx=lb();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return Hx.Auth0JwtInboundPolicy}});var Fx=db();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Fx.BasicAuthInboundPolicy}});var qx=pb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return qx.CachingInboundPolicy}});var $x=hb();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return $x.ChangeMethodInboundPolicy}});var jx=fb();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return jx.ClearHeadersInboundPolicy}});var Vx=mb();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Vx.ClearHeadersOutboundPolicy}});var Gx=yb();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return Gx.ClerkJwtInboundPolicy}});var Bx=bb();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Bx.CognitoJwtInboundPolicy}});var Kx=Eb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return Kx.CompositeInboundPolicy}});var Jx=vb();Object.defineProperty(f,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return Jx.CreditsMeteringInboundPolicy}});var zx=Tb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return zx.CurityPhantomTokenInboundPolicy}});var Wx=Sb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return Wx.FirebaseJwtInboundPolicy}});var Qx=Ib();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return Qx.FormDataToJsonInboundPolicy}});var Yx=Pb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Yx.GeoFilterInboundPolicy}});var Zx=Ab();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return Zx.JWTScopeValidationInboundPolicy}});var Xx=Ob();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Xx.MockApiInboundPolicy}});var F_=Db();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return F_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return F_.setMoesifContext}});var eC=Ub();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return eC.OktaJwtInboundPolicy}});var tC=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return tC.OpenIdJwtInboundPolicy}});var rC=Mb();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return rC.PropelAuthJwtInboundPolicy}});var q_=Vb();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return q_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return q_.RateLimitInboundPolicy}});var nC=Jb();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return nC.ReadmeMetricsInboundPolicy}});var iC=zb();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return iC.RemoveHeadersInboundPolicy}});var oC=Wb();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return oC.RemoveHeadersOutboundPolicy}});var sC=Qb();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return sC.RemoveQueryParamsInboundPolicy}});var aC=Yb();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return aC.ReplaceStringOutboundPolicy}});var cC=Xb();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return cC.RequestSizeLimitInboundPolicy}});var $_=i_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return $_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return $_.SchemaBasedRequestValidation}});var uC=o_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return uC.RequireOriginInboundPolicy}});var lC=s_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return lC.SetBodyInboundPolicy}});var dC=c_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return dC.SetHeadersInboundPolicy}});var pC=l_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return pC.SetHeadersOutboundPolicy}});var hC=p_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return hC.SetQueryParamsInboundPolicy}});var fC=h_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return fC.SetStatusOutboundPolicy}});var mC=f_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return mC.SleepInboundPolicy}});var yC=cp();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return yC.StripeWebhookVerificationInboundPolicy}});var gC=y_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return gC.SupabaseJwtInboundPolicy}});var bC=b_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return bC.UpstreamAzureAdServiceAuthInboundPolicy}});var _C=E_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return _C.UpstreamFirebaseAdminAuthInboundPolicy}});var EC=w_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return EC.UpstreamFirebaseUserAuthInboundPolicy}});var wC=T_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return wC.UpstreamGcpJwtInboundPolicy}});var vC=I_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return vC.UpstreamGcpServiceAuthInboundPolicy}});var TC=A_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return TC.ValidateJsonSchemaInbound}});var SC=N_();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return SC.MeteringInboundPolicy}});var IC=L_();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return IC.LoadSubscriptionInboundPolicy}});var PC=ie();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return PC.HttpProblems}});var AC=go();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return AC.ProblemResponseFormatter}});var RC=ke();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return RC.ZuploRequest}});var OC=Ar();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return OC.SystemRouteName}});var j_=bd();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return j_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return j_.Router}});var V_=Nu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return V_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return V_.serialize}});var NC=D_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return NC.ServiceProviderImpl}});var G_=Zu();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return G_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return G_.SYSTEM_LOGGER}});var xC=$u();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return wx(xC).default}});var CC=Be();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return CC.SystemLogMap}});var qi=ec();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return qi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return qi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return qi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return qi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return qi.sanitizedIdentifierName}})});var K_=g(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.BaseCryptoBeta=qn.supportedDigests=void 0;qn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var jp=class{static{s(this,"BaseCryptoBeta")}};qn.BaseCryptoBeta=jp});var J_=g(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.WorkerCryptoBeta=void 0;var Vp=K_(),LC=N(),Gp=class extends Vp.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!Vp.supportedDigests.includes(t.toLowerCase()))throw new LC.RuntimeError(`Algorithm ${t} is not supported. Try using ${Vp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};Sc.WorkerCryptoBeta=Gp});var z_=g(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.BaseKeyValueStore=void 0;var Bp=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Ic.BaseKeyValueStore=Bp});var Q_=g(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.WorkerKeyValueStore=void 0;var W_=N(),DC=z_(),Kp=class extends DC.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new W_.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 W_.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)}};Pc.WorkerKeyValueStore=Kp});var Dt=g(lt=>{"use strict";var UC=lt&<.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),MC=lt&<.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&UC(t,e,r)};Object.defineProperty(lt,"__esModule",{value:!0});lt.KeyValueStore=lt.CryptoBeta=void 0;MC(B_(),lt);var kC=J_();Object.defineProperty(lt,"CryptoBeta",{enumerable:!0,get:function(){return kC.WorkerCryptoBeta}});var HC=Q_();Object.defineProperty(lt,"KeyValueStore",{enumerable:!0,get:function(){return HC.WorkerKeyValueStore}})});var BL={};ro(BL,{GraphQLComplexityLimitInboundPolicy:()=>RE,GraphQLDisableIntrospectionInboundPolicy:()=>NE});module.exports=no(BL);var Zn=bh(Dt());function B(e,t){if(!!!e)throw new Error(t)}s(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}s(Ee,"isObjectLike");function Rt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(Rt,"invariant");var FC=/\r\n|[\n\r]/g;function $n(e,t){let r=0,n=1;for(let i of e.body.matchAll(FC)){if(typeof i.index=="number"||Rt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s($n,"getLocation");function Jp(e){return Ac(e.source,$n(e.source,e.start))}s(Jp,"printLocation");function Ac(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
75
|
-
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let
|
|
76
|
-
`)}s(
|
|
74
|
+
`+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new kr.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}s(wR,"validateComputedSignature");function vR(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}s(vR,"parseHeader");function TR(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}s(TR,"secureCompare");async function Vg(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),o=new Uint8Array(i),a=new Array(o.length);for(let c=0;c<o.length;c++)a[c]=ap[o[c]];return a.join("")}s(Vg,"computeHMACSignatureAsync");xn.computeHMACSignatureAsync=Vg;var ap=new Array(256);for(let e=0;e<ap.length;e++)ap[e]=e.toString(16).padStart(2,"0")});var qt=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.optionValidator=void 0;var Oi=O();function SR(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new Oi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=s((o,a)=>(r(o,a,!0),{optional:n,required:i}),"optional"),i=s((o,a)=>(r(o,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}s(SR,"optionValidator");pa.optionValidator=SR});var cp=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.StripeWebhookVerificationInboundPolicy=void 0;var IR=te(),PR=Gg(),AR=qt(),RR=s(async(e,t,r,n)=>{(0,AR.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let o=await e.clone().text();await(0,PR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),IR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");ha.StripeWebhookVerificationInboundPolicy=RR});var Kg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.isStripeWebhookEvent=void 0;var Bg=st();function OR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,Bg.isString)(e.id)&&"type"in e&&(0,Bg.isString)(e.type)}s(OR,"isStripeWebhookEvent");fa.isStripeWebhookEvent=OR});var Jg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.MeteringPlugin=void 0;var NR=gt(),up=class extends NR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};ma.MeteringPlugin=up});var Wg=g(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});var zg=O(),xR={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving subscription from Stripe API.";throw r.error(o,i),new zg.RuntimeError(o)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving customer from Stripe API.";throw r.error(o,i),new zg.RuntimeError(o)}}};lp.default=xR});var Xg=g(Ni=>{"use strict";var CR=Ni&&Ni.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ni,"__esModule",{value:!0});var yr=O(),dp=te(),Qg=He(),Yg=W(),Zg=pn(),LR=CR(Wg()),DR=st();async function UR(e,t,r,n){let i=r.data?.object?.subscription;if(!i)throw new yr.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data?.object?.client_reference_id,a=r.data?.object?.customer_email;if(!o)throw new yr.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.client_reference_id' to be the customer sub.");if(!a)throw new yr.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer_email' to be the customer email.");let c=await LR.default.getSubscription({logger:t.log,stripeSecretKey:n.stripeSecretKey,subscriptionId:i}),u=c.id,l=c.customer,d=c.items?.data.find(E=>E.object==="subscription_item");if(!d||!d.id)throw new yr.RuntimeError("Invalid Stripe API result. Expected subscription to contain at least one subscription_item.");let p=d.plan;if(!p||!p.product)throw new yr.RuntimeError("Invalid Stripe API result. Expected subscription_item to have a plan.");let f=p.product,h=await kR({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:f,stripeSubscriptionId:u,stripeCustomerId:l,managerEmail:a,managerSub:o,context:t});if(!h)return dp.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});let y="routes.oas.json";try{await MR({context:t,stripeProductId:f,stripeSubscriptionId:u,customerKey:h,productKey:y,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:l})}catch(E){return dp.HttpProblems.internalServerError(e,t,{detail:E.message})}return dp.HttpProblems.ok(e,t)}s(UR,"onCheckoutSessionCompleted");Ni.default=UR;async function kR({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:o,context:a}){let{authApiJWT:c}=Yg.Environment.instance,u="https://api-key-management-service-eq7z4lly2a-ue.a.run.app",l=new URL(`/v1/buckets/${e}/consumers`,u);l.searchParams.set("with-api-key","true");let d=crypto.randomUUID(),p={name:d,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:o,email:i}]},f=await(0,Zg.fetchRetry)({retryDelayMs:5,retries:2,logger:Qg.SystemLogMap.getLogger(a)},l.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(p)}),h=await f.json();if(f.status!==200){let y="Error creating API Key Consumer";throw a.log.error(y,h),new yr.RuntimeError(y)}return a.log.info("Successfully created API Key Consumer",{consumerId:d,stripeSubscriptionId:t,stripeProductId:r}),d}s(kR,"createConsumer");async function MR({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,productKey:i,meteringBucketId:o,meteringBucketRegion:a,customerExternalId:c}){let u={status:"active",type:"periodic",renewalStrategy:"monthly",region:a,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,productKey:i,customerExternalId:c},{authApiJWT:l,meteringServiceUrl:d}=Yg.Environment.instance;if(!(0,DR.isNonEmptyString)(l))throw new yr.SystemError("No Zuplo JWT token set.");let p=await(0,Zg.fetchRetry)({retryDelayMs:5,retries:2,logger:Qg.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${o}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let f="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw e.log.error(f,h),new yr.RuntimeError(f)}e.log.info("Successfully created/updated metering subscription.",u)}s(MR,"saveSubscription")});var nb=g(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});var pp=O(),eb=te(),tb=He(),HR=W(),rb=pn(),FR=st();async function qR(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:o}=HR.Environment.instance;if(!(0,FR.isNonEmptyString)(i))throw new pp.SystemError("No Zuplo JWT token set.");let a=r.data.object.id,c=await(0,rb.fetchRetry)({retryDelayMs:5,retries:2,logger:tb.SystemLogMap.getLogger(t)},`${o}/internal/v1/metering/${n.meteringBucketId}/subscriptions`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":t.requestId},method:"GET"});if(!c.ok){let p="Error querying for metering subscription.",f;try{f=await c.json()}catch{f={status:c.status,statusText:c.statusText}}throw t.log.error(p,f),new pp.RuntimeError(p)}let l=(await c.json()).data.filter(p=>p.subscriptionExternalId&&p.subscriptionExternalId===a);if(l.length===0)return eb.HttpProblems.ok(e,t,{detail:"Subscription was not found and the event was ignored by Stripe metering plugin webhook."});let d=await(0,rb.fetchRetry)({retryDelayMs:5,retries:2,logger:tb.SystemLogMap.getLogger(t)},`${o}/internal/v1/metering/${n.meteringBucketId}/subscriptions/${l[0].id}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"PATCH",body:JSON.stringify({status:"canceled"})});if(!d.ok){let p="Error canceling metering subscription.",f;try{f=await d.json()}catch{f={status:d.status,statusText:d.statusText}}throw t.log.error(p,f),new pp.RuntimeError(p)}return t.log.info("Successfully canceled metering subscription."),eb.HttpProblems.ok(e,t)}s(qR,"onCustomerSubscriptionDeleted");hp.default=qR});var sb=g(Cn=>{"use strict";var ob=Cn&&Cn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.StripeMeteringPlugin=void 0;var ya=gn(),ga=O(),$R=Lt(),jR=cp(),ib=te(),VR=Qt(),GR=zr(),BR=Hu(),KR=ot(),JR=W(),zR=Kg(),WR=Jg(),QR=ob(Xg()),YR=ob(nb()),fp=class extends WR.MeteringPlugin{static{s(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=s(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(ya.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=ya.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new ga.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(ya.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=ya.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new ga.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!JR.Environment.instance.build.ACCOUNT_NAME)throw new ga.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!ZR(p))throw new ga.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let f=await c.json();if(!(0,zR.isStripeWebhookEvent)(f))return ib.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${f.type}' with ID '${f.id}'.`),f.type){case"checkout.session.completed":return await(0,QR.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,YR.default)(c,u,f,{meteringBucketId:l});default:return ib.HttpProblems.ok(c,u,{detail:"Event was ignored by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,GR.createInternalPolicyProcessor)({inboundPolicies:[{handler:jR.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new $R.Pipeline({processors:[VR.metricsProcessor,i],handler:n,gateway:r}),a=new KR.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:BR.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};Cn.StripeMeteringPlugin=fp;function ZR(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(ZR,"isMetricsRegion")});var db=g(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.AmberfloMeteringInboundPolicy=Ln.AmberfloMeteringPolicy=void 0;var ab=O(),XR=ve(),cb=si(),lb=new WeakMap,ub={},mp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){lb.set(t,r)}};Ln.AmberfloMeteringPolicy=mp;async function e0(e,t,r,n){if(!r.statusCodes)throw new ab.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,cb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async o=>{if(i.includes(o.status)){let a=lb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new ab.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,cb.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},f=ub[r.apiKey];if(!f){let h=r.apiKey,y=e.headers.get("zm-test-id")??"";f=new XR.BatchDispatch("amberflo-ingest-meter",10,async E=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(E),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":y}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),ub[h]=f}f.enqueue(p),t.waitUntil(f.waitUntilFlushed())}}),e}s(e0,"AmberfloMeteringInboundPolicy");Ln.AmberfloMeteringInboundPolicy=e0});var yp=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.sha256=void 0;async function t0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}s(t0,"sha256");ba.sha256=t0});var $t=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.getPolicyCacheName=void 0;var r0=yp(),pb=new Map;async function n0(e,t){let r,n=pb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,r0.sha256)(JSON.stringify({policyName:e,options:t}))}`,pb.set(e,r)),r}s(n0,"getPolicyCacheName");_a.getPolicyCacheName=n0});var _p=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.ApiKeyInboundPolicy=void 0;var i0=$t(),o0=Kt(),hb=gn(),gp=O(),s0=Dt(),fb=He(),bp=W(),a0=pn(),mb="key-metadata-cache-type";function c0(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(c0,"getKeyValue");async function u0(e,t,r,n){if(!r.bucketName)if(hb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=hb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new gp.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 gp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(T=>i.allowUnauthenticatedRequests?e:s0.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return o("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return o("Invalid Authorization Scheme");let c=c0(a,i);if(!c||c==="")return o("No key present");let u=await l0(c),l=await(0,i0.getPolicyCacheName)(n,i),d=new o0.MemoryZoneReadThroughCache(l,t),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==mb&&fb.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let f={key:c},h=await(0,a0.fetchRetry)({retryDelayMs:5,retries:2,logger:fb.SystemLogMap.getLogger(t)},`${bp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":bp.Environment.instance.deploymentName??"unknown","User-Agent":bp.Environment.instance.systemUserAgent},body:JSON.stringify(f)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),o("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);t.log.error("Unexpected response from key service",S)}catch{t.log.error("Invalid response from key service")}throw new gp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let y=await h.json(),E={isValid:!0,typeId:mb,user:{sub:y.name,data:y.metadata}};return e.user=E.user,d.put(u,E,i.cacheTtlSeconds),e}s(u0,"ApiKeyInboundPolicy");Ea.ApiKeyInboundPolicy=u0;async function l0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(l0,"hashValue")});var yb=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.ApiAuthKeyInboundPolicy=void 0;var d0=_p();wa.ApiAuthKeyInboundPolicy=d0.ApiKeyInboundPolicy});var jt=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.OpenIdJwtInboundPolicy=void 0;var wp=(Is(),no(Ss)),vp=O(),p0=te(),Ep={},h0=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new vp.ConfigurationError("Invalid State - jwkUrl not set");Ep[t.jwkUrl]||(Ep[t.jwkUrl]=(0,wp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,wp.jwtVerify)(e,Ep[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),f0=s(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let o=new TextEncoder().encode(t.secret);r=new Uint8Array(o)}else r=t.secret;let{payload:n}=await(0,wp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),m0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(f=>p0.HttpProblems.unauthorized(e,t,{detail:f}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new vp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new vp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?h0:f0,l=await s(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(o)!==0)return a("Invalid bearer token format for authorization header");let f=i.substring(o.length);if(!f||f.length===0)return a("No bearer token on authorization header");try{return await c(f,r)}catch(h){let y=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${y.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${y.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");va.OpenIdJwtInboundPolicy=m0});var gb=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.Auth0JwtInboundPolicy=void 0;var y0=jt(),g0=s(async(e,t,r,n)=>(0,y0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Ta.Auth0JwtInboundPolicy=g0});var bb=g(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.BasicAuthInboundPolicy=void 0;var b0=te(),_0=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>b0.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await s(async()=>{if(!n)return await o("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await o("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await o("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await o("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let f=d.substring(0,p),h=d.substring(p+1),y=r.accounts.find(E=>E.username===f&&E.password===h);return y||await o("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");Sa.BasicAuthInboundPolicy=_0});var _b=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.CachingInboundPolicy=void 0;var E0=$t(),w0=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function v0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(v0,"digestMessage");var T0=s(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await v0(JSON.stringify(n)),o=new URL(e.url),a=new URLSearchParams(o.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${o.origin}${o.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function S0(e,t,r,n){let i=await(0,E0.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await T0(e,r),u=await o.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let f=r?.expirationSecondsTtl??60,h=new Response(p.body,p);w0.forEach(y=>h.headers.delete(y)),h.headers.set("cache-control",`s-maxage=${f}`),t.waitUntil(o.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}s(S0,"CachingInboundPolicy");Ia.CachingInboundPolicy=S0});var Eb=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ChangeMethodInboundPolicy=void 0;var I0=O(),P0=Me(),A0=s(async(e,t,r,n)=>{if(!r.method)throw new I0.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new P0.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Pa.ChangeMethodInboundPolicy=A0});var wb=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.ClearHeadersInboundPolicy=void 0;var R0=Me(),O0=s(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new R0.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Aa.ClearHeadersInboundPolicy=O0});var vb=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.ClearHeadersOutboundPolicy=void 0;var N0=s(async(e,t,r,n)=>{let i=[...n.exclude??[]],o=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&o.set(c,u)}),new Response(e.body,{headers:o,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");Ra.ClearHeadersOutboundPolicy=N0});var Tb=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ClerkJwtInboundPolicy=void 0;var x0=jt(),C0=s(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),o=new URL(i);return o.pathname="/.well-known/jwks.json",(0,x0.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Oa.ClerkJwtInboundPolicy=C0});var Ib=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.CognitoJwtInboundPolicy=void 0;var Sb=O(),L0=jt(),D0=s(async(e,t,r,n)=>{if(!r.userPoolId)throw new Sb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Sb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,L0.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");Na.CognitoJwtInboundPolicy=D0});var Ab=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.CompositeInboundPolicy=void 0;var U0=O(),k0=yn(),Pb=zr(),M0=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new U0.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=k0.Gateway.instance,o=(0,Pb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Pb.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");xa.CompositeInboundPolicy=M0});var Ob=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.CreditsMeteringInboundPolicy=void 0;var xi=te(),Rb=W(),H0=s(async(e,t,r)=>{let n=e.user;if(!n)return xi.HttpProblems.unauthorized(e,t,{title:"Unable to check subscription for anonymous user",detail:"No user data on request"});let{sub:i}=n;if(!r.bucketId)return xi.HttpProblems.unauthorized(e,t,{title:"Metering bucket not configured",detail:"Specify one using the bucketId option on the policy"});let o=r.bucketId,a=await F0(o,i,t);if(!a)return xi.HttpProblems.unauthorized(e,t,{title:"No valid, active subscription found"});if(!a.quotas)return xi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});for(let c of Object.keys(a.quotas))if(a.quotas[c]<=0)return xi.HttpProblems.forbidden(e,t,{title:"Insufficient credits"});return t.custom.subscription=a,t.addResponseSendingFinalHook(async()=>{let c=t.custom.meters,u={};for(let l of Object.keys(c))u[l]=c[l];await q0(o,a.id,u,t)}),e},"CreditsMeteringInboundPolicy");Ca.CreditsMeteringInboundPolicy=H0;async function F0(e,t,r){let{authApiJWT:n,meteringServiceUrl:i}=Rb.Environment.instance,o=new URL(`${i}/internal/v1/metering/${e}/subscriptions`);o.search=new URLSearchParams({customerKey:t,status:"active"}).toString();let a=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${n}`,"zp-rid":r.requestId}});if(!a.ok)throw new Error(`Error retrieving subscriptions for credits metering ': ${a.status} - ${await a.text()}`);let c=await a.json();if(c.data.length!==0)return c.data.length>1&&r.log.warn(`Found more than one active subscription for customer ${t} -- using the first one.`),c.data[0]}s(F0,"getSubscription");async function q0(e,t,r,n){let{authApiJWT:i,meteringServiceUrl:o}=Rb.Environment.instance,a=new URL(`${o}/internal/v1/metering/${e}/subscriptions/${t}/quotas/consume`),c=await fetch(a,{method:"POST",body:JSON.stringify({meters:r}),headers:{Authorization:`Bearer ${i}`,"zp-rid":n.requestId}});c.ok||n.log.error(`Error consuming subscription quotas for credits metering ': ${c.status} - ${await c.text()}`)}s(q0,"consumeSubscription")});var Nb=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.CurityPhantomTokenInboundPolicy=void 0;var $0=$t(),j0=Kt(),La=te(),V0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return La.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=G0(i);if(!o)return La.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,$0.getPolicyCacheName)(n,r),c=new j0.MemoryZoneReadThroughCache(a,t),u=await c.get(o);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+o+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(o,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),La.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):La.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Da.CurityPhantomTokenInboundPolicy=V0;function G0(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(G0,"getToken")});var xb=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.FirebaseJwtInboundPolicy=void 0;var B0=qt(),K0=jt(),J0=s(async(e,t,r,n)=>((0,B0.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,K0.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");Ua.FirebaseJwtInboundPolicy=J0});var Cb=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.FormDataToJsonInboundPolicy=void 0;var z0=Me(),W0=s(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",o=e.headers.get("content-type")?.toLowerCase();if(!o||![i,n].includes(o))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new z0.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");ka.FormDataToJsonInboundPolicy=W0});var Lb=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.GeoFilterInboundPolicy=void 0;var Q0=O(),Y0=te(),Dn="__unknown__",Z0=s(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},o=t.incomingRequestProperties.country?.toLowerCase()??Dn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Dn,c=t.incomingRequestProperties.asn?.toString()??Dn,u=i.ignoreUnknown&&o===Dn,l=i.ignoreUnknown&&a===Dn,d=i.ignoreUnknown&&c===Dn,p=i.allow.countries,f=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(o)&&!u||f.length>0&&!f.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Un(e,t,n,o,a,c);let y=i.block.countries,E=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(o)&&!u||E.length>0&&E.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Un(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");Ma.GeoFilterInboundPolicy=Z0;function Un(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),Y0.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(Un,"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 Q0.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s(kn,"toLowerStringArray")});var Db=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.JWTScopeValidationInboundPolicy=void 0;var X0=s(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!s((o,a)=>a.every(c=>o.includes(c)),"scopeChecker")(n,r.scopes)){let o={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(o),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Ha.JWTScopeValidationInboundPolicy=X0});var kb=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.MockApiInboundPolicy=void 0;var eO=te(),tO=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Tp(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let o=Object.keys(i),a=[];if(o.length===0)return Tp(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(o.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(f=>{a.push({responseName:c,contentName:l,exampleName:f,exampleValue:d[f]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return Ub(a[c])}else return a.length>0?Ub(a[0]):Tp(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");Fa.MockApiInboundPolicy=tO;function Ub(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}s(Ub,"generateResponse");var Tp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return eO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var $b=g(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.MoesifInboundPolicy=Mn.setMoesifContext=void 0;var rO=O(),nO=ve(),iO="Incoming",oO={logRequestBody:!0,logResponseBody:!0};function Mb(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(Mb,"headersToObject");function Hb(){return new Date().toISOString()}s(Hb,"timestamp");var Sp=new WeakMap,sO={};function aO(e,t){let r=Sp.get(e);r||(r=sO);let n=Object.assign({...r},t);Sp.set(e,n)}s(aO,"setMoesifContext");Mn.setMoesifContext=aO;async function Fb(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}s(Fb,"readBody");var cO={},Ip;function qb(){if(!Ip)throw new rO.RuntimeError("Invalid State - no _lastLogger");return Ip}s(qb,"getLastLogger");function uO(e){let t=cO[e];return t||(t=new nO.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);qb().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||qb().error({status:i.status,body:await i.text()})})),t}s(uO,"getDispatcher");async function lO(e,t,r,n){Ip=t.log;let i=Hb(),o=Object.assign(oO,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await Fb(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=uO(o.applicationId),d=e.headers.get("true-client-ip"),p=Sp.get(t)??{},f={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Mb(e.headers)},h=o.logResponseBody?await Fb(c,t):void 0,y={time:Hb(),status:c.status,headers:Mb(c.headers),body:h},E={request:f,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:iO};l.enqueue(E),t.waitUntil(l.waitUntilFlushed())}),e}s(lO,"MoesifInboundPolicy");Mn.MoesifInboundPolicy=lO});var jb=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.OktaJwtInboundPolicy=void 0;var dO=jt(),pO=s(async(e,t,r,n)=>(0,dO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");qa.OktaJwtInboundPolicy=pO});var Vb=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.PropelAuthJwtInboundPolicy=void 0;var hO=(Is(),no(Ss)),fO=jt(),Pp,mO=s(async(e,t,r,n)=>{if(!Pp)try{Pp=await(0,hO.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,fO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Pp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");$a.PropelAuthJwtInboundPolicy=mO});var Gb=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var je=st(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var Ci=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Ci;var Li=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=Li;function yO(e,t){if((0,je.isUndefined)(e))throw new Ci(t)}s(yO,"throwIfUndefined");G.throwIfUndefined=yO;function Ap(e,t){if((0,je.isUndefinedOrNull)(e))throw new Ci(t)}s(Ap,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Ap;function gO(e,t){if(Ap(e,t),!(0,je.isString)(e))throw new Li(t,"string")}s(gO,"throwIfNotString");G.throwIfNotString=gO;function bO(e,t){if(Ap(e,t),!(0,je.isNumber)(e))throw new Li(t,"number")}s(bO,"throwIfNotNumber");G.throwIfNotNumber=bO;var Di=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=Di;var Hn=class extends et{static{s(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=Hn;function _O(e,t,r,n){if((0,je.isUndefined)(n))throw new Di(e,t,r)}s(_O,"throwIfOptionUndefined");G.throwIfOptionUndefined=_O;function ja(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Di(e,t,r)}s(ja,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=ja;function EO(e,t,r,n){if(ja(e,t,r,n),!(0,je.isString)(n))throw new Hn(e,t,r,"string")}s(EO,"throwIfOptionNotString");G.throwIfOptionNotString=EO;function wO(e,t,r,n){if(ja(e,t,r,n),!(0,je.isNumber)(n))throw new Hn(e,t,r,"number")}s(wO,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=wO;function vO(e,t,r,n){if(ja(e,t,r,n),!(0,je.isObject)(n))throw new Hn(e,t,r,"object")}s(vO,"throwIfOptionNotObject");G.throwIfOptionNotObject=vO;function TO(e,t){if((0,je.isUndefined)(e))throw new et(t)}s(TO,"throwIfStateUndefined");G.throwIfStateUndefined=TO;function Va(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(Va,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Va;function SO(e,t){if(Va(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(SO,"throwIfStateNotString");G.throwIfStateNotString=SO;function IO(e,t){if(Va(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(IO,"throwIfStateNotNumber");G.throwIfStateNotNumber=IO;function PO(e,t){if(Va(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(PO,"throwIfStateNotObject");G.throwIfStateNotObject=PO});var Bb=g(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.InMemoryRedisClient=Fn.StandardRedisClient=void 0;var Rp=O(),Ga=Gb(),Op=class e{static{s(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,Ga.throwIfNotString)(t,"redisClientUrl"),(0,Ga.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,Ga.throwIfNotString)(t,"url");let o=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=o.headers.get("Content-Type")?.includes("application/json")?await o.json():await o.text();if(o.ok)return a;throw o.status===401?new Rp.SystemError("Redis client failed with 401: Unauthorized"):new Rp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Fn.StandardRedisClient=Op;var Np=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Ga.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:o,key:a}=JSON.parse(r),c=Date.now()+o*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Rp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Fn.InMemoryRedisClient=Np});var Qb=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.RateLimitInboundPolicy=void 0;var AO=Sr(),RO=$t(),OO=ri(),At=O(),NO=te(),Kb=He(),Ui=W(),Jb=Bb(),zb=st(),Ba=(0,AO.debug)("zuplo:policies:RateLimitInboundPolicy"),xO="strict",CO=s(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),LO=s(async e=>({key:`ip-${CO(e)}`}),"getIP"),DO=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),UO=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ka;function kO(e,t){let r;if(Ka)return Ka;if(Ui.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Jb.InMemoryRedisClient,Ka=r,r;let{authApiJWT:n,redisURL:i}=Ui.Environment.instance;if(!(0,zb.isString)(i))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,zb.isString)(n))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Jb.StandardRedisClient.initialize(i,n,Ui.Environment.instance.deploymentName??"unknown",Ui.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new At.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ka=r,r}s(kO,"getRedisClient");async function Wb(e,t,r,n,i){let o=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:o,key:e}),requestId:i})}s(Wb,"getCountAndUpdateExpiry");function MO(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return s(async(i,o,a)=>{let c=await r(i,o,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw o.log.error(u),new At.RuntimeError(u)}return c},"outerFunction")}s(MO,"wrapUserFunction");var HO="Retry-After",FO=s(async(e,t,r,n)=>{let i=Date.now(),o=Kb.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new At.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[HO]=l.toString()),NO.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:MO(r,n),user:DO,ip:LO,all:UO}[r.rateLimitBy],d=await l(e,t,n),p=d.key,f=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",E=kO(n,o),S=`bucket/${Ui.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??xO)==="async"){let L=await(0,RO.getPolicyCacheName)(n,r),ne=new OO.ZoneCache(L,{logger:Kb.SystemLogMap.getLogger(t)}),ie=Wb(S,h,E,o,t.requestId),me=await ne.get(S);if(me!==void 0&&me<=Date.now()){Ba(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(y,Be)}return t.addEventListener("responseSending",Be=>{try{let w=Be,H=w.mutableResponse;w.mutableResponse=(async()=>{let Ce=await ie;if(Ce.count>f){let cu=Date.now()+Ce.ttlSeconds*1e3,HE=ne.put(S,cu,Ce.ttlSeconds).catch(bh=>{throw o.error(new At.SystemError("Error caching rate limit result.",{cause:bh})),bh});return t.waitUntil(HE),Ba(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(y,Ce.ttlSeconds)}return H})()}catch(w){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let j=await Wb(S,h,E,o,t.requestId);return j.count>f?(Ba(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(y,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Ba(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Ja.RateLimitInboundPolicy=FO});var e_=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.ReadmeMetricsInboundPolicy=void 0;var qO=ve(),xp=W(),Yb=si(),Cp;function Zb(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(Zb,"headersToNameValuePairs");function $O(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s($O,"queryToNameValueParis");function jO(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(jO,"parseIntOrUndefined");var Xb={};async function VO(e,t,r,n){let i=new Date,o=Date.now();return Cp||(Cp={name:"zuplo",version:xp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${xp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,Yb.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,Yb.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:xp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Cp,entries:[{startedDateTime:i.toISOString(),time:Date.now()-o,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:Zb(e.headers),queryString:$O(e.query)},response:{status:a.status,statusText:a.statusText,headers:Zb(a.headers),content:{size:jO(e.headers.get("content-length"))}}}]}}},d=Xb[r.apiKey];if(!d){let p=r.apiKey;d=new qO.BatchDispatch("readme-metering-inbound-policy",10,async f=>{try{let h=r.url??"https://metrics.readme.io/request",y=await fetch(h,{method:"POST",body:JSON.stringify(f),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),Xb[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(VO,"ReadmeMetricsInboundPolicy");za.ReadmeMetricsInboundPolicy=VO});var t_=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.RemoveHeadersInboundPolicy=void 0;var GO=O(),BO=Me(),KO=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new GO.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let o=new Headers(e.headers);return i.forEach(c=>{o.delete(c)}),new BO.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");Wa.RemoveHeadersInboundPolicy=KO});var r_=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.RemoveHeadersOutboundPolicy=void 0;var JO=O(),zO=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new JO.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return o.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Qa.RemoveHeadersOutboundPolicy=zO});var n_=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.RemoveQueryParamsInboundPolicy=void 0;var WO=O(),QO=Me(),YO=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new WO.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let o=new URL(e.url);return i.forEach(c=>{o.searchParams.delete(c)}),new QO.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");Ya.RemoveQueryParamsInboundPolicy=YO});var i_=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.ReplaceStringOutboundPolicy=void 0;var ZO=s(async(e,t,r,n)=>{let i=await e.text(),o=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(o,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Za.ReplaceStringOutboundPolicy=ZO});var s_=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.RequestSizeLimitInboundPolicy=void 0;var o_=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),XO=s(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),o=i!==null?parseInt(i):void 0;return o&&!isNaN(o)&&o>r.maxSizeInBytes?o_():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?o_():e},"RequestSizeLimitInboundPolicy");Xa.RequestSizeLimitInboundPolicy=XO});var ec=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function eN(e,t,r){return`_${Mr(e+"_"+t+"_"+r)}`}s(eN,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=eN;function tN(e,t,r,n){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(tN,"getIdForParameterSchema");tt.getIdForParameterSchema=tN;function rN(e,t,r){return`_${Mr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Mr(r.toLowerCase())}`}s(rN,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=rN;function nN(e,t){return`_${Mr(e)}__${Mr(t)}`}s(nN,"getIdForRefSchema");tt.getIdForRefSchema=nN;function Mr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}s(Mr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Mr});var ki=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var iN=yn(),oN=ec(),sN=s(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=sN;var aN=s((e,t,r,n,i)=>{let o=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,o.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,oN.getIdForParameterSchema)(r,n,i,u.name),p=iN.Gateway.instance.schemaValidator[d],f=p(t[u.name]),h=(0,Le.getErrorsFromValidator)(p.errors);f||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),o.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:o}},"validateParameters");Le.validateParameters=aN;var cN=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=cN;var uN=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=uN;var lN=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=lN;var dN=s(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=dN});var a_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.handleBodyValidation=void 0;var pN=yn(),tc=te(),hN=ec(),Je=ki();async function fN(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let y=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,E=tc.HttpProblems.badRequest(t,e,{detail:`${y}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",y,[n],h),(0,Je.shouldReject)(r.validateBody))return E}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,y=tc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,hN.getIdForRequestBodySchema)(e.route.path,t.method,i),c=pN.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,y=tc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),f=tc.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return f}s(fN,"handleBodyValidation");rc.handleBodyValidation=fN});var c_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.handleHeadersValidation=void 0;var mN=te(),Mi=ki();function yN(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Mi.getParametersForOperation)(e),o=(0,Mi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=mN.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,Mi.shouldLog)(r.validateHeaders)&&(0,Mi.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,Mi.shouldReject)(r.validateHeaders))return c}}s(yN,"handleHeadersValidation");nc.handleHeadersValidation=yN});var u_=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.handlePathParameterValidation=void 0;var gN=te(),Hi=ki();function bN(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Hi.getParametersForOperation)(e),i=(0,Hi.validateParameters)(n.filter(o=>o.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let o="Path parameters validation failed",a=gN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Hi.shouldLog)(r.validatePathParameters)&&(0,Hi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Hi.shouldReject)(r.validatePathParameters))return a}}s(bN,"handlePathParameterValidation");ic.handlePathParameterValidation=bN});var l_=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.handleQueryParameterValidation=void 0;var _N=te(),Fi=ki();function EN(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Fi.getParametersForOperation)(e),i=(0,Fi.validateParameters)(n.filter(o=>o.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let o="Query parameters validation failed",a=_N.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Fi.shouldLog)(r.validateQueryParameters)&&(0,Fi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Fi.shouldReject)(r.validateQueryParameters))return a}}s(EN,"handleQueryParameterValidation");oc.handleQueryParameterValidation=EN});var d_=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy=void 0;var wN=a_(),vN=c_(),TN=u_(),SN=l_(),IN=s(async(e,t,r)=>{let n=(0,SN.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,TN.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,vN.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,wN.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Hr.RequestValidationInboundPolicy=IN;Hr.SchemaBasedRequestValidation=Hr.RequestValidationInboundPolicy});var p_=g(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.RequireOriginInboundPolicy=void 0;var PN=O(),AN=te(),RN=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new PN.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let o=e.headers.get("origin");if(!o||!i.includes(o)){let a=r.failureDetail??"Forbidden";return AN.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");sc.RequireOriginInboundPolicy=RN});var h_=g(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.SetBodyInboundPolicy=void 0;var ON=Me(),NN=s(async(e,t,r)=>new ON.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");ac.SetBodyInboundPolicy=NN});var m_=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.SetHeadersInboundPolicy=void 0;var f_=O(),xN=Me(),CN=s(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new f_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let o=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new f_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.has(c.name)||u)&&o.set(c.name,c.value)}),new xN.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");cc.SetHeadersInboundPolicy=CN});var g_=g(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.SetHeadersOutboundPolicy=void 0;var y_=O(),LN=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new y_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return o.forEach(u=>{if(!u.name||u.name.length===0)throw new y_.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");uc.SetHeadersOutboundPolicy=LN});var __=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.SetQueryParamsInboundPolicy=void 0;var b_=O(),DN=Me(),UN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new b_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let o=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new b_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.searchParams.has(c.name)||u)&&o.searchParams.set(c.name,c.value)}),new DN.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");lc.SetQueryParamsInboundPolicy=UN});var E_=g(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.SetStatusOutboundPolicy=void 0;var kN=s(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");dc.SetStatusOutboundPolicy=kN});var w_=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.SleepInboundPolicy=void 0;var MN=O(),HN=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),FN=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new MN.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await HN(r.sleepInMs),e},"SleepInboundPolicy");pc.SleepInboundPolicy=FN});var T_=g(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.SupabaseJwtInboundPolicy=void 0;var v_=O(),qN=te(),$N=Me(),jN=qt(),VN=jt(),GN=s(async(e,t,r,n)=>{(0,jN.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,VN.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof $N.ZuploRequest))throw new v_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return o;let c=e.user?.data.app_metadata;if(!c)throw new v_.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?qN.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");hc.SupabaseJwtInboundPolicy=GN});var I_=g(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var BN=$t(),KN=Kt(),S_=O(),JN=pn(),zN=qt(),WN=s(async(e,t,r,n)=>{(0,zN.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,BN.getPolicyCacheName)(n,r),o=new KN.MemoryZoneReadThroughCache(i,t),a=await o.get(n);if(!a){let c=await QN(r,t);o.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");fc.UpstreamAzureAdServiceAuthInboundPolicy=WN;async function QN(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,JN.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let o=await n.text();t.log.error("Could not get token from Azure AD",o)}catch{}throw new S_.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new S_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(QN,"getAccessToken")});var A_=g(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var YN=$t(),ZN=Kt(),XN=O(),Lp=hn(),ex=qt(),P_="https://accounts.google.com/o/oauth2/token",Dp,tx=s(async(e,t,r,n)=>{(0,ex.optionValidator)(r,n).required("serviceAccountJson","string"),Dp||(Dp=await Lp.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},o=await(0,YN.getPolicyCacheName)(n,r),a=new ZN.MemoryZoneReadThroughCache(o,t),c=await a.get(n);if(!c){let u=await(0,Lp.getTokenFromGcpServiceAccount)({serviceAccount:Dp,audience:P_,payload:i}),l=await(0,Lp.exchangeGgpJwtForIdToken)(P_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new XN.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");mc.UpstreamFirebaseAdminAuthInboundPolicy=tx});var R_=g(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var rx=$t(),nx=Kt(),qn=O(),ix=yp(),Up=hn(),ox=si(),sx=qt(),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"],kp,ux=s(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 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(cx.indexOf(p)!==-1)throw new qn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}kp||(kp=await Up.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new qn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");o=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new qn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,ox.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new qn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,rx.getPolicyCacheName)(n,r),c=new nx.MemoryZoneReadThroughCache(a,t),u={uid:o,claims:i},l=await(0,ix.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Up.getTokenFromGcpServiceAccount)({serviceAccount:kp,audience:ax,payload:u}),f=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Up.exchangeFirebaseJwtForIdToken)(f,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new qn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");yc.UpstreamFirebaseUserAuthInboundPolicy=ux});var N_=g(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.UpstreamGcpJwtInboundPolicy=void 0;var O_=hn(),lx=qt(),Mp,dx=s(async(e,t,r,n)=>{(0,lx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Mp||(Mp=await O_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,O_.getTokenFromGcpServiceAccount)({serviceAccount:Mp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");gc.UpstreamGcpJwtInboundPolicy=dx});var C_=g(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.UpstreamGcpServiceAuthInboundPolicy=void 0;var px=$t(),hx=mu(),fx=Kt(),mx=O(),Hp=hn(),yx=qt(),x_="https://www.googleapis.com/oauth2/v4/token",Fp,gx=s(async(e,t,r,n)=>{(0,yx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Fp||(Fp=await Hp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,px.getPolicyCacheName)(n,r),o;r.useMemoryCacheOnly?o=new hx.MemoryCache(i):o=new fx.MemoryZoneReadThroughCache(i,t);let a=await o.get(n);if(!a){let c=await(0,Hp.getTokenFromGcpServiceAccount)({serviceAccount:Fp,audience:x_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,Hp.exchangeGgpJwtForIdToken)(x_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new mx.RuntimeError("Invalid token response from GCP");a=u,o.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");bc.UpstreamGcpServiceAuthInboundPolicy=gx});var D_=g(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.ValidateJsonSchemaInbound=void 0;var bx=O(),L_=te(),_x=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return L_.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 L_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");_c.ValidateJsonSchemaInbound=_x});var M_=g(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.MeteringInboundPolicy=void 0;var U_=Gs(),k_=gn(),Ec=O(),Ex=te(),wx=He(),vx=W(),Tx=s(async(e,t,r,n)=>{let i=wx.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,f)=>{let h=U_.ContextData.get(f,"subscription");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;if(!r.bucketId)if(k_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=k_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ec.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:E,meteringServiceUrl:T}=vx.Environment.instance;if(d.ok&&h&&r.meters)try{let S=await fetch(`${T}/internal/v1/metering/${r.bucketId}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${E}`,"zp-rid":f.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});S.ok||(f.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${S.status} - ${S.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${S.status} - ${S.statusText}`))}catch(S){f.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,S)}});let o=U_.ContextData.get(t,"subscription"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!o){if(a)return e;throw new Ec.ConfigurationError("Subscription is not available for user")}if(o&&Object.keys(o.quotas).length===0)throw new Ec.ConfigurationError("Quota is not set up for the user's subscription");let l=Object.keys(r.meters).filter(d=>!Object.keys(o.quotas).includes(d));if(l.length>0)throw new Ec.ConfigurationError(`The following policy meters are not present in the subscription: ${l.join(", ")}`);for(let d of Object.keys(o.quotas))if(o.quotas[d]<=0&&!c)return Ex.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");wc.MeteringInboundPolicy=Tx});var q_=g(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.LoadSubscriptionInboundPolicy=void 0;var Sx=ri(),Ix=Gs(),H_=gn(),Px=O(),qp=te(),F_=He(),Ax=W(),Rx=s(async(e,t,r,n)=>{let i=F_.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=e.user;if(!a)return o?e:qp.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(H_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=H_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Px.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:c,meteringServiceUrl:u}=Ax.Environment.instance,{sub:l}=a,d;try{let f=`${r.bucketId}-${l}`,h=new Sx.ZoneCache(f,{logger:F_.SystemLogMap.getLogger(t)}),y=await h.get(f);if(y)d=y;else{let E=await fetch(`${u}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${l}&status=active`,{headers:{Authorization:`Bearer ${c}`,"zp-rid":t.requestId},method:"GET"});if(!E.ok)return t.log.error(await E.text()),qp.HttpProblems.forbidden(e,t);d=await E.json(),h.put(f,d,15).catch(T=>{throw i.error(T),T})}}catch(f){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,f)}if((!d||!d.data||d.data.length===0)&&!o)return qp.HttpProblems.unauthorized(e,t,{detail:"No valid, active subscription found"});if((!d||!d.data||d.data.length===0)&&o)return e;let p=d&&d.data?d.data[0]:void 0;return Ix.ContextData.set(t,"subscription",p),e},"LoadSubscriptionInboundPolicy");vc.LoadSubscriptionInboundPolicy=Rx});var $_=g(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.ServiceProviderImpl=void 0;var Ox=O(),$p=class{static{s(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new Ox.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)}};Tc.ServiceProviderImpl=$p});var Z_=g(m=>{"use strict";var Nx=m&&m.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),jp=m&&m.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Nx(t,e,r)},xx=m&&m.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(m,"__esModule",{value:!0});m.RateLimitInboundPolicy=m.BasicRateLimitInboundPolicy=m.PropelAuthJwtInboundPolicy=m.OpenIdJwtInboundPolicy=m.OktaJwtInboundPolicy=m.setMoesifContext=m.MoesifInboundPolicy=m.MockApiInboundPolicy=m.JWTScopeValidationInboundPolicy=m.GeoFilterInboundPolicy=m.FormDataToJsonInboundPolicy=m.FirebaseJwtInboundPolicy=m.CurityPhantomTokenInboundPolicy=m.CreditsMeteringInboundPolicy=m.CompositeInboundPolicy=m.CognitoJwtInboundPolicy=m.ClerkJwtInboundPolicy=m.ClearHeadersOutboundPolicy=m.ClearHeadersInboundPolicy=m.ChangeMethodInboundPolicy=m.CachingInboundPolicy=m.BasicAuthInboundPolicy=m.Auth0JwtInboundPolicy=m.ApiKeyInboundPolicy=m.ApiAuthKeyInboundPolicy=m.AmberfloMeteringPolicy=m.AmberfloMeteringInboundPolicy=m.AuditLogPlugin=m.AuditLogDataStaxProvider=m.HttpStatusCode=m.webSocketPipelineHandler=m.webSocketHandler=m.urlRewriteHandler=m.urlForwardHandler=m.redirectHandler=m.openApiSpecHandler=m.awsLambdaHandler=m.AwsLambdaHandlerExtensions=m.purgeGatewayCache=m.Handler=m.originalFetch=m.ConfigurationError=m.isZuploReadableEnvVariableName=m.isRestrictedEnvVariableName=m.environment=m.ContextData=m.ResponseSentEvent=m.ResponseSendingEvent=m.ZoneCache=m.MemoryZoneReadThroughCache=void 0;m.sanitizedIdentifierName=m.getRawOperationDataIdentifierName=m.getIdForRequestBodySchema=m.getIdForRefSchema=m.getIdForParameterSchema=m.SystemLogMap=m.httpStatuses=m.SYSTEM_LOGGER=m.API_KEY=m.ServiceProviderImpl=m.serialize=m.ContentTypes=m.Router=m.LookupResult=m.SystemRouteName=m.ZuploRequest=m.ProblemResponseFormatter=m.HttpProblems=m.LoadSubscriptionInboundPolicy=m.MeteringInboundPolicy=m.ValidateJsonSchemaInbound=m.UpstreamGcpServiceAuthInboundPolicy=m.UpstreamGcpJwtInboundPolicy=m.UpstreamFirebaseUserAuthInboundPolicy=m.UpstreamFirebaseAdminAuthInboundPolicy=m.UpstreamAzureAdServiceAuthInboundPolicy=m.SupabaseJwtInboundPolicy=m.StripeWebhookVerificationInboundPolicy=m.SleepInboundPolicy=m.SetStatusOutboundPolicy=m.SetQueryParamsInboundPolicy=m.SetHeadersOutboundPolicy=m.SetHeadersInboundPolicy=m.SetBodyInboundPolicy=m.RequireOriginInboundPolicy=m.SchemaBasedRequestValidation=m.RequestValidationInboundPolicy=m.RequestSizeLimitInboundPolicy=m.ReplaceStringOutboundPolicy=m.RemoveQueryParamsInboundPolicy=m.RemoveHeadersOutboundPolicy=m.RemoveHeadersInboundPolicy=m.ReadmeMetricsInboundPolicy=void 0;Sh();var Cx=Kt();Object.defineProperty(m,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return Cx.MemoryZoneReadThroughCache}});var Lx=ri();Object.defineProperty(m,"ZoneCache",{enumerable:!0,get:function(){return Lx.ZoneCache}});var j_=Ir();Object.defineProperty(m,"ResponseSendingEvent",{enumerable:!0,get:function(){return j_.ResponseSendingEvent}});Object.defineProperty(m,"ResponseSentEvent",{enumerable:!0,get:function(){return j_.ResponseSentEvent}});var Dx=Gs();Object.defineProperty(m,"ContextData",{enumerable:!0,get:function(){return Dx.ContextData}});var Vp=gn();Object.defineProperty(m,"environment",{enumerable:!0,get:function(){return Vp.environment}});Object.defineProperty(m,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Vp.isRestrictedEnvVariableName}});Object.defineProperty(m,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Vp.isZuploReadableEnvVariableName}});var Ux=O();Object.defineProperty(m,"ConfigurationError",{enumerable:!0,get:function(){return Ux.ConfigurationError}});var kx=Ad();Object.defineProperty(m,"originalFetch",{enumerable:!0,get:function(){return kx.originalFetch}});var V_=Zy();Object.defineProperty(m,"Handler",{enumerable:!0,get:function(){return V_.Handler}});Object.defineProperty(m,"purgeGatewayCache",{enumerable:!0,get:function(){return V_.purgeGatewayCache}});var G_=mg();Object.defineProperty(m,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return G_.AwsLambdaHandlerExtensions}});Object.defineProperty(m,"awsLambdaHandler",{enumerable:!0,get:function(){return G_.awsLambdaHandler}});var Mx=gg();Object.defineProperty(m,"openApiSpecHandler",{enumerable:!0,get:function(){return Mx.openApiSpecHandler}});var Hx=bg();Object.defineProperty(m,"redirectHandler",{enumerable:!0,get:function(){return Hx.redirectHandler}});var Fx=Eg();Object.defineProperty(m,"urlForwardHandler",{enumerable:!0,get:function(){return Fx.urlForwardHandler}});var qx=vg();Object.defineProperty(m,"urlRewriteHandler",{enumerable:!0,get:function(){return qx.urlRewriteHandler}});var $x=Sg();Object.defineProperty(m,"webSocketHandler",{enumerable:!0,get:function(){return $x.webSocketHandler}});var jx=Ag();Object.defineProperty(m,"webSocketPipelineHandler",{enumerable:!0,get:function(){return jx.webSocketPipelineHandler}});var Vx=Fu();Object.defineProperty(m,"HttpStatusCode",{enumerable:!0,get:function(){return Vx.HttpStatusCode}});jp(Ug(),m);jp(Hg(),m);var Gx=Fg();Object.defineProperty(m,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return Gx.AuditLogDataStaxProvider}});var Bx=$g();Object.defineProperty(m,"AuditLogPlugin",{enumerable:!0,get:function(){return Bx.AuditLogPlugin}});jp(sb(),m);var B_=db();Object.defineProperty(m,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return B_.AmberfloMeteringInboundPolicy}});Object.defineProperty(m,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return B_.AmberfloMeteringPolicy}});var Kx=yb();Object.defineProperty(m,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Kx.ApiAuthKeyInboundPolicy}});var Jx=_p();Object.defineProperty(m,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return Jx.ApiKeyInboundPolicy}});var zx=gb();Object.defineProperty(m,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return zx.Auth0JwtInboundPolicy}});var Wx=bb();Object.defineProperty(m,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Wx.BasicAuthInboundPolicy}});var Qx=_b();Object.defineProperty(m,"CachingInboundPolicy",{enumerable:!0,get:function(){return Qx.CachingInboundPolicy}});var Yx=Eb();Object.defineProperty(m,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return Yx.ChangeMethodInboundPolicy}});var Zx=wb();Object.defineProperty(m,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return Zx.ClearHeadersInboundPolicy}});var Xx=vb();Object.defineProperty(m,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Xx.ClearHeadersOutboundPolicy}});var eC=Tb();Object.defineProperty(m,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return eC.ClerkJwtInboundPolicy}});var tC=Ib();Object.defineProperty(m,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return tC.CognitoJwtInboundPolicy}});var rC=Ab();Object.defineProperty(m,"CompositeInboundPolicy",{enumerable:!0,get:function(){return rC.CompositeInboundPolicy}});var nC=Ob();Object.defineProperty(m,"CreditsMeteringInboundPolicy",{enumerable:!0,get:function(){return nC.CreditsMeteringInboundPolicy}});var iC=Nb();Object.defineProperty(m,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return iC.CurityPhantomTokenInboundPolicy}});var oC=xb();Object.defineProperty(m,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return oC.FirebaseJwtInboundPolicy}});var sC=Cb();Object.defineProperty(m,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return sC.FormDataToJsonInboundPolicy}});var aC=Lb();Object.defineProperty(m,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return aC.GeoFilterInboundPolicy}});var cC=Db();Object.defineProperty(m,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return cC.JWTScopeValidationInboundPolicy}});var uC=kb();Object.defineProperty(m,"MockApiInboundPolicy",{enumerable:!0,get:function(){return uC.MockApiInboundPolicy}});var K_=$b();Object.defineProperty(m,"MoesifInboundPolicy",{enumerable:!0,get:function(){return K_.MoesifInboundPolicy}});Object.defineProperty(m,"setMoesifContext",{enumerable:!0,get:function(){return K_.setMoesifContext}});var lC=jb();Object.defineProperty(m,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return lC.OktaJwtInboundPolicy}});var dC=jt();Object.defineProperty(m,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return dC.OpenIdJwtInboundPolicy}});var pC=Vb();Object.defineProperty(m,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return pC.PropelAuthJwtInboundPolicy}});var J_=Qb();Object.defineProperty(m,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return J_.RateLimitInboundPolicy}});Object.defineProperty(m,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return J_.RateLimitInboundPolicy}});var hC=e_();Object.defineProperty(m,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return hC.ReadmeMetricsInboundPolicy}});var fC=t_();Object.defineProperty(m,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return fC.RemoveHeadersInboundPolicy}});var mC=r_();Object.defineProperty(m,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return mC.RemoveHeadersOutboundPolicy}});var yC=n_();Object.defineProperty(m,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return yC.RemoveQueryParamsInboundPolicy}});var gC=i_();Object.defineProperty(m,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return gC.ReplaceStringOutboundPolicy}});var bC=s_();Object.defineProperty(m,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return bC.RequestSizeLimitInboundPolicy}});var z_=d_();Object.defineProperty(m,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return z_.RequestValidationInboundPolicy}});Object.defineProperty(m,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return z_.SchemaBasedRequestValidation}});var _C=p_();Object.defineProperty(m,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return _C.RequireOriginInboundPolicy}});var EC=h_();Object.defineProperty(m,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return EC.SetBodyInboundPolicy}});var wC=m_();Object.defineProperty(m,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return wC.SetHeadersInboundPolicy}});var vC=g_();Object.defineProperty(m,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return vC.SetHeadersOutboundPolicy}});var TC=__();Object.defineProperty(m,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return TC.SetQueryParamsInboundPolicy}});var SC=E_();Object.defineProperty(m,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return SC.SetStatusOutboundPolicy}});var IC=w_();Object.defineProperty(m,"SleepInboundPolicy",{enumerable:!0,get:function(){return IC.SleepInboundPolicy}});var PC=cp();Object.defineProperty(m,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return PC.StripeWebhookVerificationInboundPolicy}});var AC=T_();Object.defineProperty(m,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return AC.SupabaseJwtInboundPolicy}});var RC=I_();Object.defineProperty(m,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return RC.UpstreamAzureAdServiceAuthInboundPolicy}});var OC=A_();Object.defineProperty(m,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return OC.UpstreamFirebaseAdminAuthInboundPolicy}});var NC=R_();Object.defineProperty(m,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return NC.UpstreamFirebaseUserAuthInboundPolicy}});var xC=N_();Object.defineProperty(m,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return xC.UpstreamGcpJwtInboundPolicy}});var CC=C_();Object.defineProperty(m,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return CC.UpstreamGcpServiceAuthInboundPolicy}});var LC=D_();Object.defineProperty(m,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return LC.ValidateJsonSchemaInbound}});var DC=M_();Object.defineProperty(m,"MeteringInboundPolicy",{enumerable:!0,get:function(){return DC.MeteringInboundPolicy}});var UC=q_();Object.defineProperty(m,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return UC.LoadSubscriptionInboundPolicy}});var kC=te();Object.defineProperty(m,"HttpProblems",{enumerable:!0,get:function(){return kC.HttpProblems}});var MC=go();Object.defineProperty(m,"ProblemResponseFormatter",{enumerable:!0,get:function(){return MC.ProblemResponseFormatter}});var HC=Me();Object.defineProperty(m,"ZuploRequest",{enumerable:!0,get:function(){return HC.ZuploRequest}});var FC=Ar();Object.defineProperty(m,"SystemRouteName",{enumerable:!0,get:function(){return FC.SystemRouteName}});var W_=bd();Object.defineProperty(m,"LookupResult",{enumerable:!0,get:function(){return W_.LookupResult}});Object.defineProperty(m,"Router",{enumerable:!0,get:function(){return W_.Router}});var Q_=Nu();Object.defineProperty(m,"ContentTypes",{enumerable:!0,get:function(){return Q_.ContentTypes}});Object.defineProperty(m,"serialize",{enumerable:!0,get:function(){return Q_.serialize}});var qC=$_();Object.defineProperty(m,"ServiceProviderImpl",{enumerable:!0,get:function(){return qC.ServiceProviderImpl}});var Y_=Zu();Object.defineProperty(m,"API_KEY",{enumerable:!0,get:function(){return Y_.API_KEY}});Object.defineProperty(m,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return Y_.SYSTEM_LOGGER}});var $C=$u();Object.defineProperty(m,"httpStatuses",{enumerable:!0,get:function(){return xx($C).default}});var jC=He();Object.defineProperty(m,"SystemLogMap",{enumerable:!0,get:function(){return jC.SystemLogMap}});var qi=ec();Object.defineProperty(m,"getIdForParameterSchema",{enumerable:!0,get:function(){return qi.getIdForParameterSchema}});Object.defineProperty(m,"getIdForRefSchema",{enumerable:!0,get:function(){return qi.getIdForRefSchema}});Object.defineProperty(m,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return qi.getIdForRequestBodySchema}});Object.defineProperty(m,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return qi.getRawOperationDataIdentifierName}});Object.defineProperty(m,"sanitizedIdentifierName",{enumerable:!0,get:function(){return qi.sanitizedIdentifierName}})});var X_=g($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.BaseCryptoBeta=$n.supportedDigests=void 0;$n.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Gp=class{static{s(this,"BaseCryptoBeta")}};$n.BaseCryptoBeta=Gp});var eE=g(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.WorkerCryptoBeta=void 0;var Bp=X_(),VC=O(),Kp=class extends Bp.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!Bp.supportedDigests.includes(t.toLowerCase()))throw new VC.RuntimeError(`Algorithm ${t} is not supported. Try using ${Bp.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("")}};Sc.WorkerCryptoBeta=Kp});var tE=g(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.BaseKeyValueStore=void 0;var Jp=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Ic.BaseKeyValueStore=Jp});var nE=g(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.WorkerKeyValueStore=void 0;var rE=O(),GC=tE(),zp=class extends GC.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new rE.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 rE.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)}};Pc.WorkerKeyValueStore=zp});var Dt=g(dt=>{"use strict";var BC=dt&&dt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),KC=dt&&dt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&BC(t,e,r)};Object.defineProperty(dt,"__esModule",{value:!0});dt.KeyValueStore=dt.CryptoBeta=void 0;KC(Z_(),dt);var JC=eE();Object.defineProperty(dt,"CryptoBeta",{enumerable:!0,get:function(){return JC.WorkerCryptoBeta}});var zC=nE();Object.defineProperty(dt,"KeyValueStore",{enumerable:!0,get:function(){return zC.WorkerKeyValueStore}})});var tD={};ro(tD,{GraphQLComplexityLimitInboundPolicy:()=>UE,GraphQLDisableIntrospectionInboundPolicy:()=>ME});module.exports=no(tD);var Xn=Eh(Dt());function B(e,t){if(!!!e)throw new Error(t)}s(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}s(Ee,"isObjectLike");function Rt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(Rt,"invariant");var WC=/\r\n|[\n\r]/g;function jn(e,t){let r=0,n=1;for(let i of e.body.matchAll(WC)){if(typeof i.index=="number"||Rt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s(jn,"getLocation");function Wp(e){return Ac(e.source,jn(e.source,e.start))}s(Wp,"printLocation");function Ac(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
75
|
+
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let f=Math.floor(u/80),h=u%80,y=[];for(let E=0;E<p.length;E+=80)y.push(p.slice(E,E+80));return l+iE([[`${a} |`,y[0]],...y.slice(1,f+1).map(E=>["|",E]),["|","^".padStart(h)],["|",y[f+1]]])}return l+iE([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}s(Ac,"printSourceLocation");function iE(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
|
|
76
|
+
`)}s(iE,"printPrefixedLines");function QC(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}s(QC,"toNormalizedOptions");var C=class e extends Error{static{s(this,"GraphQLError")}constructor(t,...r){var n,i,o;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=QC(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=oE(Array.isArray(a)?a:a?[a]:void 0);let f=oE((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=c??(f==null||(i=f[0])===null||i===void 0?void 0:i.source),this.positions=u??f?.map(y=>y.start),this.locations=u&&c?u.map(y=>jn(c,y)):f?.map(y=>jn(y.source,y.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(o=p??h)!==null&&o!==void 0?o:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
|
|
77
77
|
|
|
78
|
-
`+
|
|
78
|
+
`+Wp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
|
|
79
79
|
|
|
80
|
-
`+Ac(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function
|
|
80
|
+
`+Ac(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function oE(e){return e===void 0||e.length===0?void 0:e}s(oE,"undefinedIfEmpty");function de(e,t,r){return new C(`Syntax Error: ${r}`,{source:e,positions:[t]})}s(de,"syntaxError");var $i=class{static{s(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},Vn=class{static{s(this,"Token")}constructor(t,r,n,i,o,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=o,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Qp={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"]},YC=new Set(Object.keys(Qp));function ji(e){let t=e?.kind;return typeof t=="string"&&YC.has(t)}s(ji,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var K;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var b;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(b||(b={}));function Rc(e){return e===9||e===32}s(Rc,"isWhiteSpace");function Gn(e){return e>=48&&e<=57}s(Gn,"isDigit");function sE(e){return e>=97&&e<=122||e>=65&&e<=90}s(sE,"isLetter");function Vi(e){return sE(e)||e===95}s(Vi,"isNameStart");function Oc(e){return sE(e)||Gn(e)||e===95}s(Oc,"isNameContinue");function aE(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var o;let c=e[a],u=ZC(c);u!==c.length&&(n=(o=n)!==null&&o!==void 0?o:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}s(aE,"dedentBlockStringLines");function ZC(e){let t=0;for(;t<e.length&&Rc(e.charCodeAt(t));)++t;return t}s(ZC,"leadingWhitespace");function cE(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,o=n.length>1&&n.slice(1).every(h=>h.length===0||Rc(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||o||a),p="",f=i&&Rc(e.charCodeAt(0));return(d&&!f||o)&&(p+=`
|
|
81
81
|
`),p+=r,(d||l)&&(p+=`
|
|
82
|
-
`),'"""'+p+'"""'}s(
|
|
83
|
-
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}s(
|
|
84
|
-
`));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34&&r.charCodeAt(o+3)===34){c+=r.slice(a,o),a=o+1,o+=4;continue}if(l===10||l===13){c+=r.slice(a,o),u.push(c),l===13&&r.charCodeAt(o+1)===10?o+=2:++o,c="",a=o,i=o;continue}if(
|
|
82
|
+
`),'"""'+p+'"""'}s(cE,"printBlockString");var _;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(_||(_={}));var Bi=class{static{s(this,"Lexer")}constructor(t){let r=new Vn(_.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==_.EOF)do if(t.next)t=t.next;else{let r=XC(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===_.COMMENT);return t}};function lE(e){return e===_.BANG||e===_.DOLLAR||e===_.AMP||e===_.PAREN_L||e===_.PAREN_R||e===_.SPREAD||e===_.COLON||e===_.EQUALS||e===_.AT||e===_.BRACKET_L||e===_.BRACKET_R||e===_.BRACE_L||e===_.PIPE||e===_.BRACE_R}s(lE,"isPunctuatorTokenKind");function Bn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}s(Bn,"isUnicodeScalarValue");function Nc(e,t){return dE(e.charCodeAt(t))&&pE(e.charCodeAt(t+1))}s(Nc,"isSupplementaryCodePoint");function dE(e){return e>=55296&&e<=56319}s(dE,"isLeadingSurrogate");function pE(e){return e>=56320&&e<=57343}s(pE,"isTrailingSurrogate");function Fr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return _.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}s(Fr,"printCodePointAt");function fe(e,t,r,n,i){let o=e.line,a=1+r-e.lineStart;return new Vn(t,r,n,o,a,i)}s(fe,"createToken");function XC(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let o=r.charCodeAt(i);switch(o){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return eL(e,i);case 33:return fe(e,_.BANG,i,i+1);case 36:return fe(e,_.DOLLAR,i,i+1);case 38:return fe(e,_.AMP,i,i+1);case 40:return fe(e,_.PAREN_L,i,i+1);case 41:return fe(e,_.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,_.SPREAD,i,i+3);break;case 58:return fe(e,_.COLON,i,i+1);case 61:return fe(e,_.EQUALS,i,i+1);case 64:return fe(e,_.AT,i,i+1);case 91:return fe(e,_.BRACKET_L,i,i+1);case 93:return fe(e,_.BRACKET_R,i,i+1);case 123:return fe(e,_.BRACE_L,i,i+1);case 124:return fe(e,_.PIPE,i,i+1);case 125:return fe(e,_.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?sL(e,i):rL(e,i)}if(Gn(o)||o===45)return tL(e,i,o);if(Vi(o))return aL(e,i);throw de(e.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Bn(o)||Nc(r,i)?`Unexpected character: ${Fr(e,i)}.`:`Invalid character: ${Fr(e,i)}.`)}return fe(e,_.EOF,n,n)}s(XC,"readNextToken");function eL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(o===10||o===13)break;if(Bn(o))++i;else if(Nc(r,i))i+=2;else break}return fe(e,_.COMMENT,t,i,r.slice(t+1,i))}s(eL,"readComment");function tL(e,t,r){let n=e.source.body,i=t,o=r,a=!1;if(o===45&&(o=n.charCodeAt(++i)),o===48){if(o=n.charCodeAt(++i),Gn(o))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${Fr(e,i)}.`)}else i=Yp(e,i,o),o=n.charCodeAt(i);if(o===46&&(a=!0,o=n.charCodeAt(++i),i=Yp(e,i,o),o=n.charCodeAt(i)),(o===69||o===101)&&(a=!0,o=n.charCodeAt(++i),(o===43||o===45)&&(o=n.charCodeAt(++i)),i=Yp(e,i,o),o=n.charCodeAt(i)),o===46||Vi(o))throw de(e.source,i,`Invalid number, expected digit but got: ${Fr(e,i)}.`);return fe(e,a?_.FLOAT:_.INT,t,i,n.slice(t,i))}s(tL,"readNumber");function Yp(e,t,r){if(!Gn(r))throw de(e.source,t,`Invalid number, expected digit but got: ${Fr(e,t)}.`);let n=e.source.body,i=t+1;for(;Gn(n.charCodeAt(i));)++i;return i}s(Yp,"readDigits");function rL(e,t){let r=e.source.body,n=r.length,i=t+1,o=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(o,i),fe(e,_.STRING,t,i+1,a);if(c===92){a+=r.slice(o,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?nL(e,i):iL(e,i):oL(e,i);a+=u.value,i+=u.size,o=i;continue}if(c===10||c===13)break;if(Bn(c))++i;else if(Nc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${Fr(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}s(rL,"readString");function nL(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let o=r.charCodeAt(t+i++);if(o===125){if(i<5||!Bn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Gi(o),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}s(nL,"readEscapedUnicodeVariableWidth");function iL(e,t){let r=e.source.body,n=uE(r,t+2);if(Bn(n))return{value:String.fromCodePoint(n),size:6};if(dE(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=uE(r,t+8);if(pE(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}s(iL,"readEscapedUnicodeFixedWidth");function uE(e,t){return Gi(e.charCodeAt(t))<<12|Gi(e.charCodeAt(t+1))<<8|Gi(e.charCodeAt(t+2))<<4|Gi(e.charCodeAt(t+3))}s(uE,"read16BitHexCode");function Gi(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}s(Gi,"readHexDigit");function oL(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
|
|
83
|
+
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}s(oL,"readEscapedCharacter");function sL(e,t){let r=e.source.body,n=r.length,i=e.lineStart,o=t+3,a=o,c="",u=[];for(;o<n;){let l=r.charCodeAt(o);if(l===34&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34){c+=r.slice(a,o),u.push(c);let d=fe(e,_.BLOCK_STRING,t,o+3,aE(u).join(`
|
|
84
|
+
`));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34&&r.charCodeAt(o+3)===34){c+=r.slice(a,o),a=o+1,o+=4;continue}if(l===10||l===13){c+=r.slice(a,o),u.push(c),l===13&&r.charCodeAt(o+1)===10?o+=2:++o,c="",a=o,i=o;continue}if(Bn(l))++o;else if(Nc(r,o))o+=2;else throw de(e.source,o,`Invalid character within String: ${Fr(e,o)}.`)}throw de(e.source,o,"Unterminated string.")}s(sL,"readBlockString");function aL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(Oc(o))++i;else break}return fe(e,_.NAME,t,i,r.slice(t,i))}s(aL,"readName");function P(e){return xc(e,[])}s(P,"inspect");function xc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return cL(e,t);default:return String(e)}}s(xc,"formatValue");function cL(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(uL(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:xc(n,r)}else if(Array.isArray(e))return dL(e,r);return lL(e,r)}s(cL,"formatObjectValue");function uL(e){return typeof e.toJSON=="function"}s(uL,"isJSONable");function lL(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+pL(e)+"]":"{ "+r.map(([i,o])=>i+": "+xc(o,t)).join(", ")+" }"}s(lL,"formatObject");function dL(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let o=0;o<r;++o)i.push(xc(e[o],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}s(dL,"formatArray");function pL(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}s(pL,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?s(function(t,r){return t instanceof r},"instanceOf"):s(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],o=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===o){let a=P(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
|
|
85
85
|
|
|
86
86
|
Ensure that there is only one instance of "graphql" in the node_modules
|
|
87
87
|
directory. If different versions of "graphql" are the dependencies of other
|
|
@@ -92,36 +92,36 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
|
|
|
92
92
|
Duplicate "graphql" modules cannot be used at the same time since different
|
|
93
93
|
versions may have different capabilities and behavior. The data from one
|
|
94
94
|
version used in the function from another could produce confusing and
|
|
95
|
-
spurious results.`)}}return!1},"instanceOf");var Bn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function sE(e){return ze(e,Bn)}s(sE,"isSource");function Dc(e,t){return new Lc(e,t).parseDocument()}s(Dc,"parse");function Uc(e,t){let r=new Lc(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}s(Uc,"parseValue");var Lc=class{static{s(this,"Parser")}constructor(t,r={}){let n=sE(t)?t:new Bn(t);this._lexer=new Bi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(_.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(_.SOF,this.parseDefinition,_.EOF)})}parseDefinition(){if(this.peek(_.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===_.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(_.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(_.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(_.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(_.PAREN_L,this.parseVariableDefinition,_.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(_.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(_.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(_.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(_.BRACE_L,this.parseSelection,_.BRACE_R)})}parseSelection(){return this.peek(_.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(_.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(_.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(_.PAREN_L,r,_.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(_.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(_.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case _.BRACKET_L:return this.parseList(t);case _.BRACE_L:return this.parseObject(t);case _.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case _.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case _.STRING:case _.BLOCK_STRING:return this.parseStringLiteral();case _.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case _.DOLLAR:if(t)if(this.expectToken(_.DOLLAR),this._lexer.token.kind===_.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===_.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(_.BRACKET_L,r,_.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(_.BRACE_L,r,_.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(_.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(_.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(_.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(_.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(_.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(_.STRING)||this.peek(_.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(_.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(_.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseFieldDefinition,_.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(_.COLON);let o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(_.PAREN_L,this.parseInputValueDef,_.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(_.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(_.EQUALS)&&(o=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(_.EQUALS)?this.delimitedMany(_.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(_.BRACE_L,this.parseEnumValueDefinition,_.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${Cc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseInputValueDef,_.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===_.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(_.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(_.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new $i(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${aE(t)}, found ${Cc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===_.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${Cc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===_.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${Cc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==_.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Cc(e){let t=e.value;return aE(e.kind)+(t!=null?` "${t}"`:"")}s(Cc,"getTokenDesc");function aE(e){return nE(e)?`"${e}"`:e}s(aE,"getTokenKindDesc");function Mc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let o=n.map(u=>`"${u}"`);switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}let a=o.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}s(Mc,"didYouMean");function Qp(e){return e}s(Qp,"identityFunc");function Kn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Kn,"keyMap");function Ot(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Ot,"keyValMap");function Ki(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(Ki,"mapValue");function cE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if(kc(i)&&kc(o)){let a=0;do++r,a=a*10+i-Yp,i=e.charCodeAt(r);while(kc(i)&&a>0);let c=0;do++n,c=c*10+o-Yp,o=t.charCodeAt(n);while(kc(o)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<o)return-1;if(i>o)return 1;++r,++n}}return e.length-t.length}s(cE,"naturalCompare");var Yp=48,nL=57;function kc(e){return!isNaN(e)&&Yp<=e&&e<=nL}s(kc,"isDigit");function Hc(e,t){let r=Object.create(null),n=new Zp(e),i=Math.floor(e.length*.4)+1;for(let o of t){let a=n.measure(o,i);a!==void 0&&(r[o]=a)}return Object.keys(r).sort((o,a)=>{let c=r[o]-r[a];return c!==0?c:cE(o,a)})}s(Hc,"suggestionList");var Zp=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=uE(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=uE(n),o=this._inputArray;if(i.length<o.length){let d=i;i=o,o=d}let a=i.length,c=o.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],h=m[0]=d;for(let y=1;y<=c;y++){let E=i[d-1]===o[y-1]?0:1,T=Math.min(p[y]+1,m[y-1]+1,p[y-1]+E);if(d>1&&y>1&&i[d-1]===o[y-2]&&i[d-2]===o[y-1]){let S=u[(d-2)%3][y-2];T=Math.min(T,S+1)}T<h&&(h=T),m[y]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function uE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(uE,"stringToArray");function De(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}s(De,"toObjMap");function lE(e){return`"${e.replace(iL,oL)}"`}s(lE,"printString");var iL=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function oL(e){return sL[e.charCodeAt(0)]}s(oL,"escapedReplacer");var sL=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var Xp=Object.freeze({});function gr(e,t,r=zp){let n=new Map;for(let S of Object.values(b))n.set(S,Jn(t,S));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let S=c===a.length,k=S&&u.length!==0;if(S){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),k)if(o){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,o=i.inArray,i=i.prev}else if(p){if(d=o?c:a[c],l=p[d],l==null)continue;m.push(d)}let j;if(!Array.isArray(l)){var y,E;ji(l)||B(!1,`Invalid AST Node: ${P(l)}.`);let L=S?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(E=n.get(l.kind))===null||E===void 0?void 0:E.enter;if(j=L?.call(t,l,d,p,m,h),j===Xp)break;if(j===!1){if(!S){m.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(ji(j))l=j;else{m.pop();continue}}if(j===void 0&&k&&u.push([d,l]),S)m.pop();else{var T;i={inArray:o,index:c,keys:a,edits:u,prev:i},o=Array.isArray(l),a=o?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}s(gr,"visit");function Jn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}s(Jn,"getEnterLeaveForKind");function Ue(e){return gr(e,cL)}s(Ue,"print");var aL=80,cL={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
|
|
95
|
+
spurious results.`)}}return!1},"instanceOf");var Kn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function hE(e){return ze(e,Kn)}s(hE,"isSource");function Dc(e,t){return new Lc(e,t).parseDocument()}s(Dc,"parse");function Uc(e,t){let r=new Lc(e,t);r.expectToken(_.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(_.EOF),n}s(Uc,"parseValue");var Lc=class{static{s(this,"Parser")}constructor(t,r={}){let n=hE(t)?t:new Kn(t);this._lexer=new Bi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(_.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(_.SOF,this.parseDefinition,_.EOF)})}parseDefinition(){if(this.peek(_.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===_.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(_.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(_.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(_.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(_.PAREN_L,this.parseVariableDefinition,_.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(_.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(_.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(_.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(_.BRACE_L,this.parseSelection,_.BRACE_R)})}parseSelection(){return this.peek(_.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(_.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(_.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(_.PAREN_L,r,_.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(_.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(_.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case _.BRACKET_L:return this.parseList(t);case _.BRACE_L:return this.parseObject(t);case _.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case _.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case _.STRING:case _.BLOCK_STRING:return this.parseStringLiteral();case _.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case _.DOLLAR:if(t)if(this.expectToken(_.DOLLAR),this._lexer.token.kind===_.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===_.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(_.BRACKET_L,r,_.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(_.BRACE_L,r,_.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(_.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(_.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(_.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(_.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(_.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(_.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(_.STRING)||this.peek(_.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(_.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(_.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseFieldDefinition,_.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(_.COLON);let o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(_.PAREN_L,this.parseInputValueDef,_.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(_.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(_.EQUALS)&&(o=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(_.EQUALS)?this.delimitedMany(_.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(_.BRACE_L,this.parseEnumValueDefinition,_.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${Cc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(_.BRACE_L,this.parseInputValueDef,_.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===_.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(_.BRACE_L,this.parseOperationTypeDefinition,_.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(_.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(_.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new $i(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${fE(t)}, found ${Cc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===_.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${Cc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===_.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${Cc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==_.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Cc(e){let t=e.value;return fE(e.kind)+(t!=null?` "${t}"`:"")}s(Cc,"getTokenDesc");function fE(e){return lE(e)?`"${e}"`:e}s(fE,"getTokenKindDesc");function kc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let o=n.map(u=>`"${u}"`);switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}let a=o.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}s(kc,"didYouMean");function Zp(e){return e}s(Zp,"identityFunc");function Jn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Jn,"keyMap");function Ot(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Ot,"keyValMap");function Ki(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(Ki,"mapValue");function mE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if(Mc(i)&&Mc(o)){let a=0;do++r,a=a*10+i-Xp,i=e.charCodeAt(r);while(Mc(i)&&a>0);let c=0;do++n,c=c*10+o-Xp,o=t.charCodeAt(n);while(Mc(o)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<o)return-1;if(i>o)return 1;++r,++n}}return e.length-t.length}s(mE,"naturalCompare");var Xp=48,hL=57;function Mc(e){return!isNaN(e)&&Xp<=e&&e<=hL}s(Mc,"isDigit");function Hc(e,t){let r=Object.create(null),n=new eh(e),i=Math.floor(e.length*.4)+1;for(let o of t){let a=n.measure(o,i);a!==void 0&&(r[o]=a)}return Object.keys(r).sort((o,a)=>{let c=r[o]-r[a];return c!==0?c:mE(o,a)})}s(Hc,"suggestionList");var eh=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=yE(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=yE(n),o=this._inputArray;if(i.length<o.length){let d=i;i=o,o=d}let a=i.length,c=o.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],f=u[d%3],h=f[0]=d;for(let y=1;y<=c;y++){let E=i[d-1]===o[y-1]?0:1,T=Math.min(p[y]+1,f[y-1]+1,p[y-1]+E);if(d>1&&y>1&&i[d-1]===o[y-2]&&i[d-2]===o[y-1]){let S=u[(d-2)%3][y-2];T=Math.min(T,S+1)}T<h&&(h=T),f[y]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function yE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(yE,"stringToArray");function De(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}s(De,"toObjMap");function gE(e){return`"${e.replace(fL,mL)}"`}s(gE,"printString");var fL=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function mL(e){return yL[e.charCodeAt(0)]}s(mL,"escapedReplacer");var yL=["\\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 th=Object.freeze({});function gr(e,t,r=Qp){let n=new Map;for(let S of Object.values(b))n.set(S,zn(t,S));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,f=[],h=[];do{c++;let S=c===a.length,M=S&&u.length!==0;if(S){if(d=h.length===0?void 0:f[f.length-1],l=p,p=h.pop(),M)if(o){l=l.slice();let L=0;for(let[ne,ie]of u){let me=ne-L;ie===null?(l.splice(me,1),L++):l[me]=ie}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[L,ne]of u)l[L]=ne}c=i.index,a=i.keys,u=i.edits,o=i.inArray,i=i.prev}else if(p){if(d=o?c:a[c],l=p[d],l==null)continue;f.push(d)}let j;if(!Array.isArray(l)){var y,E;ji(l)||B(!1,`Invalid AST Node: ${P(l)}.`);let L=S?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(E=n.get(l.kind))===null||E===void 0?void 0:E.enter;if(j=L?.call(t,l,d,p,f,h),j===th)break;if(j===!1){if(!S){f.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(ji(j))l=j;else{f.pop();continue}}if(j===void 0&&M&&u.push([d,l]),S)f.pop();else{var T;i={inArray:o,index:c,keys:a,edits:u,prev:i},o=Array.isArray(l),a=o?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}s(gr,"visit");function zn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}s(zn,"getEnterLeaveForKind");function Ue(e){return gr(e,bL)}s(Ue,"print");var gL=80,bL={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
|
|
96
96
|
|
|
97
|
-
`)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>
|
|
97
|
+
`)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>pt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let o=J("",e,": ")+t,a=o+J("(",x(r,", "),")");return a.length>gL&&(a=o+J(`(
|
|
98
98
|
`,Fc(x(r,`
|
|
99
99
|
`)),`
|
|
100
|
-
)`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?
|
|
101
|
-
`)+x(["schema",x(t," "),
|
|
100
|
+
)`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?cE(e):gE(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+x(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+x(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",x(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
|
|
101
|
+
`)+x(["schema",x(t," "),pt(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
102
102
|
`)+x(["scalar",t,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
103
|
-
`)+x(["type",t,J("implements ",x(r," & ")),x(n," "),
|
|
104
|
-
`)+t+(
|
|
103
|
+
`)+x(["type",t,J("implements ",x(r," & ")),x(n," "),pt(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
|
|
104
|
+
`)+t+(bE(r)?J(`(
|
|
105
105
|
`,Fc(x(r,`
|
|
106
106
|
`)),`
|
|
107
107
|
)`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
|
|
108
108
|
`)+x([t+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
109
|
-
`)+x(["interface",t,J("implements ",x(r," & ")),x(n," "),
|
|
109
|
+
`)+x(["interface",t,J("implements ",x(r," & ")),x(n," "),pt(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>J("",e,`
|
|
110
110
|
`)+x(["union",t,x(r," "),J("= ",x(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>J("",e,`
|
|
111
|
-
`)+x(["enum",t,x(r," "),
|
|
111
|
+
`)+x(["enum",t,x(r," "),pt(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
112
112
|
`)+x([t,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
|
|
113
|
-
`)+x(["input",t,x(r," "),
|
|
114
|
-
`)+"directive @"+t+(
|
|
113
|
+
`)+x(["input",t,x(r," "),pt(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
|
|
114
|
+
`)+"directive @"+t+(bE(r)?J(`(
|
|
115
115
|
`,Fc(x(r,`
|
|
116
116
|
`)),`
|
|
117
|
-
)`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),
|
|
117
|
+
)`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),pt(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>x(["extend scalar",e,x(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend type",e,J("implements ",x(t," & ")),x(r," "),pt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),pt(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>x(["extend union",e,x(t," "),J("= ",x(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>x(["extend enum",e,x(t," "),pt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),pt(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}s(x,"join");function pt(e){return J(`{
|
|
118
118
|
`,Fc(x(e,`
|
|
119
119
|
`)),`
|
|
120
|
-
}`)}s(
|
|
121
|
-
`))}s(Fc,"indent");function
|
|
122
|
-
`)))!==null&&t!==void 0?t:!1}s(dE,"hasMultilineItems");function Ji(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>Ji(r,t));case b.OBJECT:return Ot(e.fields,r=>r.name.value,r=>Ji(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Ji,"valueFromASTUntyped");function je(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new C("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Oc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Vi(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(je,"assertName");function eh(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return je(e)}s(eh,"assertEnumValueName");function $c(e){return br(e)||xe(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ve(e)||ce(e)}s($c,"isType");function br(e){return ze(e,We)}s(br,"isScalarType");function xe(e){return ze(e,Ne)}s(xe,"isObjectType");function jc(e){if(!xe(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(jc,"assertObjectType");function we(e){return ze(e,Vt)}s(we,"isInterfaceType");function Vc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Vc,"assertInterfaceType");function nt(e){return ze(e,qr)}s(nt,"isUnionType");function Qe(e){return ze(e,Nt)}s(Qe,"isEnumType");function Ae(e){return ze(e,$r)}s(Ae,"isInputObjectType");function Ve(e){return ze(e,pe)}s(Ve,"isListType");function ce(e){return ze(e,$)}s(ce,"isNonNullType");function Ye(e){return br(e)||Qe(e)||Ae(e)||zi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Gt(e){return br(e)||xe(e)||we(e)||nt(e)||Qe(e)||zi(e)&&Gt(e.ofType)}s(Gt,"isOutputType");function _r(e){return br(e)||Qe(e)}s(_r,"isLeafType");function xt(e){return xe(e)||we(e)||nt(e)}s(xt,"isCompositeType");function Er(e){return we(e)||nt(e)}s(Er,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){$c(t)||B(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{s(this,"GraphQLNonNull")}constructor(t){Gc(t)||B(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function zi(e){return Ve(e)||ce(e)}s(zi,"isWrappingType");function Gc(e){return $c(e)&&!ce(e)}s(Gc,"isNullableType");function Bc(e){if(!Gc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(Bc,"assertNullableType");function Kc(e){if(e)return ce(e)?e.ofType:e}s(Kc,"getNullableType");function pt(e){if(e){let t=e;for(;zi(t);)t=t.ofType;return t}}s(pt,"getNamedType");function Jc(e){return typeof e=="function"?e():e}s(Jc,"resolveReadonlyArrayThunk");function zc(e){return typeof e=="function"?e():e}s(zc,"resolveObjMapThunk");var We=class{static{s(this,"GraphQLScalarType")}constructor(t){var r,n,i,o;let a=(r=t.parseValue)!==null&&r!==void 0?r:Qp;this.name=je(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:Qp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Ji(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ne=class{static{s(this,"GraphQLObjectType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>hE(t),this._interfaces=()=>pE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:fE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function pE(e){var t;let r=Jc((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(pE,"defineInterfaces");function hE(e){let t=zc(e.fields);return zn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Ki(t,(r,n)=>{var i;zn(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return zn(o)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:je(n),description:r.description,type:r.type,args:th(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}s(hE,"defineFieldMap");function th(e){return Object.entries(e).map(([t,r])=>({name:je(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(th,"defineArguments");function zn(e){return Ee(e)&&!Array.isArray(e)}s(zn,"isPlainObj");function fE(e){return Ki(e,t=>({description:t.description,type:t.type,args:rh(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(fE,"fieldsToFieldsConfig");function rh(e){return Ot(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(rh,"argsToArgsConfig");var Vt=class{static{s(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=hE.bind(void 0,t),this._interfaces=pE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:fE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},qr=class{static{s(this,"GraphQLUnionType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=uL.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function uL(e){let t=Jc(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(uL,"defineTypes");var Nt=class{static{s(this,"GraphQLEnumType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=lL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Kn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+qc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+qc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Ue(t);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+qc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+qc(this,i),{nodes:t})}return n.value}toConfig(){let t=Ot(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function qc(e,t){let r=e.getValues().map(i=>i.name),n=Hc(t,r);return Mc("the enum value",n)}s(qc,"didYouMeanEnumValue");function lL(e,t){return zn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(zn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:eh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}s(lL,"defineEnumValues");var $r=class{static{s(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=je(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=dL.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Ki(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function dL(e){let t=zc(e.fields);return zn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Ki(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:je(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(dL,"defineInputFieldMap");var Wc=2147483647,Qc=-2147483648,nh=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=Wi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${P(t)}`);if(r>Wc||r<Qc)throw new C("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new C(`Int cannot represent non-integer value: ${P(e)}`);if(e>Wc||e<Qc)throw new C(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new C(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Wc||t<Qc)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),mE=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=Wi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new C(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new C(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),se=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Wi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new C(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new C(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new C(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Wi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new C(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),Yc=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=Wi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new C(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new C(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new C("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),ih=Object.freeze([se,nh,mE,Me,Yc]);function Wi(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}s(Wi,"serializeObject");function oh(e){return ze(e,ht)}s(oh,"isDirective");var ht=class{static{s(this,"GraphQLDirective")}constructor(t){var r,n;this.name=je(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=th(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:rh(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},yE=new ht({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Included when true."}}}),gE=new ht({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Skipped when true."}}}),bE="No longer supported",_E=new ht({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type: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:bE}}}),EE=new ht({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."}}}),sh=Object.freeze([yE,gE,_E,EE]);function Zc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(Zc,"isIterableObject");function jr(e,t){if(ce(t)){let r=jr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ve(t)){let r=t.ofType;if(Zc(e)){let n=[];for(let i of e){let o=jr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return jr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=jr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(_r(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return wE.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:b.ENUM,value:r}:t===Yc&&wE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Rt(!1,"Unexpected input type: "+P(t))}s(jr,"astFromValue");var wE=/^-?(?:0|[1-9][0-9]*)$/;var Qi=new Ne({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:se,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(ah))),resolve:e=>e.getDirectives()}})}),ah=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
120
|
+
}`)}s(pt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}s(J,"wrap");function Fc(e){return J(" ",e.replace(/\n/g,`
|
|
121
|
+
`))}s(Fc,"indent");function bE(e){var t;return(t=e?.some(r=>r.includes(`
|
|
122
|
+
`)))!==null&&t!==void 0?t:!1}s(bE,"hasMultilineItems");function Ji(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>Ji(r,t));case b.OBJECT:return Ot(e.fields,r=>r.name.value,r=>Ji(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Ji,"valueFromASTUntyped");function Ve(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new C("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Oc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Vi(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function rh(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return Ve(e)}s(rh,"assertEnumValueName");function $c(e){return br(e)||xe(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s($c,"isType");function br(e){return ze(e,We)}s(br,"isScalarType");function xe(e){return ze(e,Ne)}s(xe,"isObjectType");function jc(e){if(!xe(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(jc,"assertObjectType");function we(e){return ze(e,Vt)}s(we,"isInterfaceType");function Vc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Vc,"assertInterfaceType");function nt(e){return ze(e,qr)}s(nt,"isUnionType");function Qe(e){return ze(e,Nt)}s(Qe,"isEnumType");function Ae(e){return ze(e,$r)}s(Ae,"isInputObjectType");function Ge(e){return ze(e,pe)}s(Ge,"isListType");function ce(e){return ze(e,$)}s(ce,"isNonNullType");function Ye(e){return br(e)||Qe(e)||Ae(e)||zi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Gt(e){return br(e)||xe(e)||we(e)||nt(e)||Qe(e)||zi(e)&&Gt(e.ofType)}s(Gt,"isOutputType");function _r(e){return br(e)||Qe(e)}s(_r,"isLeafType");function xt(e){return xe(e)||we(e)||nt(e)}s(xt,"isCompositeType");function Er(e){return we(e)||nt(e)}s(Er,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){$c(t)||B(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{s(this,"GraphQLNonNull")}constructor(t){Gc(t)||B(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function zi(e){return Ge(e)||ce(e)}s(zi,"isWrappingType");function Gc(e){return $c(e)&&!ce(e)}s(Gc,"isNullableType");function Bc(e){if(!Gc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(Bc,"assertNullableType");function Kc(e){if(e)return ce(e)?e.ofType:e}s(Kc,"getNullableType");function ht(e){if(e){let t=e;for(;zi(t);)t=t.ofType;return t}}s(ht,"getNamedType");function Jc(e){return typeof e=="function"?e():e}s(Jc,"resolveReadonlyArrayThunk");function zc(e){return typeof e=="function"?e():e}s(zc,"resolveObjMapThunk");var We=class{static{s(this,"GraphQLScalarType")}constructor(t){var r,n,i,o;let a=(r=t.parseValue)!==null&&r!==void 0?r:Zp;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:Zp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Ji(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ne=class{static{s(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>EE(t),this._interfaces=()=>_E(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:wE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function _E(e){var t;let r=Jc((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(_E,"defineInterfaces");function EE(e){let t=zc(e.fields);return Wn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Ki(t,(r,n)=>{var i;Wn(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return Wn(o)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:nh(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}s(EE,"defineFieldMap");function nh(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(nh,"defineArguments");function Wn(e){return Ee(e)&&!Array.isArray(e)}s(Wn,"isPlainObj");function wE(e){return Ki(e,t=>({description:t.description,type:t.type,args:ih(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(wE,"fieldsToFieldsConfig");function ih(e){return Ot(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(ih,"argsToArgsConfig");var Vt=class{static{s(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=EE.bind(void 0,t),this._interfaces=_E.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:wE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},qr=class{static{s(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=_L.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function _L(e){let t=Jc(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(_L,"defineTypes");var Nt=class{static{s(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=EL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Jn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+qc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+qc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Ue(t);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+qc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+qc(this,i),{nodes:t})}return n.value}toConfig(){let t=Ot(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function qc(e,t){let r=e.getValues().map(i=>i.name),n=Hc(t,r);return kc("the enum value",n)}s(qc,"didYouMeanEnumValue");function EL(e,t){return Wn(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Wn(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:rh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}s(EL,"defineEnumValues");var $r=class{static{s(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=wL.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Ki(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function wL(e){let t=zc(e.fields);return Wn(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Ki(t,(r,n)=>(!("resolve"in r)||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:De(r.extensions),astNode:r.astNode}))}s(wL,"defineInputFieldMap");var Wc=2147483647,Qc=-2147483648,oh=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=Wi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${P(t)}`);if(r>Wc||r<Qc)throw new C("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new C(`Int cannot represent non-integer value: ${P(e)}`);if(e>Wc||e<Qc)throw new C(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new C(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Wc||t<Qc)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),vE=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=Wi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new C(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new C(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),se=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Wi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new C(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new C(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new C(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),ke=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Wi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new C(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),Yc=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=Wi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new C(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new C(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new C("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),sh=Object.freeze([se,oh,vE,ke,Yc]);function Wi(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}s(Wi,"serializeObject");function ah(e){return ze(e,ft)}s(ah,"isDirective");var ft=class{static{s(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||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=nh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:ih(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},TE=new ft({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Included when true."}}}),SE=new ft({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Skipped when true."}}}),IE="No longer supported",PE=new ft({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:se,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:IE}}}),AE=new ft({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."}}}),ch=Object.freeze([TE,SE,PE,AE]);function Zc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(Zc,"isIterableObject");function jr(e,t){if(ce(t)){let r=jr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(Zc(e)){let n=[];for(let i of e){let o=jr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return jr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=jr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(_r(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return RE.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:b.ENUM,value:r}:t===Yc&&RE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Rt(!1,"Unexpected input type: "+P(t))}s(jr,"astFromValue");var RE=/^-?(?:0|[1-9][0-9]*)$/;var Qi=new Ne({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:se,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(uh))),resolve:e=>e.getDirectives()}})}),uh=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 $(Me),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(ch))),resolve:e=>e.locations},args:{type:new $(new pe(new $(Yi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),ch=new Nt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new Ne({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(dh),resolve(e){if(br(e))return ee.SCALAR;if(xe(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ve(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Rt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(uh)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(xe(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(xe(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(Er(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(lh)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new $(Yi)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ae(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),uh=new Ne({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new pe(new $(Yi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:e=>e.type},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Yi=new Ne({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=jr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),lh=new Ne({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),ee;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(ee||(ee={}));var dh=new Nt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Xc={name:"__schema",type:new $(Qi),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},eu={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},tu={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},ph=Object.freeze([Qi,ah,ch,it,uh,Yi,lh,dh]);var Zi=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:sh;let i=new Set(t.types);if(t.types!=null)for(let o of t.types)i.delete(o),ft(o,i);this._queryType!=null&&ft(this._queryType,i),this._mutationType!=null&&ft(this._mutationType,i),this._subscriptionType!=null&&ft(this._subscriptionType,i);for(let o of this._directives)if(oh(o))for(let a of o.args)ft(a.type,i);ft(Qi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let o of i){if(o==null)continue;let a=o.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=o,we(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(o)}}else if(xe(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function ft(e,t){let r=pt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())ft(n,t);else if(xe(r)||we(r)){for(let n of r.getInterfaces())ft(n,t);for(let n of Object.values(r.getFields())){ft(n.type,t);for(let i of n.args)ft(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))ft(n.type,t)}return t}s(ft,"collectReferencedTypes");function wr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=wr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=wr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(wr,"typeFromAST");var vr=class{static{s(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??pL,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=pt(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(xe(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?wr(r,i):pt(this.getType());this._typeStack.push(Gt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=wr(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,o,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(o=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.LIST:{let i=Kc(this.getInputType()),o=Ve(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.OBJECT_FIELD:{let i=pt(this.getInputType()),o,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.ENUM:{let i=pt(this.getInputType()),o;Qe(i)&&(o=i.getValue(t.value)),this._enumValue=o;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function pL(e,t,r){let n=r.name.value;if(n===Xc.name&&e.getQueryType()===t)return Xc;if(n===eu.name&&e.getQueryType()===t)return eu;if(n===tu.name&&xt(t))return tu;if(xe(t)||we(t))return t.getFields()[n]}s(pL,"getFieldDef");function Wn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Jn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),ji(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=Jn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(Wn,"visitWithTypeInfo");function ru(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(ru,"printPathArray");function hh(e,t,r){return{prev:e,key:t,typename:r}}s(hh,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Bt,"pathToArray");function fh(e,t,r=hL){return Xi(e,t,r,void 0)}s(fh,"coerceInputValue");function hL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${ru(e)}"`),r.message=n+": "+r.message,r}s(hL,"defaultOnError");function Xi(e,t,r,n){if(ce(t)){if(e!=null)return Xi(e,t.ofType,r,n);r(Bt(n),e,new C(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ve(t)){let i=t.ofType;return Zc(e)?Array.from(e,(o,a)=>{let c=hh(n,a,void 0);return Xi(o,i,r,c)}):[Xi(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new C(`Expected type "${t.name}" to be an object.`));return}let i={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Bt(n),e,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Xi(c,a.type,r,hh(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=Hc(a,Object.keys(t.getFields()));r(Bt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+Mc(c)))}return i}if(_r(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof C?r(Bt(n),e,o):r(Bt(n),e,new C(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Bt(n),e,new C(`Expected type "${t.name}".`)),i}Rt(!1,"Unexpected input type: "+P(t))}s(Xi,"coerceInputValueImpl");function Ct(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Ct(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ve(t)){let n=t.ofType;if(e.kind===b.LIST){let o=[];for(let a of e.values)if(vE(a,r)){if(ce(n))return;o.push(null)}else{let c=Ct(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=Ct(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Kn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||vE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ce(o.type))return;continue}let c=Ct(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(_r(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Rt(!1,"Unexpected input type: "+P(t))}}s(Ct,"valueFromAST");function vE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(vE,"isMissingVariable");function nu(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=fL(e,t,r,c=>{if(o!=null&&i.length>=o)throw new C("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}s(nu,"getVariableValues");function fL(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=wr(e,o.type);if(!Ye(c)){let l=Ue(o.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!TE(r,a)){if(o.defaultValue)i[a]=Ct(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=fh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${ru(l)}"`),n(new C(m+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(fL,"coerceVariableValues");function eo(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Kn(o,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let y=p.name.value;if(r==null||!TE(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}m=r[y]==null}if(m&&ce(l))throw new C(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Ct(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}s(eo,"getArgumentValues");function to(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(o=>o.name.value===e.name);if(i)return eo(e,i,r)}s(to,"getDirectiveValues");function TE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(TE,"hasOwnProperty");var iu=class{static{s(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let o of i.selections)o.kind===b.FRAGMENT_SPREAD?r.push(o):o.selectionSet&&n.push(o.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],o;for(;o=i.pop();)for(let a of this.getFragmentSpreads(o)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},SE=class extends iu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Qn=class extends iu{static{s(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new vr(this._schema);gr(t,Wn(i,{VariableDefinition:()=>!1,Variable(o){n.push({node:o,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function ou(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",o=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return s(a,"inputDeprecation"),`
|
|
124
|
+
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(ke),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(lh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(Yi))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),lh=new Nt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new Ne({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(hh),resolve(e){if(br(e))return ee.SCALAR;if(xe(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Rt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(dh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(xe(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(xe(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(Er(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(ph)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new $(Yi)),args:{includeDeprecated:{type: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:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),dh=new Ne({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new pe(new $(Yi))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:e=>e.type},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Yi=new Ne({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=jr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),ph=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 hh=new Nt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Xc={name:"__schema",type:new $(Qi),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},eu={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},tu={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},fh=Object.freeze([Qi,uh,lh,it,dh,Yi,ph,hh]);var Zi=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:ch;let i=new Set(t.types);if(t.types!=null)for(let o of t.types)i.delete(o),mt(o,i);this._queryType!=null&&mt(this._queryType,i),this._mutationType!=null&&mt(this._mutationType,i),this._subscriptionType!=null&&mt(this._subscriptionType,i);for(let o of this._directives)if(ah(o))for(let a of o.args)mt(a.type,i);mt(Qi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let o of i){if(o==null)continue;let a=o.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=o,we(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(o)}}else if(xe(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function mt(e,t){let r=ht(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())mt(n,t);else if(xe(r)||we(r)){for(let n of r.getInterfaces())mt(n,t);for(let n of Object.values(r.getFields())){mt(n.type,t);for(let i of n.args)mt(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))mt(n.type,t)}return t}s(mt,"collectReferencedTypes");function wr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=wr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=wr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(wr,"typeFromAST");var vr=class{static{s(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??vL,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=ht(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(xe(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?wr(r,i):ht(this.getType());this._typeStack.push(Gt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=wr(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,o,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(o=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.LIST:{let i=Kc(this.getInputType()),o=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.OBJECT_FIELD:{let i=ht(this.getInputType()),o,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.ENUM:{let i=ht(this.getInputType()),o;Qe(i)&&(o=i.getValue(t.value)),this._enumValue=o;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function vL(e,t,r){let n=r.name.value;if(n===Xc.name&&e.getQueryType()===t)return Xc;if(n===eu.name&&e.getQueryType()===t)return eu;if(n===tu.name&&xt(t))return tu;if(xe(t)||we(t))return t.getFields()[n]}s(vL,"getFieldDef");function Qn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=zn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),ji(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=zn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(Qn,"visitWithTypeInfo");function ru(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(ru,"printPathArray");function mh(e,t,r){return{prev:e,key:t,typename:r}}s(mh,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Bt,"pathToArray");function yh(e,t,r=TL){return Xi(e,t,r,void 0)}s(yh,"coerceInputValue");function TL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${ru(e)}"`),r.message=n+": "+r.message,r}s(TL,"defaultOnError");function Xi(e,t,r,n){if(ce(t)){if(e!=null)return Xi(e,t.ofType,r,n);r(Bt(n),e,new C(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return Zc(e)?Array.from(e,(o,a)=>{let c=mh(n,a,void 0);return Xi(o,i,r,c)}):[Xi(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new C(`Expected type "${t.name}" to be an object.`));return}let i={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Bt(n),e,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Xi(c,a.type,r,mh(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=Hc(a,Object.keys(t.getFields()));r(Bt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+kc(c)))}return i}if(_r(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof C?r(Bt(n),e,o):r(Bt(n),e,new C(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Bt(n),e,new C(`Expected type "${t.name}".`)),i}Rt(!1,"Unexpected input type: "+P(t))}s(Xi,"coerceInputValueImpl");function Ct(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Ct(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let o=[];for(let a of e.values)if(OE(a,r)){if(ce(n))return;o.push(null)}else{let c=Ct(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=Ct(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Jn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||OE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ce(o.type))return;continue}let c=Ct(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(_r(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Rt(!1,"Unexpected input type: "+P(t))}}s(Ct,"valueFromAST");function OE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(OE,"isMissingVariable");function nu(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=SL(e,t,r,c=>{if(o!=null&&i.length>=o)throw new C("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}s(nu,"getVariableValues");function SL(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=wr(e,o.type);if(!Ye(c)){let l=Ue(o.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!NE(r,a)){if(o.defaultValue)i[a]=Ct(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=yh(u,c,(l,d,p)=>{let f=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(f+=` at "${a}${ru(l)}"`),n(new C(f+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(SL,"coerceVariableValues");function eo(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Jn(o,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,f=p.kind===b.NULL;if(p.kind===b.VARIABLE){let y=p.name.value;if(r==null||!NE(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}f=r[y]==null}if(f&&ce(l))throw new C(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Ct(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}s(eo,"getArgumentValues");function to(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(o=>o.name.value===e.name);if(i)return eo(e,i,r)}s(to,"getDirectiveValues");function NE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(NE,"hasOwnProperty");var iu=class{static{s(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let o of i.selections)o.kind===b.FRAGMENT_SPREAD?r.push(o):o.selectionSet&&n.push(o.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],o;for(;o=i.pop();)for(let a of this.getFragmentSpreads(o)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},xE=class extends iu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Yn=class extends iu{static{s(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new vr(this._schema);gr(t,Qn(i,{VariableDefinition:()=>!1,Variable(o){n.push({node:o,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function ou(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",o=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return s(a,"inputDeprecation"),`
|
|
125
125
|
query IntrospectionQuery {
|
|
126
126
|
__schema {
|
|
127
127
|
${o}
|
|
@@ -226,5 +226,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
`}s(ou,"getIntrospectionQuery");function su(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Ot(r.types,w=>w.name,w=>m(w));for(let w of[...ih,...ph])n[w.name]&&(n[w.name]=w);let i=r.queryType?d(r.queryType):null,o=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Ge):[];return new Zi({description:r.description,query:i,mutation:o,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(w){if(w.kind===ee.LIST){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(w.kind===ee.NON_NULL){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ce=u(H);return new $(Bc(Ce))}return l(w)}function l(w){let H=w.name;if(!H)throw new Error(`Unknown type reference: ${P(w)}.`);let Ce=n[H];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(w){return jc(l(w))}function p(w){return Vc(l(w))}function m(w){if(w!=null&&w.name!=null&&w.kind!=null)switch(w.kind){case ee.SCALAR:return h(w);case ee.OBJECT:return E(w);case ee.INTERFACE:return T(w);case ee.UNION:return S(w);case ee.ENUM:return k(w);case ee.INPUT_OBJECT:return j(w)}let H=P(w);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(w){return new We({name:w.name,description:w.description,specifiedByURL:w.specifiedByURL})}function y(w){if(w.interfaces===null&&w.kind===ee.INTERFACE)return[];if(!w.interfaces){let H=P(w);throw new Error(`Introspection result missing interfaces: ${H}.`)}return w.interfaces.map(p)}function E(w){return new Ne({name:w.name,description:w.description,interfaces:()=>y(w),fields:()=>L(w)})}function T(w){return new Vt({name:w.name,description:w.description,interfaces:()=>y(w),fields:()=>L(w)})}function S(w){if(!w.possibleTypes){let H=P(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=P(w);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Nt({name:w.name,description:w.description,values:Ot(w.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function j(w){if(!w.inputFields){let H=P(w);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new $r({name:w.name,description:w.description,fields:()=>ne(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Ot(w.fields,H=>H.name,re)}function re(w){let H=u(w.type);if(!Gt(H)){let Ce=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!w.args){let Ce=P(w);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:H,args:ne(w.args)}}function ne(w){return Ot(w,H=>H.name,me)}function me(w){let H=u(w.type);if(!Ye(H)){let cu=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${cu}.`)}let Ce=w.defaultValue!=null?Ct(Uc(w.defaultValue),H):void 0;return{description:w.description,type:H,defaultValue:Ce,deprecationReason:w.deprecationReason}}function Ge(w){if(!w.args){let H=P(w);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!w.locations){let H=P(w);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ht({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ne(w.args)})}}s(su,"buildClientSchema");function HL(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(HL,"queryComplexityMessage");function IE(e){let t=new vr(e.schema),r=[],n=new Qn(e.schema,e.query,t,o=>r.push(o)),i=new mh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(gr(e.query,Wn(t,i)),r.length)throw r.pop();return i.complexity}s(IE,"getComplexity");var mh=class{static{s(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=nu(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(o=>this.context.reportError(o));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let o=i.getQueryType();if(!o)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,o);break}case"mutation":{let o=i.getMutationType();if(!o)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,o);break}case"subscription":{let o=i.getSubscriptionType();if(!o)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,o);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof Ne||r instanceof Vt)&&(n=r.getFields());let i;Er(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let o=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&to(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&to(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=pt(p.type),h;try{h=eo(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let y=0;xt(m)&&(y=this.nodeComplexity(c,m));let E={childComplexity:y,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let k=S(E);return typeof k=="number"&&!isNaN(k)?(u=Yn(k,a,i),!0):!1}))return this.context.reportError(new C(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(m))break;let h=this.nodeComplexity(p,m);Er(m)?u=Yn(h,a,this.context.getSchema().getPossibleTypes(m).map(y=>y.name)):u=Yn(h,a,[m.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!xt(p)))break;let m=this.nodeComplexity(c,p);Er(p)?u=Yn(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Yn(m,a,[p.name]);break}default:{u=Yn(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(HL(this.options.maximumComplexity,this.complexity))}};function Yn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(Yn,"addComplexities");function PE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(PE,"simpleEstimator");var AE=s((e,t,r={})=>{let{definitions:n}=e,i=FL(n),o=qL(n);return Object.entries(o).map(([a,c])=>au(c,i,0,t,a,r))},"depthLimit");function FL(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(FL,"getFragments");function qL(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(qL,"getQueriesAndMutations");function au(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return $L(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>au(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return au(t[e.name.value],t,r,n,i,o);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>au(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(au,"determineDepth");var $L=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var jL=s(async(e,t)=>{if(!t.complexityLimit)throw new Zn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Zn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=ou(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new C("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=su(c,{assumeValid:!0}),l=IE({estimators:[PE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new C(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),VL=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Zn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...AE(e,r))},"applyDepthLimitPolicy"),RE=s(async(e,t,r)=>{let n=Zn.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=Dc(o.query);r.useDepthLimit&&await VL(a,r.useDepthLimit),r.useComplexityLimit&&await jL(a,r.useComplexityLimit)}catch(i){if(i instanceof C)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var OE=bh(Dt());function GL(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(GL,"isIntrospectionQuery");var NE=s(async(e,t)=>{let n=await e.clone().json();return GL(n.query)?OE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
229
|
+
`}s(ou,"getIntrospectionQuery");function su(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Ot(r.types,w=>w.name,w=>f(w));for(let w of[...sh,...fh])n[w.name]&&(n[w.name]=w);let i=r.queryType?d(r.queryType):null,o=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Be):[];return new Zi({description:r.description,query:i,mutation:o,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(w){if(w.kind===ee.LIST){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(w.kind===ee.NON_NULL){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ce=u(H);return new $(Bc(Ce))}return l(w)}function l(w){let H=w.name;if(!H)throw new Error(`Unknown type reference: ${P(w)}.`);let Ce=n[H];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(w){return jc(l(w))}function p(w){return Vc(l(w))}function f(w){if(w!=null&&w.name!=null&&w.kind!=null)switch(w.kind){case ee.SCALAR:return h(w);case ee.OBJECT:return E(w);case ee.INTERFACE:return T(w);case ee.UNION:return S(w);case ee.ENUM:return M(w);case ee.INPUT_OBJECT:return j(w)}let H=P(w);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(w){return new We({name:w.name,description:w.description,specifiedByURL:w.specifiedByURL})}function y(w){if(w.interfaces===null&&w.kind===ee.INTERFACE)return[];if(!w.interfaces){let H=P(w);throw new Error(`Introspection result missing interfaces: ${H}.`)}return w.interfaces.map(p)}function E(w){return new Ne({name:w.name,description:w.description,interfaces:()=>y(w),fields:()=>L(w)})}function T(w){return new Vt({name:w.name,description:w.description,interfaces:()=>y(w),fields:()=>L(w)})}function S(w){if(!w.possibleTypes){let H=P(w);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new qr({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function M(w){if(!w.enumValues){let H=P(w);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Nt({name:w.name,description:w.description,values:Ot(w.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function j(w){if(!w.inputFields){let H=P(w);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new $r({name:w.name,description:w.description,fields:()=>ie(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Ot(w.fields,H=>H.name,ne)}function ne(w){let H=u(w.type);if(!Gt(H)){let Ce=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!w.args){let Ce=P(w);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:H,args:ie(w.args)}}function ie(w){return Ot(w,H=>H.name,me)}function me(w){let H=u(w.type);if(!Ye(H)){let cu=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${cu}.`)}let Ce=w.defaultValue!=null?Ct(Uc(w.defaultValue),H):void 0;return{description:w.description,type:H,defaultValue:Ce,deprecationReason:w.deprecationReason}}function Be(w){if(!w.args){let H=P(w);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!w.locations){let H=P(w);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ft({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ie(w.args)})}}s(su,"buildClientSchema");function zL(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(zL,"queryComplexityMessage");function CE(e){let t=new vr(e.schema),r=[],n=new Yn(e.schema,e.query,t,o=>r.push(o)),i=new gh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(gr(e.query,Qn(t,i)),r.length)throw r.pop();return i.complexity}s(CE,"getComplexity");var gh=class{static{s(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=nu(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(o=>this.context.reportError(o));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let o=i.getQueryType();if(!o)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,o);break}case"mutation":{let o=i.getMutationType();if(!o)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,o);break}case"subscription":{let o=i.getSubscriptionType();if(!o)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,o);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof Ne||r instanceof Vt)&&(n=r.getFields());let i;Er(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let o=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&to(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&to(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let f=ht(p.type),h;try{h=eo(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let y=0;xt(f)&&(y=this.nodeComplexity(c,f));let E={childComplexity:y,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let M=S(E);return typeof M=="number"&&!isNaN(M)?(u=Zn(M,a,i),!0):!1}))return this.context.reportError(new C(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let f=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(f))break;let h=this.nodeComplexity(p,f);Er(f)?u=Zn(h,a,this.context.getSchema().getPossibleTypes(f).map(y=>y.name)):u=Zn(h,a,[f.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!xt(p)))break;let f=this.nodeComplexity(c,p);Er(p)?u=Zn(f,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Zn(f,a,[p.name]);break}default:{u=Zn(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(zL(this.options.maximumComplexity,this.complexity))}};function Zn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(Zn,"addComplexities");function LE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(LE,"simpleEstimator");var DE=s((e,t,r={})=>{let{definitions:n}=e,i=WL(n),o=QL(n);return Object.entries(o).map(([a,c])=>au(c,i,0,t,a,r))},"depthLimit");function WL(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(WL,"getFragments");function QL(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(QL,"getQueriesAndMutations");function au(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return YL(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>au(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return au(t[e.name.value],t,r,n,i,o);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>au(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(au,"determineDepth");var YL=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var ZL=s(async(e,t)=>{if(!t.complexityLimit)throw new Xn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Xn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=ou(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new C("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=su(c,{assumeValid:!0}),l=CE({estimators:[LE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new C(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),XL=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Xn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...DE(e,r))},"applyDepthLimitPolicy"),UE=s(async(e,t,r)=>{let n=Xn.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=Dc(o.query);r.useDepthLimit&&await XL(a,r.useDepthLimit),r.useComplexityLimit&&await ZL(a,r.useComplexityLimit)}catch(i){if(i instanceof C)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var kE=Eh(Dt());function eD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(eD,"isIntrospectionQuery");var ME=s(async(e,t)=>{let n=await e.clone().json();return eD(n.query)?kE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
230
230
|
/*! For license information please see index.minified.js.LEGAL.txt */
|