@zuplo/graphql 5.1787.0 → 5.1790.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 +30 -30
- 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 ow=Object.create;var oi=Object.defineProperty;var sw=Object.getOwnPropertyDescriptor;var aw=Object.getOwnPropertyNames;var cw=Object.getPrototypeOf,uw=Object.prototype.hasOwnProperty;var s=(e,t)=>oi(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),co=(e,t)=>{for(var r in t)oi(e,r,{get:t[r],enumerable:!0})},jh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of aw(t))!uw.call(e,i)&&i!==r&&oi(e,i,{get:()=>t[i],enumerable:!(n=sw(t,i))||n.enumerable});return e};var Vh=(e,t,r)=>(r=e!=null?ow(cw(e)):{},jh(t||!e||!e.__esModule?oi(r,"default",{value:e,enumerable:!0}):r,e)),uo=e=>jh(oi({},"__esModule",{value:!0}),e);var O=y(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.FeatureNotEnabledError=yt.ConfigurationError=yt.RuntimeError=yt.SystemError=void 0;var _u=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};yt.SystemError=_u;var si=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=si;var Eu=class extends si{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};yt.ConfigurationError=Eu;var wu=class extends si{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};yt.FeatureNotEnabledError=wu});var W=y(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.Environment=void 0;var lw=O(),vu=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 lw.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"}};lo.Environment=vu});var Jh=y(Kh=>{"use strict";Object.defineProperty(Kh,"__esModule",{value:!0});var Gh=W();Function.prototype.toString=function(){return"[native code]"};var po=globalThis,Bh=po.caches;if(Bh){let e=Bh.open;po.caches.open=function(t){let r=Gh.Environment.instance.deploymentName??Gh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete po.caches.default,Object.freeze(po.caches)}});var Iu=y(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.MemoryCache=void 0;var dw=1e4,pw=1e3,zh=new Map,Su=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+dw*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},Tu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:pw}){this.name=t;let n=zh.get(t);n||(n=new Su(r),zh.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()}};ho.MemoryCache=Tu});var ai=y(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.ZoneCache=void 0;var Pu="__zuplo-expiry-header",Au=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(Pu);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(Pu,`${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(Pu,`${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)}};fo.ZoneCache=Au});var Kt=y(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.MemoryZoneReadThroughCache=void 0;var hw=Iu(),fw=ai(),Ru=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new hw.MemoryCache(n),this.#r=new fw.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)}};mo.MemoryZoneReadThroughCache=Ru});var Pr=y(A=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});A.METERING_SUBSCRIPTION_CONTEXT_DATA=A.INTERNAL_HEADERS_TO_REMOVE=A.DISPATCH_HEADERS_TO_REMOVE=A.ZP_TIMEZONE_HEADER=A.ZP_REGION_CODE_HEADER=A.ZP_REGION_HEADER=A.ZP_METRO_CODE_HEADER=A.ZP_POSTAL_CODE_HEADER=A.ZP_COLO_HEADER=A.ZP_AS_ORG_HEADER=A.ZP_ASN_HEADER=A.TRUE_CLIENT_IP=A.ZP_IP_LATITUDE_HEADER=A.ZP_IP_LONGITUDE_HEADER=A.ZP_IP_COUNTRY_HEADER=A.ZP_IP_CONTINENT_HEADER=A.ZP_IP_CITY_HEADER=A.CF_IP_LATITUDE_HEADER=A.CF_IP_LONGITUDE_HEADER=A.CF_IP_COUNTRY_HEADER=A.CF_IP_CONTINENT_HEADER=A.CF_IP_CITY_HEADER=A.RAY_ID_HEADER=A.BODY_REMOVED_HEADER=A.REQUEST_ID_HEADER=A.LEGACY_REQUEST_ID_HEADER=void 0;A.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";A.REQUEST_ID_HEADER="zp-rid";A.BODY_REMOVED_HEADER="zp-body-removed";A.RAY_ID_HEADER="cf-ray";A.CF_IP_CITY_HEADER="cf-ipcity";A.CF_IP_CONTINENT_HEADER="cf-ipcontinent";A.CF_IP_COUNTRY_HEADER="cf-ipcountry";A.CF_IP_LONGITUDE_HEADER="cf-iplongitude";A.CF_IP_LATITUDE_HEADER="cf-iplatitude";A.ZP_IP_CITY_HEADER="zp-ipcity";A.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";A.ZP_IP_COUNTRY_HEADER="zp-ipcountry";A.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";A.ZP_IP_LATITUDE_HEADER="zp-iplatitude";A.TRUE_CLIENT_IP="true-client-ip";A.ZP_ASN_HEADER="zp-asn";A.ZP_AS_ORG_HEADER="zp-asorg";A.ZP_COLO_HEADER="zp-colo";A.ZP_POSTAL_CODE_HEADER="zp-postalcode";A.ZP_METRO_CODE_HEADER="zp-metrocode";A.ZP_REGION_HEADER="zp-region";A.ZP_REGION_CODE_HEADER="zp-regioncode";A.ZP_TIMEZONE_HEADER="zp-timezone";A.DISPATCH_HEADERS_TO_REMOVE=[A.CF_IP_CITY_HEADER,A.CF_IP_CONTINENT_HEADER,A.CF_IP_COUNTRY_HEADER,A.CF_IP_LONGITUDE_HEADER,A.CF_IP_LATITUDE_HEADER,A.ZP_ASN_HEADER,A.ZP_AS_ORG_HEADER,A.ZP_COLO_HEADER,A.ZP_POSTAL_CODE_HEADER,A.ZP_METRO_CODE_HEADER,A.ZP_REGION_HEADER,A.ZP_REGION_CODE_HEADER,A.ZP_TIMEZONE_HEADER];A.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"];A.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49"});var nf=y(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var Wh=!0,Ou=!Wh;function mw(e){Wh||(Ou=e)}s(mw,"setColorEnabled");v.setColorEnabled=mw;function yw(){return Ou}s(yw,"getColorEnabled");v.getColorEnabled=yw;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 Ou?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function gw(e){return q(e,F([0],0))}s(gw,"reset");v.reset=gw;function bw(e){return q(e,F([1],22))}s(bw,"bold");v.bold=bw;function _w(e){return q(e,F([2],22))}s(_w,"dim");v.dim=_w;function Ew(e){return q(e,F([3],23))}s(Ew,"italic");v.italic=Ew;function ww(e){return q(e,F([4],24))}s(ww,"underline");v.underline=ww;function vw(e){return q(e,F([7],27))}s(vw,"inverse");v.inverse=vw;function Sw(e){return q(e,F([8],28))}s(Sw,"hidden");v.hidden=Sw;function Tw(e){return q(e,F([9],29))}s(Tw,"strikethrough");v.strikethrough=Tw;function Iw(e){return q(e,F([30],39))}s(Iw,"black");v.black=Iw;function Qh(e){return q(e,F([31],39))}s(Qh,"red");v.red=Qh;function Yh(e){return q(e,F([32],39))}s(Yh,"green");v.green=Yh;function Zh(e){return q(e,F([33],39))}s(Zh,"yellow");v.yellow=Zh;function Xh(e){return q(e,F([34],39))}s(Xh,"blue");v.blue=Xh;function ef(e){return q(e,F([35],39))}s(ef,"magenta");v.magenta=ef;function tf(e){return q(e,F([36],39))}s(tf,"cyan");v.cyan=tf;function Pw(e){return q(e,F([37],39))}s(Pw,"white");v.white=Pw;function Aw(e){return rf(e)}s(Aw,"gray");v.gray=Aw;function rf(e){return q(e,F([90],39))}s(rf,"brightBlack");v.brightBlack=rf;function Rw(e){return q(e,F([91],39))}s(Rw,"brightRed");v.brightRed=Rw;function Ow(e){return q(e,F([92],39))}s(Ow,"brightGreen");v.brightGreen=Ow;function Nw(e){return q(e,F([93],39))}s(Nw,"brightYellow");v.brightYellow=Nw;function Cw(e){return q(e,F([94],39))}s(Cw,"brightBlue");v.brightBlue=Cw;function xw(e){return q(e,F([95],39))}s(xw,"brightMagenta");v.brightMagenta=xw;function Lw(e){return q(e,F([96],39))}s(Lw,"brightCyan");v.brightCyan=Lw;function Dw(e){return q(e,F([97],39))}s(Dw,"brightWhite");v.brightWhite=Dw;function Uw(e){return q(e,F([40],49))}s(Uw,"bgBlack");v.bgBlack=Uw;function kw(e){return q(e,F([41],49))}s(kw,"bgRed");v.bgRed=kw;function Mw(e){return q(e,F([42],49))}s(Mw,"bgGreen");v.bgGreen=Mw;function Hw(e){return q(e,F([43],49))}s(Hw,"bgYellow");v.bgYellow=Hw;function Fw(e){return q(e,F([44],49))}s(Fw,"bgBlue");v.bgBlue=Fw;function qw(e){return q(e,F([45],49))}s(qw,"bgMagenta");v.bgMagenta=qw;function $w(e){return q(e,F([46],49))}s($w,"bgCyan");v.bgCyan=$w;function jw(e){return q(e,F([47],49))}s(jw,"bgWhite");v.bgWhite=jw;function Vw(e){return q(e,F([100],49))}s(Vw,"bgBrightBlack");v.bgBrightBlack=Vw;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 Kw(e){return q(e,F([103],49))}s(Kw,"bgBrightYellow");v.bgBrightYellow=Kw;function Jw(e){return q(e,F([104],49))}s(Jw,"bgBrightBlue");v.bgBrightBlue=Jw;function zw(e){return q(e,F([105],49))}s(zw,"bgBrightMagenta");v.bgBrightMagenta=zw;function Ww(e){return q(e,F([106],49))}s(Ww,"bgBrightCyan");v.bgBrightCyan=Ww;function Qw(e){return q(e,F([107],49))}s(Qw,"bgBrightWhite");v.bgBrightWhite=Qw;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(Jt,"clampAndTruncate");function Yw(e,t){return q(e,F([38,5,Jt(t)],39))}s(Yw,"rgb8");v.rgb8=Yw;function Zw(e,t){return q(e,F([48,5,Jt(t)],49))}s(Zw,"bgRgb8");v.bgRgb8=Zw;function Xw(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(Xw,"rgb24");v.rgb24=Xw;function ev(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(ev,"bgRgb24");v.bgRgb24=ev;var tv=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 rv(e){return e.replace(tv,"")}s(rv,"stripColor");v.stripColor=rv;v.colorFunctions=[Qh,Yh,Zh,Xh,ef,tf];function nv(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(nv,"hashCode");function iv(e){let t=Math.abs(nv(e));return v.colorFunctions[t%v.colorFunctions.length]}s(iv,"generateColor");v.generateColor=iv});var of=y(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.format=void 0;function ov(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 iw=Object.create;var oi=Object.defineProperty;var ow=Object.getOwnPropertyDescriptor;var sw=Object.getOwnPropertyNames;var aw=Object.getPrototypeOf,cw=Object.prototype.hasOwnProperty;var s=(e,t)=>oi(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ao=(e,t)=>{for(var r in t)oi(e,r,{get:t[r],enumerable:!0})},jh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of sw(t))!cw.call(e,i)&&i!==r&&oi(e,i,{get:()=>t[i],enumerable:!(n=ow(t,i))||n.enumerable});return e};var Vh=(e,t,r)=>(r=e!=null?iw(aw(e)):{},jh(t||!e||!e.__esModule?oi(r,"default",{value:e,enumerable:!0}):r,e)),co=e=>jh(oi({},"__esModule",{value:!0}),e);var O=y(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.FeatureNotEnabledError=yt.ConfigurationError=yt.RuntimeError=yt.SystemError=void 0;var _u=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};yt.SystemError=_u;var si=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=si;var Eu=class extends si{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};yt.ConfigurationError=Eu;var wu=class extends si{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};yt.FeatureNotEnabledError=wu});var W=y(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.Environment=void 0;var uw=O(),vu=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 uw.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"}};uo.Environment=vu});var Jh=y(Kh=>{"use strict";Object.defineProperty(Kh,"__esModule",{value:!0});var Gh=W();Function.prototype.toString=function(){return"[native code]"};var lo=globalThis,Bh=lo.caches;if(Bh){let e=Bh.open;lo.caches.open=function(t){let r=Gh.Environment.instance.deploymentName??Gh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete lo.caches.default,Object.freeze(lo.caches)}});var Iu=y(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.MemoryCache=void 0;var lw=1e4,dw=1e3,zh=new Map,Su=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+lw*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},Tu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:dw}){this.name=t;let n=zh.get(t);n||(n=new Su(r),zh.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()}};po.MemoryCache=Tu});var fo=y(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.ZoneCache=void 0;var Pu="__zuplo-expiry-header",Au=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(Pu);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(Pu,`${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(Pu,`${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)}};ho.ZoneCache=Au});var Kt=y(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.MemoryZoneReadThroughCache=void 0;var pw=Iu(),hw=fo(),Ru=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new pw.MemoryCache(n),this.#r=new hw.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)}};mo.MemoryZoneReadThroughCache=Ru});var Pr=y(A=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});A.METERING_SUBSCRIPTION_CONTEXT_DATA=A.INTERNAL_HEADERS_TO_REMOVE=A.DISPATCH_HEADERS_TO_REMOVE=A.ZP_TIMEZONE_HEADER=A.ZP_REGION_CODE_HEADER=A.ZP_REGION_HEADER=A.ZP_METRO_CODE_HEADER=A.ZP_POSTAL_CODE_HEADER=A.ZP_COLO_HEADER=A.ZP_AS_ORG_HEADER=A.ZP_ASN_HEADER=A.TRUE_CLIENT_IP=A.ZP_IP_LATITUDE_HEADER=A.ZP_IP_LONGITUDE_HEADER=A.ZP_IP_COUNTRY_HEADER=A.ZP_IP_CONTINENT_HEADER=A.ZP_IP_CITY_HEADER=A.CF_IP_LATITUDE_HEADER=A.CF_IP_LONGITUDE_HEADER=A.CF_IP_COUNTRY_HEADER=A.CF_IP_CONTINENT_HEADER=A.CF_IP_CITY_HEADER=A.RAY_ID_HEADER=A.BODY_REMOVED_HEADER=A.REQUEST_ID_HEADER=A.LEGACY_REQUEST_ID_HEADER=void 0;A.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";A.REQUEST_ID_HEADER="zp-rid";A.BODY_REMOVED_HEADER="zp-body-removed";A.RAY_ID_HEADER="cf-ray";A.CF_IP_CITY_HEADER="cf-ipcity";A.CF_IP_CONTINENT_HEADER="cf-ipcontinent";A.CF_IP_COUNTRY_HEADER="cf-ipcountry";A.CF_IP_LONGITUDE_HEADER="cf-iplongitude";A.CF_IP_LATITUDE_HEADER="cf-iplatitude";A.ZP_IP_CITY_HEADER="zp-ipcity";A.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";A.ZP_IP_COUNTRY_HEADER="zp-ipcountry";A.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";A.ZP_IP_LATITUDE_HEADER="zp-iplatitude";A.TRUE_CLIENT_IP="true-client-ip";A.ZP_ASN_HEADER="zp-asn";A.ZP_AS_ORG_HEADER="zp-asorg";A.ZP_COLO_HEADER="zp-colo";A.ZP_POSTAL_CODE_HEADER="zp-postalcode";A.ZP_METRO_CODE_HEADER="zp-metrocode";A.ZP_REGION_HEADER="zp-region";A.ZP_REGION_CODE_HEADER="zp-regioncode";A.ZP_TIMEZONE_HEADER="zp-timezone";A.DISPATCH_HEADERS_TO_REMOVE=[A.CF_IP_CITY_HEADER,A.CF_IP_CONTINENT_HEADER,A.CF_IP_COUNTRY_HEADER,A.CF_IP_LONGITUDE_HEADER,A.CF_IP_LATITUDE_HEADER,A.ZP_ASN_HEADER,A.ZP_AS_ORG_HEADER,A.ZP_COLO_HEADER,A.ZP_POSTAL_CODE_HEADER,A.ZP_METRO_CODE_HEADER,A.ZP_REGION_HEADER,A.ZP_REGION_CODE_HEADER,A.ZP_TIMEZONE_HEADER];A.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"];A.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49"});var nf=y(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var Wh=!0,Ou=!Wh;function fw(e){Wh||(Ou=e)}s(fw,"setColorEnabled");v.setColorEnabled=fw;function mw(){return Ou}s(mw,"getColorEnabled");v.getColorEnabled=mw;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 Ou?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function yw(e){return q(e,F([0],0))}s(yw,"reset");v.reset=yw;function gw(e){return q(e,F([1],22))}s(gw,"bold");v.bold=gw;function bw(e){return q(e,F([2],22))}s(bw,"dim");v.dim=bw;function _w(e){return q(e,F([3],23))}s(_w,"italic");v.italic=_w;function Ew(e){return q(e,F([4],24))}s(Ew,"underline");v.underline=Ew;function ww(e){return q(e,F([7],27))}s(ww,"inverse");v.inverse=ww;function vw(e){return q(e,F([8],28))}s(vw,"hidden");v.hidden=vw;function Sw(e){return q(e,F([9],29))}s(Sw,"strikethrough");v.strikethrough=Sw;function Tw(e){return q(e,F([30],39))}s(Tw,"black");v.black=Tw;function Qh(e){return q(e,F([31],39))}s(Qh,"red");v.red=Qh;function Yh(e){return q(e,F([32],39))}s(Yh,"green");v.green=Yh;function Zh(e){return q(e,F([33],39))}s(Zh,"yellow");v.yellow=Zh;function Xh(e){return q(e,F([34],39))}s(Xh,"blue");v.blue=Xh;function ef(e){return q(e,F([35],39))}s(ef,"magenta");v.magenta=ef;function tf(e){return q(e,F([36],39))}s(tf,"cyan");v.cyan=tf;function Iw(e){return q(e,F([37],39))}s(Iw,"white");v.white=Iw;function Pw(e){return rf(e)}s(Pw,"gray");v.gray=Pw;function rf(e){return q(e,F([90],39))}s(rf,"brightBlack");v.brightBlack=rf;function Aw(e){return q(e,F([91],39))}s(Aw,"brightRed");v.brightRed=Aw;function Rw(e){return q(e,F([92],39))}s(Rw,"brightGreen");v.brightGreen=Rw;function Ow(e){return q(e,F([93],39))}s(Ow,"brightYellow");v.brightYellow=Ow;function Nw(e){return q(e,F([94],39))}s(Nw,"brightBlue");v.brightBlue=Nw;function Cw(e){return q(e,F([95],39))}s(Cw,"brightMagenta");v.brightMagenta=Cw;function xw(e){return q(e,F([96],39))}s(xw,"brightCyan");v.brightCyan=xw;function Lw(e){return q(e,F([97],39))}s(Lw,"brightWhite");v.brightWhite=Lw;function Dw(e){return q(e,F([40],49))}s(Dw,"bgBlack");v.bgBlack=Dw;function Uw(e){return q(e,F([41],49))}s(Uw,"bgRed");v.bgRed=Uw;function kw(e){return q(e,F([42],49))}s(kw,"bgGreen");v.bgGreen=kw;function Mw(e){return q(e,F([43],49))}s(Mw,"bgYellow");v.bgYellow=Mw;function Hw(e){return q(e,F([44],49))}s(Hw,"bgBlue");v.bgBlue=Hw;function Fw(e){return q(e,F([45],49))}s(Fw,"bgMagenta");v.bgMagenta=Fw;function qw(e){return q(e,F([46],49))}s(qw,"bgCyan");v.bgCyan=qw;function $w(e){return q(e,F([47],49))}s($w,"bgWhite");v.bgWhite=$w;function jw(e){return q(e,F([100],49))}s(jw,"bgBrightBlack");v.bgBrightBlack=jw;function Vw(e){return q(e,F([101],49))}s(Vw,"bgBrightRed");v.bgBrightRed=Vw;function Gw(e){return q(e,F([102],49))}s(Gw,"bgBrightGreen");v.bgBrightGreen=Gw;function Bw(e){return q(e,F([103],49))}s(Bw,"bgBrightYellow");v.bgBrightYellow=Bw;function Kw(e){return q(e,F([104],49))}s(Kw,"bgBrightBlue");v.bgBrightBlue=Kw;function Jw(e){return q(e,F([105],49))}s(Jw,"bgBrightMagenta");v.bgBrightMagenta=Jw;function zw(e){return q(e,F([106],49))}s(zw,"bgBrightCyan");v.bgBrightCyan=zw;function Ww(e){return q(e,F([107],49))}s(Ww,"bgBrightWhite");v.bgBrightWhite=Ww;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(Jt,"clampAndTruncate");function Qw(e,t){return q(e,F([38,5,Jt(t)],39))}s(Qw,"rgb8");v.rgb8=Qw;function Yw(e,t){return q(e,F([48,5,Jt(t)],49))}s(Yw,"bgRgb8");v.bgRgb8=Yw;function Zw(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(Zw,"rgb24");v.rgb24=Zw;function Xw(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(Xw,"bgRgb24");v.bgRgb24=Xw;var ev=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 tv(e){return e.replace(ev,"")}s(tv,"stripColor");v.stripColor=tv;v.colorFunctions=[Qh,Yh,Zh,Xh,ef,tf];function rv(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(rv,"hashCode");function nv(e){let t=Math.abs(rv(e));return v.colorFunctions[t%v.colorFunctions.length]}s(nv,"generateColor");v.generateColor=nv});var of=y(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.format=void 0;function iv(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(iv,"format");yo.format=iv});var df=y(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.inspect=void 0;function Ar(e,t,r,n){let i={seen:[],stylize:ov,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=av),go(i,e,i.depth)}s(Ar,"inspect");bo.inspect=Ar;Ar.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};Ar.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function ov(e,t){return e}s(ov,"stylizeNoColor");function sv(e){return typeof e=="boolean"}s(sv,"isBoolean");function af(e){return e===void 0}s(af,"isUndefined");function av(e,t){let r=Ar.styles[t];return r?"\x1B["+Ar.colors[r][0]+"m"+e+"\x1B["+Ar.colors[r][1]+"m":e}s(av,"stylizeWithColor");function Nu(e){return typeof e=="function"}s(Nu,"isFunction");function cf(e){return typeof e=="string"}s(cf,"isString");function cv(e){return typeof e=="number"}s(cv,"isNumber");function uf(e){return e===null}s(uf,"isNull");function lf(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(lf,"hasOwn");function Cu(e){return Uu(e)&&ku(e)==="[object RegExp]"}s(Cu,"isRegExp");function Uu(e){return typeof e=="object"&&e!==null}s(Uu,"isObject");function xu(e){return Uu(e)&&(ku(e)==="[object Error]"||e instanceof Error)}s(xu,"isError");function sf(e){return Uu(e)&&ku(e)==="[object Date]"}s(sf,"isDate");function ku(e){return Object.prototype.toString.call(e)}s(ku,"objectToString");function uv(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}s(uv,"arrayToHash");function lv(e,t,r,n,i){let o=[];for(let a=0,c=t.length;a<c;++a)lf(t,String(a))?o.push(Du(e,t,r,n,String(a),!0)):o.push("");return i.forEach(function(a){a.match(/^\d+$/)||o.push(Du(e,t,r,n,a,!0))}),o}s(lv,"formatArray");function Lu(e){return"["+Error.prototype.toString.call(e)+"]"}s(Lu,"formatError");function go(e,t,r){if(e.customInspect&&t&&Nu(t.inspect)&&t.inspect!==Ar&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return cf(d)||(d=go(e,d,r)),d}let n=dv(e,t);if(n)return n;let i=Object.keys(t),o=uv(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(xu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Lu(t);if(i.length===0){if(Nu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(Cu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(sf(t))return e.stylize(Date.prototype.toString.call(t),"date");if(xu(t))return Lu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Nu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),Cu(t)&&(a=" "+RegExp.prototype.toString.call(t)),sf(t)&&(a=" "+Date.prototype.toUTCString.call(t)),xu(t)&&(a=" "+Lu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return Cu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=lv(e,t,r,o,i):l=i.map(function(d){return Du(e,t,r,o,d,c)}),e.seen.pop(),pv(l,a,u)}s(go,"formatValue");function Du(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")),lf(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(uf(r)?c=go(e,u.value,null):c=go(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")),af(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(Du,"formatProperty");function
|
|
32
|
+
`))):c=e.stylize("[Circular]","special")),af(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(Du,"formatProperty");function dv(e,t){if(af(t))return e.stylize("undefined","undefined");if(cf(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(cv(t))return e.stylize(""+t,"number");if(sv(t))return e.stylize(""+t,"boolean");if(uf(t))return e.stylize("null","null")}s(dv,"formatPrimitive");function pv(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(hv,"reduceToSingleString")});var pf=y(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.format=void 0;var fv=of(),mv=df(),yv=s((e,...t)=>(0,fv.format)(mv.inspect,e,t),"format");_o.format=yv});var Rr=y(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var gv=nf(),bv=pf(),Eo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,gv.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,bv.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};zt.Debugger=Eo;var wo=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function hf(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(hf,"extract");var ci;function _v(e){e||(e=[]),typeof e=="string"&&(e=hf(e)),ci=new wo(e)}s(_v,"withoutEnv");zt.withoutEnv=_v;function Ev(e){let t=globalThis.DEBUG;ci||(ci=new wo(hf(t)));let r=new Eo(ci,e);return ci.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(Ev,"debug");zt.debug=Ev});var So=y(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.ProblemResponseFormatter=Wr.InternalProblemResponseFormatter=void 0;var wv=O(),vo=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 wv.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Wr.InternalProblemResponseFormatter=vo;var Mu=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await vo.problemResponseFormat(t,r,n)}};Wr.ProblemResponseFormatter=Mu});var mf=y(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.deepFreeze=void 0;function ff(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&ff(r)}return Object.freeze(e)}s(ff,"deepFreeze");To.deepFreeze=ff});var Me=y(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.ZuploRequest=void 0;var yf=mf(),Hu=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,yf.deepFreeze)(this.#e)}get params(){return(0,yf.deepFreeze)(this.#t)}user};Io.ZuploRequest=Hu});var gt=y(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var gf=O(),vv=So(),Sv=Me(),Ao=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=Ao;var Ro=class extends Ao{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=Ro;ye.runtimeExtensions={};var Fu=[];ye.plugins=Fu;var bf=[],_f=[],Ef=[],Po={addPlugin(e){Fu.push(e)},addRequestHook(e){bf.push(e)},addResponseSendingHook(e){_f.push(e)},addResponseSendingFinalHook(e){Ef.push(e)}},Tv=s(async(e,t)=>{let r=e;for(let n of bf){let i=await n(r,t);if(i instanceof Sv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new gf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Tv;var Iv=s(async(e,t,r)=>{let n=e;for(let i of _f){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new gf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Iv;var Pv=s(async(e,t,r)=>{for(let n of Ef)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Pv;async function Av(e=()=>Promise.resolve()){await e(Po),ye.runtimeExtensions.value=Po;for(let t of Fu)t instanceof Ro&&await t.initialize(Po);vv.InternalProblemResponseFormatter.setProblemResponseFormat(Po.problemResponseFormat)}s(Av,"initializeRuntime");ye.initializeRuntime=Av});var qu=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serialize=Wt.ContentTypes=void 0;Wt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Rv(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(Rv,"serialize");Wt.serialize=Rv});var $u=y(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.isSystemRoute=void 0;var wf=Or();function Ov(e){return wf.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(wf.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}s(Ov,"isSystemRoute");Oo.isSystemRoute=Ov});var Dt=y(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.Pipeline=void 0;var ju=Nr(),vf=gt(),Nv=qu(),Cv=W(),xv=$u(),Vu=class{static{s(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(o){return i.log.error("Error executing request handler.",o),r.errorHandler(n,i,o)}};#t=({processors:t,gateway:r,handler:n})=>async(i,o)=>{let a=[...t],c=s(async _=>{let S=a.pop();return S?S(i,o,r,c):await this.#e(async U=>{let K=await n(U,o);return Lv(K)},r)(_,o)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,xv.isSystemRoute)(d)&&Cv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new ju.ResponseSendingEvent(i,l);o.dispatchEvent(p);let m=ju.ZuploContextExtensions.getContextExtensions(o),h=m.latestRequest,g;try{g=await p.mutableResponse}catch(_){return o.log.error(_),r.errorHandler(i,o,_)}try{g=await m.onResponseSending(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}try{g=await(0,vf.invokeOnResponseSendingExtensions)(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}o.dispatchEvent(new ju.ResponseSentEvent(i,g));try{await m.onResponseSendingFinal(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,vf.invokeOnResponseSendingFinalExtensions)(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};No.Pipeline=Vu;function Lv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Nv.serialize)(e),{headers:{"content-type":"application/json"}})}s(Lv,"resultToResponse")});var xo=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.MetricsPlugin=void 0;var Dv=gt(),Gu=class extends Dv.RuntimePlugin{static{s(this,"MetricsPlugin")}};Co.MetricsPlugin=Gu});var He=y(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.SystemLogMap=void 0;var Uv=O(),Bu=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 Uv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Lo.SystemLogMap=Bu});var ve=y(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.BatchDispatch=void 0;var Ku=class{static{s(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};Do.BatchDispatch=Ku});var Tf=y(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.EllieMetricsTransport=void 0;var Sf=He(),kv=ve(),Uo=W(),Ju=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Uo.Environment.instance.loggingId,this.#e=t,this.#t=new kv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Sf.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}=Uo.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":Uo.Environment.instance.deploymentName??"unknown","user-agent":Uo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Sf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};ko.EllieMetricsTransport=Ju});var ot=y(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.systemNoVersion=Cr.SystemRouteConfiguration=void 0;var zu=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=Cr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Cr.SystemRouteConfiguration=zu;Cr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=y(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.metricsProcessor=void 0;var If=Pr(),Mv=Nr(),Hv=gt(),Fv=xo(),qv=Tf(),$v=ot(),jv=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(If.RAY_ID_HEADER)??void 0,u=e.headers.get(If.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof $v.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Mv.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 qv.EllieMetricsTransport(t)),Hv.plugins.forEach(g=>{if(g instanceof Fv.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(m,t)}),a},"metricsProcessor");Mo.metricsProcessor=jv});var Wu=y(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.SystemRouteName=void 0;var Pf;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(Pf||(Ho.SystemRouteName=Pf={}))});var Rf=y(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0})});var xr=y(Yt=>{"use strict";var Vv=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)&&Vv(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});Of(Wu(),Yt);Of(Rf(),Yt)});var Nf=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.registerBuildRoute=void 0;var Gv=Ut(),Bv=Dt(),Kv=Qt(),Jv=xr(),zv=ot(),Wv=He(),Qv=W(),Yv=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 Gv.HttpProblems.notFound(o,a);let l=Qv.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"&&Wv.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 Bv.Pipeline({processors:[Kv.metricsProcessor],handler:r,gateway:t}),i=new zv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Jv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Fo.registerBuildRoute=Yv});var Qu=y(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.HTTP_STATUS_TITLES=Qr.HttpStatusCode=void 0;var Cf;(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"})(Cf||(Qr.HttpStatusCode=Cf={}));Qr.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 Zu=y(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});var Zv={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"};Yu.default=Zv});var te=y(Yr=>{"use strict";var Xv=Yr&&Yr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.HttpProblems=void 0;var eS=Pr(),N=Qu(),tS=Xv(Zu()),rS=W(),Xu=So();function nS(e){return`${new URL(e.url).pathname}`}s(nS,"instance");function iS(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:rS.Environment.instance.build.BUILD_ID},n=e.headers.get(eS.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(iS,"trace");var oS=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:nS(t),trace:iS(t,r),...n},additionalHeaders:i,statusText:tS.default[e.status]}),"merge"),el=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Xu.ProblemResponseFormatter.format(t,r,n):Xu.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}}},tl=class extends el{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=oS(this.getProblemFromStatus(t),r,n,i,o);return Xu.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)};Yr.HttpProblems=tl});var bt=y(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.isErrorLike=k.withUndefinedAsNull=k.withNullAsUndefined=k.validateConstraint=k.validateConstraints=k.areFunctions=k.isFunction=k.isEmptyObject=k.assertAllDefined=k.assertIsDefined=k.assertType=k.isUndefinedOrNull=k.isDefined=k.isUndefined=k.isBoolean=k.isIterable=k.isNumber=k.isTypedArray=k.isArray=k.isObject=k.getOwnEnumerableKeys=k.isRegexp=k.isStringArray=k.isNonEmptyString=k.isString=k.toString=void 0;var{toString:sS}=Object.prototype,{propertyIsEnumerable:aS}=Object.prototype;function xf(e){return sS.call(e)}s(xf,"toString");k.toString=xf;function qo(e){return typeof e=="string"}s(qo,"isString");k.isString=qo;function cS(e){return qo(e)&&e!==""}s(cS,"isNonEmptyString");k.isNonEmptyString=cS;function uS(e){return Array.isArray(e)&&e.every(t=>qo(t))}s(uS,"isStringArray");k.isStringArray=uS;function lS(e){return xf(e)==="[object RegExp]"}s(lS,"isRegexp");k.isRegexp=lS;function dS(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>aS.call(e,t))]}s(dS,"getOwnEnumerableKeys");k.getOwnEnumerableKeys=dS;function rl(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(rl,"isObject");k.isObject=rl;function pS(e){return rl(e)&&Array.isArray(e)}s(pS,"isArray");k.isArray=pS;function hS(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(hS,"isTypedArray");k.isTypedArray=hS;function fS(e){return typeof e=="number"&&!isNaN(e)}s(fS,"isNumber");k.isNumber=fS;function mS(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(mS,"isIterable");k.isIterable=mS;function yS(e){return e===!0||e===!1}s(yS,"isBoolean");k.isBoolean=yS;function Lf(e){return typeof e>"u"}s(Lf,"isUndefined");k.isUndefined=Lf;function gS(e){return!ui(e)}s(gS,"isDefined");k.isDefined=gS;function ui(e){return Lf(e)||e===null}s(ui,"isUndefinedOrNull");k.isUndefinedOrNull=ui;function bS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(bS,"assertType");k.assertType=bS;function _S(e){if(ui(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(_S,"assertIsDefined");k.assertIsDefined=_S;function ES(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ui(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(ES,"assertAllDefined");k.assertAllDefined=ES;var wS=Object.prototype.hasOwnProperty;function vS(e){if(!rl(e))return!1;for(let t in e)if(wS.call(e,t))return!1;return!0}s(vS,"isEmptyObject");k.isEmptyObject=vS;function nl(e){return typeof e=="function"}s(nl,"isFunction");k.isFunction=nl;function SS(...e){return e.length>0&&e.every(nl)}s(SS,"areFunctions");k.areFunctions=SS;function TS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Df(e[n],t[n])}s(TS,"validateConstraints");k.validateConstraints=TS;function Df(e,t){if(qo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(nl(t)){try{if(e instanceof t)return}catch{}if(!ui(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(Df,"validateConstraint");k.validateConstraint=Df;function IS(e){return e===null?void 0:e}s(IS,"withNullAsUndefined");k.withNullAsUndefined=IS;function PS(e){return typeof e>"u"?null:e}s(PS,"withUndefinedAsNull");k.withUndefinedAsNull=PS;function AS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(AS,"isErrorLike");k.isErrorLike=AS});var Zt=y(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.parseValueToBoolean=_t.parseValueToStringArray=_t.getValueFromRequestUser=_t.statusCodesStringToNumberArray=void 0;var Zr=O(),il=bt(),Uf=new Map;function RS(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(RS,"statusCodesStringToNumberArray");_t.statusCodesStringToNumberArray=RS;function OS(e,t,r){if(!t.startsWith("."))throw new Zr.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 Zr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(OS,"getValueFromRequestUser");_t.getValueFromRequestUser=OS;function NS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Zr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,il.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Zr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(NS,"parseValueToStringArray");_t.parseValueToStringArray=NS;function CS(e){if((0,il.isBoolean)(e))return e;if((0,il.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Zr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Zr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(CS,"parseValueToBoolean");_t.parseValueToBoolean=CS});var jo=y(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.generateCorsHeaders=Xt.findMatchingOrigin=Xt.parseCorsPolicies=void 0;var Lr=O(),kf=Zt(),$o=bt();function xS(e){if(e==null)return[];if(!Array.isArray(e))throw new Lr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,$o.isObject)(r))throw new Lr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,$o.isNonEmptyString)(r.name))throw new Lr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,$o.isNumber)(r.maxAge))throw new Lr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,$o.isBoolean)(r.allowCredentials))throw new Lr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=ol(r,"allowedHeaders"),i=ol(r,"allowedMethods"),o=ol(r,"exposeHeaders"),a;try{a=(0,kf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Lr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:o?o.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}s(xS,"parseCorsPolicies");Xt.parseCorsPolicies=xS;function ol(e,t){let r;if(e[t]!==void 0)try{r=(0,kf.parseValueToStringArray)(e[t])}catch(n){throw new Lr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}s(ol,"parseOptionalProperty");var LS=s((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Xt.findMatchingOrigin=LS;var DS=s((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Xt.generateCorsHeaders=DS});var Hf=y(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.registerCorsRoute=void 0;var US=O(),kS=Dt(),sl=te(),MS=Qt(),HS=xr(),FS=ot(),Mf=jo(),qS=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 sl.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return sl.HttpProblems.notFound(a,c);let h=m.routeConfiguration,g=$S(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),sl.HttpProblems.notFound(a,c))},"optionsHandler"),i=new kS.Pipeline({processors:[MS.metricsProcessor],handler:n,gateway:t}),o=new FS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:HS.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");Vo.registerCorsRoute=qS;var $S=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 US.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Mf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Mf.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Ff=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.registerNoRoutes=void 0;var jS=Dt(),VS=Qt(),GS=xr(),BS=ot(),KS=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 jS.Pipeline({processors:[VS.metricsProcessor],handler:r,gateway:t}),i=new BS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:GS.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Go.registerNoRoutes=KS});var qf=y(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.registerNotMatchedHandler=Dr.notFoundRouteConfiguration=void 0;var JS=Nr(),zS=gt(),WS=Dt(),QS=te(),YS=Qt(),ZS=xr(),XS=ot();Dr.notFoundRouteConfiguration=new XS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:ZS.SystemRouteName.UnmatchedPath});var eT=s((e,t)=>{let r=s(async(i,o)=>{let a=zS.runtimeExtensions.value?.notFoundHandler;if(a){let c=JS.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return QS.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new WS.Pipeline({processors:[YS.metricsProcessor],handler:r,gateway:t});e.addRoute(Dr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Dr.registerNotMatchedHandler=eT});var al=y(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.corsProcessor=void 0;var Vf=O(),$f=jo(),tT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],jf=s(e=>{tT.forEach(t=>e.delete(t))},"stripCorsHeaders"),rT=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 jf(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 Vf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=nT(i,r.routeData.corsPolicies),c=iT(e,a),u=new Headers(o.headers);return jf(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");Bo.corsProcessor=rT;var nT=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 Vf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),iT=s((e,t)=>{let r=(0,$f.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,$f.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Gf=y(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.registerPingRoute=void 0;var oT=Dt(),sT=al(),aT=xr(),cT=ot(),uT=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new oT.Pipeline({processors:[sT.corsProcessor],handler:r,gateway:t}),i=new cT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:aT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Ko.registerPingRoute=uT});var en=y(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var lT=Nr(),Xr=O(),Bf=Me(),dT=W();function Kf(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 Xr.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 Xr.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(Kf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=Kf;function pT(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new Xr.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 Xr.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(pT,"getOutboundPolicyHandlerAndOptions");var hT=s(e=>async(t,r)=>{let n=lT.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 Bf.ZuploRequest)o=c;else if(c instanceof Request)o=new Bf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Xr.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=hT;var fT=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 Xr.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"),mT=s(async(e,t,r,n)=>{let i=Kf(t.route,r.routeData.policies),o=pT(t.route,r.routeData.policies);return Jf({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");st.policyProcessor=mT;function yT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>Jf({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(yT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=yT;async function Jf({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=fT(n),d;return dT.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(Jf,"executePolicyProcessor")});var zf=y(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.serialize=tn.parse=void 0;var gT=Object.prototype.toString,Jo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function bT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||ET,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]=ST(l,i)}o=c+1}return r}s(bT,"parse");tn.parse=bT;function _T(e,t,r){let n=r||{},i=n.encode||wT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Jo.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!Jo.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(!Jo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Jo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!vT(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(_T,"serialize");tn.serialize=_T;function ET(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(ET,"decode");function wT(e){return encodeURIComponent(e)}s(wT,"encode");function vT(e){return gT.call(e)==="[object Date]"||e instanceof Date}s(vT,"isDate");function ST(e,t){try{return t(e)}catch{return e}}s(ST,"tryDecode")});var Wf=y(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.devPortalBaseURL=void 0;var TT=zf();function IT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,TT.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(IT,"devPortalBaseURL");zo.devPortalBaseURL=IT});var em=y(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.registerDevPortalLegacyRedirectRoute=rn.registerDevPortalV3Route=void 0;var cl=Ut(),Yf=Dt(),Zf=Qt(),PT=en(),Xf=ot(),AT=Wf(),er=W(),Qf="/__zuplo/dev-portal",RT="dev-portal-id",OT="dev-portal-host",NT="zp-account",CT="zp-project",xT="dev-portal-build",LT=`
|
|
35
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}s(pv,"reduceToSingleString")});var pf=y(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.format=void 0;var hv=of(),fv=df(),mv=s((e,...t)=>(0,hv.format)(fv.inspect,e,t),"format");_o.format=mv});var Rr=y(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var yv=nf(),gv=pf(),Eo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,yv.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,gv.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};zt.Debugger=Eo;var wo=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function hf(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(hf,"extract");var ai;function bv(e){e||(e=[]),typeof e=="string"&&(e=hf(e)),ai=new wo(e)}s(bv,"withoutEnv");zt.withoutEnv=bv;function _v(e){let t=globalThis.DEBUG;ai||(ai=new wo(hf(t)));let r=new Eo(ai,e);return ai.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(_v,"debug");zt.debug=_v});var So=y(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.ProblemResponseFormatter=Wr.InternalProblemResponseFormatter=void 0;var Ev=O(),vo=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 Ev.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Wr.InternalProblemResponseFormatter=vo;var Mu=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await vo.problemResponseFormat(t,r,n)}};Wr.ProblemResponseFormatter=Mu});var mf=y(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.deepFreeze=void 0;function ff(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&ff(r)}return Object.freeze(e)}s(ff,"deepFreeze");To.deepFreeze=ff});var Me=y(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.ZuploRequest=void 0;var yf=mf(),Hu=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,yf.deepFreeze)(this.#e)}get params(){return(0,yf.deepFreeze)(this.#t)}user};Io.ZuploRequest=Hu});var gt=y(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var gf=O(),wv=So(),vv=Me(),Ao=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=Ao;var Ro=class extends Ao{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=Ro;ye.runtimeExtensions={};var Fu=[];ye.plugins=Fu;var bf=[],_f=[],Ef=[],Po={addPlugin(e){Fu.push(e)},addRequestHook(e){bf.push(e)},addResponseSendingHook(e){_f.push(e)},addResponseSendingFinalHook(e){Ef.push(e)}},Sv=s(async(e,t)=>{let r=e;for(let n of bf){let i=await n(r,t);if(i instanceof vv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new gf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Sv;var Tv=s(async(e,t,r)=>{let n=e;for(let i of _f){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new gf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Tv;var Iv=s(async(e,t,r)=>{for(let n of Ef)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Iv;async function Pv(e=()=>Promise.resolve()){await e(Po),ye.runtimeExtensions.value=Po;for(let t of Fu)t instanceof Ro&&await t.initialize(Po);wv.InternalProblemResponseFormatter.setProblemResponseFormat(Po.problemResponseFormat)}s(Pv,"initializeRuntime");ye.initializeRuntime=Pv});var qu=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serialize=Wt.ContentTypes=void 0;Wt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Av(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(Av,"serialize");Wt.serialize=Av});var $u=y(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.isSystemRoute=void 0;var wf=Or();function Rv(e){return wf.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(wf.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}s(Rv,"isSystemRoute");Oo.isSystemRoute=Rv});var Dt=y(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.Pipeline=void 0;var ju=Nr(),vf=gt(),Ov=qu(),Nv=W(),Cv=$u(),Vu=class{static{s(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(o){return i.log.error("Error executing request handler.",o),r.errorHandler(n,i,o)}};#t=({processors:t,gateway:r,handler:n})=>async(i,o)=>{let a=[...t],c=s(async _=>{let S=a.pop();return S?S(i,o,r,c):await this.#e(async U=>{let K=await n(U,o);return xv(K)},r)(_,o)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,Cv.isSystemRoute)(d)&&Nv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new ju.ResponseSendingEvent(i,l);o.dispatchEvent(p);let m=ju.ZuploContextExtensions.getContextExtensions(o),h=m.latestRequest,g;try{g=await p.mutableResponse}catch(_){return o.log.error(_),r.errorHandler(i,o,_)}try{g=await m.onResponseSending(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}try{g=await(0,vf.invokeOnResponseSendingExtensions)(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}o.dispatchEvent(new ju.ResponseSentEvent(i,g));try{await m.onResponseSendingFinal(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,vf.invokeOnResponseSendingFinalExtensions)(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};No.Pipeline=Vu;function xv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Ov.serialize)(e),{headers:{"content-type":"application/json"}})}s(xv,"resultToResponse")});var xo=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.MetricsPlugin=void 0;var Lv=gt(),Gu=class extends Lv.RuntimePlugin{static{s(this,"MetricsPlugin")}};Co.MetricsPlugin=Gu});var He=y(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.SystemLogMap=void 0;var Dv=O(),Bu=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 Dv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Lo.SystemLogMap=Bu});var ve=y(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.BatchDispatch=void 0;var Ku=class{static{s(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};Do.BatchDispatch=Ku});var Tf=y(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.EllieMetricsTransport=void 0;var Sf=He(),Uv=ve(),Uo=W(),Ju=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Uo.Environment.instance.loggingId,this.#e=t,this.#t=new Uv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Sf.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}=Uo.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":Uo.Environment.instance.deploymentName??"unknown","user-agent":Uo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Sf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};ko.EllieMetricsTransport=Ju});var ot=y(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.systemNoVersion=Cr.SystemRouteConfiguration=void 0;var zu=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=Cr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Cr.SystemRouteConfiguration=zu;Cr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=y(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.metricsProcessor=void 0;var If=Pr(),kv=Nr(),Mv=gt(),Hv=xo(),Fv=Tf(),qv=ot(),$v=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(If.RAY_ID_HEADER)??void 0,u=e.headers.get(If.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof qv.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=kv.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 Fv.EllieMetricsTransport(t)),Mv.plugins.forEach(g=>{if(g instanceof Hv.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(m,t)}),a},"metricsProcessor");Mo.metricsProcessor=$v});var Wu=y(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.SystemRouteName=void 0;var Pf;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(Pf||(Ho.SystemRouteName=Pf={}))});var Rf=y(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0})});var xr=y(Yt=>{"use strict";var jv=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)&&jv(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});Of(Wu(),Yt);Of(Rf(),Yt)});var Nf=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.registerBuildRoute=void 0;var Vv=Ut(),Gv=Dt(),Bv=Qt(),Kv=xr(),Jv=ot(),zv=He(),Wv=W(),Qv=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 Vv.HttpProblems.notFound(o,a);let l=Wv.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"&&zv.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 Gv.Pipeline({processors:[Bv.metricsProcessor],handler:r,gateway:t}),i=new Jv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Kv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Fo.registerBuildRoute=Qv});var Qu=y(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.HTTP_STATUS_TITLES=Qr.HttpStatusCode=void 0;var Cf;(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"})(Cf||(Qr.HttpStatusCode=Cf={}));Qr.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 Zu=y(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});var Yv={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};Yu.default=Yv});var te=y(Yr=>{"use strict";var Zv=Yr&&Yr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.HttpProblems=void 0;var Xv=Pr(),N=Qu(),eS=Zv(Zu()),tS=W(),Xu=So();function rS(e){return`${new URL(e.url).pathname}`}s(rS,"instance");function nS(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:tS.Environment.instance.build.BUILD_ID},n=e.headers.get(Xv.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(nS,"trace");var iS=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:rS(t),trace:nS(t,r),...n},additionalHeaders:i,statusText:eS.default[e.status]}),"merge"),el=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Xu.ProblemResponseFormatter.format(t,r,n):Xu.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}}},tl=class extends el{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=iS(this.getProblemFromStatus(t),r,n,i,o);return Xu.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)};Yr.HttpProblems=tl});var bt=y(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.isErrorLike=k.withUndefinedAsNull=k.withNullAsUndefined=k.validateConstraint=k.validateConstraints=k.areFunctions=k.isFunction=k.isEmptyObject=k.assertAllDefined=k.assertIsDefined=k.assertType=k.isUndefinedOrNull=k.isDefined=k.isUndefined=k.isBoolean=k.isIterable=k.isNumber=k.isTypedArray=k.isArray=k.isObject=k.getOwnEnumerableKeys=k.isRegexp=k.isStringArray=k.isNonEmptyString=k.isString=k.toString=void 0;var{toString:oS}=Object.prototype,{propertyIsEnumerable:sS}=Object.prototype;function xf(e){return oS.call(e)}s(xf,"toString");k.toString=xf;function qo(e){return typeof e=="string"}s(qo,"isString");k.isString=qo;function aS(e){return qo(e)&&e!==""}s(aS,"isNonEmptyString");k.isNonEmptyString=aS;function cS(e){return Array.isArray(e)&&e.every(t=>qo(t))}s(cS,"isStringArray");k.isStringArray=cS;function uS(e){return xf(e)==="[object RegExp]"}s(uS,"isRegexp");k.isRegexp=uS;function lS(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>sS.call(e,t))]}s(lS,"getOwnEnumerableKeys");k.getOwnEnumerableKeys=lS;function rl(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(rl,"isObject");k.isObject=rl;function dS(e){return rl(e)&&Array.isArray(e)}s(dS,"isArray");k.isArray=dS;function pS(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(pS,"isTypedArray");k.isTypedArray=pS;function hS(e){return typeof e=="number"&&!isNaN(e)}s(hS,"isNumber");k.isNumber=hS;function fS(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(fS,"isIterable");k.isIterable=fS;function mS(e){return e===!0||e===!1}s(mS,"isBoolean");k.isBoolean=mS;function Lf(e){return typeof e>"u"}s(Lf,"isUndefined");k.isUndefined=Lf;function yS(e){return!ci(e)}s(yS,"isDefined");k.isDefined=yS;function ci(e){return Lf(e)||e===null}s(ci,"isUndefinedOrNull");k.isUndefinedOrNull=ci;function gS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(gS,"assertType");k.assertType=gS;function bS(e){if(ci(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(bS,"assertIsDefined");k.assertIsDefined=bS;function _S(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ci(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(_S,"assertAllDefined");k.assertAllDefined=_S;var ES=Object.prototype.hasOwnProperty;function wS(e){if(!rl(e))return!1;for(let t in e)if(ES.call(e,t))return!1;return!0}s(wS,"isEmptyObject");k.isEmptyObject=wS;function nl(e){return typeof e=="function"}s(nl,"isFunction");k.isFunction=nl;function vS(...e){return e.length>0&&e.every(nl)}s(vS,"areFunctions");k.areFunctions=vS;function SS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Df(e[n],t[n])}s(SS,"validateConstraints");k.validateConstraints=SS;function Df(e,t){if(qo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(nl(t)){try{if(e instanceof t)return}catch{}if(!ci(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(Df,"validateConstraint");k.validateConstraint=Df;function TS(e){return e===null?void 0:e}s(TS,"withNullAsUndefined");k.withNullAsUndefined=TS;function IS(e){return typeof e>"u"?null:e}s(IS,"withUndefinedAsNull");k.withUndefinedAsNull=IS;function PS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(PS,"isErrorLike");k.isErrorLike=PS});var Zt=y(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.parseValueToBoolean=_t.parseValueToStringArray=_t.getValueFromRequestUser=_t.statusCodesStringToNumberArray=void 0;var Zr=O(),il=bt(),Uf=new Map;function AS(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(AS,"statusCodesStringToNumberArray");_t.statusCodesStringToNumberArray=AS;function RS(e,t,r){if(!t.startsWith("."))throw new Zr.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 Zr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(RS,"getValueFromRequestUser");_t.getValueFromRequestUser=RS;function OS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Zr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,il.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Zr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(OS,"parseValueToStringArray");_t.parseValueToStringArray=OS;function NS(e){if((0,il.isBoolean)(e))return e;if((0,il.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Zr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Zr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(NS,"parseValueToBoolean");_t.parseValueToBoolean=NS});var jo=y(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.generateCorsHeaders=Xt.findMatchingOrigin=Xt.parseCorsPolicies=void 0;var Lr=O(),kf=Zt(),$o=bt();function CS(e){if(e==null)return[];if(!Array.isArray(e))throw new Lr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,$o.isObject)(r))throw new Lr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,$o.isNonEmptyString)(r.name))throw new Lr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,$o.isNumber)(r.maxAge))throw new Lr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,$o.isBoolean)(r.allowCredentials))throw new Lr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=ol(r,"allowedHeaders"),i=ol(r,"allowedMethods"),o=ol(r,"exposeHeaders"),a;try{a=(0,kf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Lr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:o?o.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}s(CS,"parseCorsPolicies");Xt.parseCorsPolicies=CS;function ol(e,t){let r;if(e[t]!==void 0)try{r=(0,kf.parseValueToStringArray)(e[t])}catch(n){throw new Lr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}s(ol,"parseOptionalProperty");var xS=s((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Xt.findMatchingOrigin=xS;var LS=s((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Xt.generateCorsHeaders=LS});var Hf=y(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.registerCorsRoute=void 0;var DS=O(),US=Dt(),sl=te(),kS=Qt(),MS=xr(),HS=ot(),Mf=jo(),FS=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 sl.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return sl.HttpProblems.notFound(a,c);let h=m.routeConfiguration,g=qS(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),sl.HttpProblems.notFound(a,c))},"optionsHandler"),i=new US.Pipeline({processors:[kS.metricsProcessor],handler:n,gateway:t}),o=new HS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:MS.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");Vo.registerCorsRoute=FS;var qS=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 DS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Mf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Mf.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Ff=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.registerNoRoutes=void 0;var $S=Dt(),jS=Qt(),VS=xr(),GS=ot(),BS=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 $S.Pipeline({processors:[jS.metricsProcessor],handler:r,gateway:t}),i=new GS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:VS.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Go.registerNoRoutes=BS});var qf=y(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.registerNotMatchedHandler=Dr.notFoundRouteConfiguration=void 0;var KS=Nr(),JS=gt(),zS=Dt(),WS=te(),QS=Qt(),YS=xr(),ZS=ot();Dr.notFoundRouteConfiguration=new ZS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:YS.SystemRouteName.UnmatchedPath});var XS=s((e,t)=>{let r=s(async(i,o)=>{let a=JS.runtimeExtensions.value?.notFoundHandler;if(a){let c=KS.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return WS.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new zS.Pipeline({processors:[QS.metricsProcessor],handler:r,gateway:t});e.addRoute(Dr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Dr.registerNotMatchedHandler=XS});var al=y(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.corsProcessor=void 0;var Vf=O(),$f=jo(),eT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],jf=s(e=>{eT.forEach(t=>e.delete(t))},"stripCorsHeaders"),tT=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 jf(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 Vf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=rT(i,r.routeData.corsPolicies),c=nT(e,a),u=new Headers(o.headers);return jf(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");Bo.corsProcessor=tT;var rT=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 Vf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),nT=s((e,t)=>{let r=(0,$f.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,$f.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Gf=y(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.registerPingRoute=void 0;var iT=Dt(),oT=al(),sT=xr(),aT=ot(),cT=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new iT.Pipeline({processors:[oT.corsProcessor],handler:r,gateway:t}),i=new aT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:sT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Ko.registerPingRoute=cT});var en=y(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var uT=Nr(),Xr=O(),Bf=Me(),lT=W();function Kf(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 Xr.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 Xr.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(Kf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=Kf;function dT(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new Xr.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 Xr.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(dT,"getOutboundPolicyHandlerAndOptions");var pT=s(e=>async(t,r)=>{let n=uT.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 Bf.ZuploRequest)o=c;else if(c instanceof Request)o=new Bf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Xr.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=pT;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 Xr.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=Kf(t.route,r.routeData.policies),o=dT(t.route,r.routeData.policies);return Jf({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");st.policyProcessor=fT;function mT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>Jf({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(mT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=mT;async function Jf({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 lT.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(Jf,"executePolicyProcessor")});var zf=y(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.serialize=tn.parse=void 0;var yT=Object.prototype.toString,Jo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function gT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||_T,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]=vT(l,i)}o=c+1}return r}s(gT,"parse");tn.parse=gT;function bT(e,t,r){let n=r||{},i=n.encode||ET;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Jo.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!Jo.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(!Jo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Jo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!wT(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(bT,"serialize");tn.serialize=bT;function _T(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(_T,"decode");function ET(e){return encodeURIComponent(e)}s(ET,"encode");function wT(e){return yT.call(e)==="[object Date]"||e instanceof Date}s(wT,"isDate");function vT(e,t){try{return t(e)}catch{return e}}s(vT,"tryDecode")});var Wf=y(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.devPortalBaseURL=void 0;var ST=zf();function TT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,ST.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(TT,"devPortalBaseURL");zo.devPortalBaseURL=TT});var em=y(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.registerDevPortalLegacyRedirectRoute=rn.registerDevPortalV3Route=void 0;var cl=Ut(),Yf=Dt(),Zf=Qt(),IT=en(),Xf=ot(),PT=Wf(),er=W(),Qf="/__zuplo/dev-portal",AT="dev-portal-id",RT="dev-portal-host",OT="zp-account",NT="zp-project",CT="dev-portal-build",xT=`
|
|
36
36
|
<!DOCTYPE html>
|
|
37
37
|
<html lang="en">
|
|
38
38
|
<head>
|
|
@@ -46,23 +46,23 @@
|
|
|
46
46
|
<p>For more information, see <a href="https://zuplo.com/docs/articles/developer-portal">https://zuplo.com/docs/articles/developer-portal</a>.</p>
|
|
47
47
|
</body>
|
|
48
48
|
</html>
|
|
49
|
-
`,
|
|
50
|
-
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(
|
|
51
|
-
`)}s(
|
|
49
|
+
`,LT=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=er.Environment.instance.deploymentName,i=er.Environment.instance.devPortalBaseUrl,o=s(async(u,l)=>{if(er.Environment.instance.isLocalDevelopment)return new Response(xT,{headers:{"content-type":"text/html"}});if(!n)return cl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,PT.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:g,body:_}=u;return er.Environment.instance.build.ACCOUNT_NAME&&h.set(OT,er.Environment.instance.build.ACCOUNT_NAME),er.Environment.instance.build.PROJECT_NAME&&h.set(NT,er.Environment.instance.build.PROJECT_NAME),h.set(AT,n),h.set(RT,d.host),h.set(CT,er.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:h,method:g,body:_,redirect:"manual"})},"devPortalRoute"),a=new Yf.Pipeline({processors:[Zf.metricsProcessor,IT.policyProcessor],handler:o,gateway:t}),c=new Xf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:cl.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");rn.registerDevPortalV3Route=LT;var DT=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(Qf.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Yf.Pipeline({processors:[Zf.metricsProcessor],handler:n,gateway:t}),o=new Xf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Qf}(.*)`,systemRouteName:cl.SystemRouteName.DeveloperPortalLegacy});e.addRoute(o,i.execute)},"registerDevPortalLegacyRedirectRoute");rn.registerDevPortalLegacyRedirectRoute=DT});var ul=y(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.API_KEY=nn.SYSTEM_LOGGER=void 0;nn.SYSTEM_LOGGER="system-logger";nn.API_KEY="api-key"});var tm=y(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.CoreLogger=void 0;var ll=0,dl=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){ll>=Number.MAX_SAFE_INTEGER&&(ll=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:ll++};this.#t[t](c,a)}};Wo.CoreLogger=dl});var kt=y(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.LogPlugin=void 0;var UT=gt(),pl=class extends UT.RuntimePlugin{static{s(this,"LogPlugin")}};Qo.LogPlugin=pl});var rm=y(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.LoggingContext=void 0;var hl=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)}};Yo.LoggingContext=hl});var nm=y(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.RequestLogger=void 0;var fl=class{static{s(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};Zo.RequestLogger=fl});var Ur=y(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.cleanStack=tr.serializeError=tr.NonError=void 0;var im=bt(),kT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),MT=new Map(kT),ml=class e extends Error{static{s(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};tr.NonError=ml;var HT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],yl=Symbol(".toJSON was called"),FT=s(e=>{e[yl]=!0;let t=e.toJSON();return delete e[yl],t},"toJSON"),qT=s(e=>MT.get(e)??Error,"getErrorConstructor"),om=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,im.isErrorLike)(e)){let l=qT(e.name);r=new l}else r={};if(t.push(e),o>=i)return r;if(a&&typeof e.toJSON=="function"&&e[yl]!==!0)return FT(e);let u=s(l=>om({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 HT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,im.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function $T(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?om({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}s($T,"serializeError");tr.serializeError=$T;var jT=/file:\/\/\/(.*?)\/dist\//g,VT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,GT="at async Event.respondWith";function BT(e){return typeof e!="string"?e:e.split(`
|
|
50
|
+
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(jT,"").replaceAll(VT,"").replaceAll(GT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
|
|
51
|
+
`)}s(BT,"cleanStack");tr.cleanStack=BT});var sm=y(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});var gl=bt();function KT(e,t,r=""){let n=[],i=t?.maxDepth??3;return s(function o(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
|
|
52
52
|
`,newlineOrSpace:`
|
|
53
53
|
`,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let m=s(h=>{if(c.inlineCharacterLimit===void 0)return h;let g=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return g.length<=c.inlineCharacterLimit?g:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
|
|
54
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,gl.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((g,_)=>{let S=a.length-1===_?p.newline:","+p.newlineOrSpace,T=o(g,c,u+d,l+1);return c.transform&&(T=c.transform(a,_,T)),p.indent+T+S}).join("")+p.pad+"]";return n.pop(),m(h)}if((0,gl.isObject)(a)){let h=(0,gl.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(_=>c.filter?.(a,_))),h.length===0)return"{}";n.push(a);let g="{"+p.newline+h.map((_,S)=>{let T=h.length-1===S?p.newline:","+p.newlineOrSpace,U=typeof _=="symbol",K=!U&&/^[a-z$_][$\w]*$/i.test(_),L=U||K?_:o(_,c,"",l+1),ne=o(a[_],c,u+d,l+1);return c.transform&&(ne=c.transform(a,_,ne)),p.indent+String(L)+": "+ne+T}).join("")+p.pad+"}";return n.pop(),m(g)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
|
|
55
|
-
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}s(
|
|
56
|
-
`)}s(YT,"messagesToMultilineText");Fe.messagesToMultilineText=YT;function um(e){return typeof e=="string"?e:JSON.stringify(e)}s(um,"stringifyNonString");Fe.stringifyNonString=um;function lm(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,cm.toString)(e):"unknown"}s(lm,"stringifyNonStringToText");Fe.stringifyNonStringToText=lm});var D,ae,Se=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var ZT,Xo,El=I(()=>{Se();ZT=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Xo=ZT});function Te(...e){let t=e.reduce((i,{length:o})=>i+o,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function dm(e,t){return Te(Z.encode(e),new Uint8Array([0]),t)}function wl(e,t,r){if(t<0||t>=es)throw new RangeError(`value must be >= 0 and <= ${es-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function ts(e){let t=Math.floor(e/es),r=e%es,n=new Uint8Array(8);return wl(n,t,0),wl(n,r,4),n}function rs(e){let t=new Uint8Array(4);return wl(t,e),t}function ns(e){return Te(rs(e.length),e)}async function pm(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(rs(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Xo("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,es,ge=I(()=>{El();Z=new TextEncoder,ue=new TextDecoder,es=2**32;s(Te,"concat");s(dm,"p2s");s(wl,"writeUInt32BE");s(ts,"uint64be");s(rs,"uint32be");s(ns,"lengthAndInput");s(pm,"concatKdf")});var is,X,vl,re,Ie=I(()=>{ge();is=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=>is(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),vl=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 vl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Sl={};co(Sl,{JOSEAlgNotAllowed:()=>rr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Mt,JWEInvalid:()=>R,JWKInvalid:()=>li,JWKSInvalid:()=>nr,JWKSMultipleMatchingKeys:()=>di,JWKSNoMatchingKey:()=>kr,JWKSTimeout:()=>pi,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Mr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>on,JWTInvalid:()=>le});var he,be,on,rr,M,Mt,R,z,le,li,nr,kr,di,pi,Mr,j=I(()=>{he=class extends Error{static{s(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{s(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},on=class extends he{static{s(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},rr=class extends he{static{s(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},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"}},R=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"}},li=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},nr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},kr=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"}},di=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"}},pi=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"}},Mr=class extends he{static{s(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var ir,hi=I(()=>{Se();ir=D.getRandomValues.bind(D)});function Tl(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 os,ss=I(()=>{j();hi();s(Tl,"bitLength");os=s(e=>ir(new Uint8Array(Tl(e)>>3)),"default")});var XT,as,Il=I(()=>{j();ss();XT=s((e,t)=>{if(t.length<<3!==Tl(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),as=XT});var eI,sn,Pl=I(()=>{j();eI=s((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new R(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),sn=eI});var tI,fm,mm=I(()=>{tI=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"),fm=tI});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function or(e,t){return e.name===t}function cs(e){return parseInt(e.name.slice(4),10)}function rI(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function ym(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 gm(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!or(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(cs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!or(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(cs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!or(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(cs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!or(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=rI(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}ym(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!or(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!or(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!or(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!or(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(cs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}ym(e,r)}var sr=I(()=>{s(Pe,"unusable");s(or,"isAlgorithm");s(cs,"getHashLength");s(rI,"getNamedCurve");s(ym,"checkUsage");s(gm,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function bm(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 Al(e,t,...r){return bm(`Key for the ${e} algorithm must be `,t,...r)}var oe,at=I(()=>{s(bm,"message");oe=s((e,...t)=>bm("Key must be ",e,...t),"default");s(Al,"withAlg")});var Rl,Q,ct=I(()=>{Se();Rl=s(e=>ae(e),"default"),Q=["CryptoKey"]});async function nI(e,t,r,n,i,o){if(!(t instanceof Uint8Array))throw new TypeError(oe(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Te(o,n,r,ts(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=fm(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 iI(e,t,r,n,i,o){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:o,iv:n,name:"AES-GCM",tagLength:128},a,Te(r,i)))}catch{throw new Mt}}var oI,us,Ol=I(()=>{ge();Il();Pl();mm();j();Se();sr();at();ct();s(nI,"cbcDecrypt");s(iI,"gcmDecrypt");oI=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(as(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&sn(t,parseInt(e.slice(-3),10)),nI(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&sn(t,parseInt(e.slice(1,4),10)),iI(e,t,r,n,i,o);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),us=oI});var _m,Em,Nl=I(()=>{j();_m=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),Em=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var sI,wt,an=I(()=>{sI=s((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let o of i){if(r.has(o))return!1;r.add(o)}}return!0},"isDisjoint"),wt=sI});function aI(e){return typeof e=="object"&&e!==null}function Y(e){if(!aI(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(aI,"isObjectLike");s(Y,"isObject")});var cI,cn,Cl=I(()=>{cI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],cn=cI});function wm(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function vm(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 fi,mi,ls=I(()=>{Cl();Se();sr();at();ct();s(wm,"checkKeySize");s(vm,"getCryptoKey");fi=s(async(e,t,r)=>{let n=await vm(t,e,"wrapKey");wm(n,e);let i=await D.subtle.importKey("raw",r,...cn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),mi=s(async(e,t,r)=>{let n=await vm(t,e,"unwrapKey");wm(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...cn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function ds(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Te(ns(Z.encode(r)),ns(i),ns(o),rs(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return pm(u,n,a)}async function Sm(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function ps(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 xl=I(()=>{ge();Se();sr();at();ct();s(ds,"deriveKey");s(Sm,"generateEpk");s(ps,"ecdhAllowed")});function Ll(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var Im=I(()=>{j();s(Ll,"checkP2s")});function uI(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function Pm(e,t,r,n){Ll(e);let i=dm(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 uI(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,o));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Am,Rm,Dl=I(()=>{hi();ge();Ie();ls();Im();Se();sr();at();ct();s(uI,"getCryptoKey");s(Pm,"deriveKey");Am=s(async(e,t,r,n=2048,i=ir(new Uint8Array(16)))=>{let o=await Pm(i,e,n,t);return{encryptedKey:await fi(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),Rm=s(async(e,t,r,n,i)=>{let o=await Pm(i,e,n,t);return mi(e.slice(-6),o,r)},"decrypt")});function un(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 Om=I(()=>{j();s(un,"subtleRsaEs")});var Hr,hs=I(()=>{Hr=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 Nm,Cm,Ul=I(()=>{Om();Cl();Se();sr();hs();at();ct();Nm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Hr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(un(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...cn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,un(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Cm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Hr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(un(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,un(e),...cn);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 yi(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var vt,gi=I(()=>{j();hi();s(yi,"bitLength");vt=s(e=>ir(new Uint8Array(yi(e)>>3)),"default")});var kl,xm=I(()=>{kl=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
55
|
+
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}s(KT,"stringifyObject");bl.default=KT});var Et=y(Fe=>{"use strict";var JT=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 _l=Ur(),am=JT(sm()),cm=bt();function zT(e){return e.map(t=>(0,_l.serializeError)(t))}s(zT,"makeErrorsSerializable");Fe.makeErrorsSerializable=zT;function WT(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:um((0,_l.serializeError)(t))}s(WT,"extractBestMessage");Fe.extractBestMessage=WT;function QT(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,cm.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,am.default)((0,_l.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,am.default)(r);t.push(n)}else{let n=lm(r);t.push(n)}}),t.join(`
|
|
56
|
+
`)}s(QT,"messagesToMultilineText");Fe.messagesToMultilineText=QT;function um(e){return typeof e=="string"?e:JSON.stringify(e)}s(um,"stringifyNonString");Fe.stringifyNonString=um;function lm(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,cm.toString)(e):"unknown"}s(lm,"stringifyNonStringToText");Fe.stringifyNonStringToText=lm});var D,ae,Se=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var YT,Xo,El=I(()=>{Se();YT=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Xo=YT});function Te(...e){let t=e.reduce((i,{length:o})=>i+o,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function dm(e,t){return Te(Z.encode(e),new Uint8Array([0]),t)}function wl(e,t,r){if(t<0||t>=es)throw new RangeError(`value must be >= 0 and <= ${es-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function ts(e){let t=Math.floor(e/es),r=e%es,n=new Uint8Array(8);return wl(n,t,0),wl(n,r,4),n}function rs(e){let t=new Uint8Array(4);return wl(t,e),t}function ns(e){return Te(rs(e.length),e)}async function pm(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(rs(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Xo("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,es,ge=I(()=>{El();Z=new TextEncoder,ue=new TextDecoder,es=2**32;s(Te,"concat");s(dm,"p2s");s(wl,"writeUInt32BE");s(ts,"uint64be");s(rs,"uint32be");s(ns,"lengthAndInput");s(pm,"concatKdf")});var is,X,vl,re,Ie=I(()=>{ge();is=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=>is(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),vl=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 vl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Sl={};ao(Sl,{JOSEAlgNotAllowed:()=>rr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Mt,JWEInvalid:()=>R,JWKInvalid:()=>ui,JWKSInvalid:()=>nr,JWKSMultipleMatchingKeys:()=>li,JWKSNoMatchingKey:()=>kr,JWKSTimeout:()=>di,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Mr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>on,JWTInvalid:()=>le});var he,be,on,rr,M,Mt,R,z,le,ui,nr,kr,li,di,Mr,j=I(()=>{he=class extends Error{static{s(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{s(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},on=class extends he{static{s(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},rr=class extends he{static{s(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},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"}},R=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"}},ui=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},nr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},kr=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"}},li=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"}},di=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"}},Mr=class extends he{static{s(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var ir,pi=I(()=>{Se();ir=D.getRandomValues.bind(D)});function Tl(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 os,ss=I(()=>{j();pi();s(Tl,"bitLength");os=s(e=>ir(new Uint8Array(Tl(e)>>3)),"default")});var ZT,as,Il=I(()=>{j();ss();ZT=s((e,t)=>{if(t.length<<3!==Tl(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),as=ZT});var XT,sn,Pl=I(()=>{j();XT=s((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new R(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),sn=XT});var eI,fm,mm=I(()=>{eI=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"),fm=eI});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function or(e,t){return e.name===t}function cs(e){return parseInt(e.name.slice(4),10)}function tI(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function ym(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 gm(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!or(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(cs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!or(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(cs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!or(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(cs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!or(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=tI(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}ym(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!or(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!or(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!or(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!or(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(cs(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}ym(e,r)}var sr=I(()=>{s(Pe,"unusable");s(or,"isAlgorithm");s(cs,"getHashLength");s(tI,"getNamedCurve");s(ym,"checkUsage");s(gm,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function bm(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 Al(e,t,...r){return bm(`Key for the ${e} algorithm must be `,t,...r)}var oe,at=I(()=>{s(bm,"message");oe=s((e,...t)=>bm("Key must be ",e,...t),"default");s(Al,"withAlg")});var Rl,Q,ct=I(()=>{Se();Rl=s(e=>ae(e),"default"),Q=["CryptoKey"]});async function rI(e,t,r,n,i,o){if(!(t instanceof Uint8Array))throw new TypeError(oe(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Te(o,n,r,ts(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=fm(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 nI(e,t,r,n,i,o){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:o,iv:n,name:"AES-GCM",tagLength:128},a,Te(r,i)))}catch{throw new Mt}}var iI,us,Ol=I(()=>{ge();Il();Pl();mm();j();Se();sr();at();ct();s(rI,"cbcDecrypt");s(nI,"gcmDecrypt");iI=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(as(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&sn(t,parseInt(e.slice(-3),10)),rI(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&sn(t,parseInt(e.slice(1,4),10)),nI(e,t,r,n,i,o);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),us=iI});var _m,Em,Nl=I(()=>{j();_m=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),Em=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var oI,wt,an=I(()=>{oI=s((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let o of i){if(r.has(o))return!1;r.add(o)}}return!0},"isDisjoint"),wt=oI});function sI(e){return typeof e=="object"&&e!==null}function Y(e){if(!sI(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(sI,"isObjectLike");s(Y,"isObject")});var aI,cn,Cl=I(()=>{aI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],cn=aI});function wm(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function vm(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 hi,fi,ls=I(()=>{Cl();Se();sr();at();ct();s(wm,"checkKeySize");s(vm,"getCryptoKey");hi=s(async(e,t,r)=>{let n=await vm(t,e,"wrapKey");wm(n,e);let i=await D.subtle.importKey("raw",r,...cn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),fi=s(async(e,t,r)=>{let n=await vm(t,e,"unwrapKey");wm(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...cn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function ds(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Te(ns(Z.encode(r)),ns(i),ns(o),rs(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return pm(u,n,a)}async function Sm(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function ps(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 xl=I(()=>{ge();Se();sr();at();ct();s(ds,"deriveKey");s(Sm,"generateEpk");s(ps,"ecdhAllowed")});function Ll(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var Im=I(()=>{j();s(Ll,"checkP2s")});function cI(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function Pm(e,t,r,n){Ll(e);let i=dm(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 cI(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,o));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Am,Rm,Dl=I(()=>{pi();ge();Ie();ls();Im();Se();sr();at();ct();s(cI,"getCryptoKey");s(Pm,"deriveKey");Am=s(async(e,t,r,n=2048,i=ir(new Uint8Array(16)))=>{let o=await Pm(i,e,n,t);return{encryptedKey:await hi(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),Rm=s(async(e,t,r,n,i)=>{let o=await Pm(i,e,n,t);return fi(e.slice(-6),o,r)},"decrypt")});function un(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 Om=I(()=>{j();s(un,"subtleRsaEs")});var Hr,hs=I(()=>{Hr=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 Nm,Cm,Ul=I(()=>{Om();Cl();Se();sr();hs();at();ct();Nm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Hr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(un(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...cn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,un(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Cm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Hr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(un(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,un(e),...cn);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 mi(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var vt,yi=I(()=>{j();pi();s(mi,"bitLength");vt=s(e=>ir(new Uint8Array(mi(e)>>3)),"default")});var kl,xm=I(()=>{kl=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
57
57
|
`);return`-----BEGIN ${t}-----
|
|
58
58
|
${r}
|
|
59
|
-
-----END ${t}-----`},"default")});function Dm(e){let t=[],r=0;for(;r<e.length;){let n=qm(e.subarray(r));t.push(n),r+=n.byteLength}return t}function qm(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 lI(e){let t=Dm(Dm(qm(e).contents)[0].contents);return is(t[t[0].raw[0]===160?6:5].raw)}function dI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=vl(t);return kl(lI(r),"PUBLIC KEY")}var Um,km,Mm,ar,Lm,Hm,Fm,Ml,$m,fs=I(()=>{Se();at();Ie();xm();j();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 kl(is(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),km=s(e=>Um("public","spki",e),"toSPKI"),Mm=s(e=>Um("private","pkcs8",e),"toPKCS8"),ar=s((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((o,a)=>o===t[a])||ar(e,t,n+1)},"findOid"),Lm=s(e=>{switch(!0){case ar(e,[42,134,72,206,61,3,1,7]):return"P-256";case ar(e,[43,129,4,0,34]):return"P-384";case ar(e,[43,129,4,0,35]):return"P-521";case ar(e,[43,101,110]):return"X25519";case ar(e,[43,101,111]):return"X448";case ar(e,[43,101,112]):return"Ed25519";case ar(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Hm=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=Lm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Lm(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"),Fm=s((e,t,r)=>Hm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Ml=s((e,t,r)=>Hm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(Dm,"getElement");s(qm,"parseElement");s(lI,"spkiFromX509");s(dI,"getSPKI");$m=s((e,t,r)=>{let n;try{n=dI(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Ml(n,t,r)},"fromX509")});function pI(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 hI,Hl,jm=I(()=>{Se();j();Ie();s(pI,"subtleMapping");hI=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}=pI(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"),Hl=hI});async function Vm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Ml(e,t,r)}async function Gm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return $m(e,t,r)}async function Bm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Fm(e,t,r)}async function cr(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?Hl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Hl({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var bi=I(()=>{Ie();fs();jm();j();$e();s(Vm,"importSPKI");s(Gm,"importX509");s(Bm,"importPKCS8");s(cr,"importJWK")});var fI,mI,yI,ur,_i=I(()=>{at();ct();fI=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!Rl(t))throw new TypeError(Al(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),mI=s((e,t,r)=>{if(!Rl(t))throw new TypeError(Al(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"),yI=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?fI(e,t):mI(e,t,r)},"checkKeyType"),ur=yI});async function gI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(r,"Uint8Array"));let o=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(o>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Te(i,n,u,ts(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function bI(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 _I,Ei,Fl=I(()=>{ge();Il();Pl();Se();sr();at();j();ct();s(gI,"cbcEncrypt");s(bI,"gcmEncrypt");_I=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(as(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&sn(r,parseInt(e.slice(-3),10)),gI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&sn(r,parseInt(e.slice(1,4),10)),bI(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Ei=_I});async function Km(e,t,r,n){let i=e.slice(0,7);n||(n=os(i));let{ciphertext:o,tag:a}=await Ei(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function Jm(e,t,r,n,i){let o=e.slice(0,7);return us(o,t,r,n,i,new Uint8Array(0))}var ql=I(()=>{Fl();Ol();ss();Ie();s(Km,"wrap");s(Jm,"unwrap")});async function EI(e,t,r,n,i){switch(ur(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new R('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ps(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await cr(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new R('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new R('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await ds(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?yi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new R("JWE Encrypted Key missing");return mi(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new R("JWE Encrypted Key missing");return Cm(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new R('JOSE Header "p2c" (PBES2 Count) missing or invalid');let o=i?.maxPBES2Count||1e4;if(n.p2c>o)throw new R('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new R('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Rm(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return mi(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new R('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new R('JOSE Header "tag" (Authentication Tag) missing or invalid');let o=re(n.iv),a=re(n.tag);return Jm(e,t,r,o,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var zm,Wm=I(()=>{ls();xl();Dl();Ul();Ie();j();gi();bi();_i();$e();ql();s(EI,"decryptKeyManagement");zm=EI});function wI(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 St,ln=I(()=>{j();s(wI,"validateCrit");St=wI});var vI,wi,$l=I(()=>{vI=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"),wi=vI});async function dn(e,t,r){var n;if(!Y(e))throw new R("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new R("JOSE Header missing");if(typeof e.iv!="string")throw new R("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new R("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new R("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new R("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new R("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new R("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new R("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new R("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let K=re(e.protected);i=JSON.parse(ue.decode(K))}catch{throw new R("JWE Protected Header is invalid")}if(!wt(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let o={...i,...e.header,...e.unprotected};if(St(R,new Map,r?.crit,i,o),o.zip!==void 0){if(!i||!i.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(o.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=o;if(typeof a!="string"||!a)throw new R("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new R("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&wi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&wi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new rr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new rr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await zm(a,t,d,o,r)}catch(K){if(K instanceof TypeError||K instanceof R||K instanceof M)throw K;m=vt(c)}let h=re(e.iv),g=re(e.tag),_=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),S;e.aad!==void 0?S=Te(_,Z.encode("."),Z.encode(e.aad)):S=_;let T=await us(c,m,re(e.ciphertext),h,g,S);o.zip==="DEF"&&(T=await(r?.inflateRaw||_m)(T));let U={plaintext:T};return e.protected!==void 0&&(U.protectedHeader=i),e.aad!==void 0&&(U.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(U.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(U.unprotectedHeader=e.header),p?{...U,key:t}:U}var ms=I(()=>{Ie();Ol();Nl();j();an();$e();Wm();ge();gi();ln();$l();s(dn,"flattenedDecrypt")});async function ys(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new R("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:o,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new R("Invalid Compact JWE");let l=await dn({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 jl=I(()=>{ms();j();ge();s(ys,"compactDecrypt")});async function Qm(e,t,r){if(!Y(e))throw new R("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new R("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new R("JWE Recipients has no members");for(let n of e.recipients)try{return await dn({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 Ym=I(()=>{ms();j();$e();s(Qm,"generalDecrypt")});var SI,Zm,Xm=I(()=>{Se();at();Ie();ct();SI=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"),Zm=SI});async function ey(e){return km(e)}async function ty(e){return Mm(e)}async function gs(e){return Zm(e)}var Vl=I(()=>{fs();fs();Xm();s(ey,"exportSPKI");s(ty,"exportPKCS8");s(gs,"exportJWK")});async function TI(e,t,r,n,i={}){let o,a,c;switch(ur(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ps(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 Sm(r)).privateKey);let{x:p,y:m,crv:h,kty:g}=await gs(d),_=await ds(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?yi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=_;break}c=n||vt(t);let S=e.slice(-6);o=await fi(S,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||vt(t),o=await Nm(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||vt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await Am(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||vt(t),o=await fi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||vt(t);let{iv:u}=i;({encryptedKey:o,...a}=await Km(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 bs,Gl=I(()=>{ls();xl();Dl();Ul();Ie();gi();j();Vl();_i();ql();s(TI,"encryptKeyManagement");bs=TI});var Bl,Ht,_s=I(()=>{Ie();Fl();Nl();ss();Gl();j();an();ge();ln();Bl=Symbol(),Ht=class{static{s(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!wt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(St(R,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:o}=n;if(typeof i!="string"||!i)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof o!="string"||!o)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let g;({cek:c,encryptedKey:a,parameters:g}=await bs(i,o,t,this._cek,this._keyManagementParameters)),g&&(r&&Bl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=os(o));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Te(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let g=await(r?.deflateRaw||Em)(this._plaintext);({ciphertext:p,tag:m}=await Ei(o,g,c,this._iv,u))}else({ciphertext:p,tag:m}=await Ei(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 Kl,Es,ry=I(()=>{_s();j();gi();an();Gl();Ie();ln();Kl=class{static{s(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},Es=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Kl(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new R("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Ht(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!wt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new R('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!o)o=d.enc;else if(o!==d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(St(R,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=vt(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 _=await new Ht(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,[Bl]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await bs(((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||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function vi(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 Jl=I(()=>{j();s(vi,"subtleDsa")});function Si(e,t,r){if(ae(t))return gm(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 zl=I(()=>{Se();sr();at();ct();s(Si,"getCryptoKey")});var II,ny,iy=I(()=>{Jl();Se();hs();zl();II=s(async(e,t,r,n)=>{let i=await Si(e,t,"verify");Hr(e,i);let o=vi(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),ny=II});async function pn(e,t,r){var n;if(!Y(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let S=re(e.protected);i=JSON.parse(ue.decode(S))}catch{throw new z("JWS Protected Header is invalid")}if(!wt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=St(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&&wi("algorithms",r.algorithms);if(l&&!l.has(u))throw new rr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),ur(u,t,"verify");let p=Te(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),m=re(e.signature);if(!await ny(u,t,m,p))throw new Mr;let g;c?g=re(e.payload):typeof e.payload=="string"?g=Z.encode(e.payload):g=e.payload;let _={payload:g};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var ws=I(()=>{Ie();iy();j();ge();an();$e();_i();ln();$l();s(pn,"flattenedVerify")});async function vs(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 pn({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 Wl=I(()=>{ws();j();ge();s(vs,"compactVerify")});async function oy(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 pn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Mr}var sy=I(()=>{ws();j();$e();s(oy,"generalVerify")});var hn,Ql=I(()=>{hn=s(e=>Math.floor(e.getTime()/1e3),"default")});var PI,fn,Yl=I(()=>{PI=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,fn=s(e=>{let t=PI.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var ay,AI,mn,Ss=I(()=>{j();ge();Ql();Yl();$e();ay=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),AI=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),mn=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||ay(e.typ)!==ay(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&&!AI(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=fn(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=hn(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 on('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,g=typeof l=="number"?l:fn(l);if(h-d>g)throw new on('"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 cy(e,t,r){var n;let i=await vs(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:mn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var uy=I(()=>{Wl();Ss();j();s(cy,"jwtVerify")});async function ly(e,t,r){let n=await ys(e,t,r),i=mn(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 dy=I(()=>{jl();Ss();j();s(ly,"jwtDecrypt")});var yn,Zl=I(()=>{_s();yn=class{static{s(this,"CompactEncrypt")}constructor(t){this._flattened=new Ht(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 RI,py,hy=I(()=>{Jl();Se();hs();zl();RI=s(async(e,t,r)=>{let n=await Si(e,t,"sign");Hr(e,n);let i=await D.subtle.sign(vi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),py=RI});var lr,Ts=I(()=>{Ie();hy();an();j();ge();_i();ln();lr=class{static{s(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!wt(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=St(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');ur(a,t,"sign");let c=this._payload;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Te(u,Z.encode("."),c),d=await py(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 gn,Xl=I(()=>{Ts();gn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new lr(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var ed,Is,fy=I(()=>{Ts();j();ed=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}},Is=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new ed(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new lr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var dr,Ps=I(()=>{Ql();$e();Yl();dr=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:hn(new Date)+fn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:hn(new Date)+fn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:hn(new Date)}:this._payload={...this._payload,iat:t},this}}});var As,my=I(()=>{Xl();j();ge();Ps();As=class extends dr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new gn(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 Rs,yy=I(()=>{Zl();ge();Ps();Rs=class extends dr{static{s(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new yn(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 td(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":pr(e.crv,'"crv" (Curve) Parameter'),pr(e.x,'"x" (X Coordinate) Parameter'),pr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":pr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),pr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":pr(e.e,'"e" (Exponent) Parameter'),pr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":pr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await Xo(t,n))}async function gy(e,t){t??(t="sha256");let r=await td(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var pr,by=I(()=>{El();Ie();j();ge();$e();pr=s((e,t)=>{if(typeof e!="string"||!e)throw new li(`${t} missing or invalid`)},"check");s(td,"calculateJwkThumbprint");s(gy,"calculateJwkThumbprintUri")});async function _y(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 cr({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var Ey=I(()=>{bi();$e();j();s(_y,"EmbeddedJWK")});function OI(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 rd(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(NI)}function NI(e){return Y(e)}function CI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function wy(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await cr({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new nr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function vy(e){let t=new Ti(e);return async function(r,n){return t.getKey(r,n)}}var Ti,nd=I(()=>{bi();j();$e();s(OI,"getKtyFromAlg");s(rd,"isJWKSLike");s(NI,"isJWKLike");s(CI,"clone");Ti=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!rd(t))throw new nr("JSON Web Key Set malformed");this._jwks=CI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=OI(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 kr;if(u!==1){let l=new di,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await wy(d,p,n)}catch{continue}},l}return wy(this._cached,c,n)}};s(wy,"importWithAlgCache");s(vy,"createLocalJWKSet")});var xI,Sy,Ty=I(()=>{j();xI=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 pi: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"),Sy=xI});function LI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Iy(e,t){let r=new id(e,t);return async function(n,i){return r.getKey(n,i)}}var id,Py=I(()=>{Ty();j();nd();s(LI,"isCloudflareWorkers");id=class extends Ti{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 kr&&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=Sy(this._url,this._timeoutDuration,this._options).then(t=>{if(!rd(t))throw new nr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};s(Iy,"createRemoteJWKSet")});var Os,Ay=I(()=>{Ie();ge();j();Ss();Ps();Os=class extends dr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:mn(c,re(i),r),header:c}}}});var od={};co(od,{decode:()=>Ii,encode:()=>DI});var DI,Ii,Ns=I(()=>{Ie();DI=X,Ii=re});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(Ii(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Oy=I(()=>{Ns();ge();$e();s(Ry,"decodeProtectedHeader")});function Ny(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=Ii(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 Cy=I(()=>{Ns();ge();$e();j();s(Ny,"decodeJwt")});async function xy(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),ir(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},o=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},o=["encrypt","decrypt"];break;default:throw new 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 sd(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 Ly(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:sd(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:sd(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:sd(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 ad=I(()=>{Se();j();hi();s(xy,"generateSecret");s(sd,"getModulusLengthOption");s(Ly,"generateKeyPair")});async function Dy(e,t){return Ly(e,t)}var Uy=I(()=>{ad();s(Dy,"generateKeyPair")});async function ky(e,t){return xy(e,t)}var My=I(()=>{ad();s(ky,"generateSecret")});var Cs={};co(Cs,{CompactEncrypt:()=>yn,CompactSign:()=>gn,EmbeddedJWK:()=>_y,EncryptJWT:()=>Rs,FlattenedEncrypt:()=>Ht,FlattenedSign:()=>lr,GeneralEncrypt:()=>Es,GeneralSign:()=>Is,SignJWT:()=>As,UnsecuredJWT:()=>Os,base64url:()=>od,calculateJwkThumbprint:()=>td,calculateJwkThumbprintUri:()=>gy,compactDecrypt:()=>ys,compactVerify:()=>vs,createLocalJWKSet:()=>vy,createRemoteJWKSet:()=>Iy,decodeJwt:()=>Ny,decodeProtectedHeader:()=>Ry,errors:()=>Sl,exportJWK:()=>gs,exportPKCS8:()=>ty,exportSPKI:()=>ey,flattenedDecrypt:()=>dn,flattenedVerify:()=>pn,generalDecrypt:()=>Qm,generalVerify:()=>oy,generateKeyPair:()=>Dy,generateSecret:()=>ky,importJWK:()=>cr,importPKCS8:()=>Bm,importSPKI:()=>Vm,importX509:()=>Gm,jwtDecrypt:()=>ly,jwtVerify:()=>cy});var xs=I(()=>{jl();ms();Ym();ry();Wl();ws();sy();uy();dy();Zl();_s();Xl();Ts();fy();my();yy();by();Ey();nd();Py();Ay();Vl();bi();Oy();Cy();j();Uy();My();Ns()});var bn=y(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.fetchRetry=void 0;var UI=O();async function kI(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 UI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(kI,"fetchRetry");Ls.fetchRetry=kI});var _n=y(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Hy=(xs(),uo(Cs)),MI=O(),HI=bn();async function FI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new Hy.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(FI,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=FI;async function qI(e,t,r){return ud(e,{token:t,returnSecureToken:!0},r)}s(qI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=qI;async function $I(e,t,r){return ud(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s($I,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=$I;async function ud(e,t,r){let n=await(0,HI.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 MI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(ud,"fetchToken");Ze.fetchToken=ud;var cd=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,Hy.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=cd});var Us=y(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.GoogleLogTransport=Ft.ZuploToGCPMap=Ft.GoogleCloudLoggingPlugin=void 0;var jI=O(),VI=ve(),ld=W(),dd=_n(),GI=kt(),Fy=Et(),pd=class extends GI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ds(this.options)}};Ft.GoogleCloudLoggingPlugin=pd;var BI="https://logging.googleapis.com/v2/entries:write?alt=json";Ft.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ds=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=ld.Environment.instance.loggingEnvironmentType,this.#o=ld.Environment.instance.loggingEnvironmentStage,this.#n=ld.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await dd.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new jI.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,Fy.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ft.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,Fy.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 dd.GcpServiceAccount.init(this.#e));let r=await(0,dd.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(BI,{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 VI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ft.GoogleLogTransport=Ds});var hd=y(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.gcpLogFormat=En.GCP_LOG_FORMAT=void 0;var qy=Et(),KI=Us();En.GCP_LOG_FORMAT="gcp";function JI(e){let t={allMessages:(0,qy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,qy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:KI.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(JI,"gcpLogFormat");En.gcpLogFormat=JI});var jy=y(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.ConsoleTransport=void 0;var $y=hd(),fd=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===$y.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,$y.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}])}};ks.ConsoleTransport=fd});var Ed=y(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.DataDogTransport=wn.DataDogLoggingPlugin=void 0;var zI=ve(),md=W(),WI=kt(),Vy=Et(),_d=class extends WI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ms(this.options)}};wn.DataDogLoggingPlugin=_d;var yd="__ddtags",gd="__ddattr",bd=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),QI=s(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(bd(n)):r.push(`${bd(n)}:${bd(i.toString())}`)}),r.join(",")},"formatTags"),Ms=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=md.Environment.instance.loggingEnvironmentType,this.#i=md.Environment.instance.loggingEnvironmentStage,this.#r=md.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[yd];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[yd]!==void 0);a>-1&&(Object.assign(n,o[a][yd]),o.splice(a,1));let c={},u=r.custom[gd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[gd]!==void 0);l>-1&&(Object.assign(c,o[l][gd]),o.splice(l,1));let d=(0,Vy.makeErrorsSerializable)(o),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Vy.extractBestMessage)(d),service:t.loggingId,ddtags:QI(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 zI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};wn.DataDogTransport=Ms});var By=y(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.ProcessTransport=void 0;var Gy=hd(),wd=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,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,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};Hs.ProcessTransport=wd});var Jy=y(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.RemoteLogTransport=void 0;var YI=ve(),Ky=W(),ZI=Et(),XI=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,ZI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Ky.Environment.instance.systemUserAgent,"zp-dn":Ky.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Fs,vd=class{static{s(this,"RemoteLogTransport")}constructor(t){Fs||(Fs=new YI.BatchDispatch("remote-log-transport",1,XI(t)))}log(t,r){Fs.enqueue(t),r.waitUntil(Fs.waitUntilFlushed())}};qs.RemoteLogTransport=vd});var zy=y(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.unifiedFormatter=Fr.SeverityNumberOpenTelemetryMap=void 0;Fr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var eP=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:Fr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Fr.unifiedFormatter=eP});var Qy=y(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.UnifiedLogTransport=void 0;var tP=ve(),Wy=W(),rP=zy(),nP=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,rP.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":Wy.Environment.instance.systemUserAgent,"zp-dn":Wy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),$s,Sd=class{static{s(this,"UnifiedLogTransport")}constructor(t){$s||($s=new tP.BatchDispatch("unified-log-transport",1,nP(t)))}async log(t,r){$s.enqueue(t),r.waitUntil($s.waitUntilFlushed())}};js.UnifiedLogTransport=Sd});var ng=y(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.LogInitializer=void 0;var iP=Rr(),oP=gt(),Yy=ul(),Zy=W(),Xy=tm(),sP=kt(),aP=rm(),eg=nm(),tg=jy(),cP=Ed(),uP=Us(),rg=By(),lP=Jy(),dP=Qy(),Td=(0,iP.debug)("zuplo:logging"),Id=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(Zy.Environment.instance,t),n=await e.setupUserCoreLogger(Zy.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;Td("Gateway.setupSystemCoreLogger");let i=[],o=r.getService(Yy.SYSTEM_LOGGER);return o?i.push(new rg.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&i.push(new tg.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new dP.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 Xy.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){Td("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:o}=t,a=r.getService(Yy.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new rg.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new tg.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new lP.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 uP.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 cP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return oP.plugins.forEach(c=>{c instanceof sP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Xy.CoreLogger(t.userLogLevel,"user",t.loggingId,o.BUILD_ID,n)}createRequestLoggers(t,r,n,i,o){Td("Gateway.createRequestLoggers");let a=new aP.LoggingContext(n,i,o),c=new eg.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new eg.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Vs.LogInitializer=Id});var Ad=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.UserRouteConfiguration=void 0;var Pd=class{static{s(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Gs.UserRouteConfiguration=Pd});var Od=y(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Router=Tt.RouterError=Tt.LookupResult=Tt.RouterEntry=void 0;var ig=O(),pP=ot(),hP=Ad(),Bs=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=Bs;var Pi=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Tt.LookupResult=Pi;var Ks=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};Tt.RouterError=Ks;var Rd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof hP.UserRouteConfiguration||t instanceof pP.SystemRouteConfiguration))throw new ig.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 Bs(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new Ks(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new ig.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 Pi(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 Pi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Tt.Router=Rd});var Or=y(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.Gateway=void 0;var fP=Rr(),og=Nf(),sg=Hf(),mP=Ff(),ag=qf(),cg=Gf(),qt=Pr(),Js=Nr(),ug=em(),Pt=O(),Ai=gt(),yP=ng(),gP=Dt(),bP=te(),_P=al(),EP=Qt(),wP=en(),vP=Me(),SP=Od(),Nd=ot(),lg=Ad(),TP=He(),IP=jo(),Cd=W(),dg=Ur(),pg=$u(),It=(0,fP.debug)("zuplo:runtime"),PP=s(e=>{let t=e.findIndex(r=>r.name===Nd.systemNoVersion.name);return t>-1?[...e.splice(t),Nd.systemNoVersion]:[...e,Nd.systemNoVersion]},"setupSystemNoVersion"),xd=class e{static{s(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,It("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,o){if(It("Gateway.initialize"),!e.#e){await(0,Ai.initializeRuntime)(o);let a=await yP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,IP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){It("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new Pt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[wP.policyProcessor,_P.corsProcessor,EP.metricsProcessor];#i;setupRoutes=()=>{It("Gateway.setupRoutes");let t=this.routeData,r=PP(t.versions),n=new SP.Router(r);if(t.routes.length===0)return(0,og.registerBuildRoute)(n,this),(0,cg.registerPingRoute)(n,this),(0,sg.registerCorsRoute)(n,this),(0,mP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,ug.registerDevPortalLegacyRedirectRoute)(n,this),(0,ug.registerDevPortalV3Route)(n,this)),(0,og.registerBuildRoute)(n,this),(0,cg.registerPingRoute)(n,this),(0,sg.registerCorsRoute)(n,this);for(let o of Ai.plugins)o instanceof Ai.SystemRuntimePlugin&&o.registerRoutes(n,this);return t.routes.forEach(o=>{let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new Pt.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new gP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new lg.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,ag.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new Pt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return It("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){It("Gateway.internalErrorResponse");let i={};if(Cd.Environment.instance.isDeno){if(n instanceof Pt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,dg.serializeError)(n.cause);"stack"in o&&(o.stack=(0,dg.cleanStack)(o.stack)),i={cause:o}}}return bP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return qt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Cd.Environment.instance.isDeno&&qt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(qt.REQUEST_ID_HEADER)??t.headers.get(qt.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(qt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set(qt.REQUEST_ID_HEADER,n),t=new Request(t,{headers:S})}if(["GET","HEAD"].includes(t.method)&&t.body){let S=new Headers(t.headers);S.set(qt.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:S,body:null})}let o={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,o,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new Pt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Js.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new vP.ZuploRequest(m,{params:d.params}),g=new Js.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),_=Js.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===ag.notFoundRouteConfiguration&&Ai.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof lg.UserRouteConfiguration)}try{if(TP.SystemLogMap.addLogger(g,c),Cd.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,pg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let U=await(0,Ai.invokeOnRequestExtensions)(h,g);if(U instanceof Response)return U;{let K=Js.ZuploContextExtensions.getContextExtensions(g);h=U,K.latestRequest=h}}(0,pg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;AP(S,d,t),It("Gateway.handleRequest - call user handler");let T=await S(h,g);if(It("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new Pt.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new Pt.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get(qt.REQUEST_ID_HEADER)===null&&!T.webSocket){let U=new Headers(T.headers);return U.set(qt.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:U,cf:T.cf})}else return T}catch(S){return It("Gateway - error executing handler",S),S instanceof Pt.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};zs.Gateway=xd;function AP(e,t,r){if(It("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new Pt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Pt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(AP,"checkHandler")});var hg=y(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.invokeInboundPolicy=void 0;var RP=O(),OP=Or(),NP=en(),CP=s(async(e,t,r)=>{let n=OP.Gateway.instance.routeData.policies,i=(0,NP.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new RP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");Ws.invokeInboundPolicy=CP});var Nr=y(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Pr(),xP=O(),LP=hg(),Ld=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=Ld;var Dd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Dd;var Ud=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Ud;var Ri=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 xP.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=Ri;var kd=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,LP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ri.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ri.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=kd});var Ys=y(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.ContextData=void 0;var Md=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)}};Qs.ContextData=Md});var vn=y(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.environment=hr.isZuploReadableEnvVariableName=hr.isRestrictedEnvVariableName=void 0;var DP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function fg(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!DP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(fg,"isRestrictedEnvVariableName");hr.isRestrictedEnvVariableName=fg;function mg(e){return!!e.startsWith("ZUPLO_")}s(mg,"isZuploReadableEnvVariableName");hr.isZuploReadableEnvVariableName=mg;var UP=new Proxy({},{get(e,t){if(fg(String(t))&&!mg(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});hr.environment=UP});var Hd=y(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.externalServiceHandler=Sn.externalServiceTunnelConfig=void 0;var kP=Rr(),qr=O(),MP=Fd(),Oi=W(),ut=(0,kP.debug)("zuplo:runtime:external-service");function gg(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Oi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(gg,"getServiceAuth");async function HP(e){let t=gg();if(!t)throw ut("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let o;if(t.customServiceMapping&&t.customServiceMapping[n])o=`https://${t.customServiceMapping[n]}`;else if(Oi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=Oi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await bg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(HP,"externalServiceTunnelConfig");Sn.externalServiceTunnelConfig=HP;async function FP(e,t){let r=gg();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(Oi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=Oi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await bg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`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 qr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.")}s(FP,"externalServiceHandler");Sn.externalServiceHandler=FP;async function bg(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=qP(n);ut(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await yg(`${o}-${i}`),l=await yg(`${o}-${a}-${c}`);return`${u}.${l}`}s(bg,"hashServiceName");async function yg(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(yg,"hashSegment");function qP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(qP,"sanitizeEnvironmentType")});var Fd=y(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.originalFetch=void 0;var $P=Hd(),_g=new Map;_g.set("service:",$P.externalServiceHandler);Tn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=jP(t);if(typeof e=="string"){let n=new URL(e),i=_g.get(n.protocol);return i?i(e,r):(0,Tn.originalFetch)(e,r)}else return(0,Tn.originalFetch)(e,r)};var jP=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 vg=y(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.Handler=In.purgeGatewayCache=void 0;var VP=O(),wg=Or(),Eg=W(),GP=s(()=>{wg.Gateway.purgeGatewayCache()},"purgeGatewayCache");In.purgeGatewayCache=GP;var qd=class{static{s(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Eg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await wg.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 VP.ConfigurationError&&(o=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:o,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Eg.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};In.Handler=qd});var Pg=y(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function BP(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(BP,"lexer");function $d(e,t){t===void 0&&(t={});for(var r=BP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(Pn(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"),m=s(function(){for(var ie="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ie+=me;return ie},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var S=h||"";i.indexOf(S)===-1&&(l+=S,S=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:S,suffix:"",pattern:_||o,modifier:d("MODIFIER")||""});continue}var T=h||d("ESCAPED_CHAR");if(T){l+=T;continue}l&&(a.push(l),l="");var U=d("OPEN");if(U){var S=m(),K=d("NAME")||"",L=d("PATTERN")||"",ne=m();p("CLOSE"),a.push({name:K||(L?c++:""),pattern:K&&!L?o:L,prefix:S,suffix:ne,modifier:d("MODIFIER")||""});continue}p("END")}return a}s($d,"parse");Re.parse=$d;function KP(e,t){return Sg($d(e,t),t)}s(KP,"compile");Re.compile=KP;function Sg(e,t){t===void 0&&(t={});var r=jd(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==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<m.length;_++){var S=i(m[_],p);if(a&&!c[d].test(S))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var S=i(String(m),p);if(a&&!c[d].test(S))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix;continue}if(!h){var T=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(T))}}return l}}s(Sg,"tokensToFunction");Re.tokensToFunction=Sg;function JP(e,t){var r=[],n=Vd(e,r,t);return Tg(n,r,t)}s(JP,"match");Re.match=JP;function Tg(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(g){return i(g,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(Tg,"regexpToFunction");Re.regexpToFunction=Tg;function Pn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(Pn,"escapeString");function jd(e){return e&&e.sensitive?"":"i"}s(jd,"flags");function zP(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(zP,"regexpToRegexp");function WP(e,t,r){var n=e.map(function(i){return Vd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),jd(r))}s(WP,"arrayToRegexp");function QP(e,t,r){return Ig($d(e,r),t,r)}s(QP,"stringToRegexp");function Ig(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,g=h===void 0?"":h,_="[".concat(Pn(g),"]|$"),S="[".concat(Pn(m),"]"),T=a?"^":"",U=0,K=e;U<K.length;U++){var L=K[U];if(typeof L=="string")T+=Pn(d(L));else{var ne=Pn(d(L.prefix)),ie=Pn(d(L.suffix));if(L.pattern)if(t&&t.push(L),ne||ie)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";T+="(?:".concat(ne,"((?:").concat(L.pattern,")(?:").concat(ie).concat(ne,"(?:").concat(L.pattern,"))*)").concat(ie,")").concat(me)}else T+="(?:".concat(ne,"(").concat(L.pattern,")").concat(ie,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?T+="((?:".concat(L.pattern,")").concat(L.modifier,")"):T+="(".concat(L.pattern,")").concat(L.modifier);else T+="(?:".concat(ne).concat(ie,")").concat(L.modifier)}}if(u)i||(T+="".concat(S,"?")),T+=r.endsWith?"(?=".concat(_,")"):"$";else{var Be=e[e.length-1],w=typeof Be=="string"?S.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(T+="(?:".concat(S,"(?=").concat(_,"))?")),w||(T+="(?=".concat(S,"|").concat(_,")"))}return new RegExp(T,jd(r))}s(Ig,"tokensToRegexp");Re.tokensToRegexp=Ig;function Vd(e,t,r){return e instanceof RegExp?zP(e,t):Array.isArray(e)?WP(e,t,r):QP(e,t,r)}s(Vd,"pathToRegexp");Re.pathToRegexp=Vd});var Jd=y(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.AwsV4Signer=An.AwsClient=void 0;var YP=Rr(),Ng=O(),ZP=(0,YP.debug)("zuplo:runtime"),Bd=new TextEncoder,Ag={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},XP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Kd=class{static{s(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:o,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=o,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Zs(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){ZP("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 Ng.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};An.AwsClient=Kd;var Zs=class{static{s(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:o,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:h,allHeaders:g,singleEncode:_}){if(r==null)throw new TypeError("url is a required option");if(o==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=o,this.secretAccessKey=a,this.sessionToken=c;let S,T;(!u||!l)&&([S,T]=eA(this.url,this.headers)),this.service=u||S||"",this.region=l||T||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let U=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),U.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&U.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>g||!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"&&!U.has("X-Amz-Expires")&&U.set("X-Amz-Expires","86400"),U.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),U.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),U.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Og(this.encodedPath);let K=new Set;this.encodedSearch=[...this.url.searchParams].filter(([L])=>{if(!L)return!1;if(this.service==="s3"){if(K.has(L))return!1;K.add(L)}return!0}).map(L=>L.map(ne=>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
|
|
59
|
+
-----END ${t}-----`},"default")});function Dm(e){let t=[],r=0;for(;r<e.length;){let n=qm(e.subarray(r));t.push(n),r+=n.byteLength}return t}function qm(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 uI(e){let t=Dm(Dm(qm(e).contents)[0].contents);return is(t[t[0].raw[0]===160?6:5].raw)}function lI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=vl(t);return kl(uI(r),"PUBLIC KEY")}var Um,km,Mm,ar,Lm,Hm,Fm,Ml,$m,fs=I(()=>{Se();at();Ie();xm();j();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 kl(is(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),km=s(e=>Um("public","spki",e),"toSPKI"),Mm=s(e=>Um("private","pkcs8",e),"toPKCS8"),ar=s((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((o,a)=>o===t[a])||ar(e,t,n+1)},"findOid"),Lm=s(e=>{switch(!0){case ar(e,[42,134,72,206,61,3,1,7]):return"P-256";case ar(e,[43,129,4,0,34]):return"P-384";case ar(e,[43,129,4,0,35]):return"P-521";case ar(e,[43,101,110]):return"X25519";case ar(e,[43,101,111]):return"X448";case ar(e,[43,101,112]):return"Ed25519";case ar(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Hm=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=Lm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Lm(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"),Fm=s((e,t,r)=>Hm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Ml=s((e,t,r)=>Hm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(Dm,"getElement");s(qm,"parseElement");s(uI,"spkiFromX509");s(lI,"getSPKI");$m=s((e,t,r)=>{let n;try{n=lI(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Ml(n,t,r)},"fromX509")});function dI(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 pI,Hl,jm=I(()=>{Se();j();Ie();s(dI,"subtleMapping");pI=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}=dI(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"),Hl=pI});async function Vm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Ml(e,t,r)}async function Gm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return $m(e,t,r)}async function Bm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Fm(e,t,r)}async function cr(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?Hl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Hl({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var gi=I(()=>{Ie();fs();jm();j();$e();s(Vm,"importSPKI");s(Gm,"importX509");s(Bm,"importPKCS8");s(cr,"importJWK")});var hI,fI,mI,ur,bi=I(()=>{at();ct();hI=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!Rl(t))throw new TypeError(Al(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),fI=s((e,t,r)=>{if(!Rl(t))throw new TypeError(Al(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"),mI=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?hI(e,t):fI(e,t,r)},"checkKeyType"),ur=mI});async function yI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(r,"Uint8Array"));let o=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(o>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Te(i,n,u,ts(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function gI(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 bI,_i,Fl=I(()=>{ge();Il();Pl();Se();sr();at();j();ct();s(yI,"cbcEncrypt");s(gI,"gcmEncrypt");bI=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(as(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&sn(r,parseInt(e.slice(-3),10)),yI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&sn(r,parseInt(e.slice(1,4),10)),gI(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),_i=bI});async function Km(e,t,r,n){let i=e.slice(0,7);n||(n=os(i));let{ciphertext:o,tag:a}=await _i(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function Jm(e,t,r,n,i){let o=e.slice(0,7);return us(o,t,r,n,i,new Uint8Array(0))}var ql=I(()=>{Fl();Ol();ss();Ie();s(Km,"wrap");s(Jm,"unwrap")});async function _I(e,t,r,n,i){switch(ur(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new R('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ps(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await cr(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new R('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new R('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await ds(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?mi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new R("JWE Encrypted Key missing");return fi(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new R("JWE Encrypted Key missing");return Cm(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new R('JOSE Header "p2c" (PBES2 Count) missing or invalid');let o=i?.maxPBES2Count||1e4;if(n.p2c>o)throw new R('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new R('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Rm(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return fi(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new R('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new R('JOSE Header "tag" (Authentication Tag) missing or invalid');let o=re(n.iv),a=re(n.tag);return Jm(e,t,r,o,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var zm,Wm=I(()=>{ls();xl();Dl();Ul();Ie();j();yi();gi();bi();$e();ql();s(_I,"decryptKeyManagement");zm=_I});function EI(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 St,ln=I(()=>{j();s(EI,"validateCrit");St=EI});var wI,Ei,$l=I(()=>{wI=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"),Ei=wI});async function dn(e,t,r){var n;if(!Y(e))throw new R("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new R("JOSE Header missing");if(typeof e.iv!="string")throw new R("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new R("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new R("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new R("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new R("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new R("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new R("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new R("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let K=re(e.protected);i=JSON.parse(ue.decode(K))}catch{throw new R("JWE Protected Header is invalid")}if(!wt(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let o={...i,...e.header,...e.unprotected};if(St(R,new Map,r?.crit,i,o),o.zip!==void 0){if(!i||!i.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(o.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=o;if(typeof a!="string"||!a)throw new R("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new R("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&Ei("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&Ei("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new rr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new rr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await zm(a,t,d,o,r)}catch(K){if(K instanceof TypeError||K instanceof R||K instanceof M)throw K;m=vt(c)}let h=re(e.iv),g=re(e.tag),_=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),S;e.aad!==void 0?S=Te(_,Z.encode("."),Z.encode(e.aad)):S=_;let T=await us(c,m,re(e.ciphertext),h,g,S);o.zip==="DEF"&&(T=await(r?.inflateRaw||_m)(T));let U={plaintext:T};return e.protected!==void 0&&(U.protectedHeader=i),e.aad!==void 0&&(U.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(U.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(U.unprotectedHeader=e.header),p?{...U,key:t}:U}var ms=I(()=>{Ie();Ol();Nl();j();an();$e();Wm();ge();yi();ln();$l();s(dn,"flattenedDecrypt")});async function ys(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new R("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:o,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new R("Invalid Compact JWE");let l=await dn({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 jl=I(()=>{ms();j();ge();s(ys,"compactDecrypt")});async function Qm(e,t,r){if(!Y(e))throw new R("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new R("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new R("JWE Recipients has no members");for(let n of e.recipients)try{return await dn({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 Ym=I(()=>{ms();j();$e();s(Qm,"generalDecrypt")});var vI,Zm,Xm=I(()=>{Se();at();Ie();ct();vI=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"),Zm=vI});async function ey(e){return km(e)}async function ty(e){return Mm(e)}async function gs(e){return Zm(e)}var Vl=I(()=>{fs();fs();Xm();s(ey,"exportSPKI");s(ty,"exportPKCS8");s(gs,"exportJWK")});async function SI(e,t,r,n,i={}){let o,a,c;switch(ur(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ps(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 Sm(r)).privateKey);let{x:p,y:m,crv:h,kty:g}=await gs(d),_=await ds(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?mi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=_;break}c=n||vt(t);let S=e.slice(-6);o=await hi(S,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||vt(t),o=await Nm(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||vt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await Am(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||vt(t),o=await hi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||vt(t);let{iv:u}=i;({encryptedKey:o,...a}=await Km(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 bs,Gl=I(()=>{ls();xl();Dl();Ul();Ie();yi();j();Vl();bi();ql();s(SI,"encryptKeyManagement");bs=SI});var Bl,Ht,_s=I(()=>{Ie();Fl();Nl();ss();Gl();j();an();ge();ln();Bl=Symbol(),Ht=class{static{s(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!wt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(St(R,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:o}=n;if(typeof i!="string"||!i)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof o!="string"||!o)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let g;({cek:c,encryptedKey:a,parameters:g}=await bs(i,o,t,this._cek,this._keyManagementParameters)),g&&(r&&Bl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=os(o));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Te(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let g=await(r?.deflateRaw||Em)(this._plaintext);({ciphertext:p,tag:m}=await _i(o,g,c,this._iv,u))}else({ciphertext:p,tag:m}=await _i(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 Kl,Es,ry=I(()=>{_s();j();yi();an();Gl();Ie();ln();Kl=class{static{s(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},Es=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Kl(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new R("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Ht(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!wt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new R('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!o)o=d.enc;else if(o!==d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(St(R,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=vt(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 _=await new Ht(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,[Bl]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await bs(((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||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function wi(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 Jl=I(()=>{j();s(wi,"subtleDsa")});function vi(e,t,r){if(ae(t))return gm(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 zl=I(()=>{Se();sr();at();ct();s(vi,"getCryptoKey")});var TI,ny,iy=I(()=>{Jl();Se();hs();zl();TI=s(async(e,t,r,n)=>{let i=await vi(e,t,"verify");Hr(e,i);let o=wi(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),ny=TI});async function pn(e,t,r){var n;if(!Y(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let S=re(e.protected);i=JSON.parse(ue.decode(S))}catch{throw new z("JWS Protected Header is invalid")}if(!wt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=St(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&&Ei("algorithms",r.algorithms);if(l&&!l.has(u))throw new rr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),ur(u,t,"verify");let p=Te(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),m=re(e.signature);if(!await ny(u,t,m,p))throw new Mr;let g;c?g=re(e.payload):typeof e.payload=="string"?g=Z.encode(e.payload):g=e.payload;let _={payload:g};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var ws=I(()=>{Ie();iy();j();ge();an();$e();bi();ln();$l();s(pn,"flattenedVerify")});async function vs(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 pn({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 Wl=I(()=>{ws();j();ge();s(vs,"compactVerify")});async function oy(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 pn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Mr}var sy=I(()=>{ws();j();$e();s(oy,"generalVerify")});var hn,Ql=I(()=>{hn=s(e=>Math.floor(e.getTime()/1e3),"default")});var II,fn,Yl=I(()=>{II=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,fn=s(e=>{let t=II.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 ay,PI,mn,Ss=I(()=>{j();ge();Ql();Yl();$e();ay=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),PI=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),mn=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||ay(e.typ)!==ay(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&&!PI(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=fn(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=hn(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 on('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,g=typeof l=="number"?l:fn(l);if(h-d>g)throw new on('"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 cy(e,t,r){var n;let i=await vs(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:mn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var uy=I(()=>{Wl();Ss();j();s(cy,"jwtVerify")});async function ly(e,t,r){let n=await ys(e,t,r),i=mn(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 dy=I(()=>{jl();Ss();j();s(ly,"jwtDecrypt")});var yn,Zl=I(()=>{_s();yn=class{static{s(this,"CompactEncrypt")}constructor(t){this._flattened=new Ht(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 AI,py,hy=I(()=>{Jl();Se();hs();zl();AI=s(async(e,t,r)=>{let n=await vi(e,t,"sign");Hr(e,n);let i=await D.subtle.sign(wi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),py=AI});var lr,Ts=I(()=>{Ie();hy();an();j();ge();bi();ln();lr=class{static{s(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!wt(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=St(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');ur(a,t,"sign");let c=this._payload;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Te(u,Z.encode("."),c),d=await py(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 gn,Xl=I(()=>{Ts();gn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new lr(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var ed,Is,fy=I(()=>{Ts();j();ed=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}},Is=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new ed(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new lr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var dr,Ps=I(()=>{Ql();$e();Yl();dr=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:hn(new Date)+fn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:hn(new Date)+fn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:hn(new Date)}:this._payload={...this._payload,iat:t},this}}});var As,my=I(()=>{Xl();j();ge();Ps();As=class extends dr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new gn(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 Rs,yy=I(()=>{Zl();ge();Ps();Rs=class extends dr{static{s(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new yn(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 td(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":pr(e.crv,'"crv" (Curve) Parameter'),pr(e.x,'"x" (X Coordinate) Parameter'),pr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":pr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),pr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":pr(e.e,'"e" (Exponent) Parameter'),pr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":pr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await Xo(t,n))}async function gy(e,t){t??(t="sha256");let r=await td(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var pr,by=I(()=>{El();Ie();j();ge();$e();pr=s((e,t)=>{if(typeof e!="string"||!e)throw new ui(`${t} missing or invalid`)},"check");s(td,"calculateJwkThumbprint");s(gy,"calculateJwkThumbprintUri")});async function _y(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 cr({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var Ey=I(()=>{gi();$e();j();s(_y,"EmbeddedJWK")});function RI(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 rd(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(OI)}function OI(e){return Y(e)}function NI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function wy(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await cr({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new nr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function vy(e){let t=new Si(e);return async function(r,n){return t.getKey(r,n)}}var Si,nd=I(()=>{gi();j();$e();s(RI,"getKtyFromAlg");s(rd,"isJWKSLike");s(OI,"isJWKLike");s(NI,"clone");Si=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!rd(t))throw new nr("JSON Web Key Set malformed");this._jwks=NI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=RI(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 kr;if(u!==1){let l=new li,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await wy(d,p,n)}catch{continue}},l}return wy(this._cached,c,n)}};s(wy,"importWithAlgCache");s(vy,"createLocalJWKSet")});var CI,Sy,Ty=I(()=>{j();CI=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 di: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"),Sy=CI});function xI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Iy(e,t){let r=new id(e,t);return async function(n,i){return r.getKey(n,i)}}var id,Py=I(()=>{Ty();j();nd();s(xI,"isCloudflareWorkers");id=class extends Si{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 kr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&xI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Sy(this._url,this._timeoutDuration,this._options).then(t=>{if(!rd(t))throw new nr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};s(Iy,"createRemoteJWKSet")});var Os,Ay=I(()=>{Ie();ge();j();Ss();Ps();Os=class extends dr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:mn(c,re(i),r),header:c}}}});var od={};ao(od,{decode:()=>Ti,encode:()=>LI});var LI,Ti,Ns=I(()=>{Ie();LI=X,Ti=re});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(Ti(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Oy=I(()=>{Ns();ge();$e();s(Ry,"decodeProtectedHeader")});function Ny(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=Ti(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 Cy=I(()=>{Ns();ge();$e();j();s(Ny,"decodeJwt")});async function xy(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),ir(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},o=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},o=["encrypt","decrypt"];break;default:throw new 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 sd(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 Ly(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:sd(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:sd(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:sd(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 ad=I(()=>{Se();j();pi();s(xy,"generateSecret");s(sd,"getModulusLengthOption");s(Ly,"generateKeyPair")});async function Dy(e,t){return Ly(e,t)}var Uy=I(()=>{ad();s(Dy,"generateKeyPair")});async function ky(e,t){return xy(e,t)}var My=I(()=>{ad();s(ky,"generateSecret")});var Cs={};ao(Cs,{CompactEncrypt:()=>yn,CompactSign:()=>gn,EmbeddedJWK:()=>_y,EncryptJWT:()=>Rs,FlattenedEncrypt:()=>Ht,FlattenedSign:()=>lr,GeneralEncrypt:()=>Es,GeneralSign:()=>Is,SignJWT:()=>As,UnsecuredJWT:()=>Os,base64url:()=>od,calculateJwkThumbprint:()=>td,calculateJwkThumbprintUri:()=>gy,compactDecrypt:()=>ys,compactVerify:()=>vs,createLocalJWKSet:()=>vy,createRemoteJWKSet:()=>Iy,decodeJwt:()=>Ny,decodeProtectedHeader:()=>Ry,errors:()=>Sl,exportJWK:()=>gs,exportPKCS8:()=>ty,exportSPKI:()=>ey,flattenedDecrypt:()=>dn,flattenedVerify:()=>pn,generalDecrypt:()=>Qm,generalVerify:()=>oy,generateKeyPair:()=>Dy,generateSecret:()=>ky,importJWK:()=>cr,importPKCS8:()=>Bm,importSPKI:()=>Vm,importX509:()=>Gm,jwtDecrypt:()=>ly,jwtVerify:()=>cy});var xs=I(()=>{jl();ms();Ym();ry();Wl();ws();sy();uy();dy();Zl();_s();Xl();Ts();fy();my();yy();by();Ey();nd();Py();Ay();Vl();gi();Oy();Cy();j();Uy();My();Ns()});var bn=y(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.fetchRetry=void 0;var DI=O();async function UI(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 DI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(UI,"fetchRetry");Ls.fetchRetry=UI});var _n=y(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Hy=(xs(),co(Cs)),kI=O(),MI=bn();async function HI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new Hy.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(HI,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=HI;async function FI(e,t,r){return ud(e,{token:t,returnSecureToken:!0},r)}s(FI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=FI;async function qI(e,t,r){return ud(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(qI,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=qI;async function ud(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 kI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(ud,"fetchToken");Ze.fetchToken=ud;var cd=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,Hy.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=cd});var Us=y(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.GoogleLogTransport=Ft.ZuploToGCPMap=Ft.GoogleCloudLoggingPlugin=void 0;var $I=O(),jI=ve(),ld=W(),dd=_n(),VI=kt(),Fy=Et(),pd=class extends VI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ds(this.options)}};Ft.GoogleCloudLoggingPlugin=pd;var GI="https://logging.googleapis.com/v2/entries:write?alt=json";Ft.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ds=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=ld.Environment.instance.loggingEnvironmentType,this.#o=ld.Environment.instance.loggingEnvironmentStage,this.#n=ld.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await dd.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,Fy.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ft.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,Fy.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 dd.GcpServiceAccount.init(this.#e));let r=await(0,dd.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(GI,{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 jI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ft.GoogleLogTransport=Ds});var hd=y(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.gcpLogFormat=En.GCP_LOG_FORMAT=void 0;var qy=Et(),BI=Us();En.GCP_LOG_FORMAT="gcp";function KI(e){let t={allMessages:(0,qy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,qy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:BI.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(KI,"gcpLogFormat");En.gcpLogFormat=KI});var jy=y(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.ConsoleTransport=void 0;var $y=hd(),fd=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===$y.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,$y.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}])}};ks.ConsoleTransport=fd});var Ed=y(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.DataDogTransport=wn.DataDogLoggingPlugin=void 0;var JI=ve(),md=W(),zI=kt(),Vy=Et(),_d=class extends zI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ms(this.options)}};wn.DataDogLoggingPlugin=_d;var yd="__ddtags",gd="__ddattr",bd=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),WI=s(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(bd(n)):r.push(`${bd(n)}:${bd(i.toString())}`)}),r.join(",")},"formatTags"),Ms=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=md.Environment.instance.loggingEnvironmentType,this.#i=md.Environment.instance.loggingEnvironmentStage,this.#r=md.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[yd];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[yd]!==void 0);a>-1&&(Object.assign(n,o[a][yd]),o.splice(a,1));let c={},u=r.custom[gd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[gd]!==void 0);l>-1&&(Object.assign(c,o[l][gd]),o.splice(l,1));let d=(0,Vy.makeErrorsSerializable)(o),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Vy.extractBestMessage)(d),service:t.loggingId,ddtags:WI(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 JI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};wn.DataDogTransport=Ms});var By=y(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.ProcessTransport=void 0;var Gy=hd(),wd=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,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,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};Hs.ProcessTransport=wd});var Jy=y(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.RemoteLogTransport=void 0;var QI=ve(),Ky=W(),YI=Et(),ZI=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,YI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Ky.Environment.instance.systemUserAgent,"zp-dn":Ky.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Fs,vd=class{static{s(this,"RemoteLogTransport")}constructor(t){Fs||(Fs=new QI.BatchDispatch("remote-log-transport",1,ZI(t)))}log(t,r){Fs.enqueue(t),r.waitUntil(Fs.waitUntilFlushed())}};qs.RemoteLogTransport=vd});var zy=y(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.unifiedFormatter=Fr.SeverityNumberOpenTelemetryMap=void 0;Fr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var 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:Fr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Fr.unifiedFormatter=XI});var Qy=y(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.UnifiedLogTransport=void 0;var eP=ve(),Wy=W(),tP=zy(),rP=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,tP.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":Wy.Environment.instance.systemUserAgent,"zp-dn":Wy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),$s,Sd=class{static{s(this,"UnifiedLogTransport")}constructor(t){$s||($s=new eP.BatchDispatch("unified-log-transport",1,rP(t)))}async log(t,r){$s.enqueue(t),r.waitUntil($s.waitUntilFlushed())}};js.UnifiedLogTransport=Sd});var ng=y(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.LogInitializer=void 0;var nP=Rr(),iP=gt(),Yy=ul(),Zy=W(),Xy=tm(),oP=kt(),sP=rm(),eg=nm(),tg=jy(),aP=Ed(),cP=Us(),rg=By(),uP=Jy(),lP=Qy(),Td=(0,nP.debug)("zuplo:logging"),Id=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(Zy.Environment.instance,t),n=await e.setupUserCoreLogger(Zy.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;Td("Gateway.setupSystemCoreLogger");let i=[],o=r.getService(Yy.SYSTEM_LOGGER);return o?i.push(new rg.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&i.push(new tg.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new lP.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 Xy.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){Td("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:o}=t,a=r.getService(Yy.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new rg.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new tg.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new uP.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 cP.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 aP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return iP.plugins.forEach(c=>{c instanceof oP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Xy.CoreLogger(t.userLogLevel,"user",t.loggingId,o.BUILD_ID,n)}createRequestLoggers(t,r,n,i,o){Td("Gateway.createRequestLoggers");let a=new sP.LoggingContext(n,i,o),c=new eg.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new eg.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Vs.LogInitializer=Id});var Ad=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.UserRouteConfiguration=void 0;var Pd=class{static{s(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Gs.UserRouteConfiguration=Pd});var Od=y(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Router=Tt.RouterError=Tt.LookupResult=Tt.RouterEntry=void 0;var ig=O(),dP=ot(),pP=Ad(),Bs=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=Bs;var Ii=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Tt.LookupResult=Ii;var Ks=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};Tt.RouterError=Ks;var Rd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof pP.UserRouteConfiguration||t instanceof dP.SystemRouteConfiguration))throw new ig.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 Bs(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new Ks(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new ig.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 Ii(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 Ii(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Tt.Router=Rd});var Or=y(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.Gateway=void 0;var hP=Rr(),og=Nf(),sg=Hf(),fP=Ff(),ag=qf(),cg=Gf(),qt=Pr(),Js=Nr(),ug=em(),Pt=O(),Pi=gt(),mP=ng(),yP=Dt(),gP=te(),bP=al(),_P=Qt(),EP=en(),wP=Me(),vP=Od(),Nd=ot(),lg=Ad(),SP=He(),TP=jo(),Cd=W(),dg=Ur(),pg=$u(),It=(0,hP.debug)("zuplo:runtime"),IP=s(e=>{let t=e.findIndex(r=>r.name===Nd.systemNoVersion.name);return t>-1?[...e.splice(t),Nd.systemNoVersion]:[...e,Nd.systemNoVersion]},"setupSystemNoVersion"),xd=class e{static{s(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,It("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,o){if(It("Gateway.initialize"),!e.#e){await(0,Pi.initializeRuntime)(o);let a=await mP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,TP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){It("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new Pt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[EP.policyProcessor,bP.corsProcessor,_P.metricsProcessor];#i;setupRoutes=()=>{It("Gateway.setupRoutes");let t=this.routeData,r=IP(t.versions),n=new vP.Router(r);if(t.routes.length===0)return(0,og.registerBuildRoute)(n,this),(0,cg.registerPingRoute)(n,this),(0,sg.registerCorsRoute)(n,this),(0,fP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,ug.registerDevPortalLegacyRedirectRoute)(n,this),(0,ug.registerDevPortalV3Route)(n,this)),(0,og.registerBuildRoute)(n,this),(0,cg.registerPingRoute)(n,this),(0,sg.registerCorsRoute)(n,this);for(let o of Pi.plugins)o instanceof Pi.SystemRuntimePlugin&&o.registerRoutes(n,this);return t.routes.forEach(o=>{let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new Pt.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new yP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new lg.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,ag.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new Pt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return It("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){It("Gateway.internalErrorResponse");let i={};if(Cd.Environment.instance.isDeno){if(n instanceof Pt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,dg.serializeError)(n.cause);"stack"in o&&(o.stack=(0,dg.cleanStack)(o.stack)),i={cause:o}}}return gP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return qt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Cd.Environment.instance.isDeno&&qt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(qt.REQUEST_ID_HEADER)??t.headers.get(qt.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(qt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set(qt.REQUEST_ID_HEADER,n),t=new Request(t,{headers:S})}if(["GET","HEAD"].includes(t.method)&&t.body){let S=new Headers(t.headers);S.set(qt.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:S,body:null})}let o={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,o,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new Pt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Js.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new wP.ZuploRequest(m,{params:d.params}),g=new Js.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),_=Js.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===ag.notFoundRouteConfiguration&&Pi.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof lg.UserRouteConfiguration)}try{if(SP.SystemLogMap.addLogger(g,c),Cd.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,pg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let U=await(0,Pi.invokeOnRequestExtensions)(h,g);if(U instanceof Response)return U;{let K=Js.ZuploContextExtensions.getContextExtensions(g);h=U,K.latestRequest=h}}(0,pg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;PP(S,d,t),It("Gateway.handleRequest - call user handler");let T=await S(h,g);if(It("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new Pt.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new Pt.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get(qt.REQUEST_ID_HEADER)===null&&!T.webSocket){let U=new Headers(T.headers);return U.set(qt.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:U,cf:T.cf})}else return T}catch(S){return It("Gateway - error executing handler",S),S instanceof Pt.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};zs.Gateway=xd;function PP(e,t,r){if(It("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new Pt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Pt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(PP,"checkHandler")});var hg=y(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.invokeInboundPolicy=void 0;var AP=O(),RP=Or(),OP=en(),NP=s(async(e,t,r)=>{let n=RP.Gateway.instance.routeData.policies,i=(0,OP.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new AP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");Ws.invokeInboundPolicy=NP});var Nr=y(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Pr(),CP=O(),xP=hg(),Ld=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=Ld;var Dd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Dd;var Ud=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Ud;var Ai=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 CP.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=Ai;var kd=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,xP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ai.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ai.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=kd});var Ys=y(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.ContextData=void 0;var Md=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)}};Qs.ContextData=Md});var vn=y(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.environment=hr.isZuploReadableEnvVariableName=hr.isRestrictedEnvVariableName=void 0;var LP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function fg(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!LP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(fg,"isRestrictedEnvVariableName");hr.isRestrictedEnvVariableName=fg;function mg(e){return!!e.startsWith("ZUPLO_")}s(mg,"isZuploReadableEnvVariableName");hr.isZuploReadableEnvVariableName=mg;var DP=new Proxy({},{get(e,t){if(fg(String(t))&&!mg(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});hr.environment=DP});var Hd=y(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.externalServiceHandler=Sn.externalServiceTunnelConfig=void 0;var UP=Rr(),qr=O(),kP=Fd(),Ri=W(),ut=(0,UP.debug)("zuplo:runtime:external-service");function gg(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Ri.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(gg,"getServiceAuth");async function MP(e){let t=gg();if(!t)throw ut("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let o;if(t.customServiceMapping&&t.customServiceMapping[n])o=`https://${t.customServiceMapping[n]}`;else if(Ri.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=Ri.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await bg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(MP,"externalServiceTunnelConfig");Sn.externalServiceTunnelConfig=MP;async function HP(e,t){let r=gg();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(Ri.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=Ri.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await bg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`Calling external service: ${u.toString()}`);let l=await(0,kP.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 qr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.")}s(HP,"externalServiceHandler");Sn.externalServiceHandler=HP;async function bg(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=FP(n);ut(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await yg(`${o}-${i}`),l=await yg(`${o}-${a}-${c}`);return`${u}.${l}`}s(bg,"hashServiceName");async function yg(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(yg,"hashSegment");function FP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(FP,"sanitizeEnvironmentType")});var Fd=y(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.originalFetch=void 0;var qP=Hd(),_g=new Map;_g.set("service:",qP.externalServiceHandler);Tn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=$P(t);if(typeof e=="string"){let n=new URL(e),i=_g.get(n.protocol);return i?i(e,r):(0,Tn.originalFetch)(e,r)}else return(0,Tn.originalFetch)(e,r)};var $P=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 vg=y(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.Handler=In.purgeGatewayCache=void 0;var jP=O(),wg=Or(),Eg=W(),VP=s(()=>{wg.Gateway.purgeGatewayCache()},"purgeGatewayCache");In.purgeGatewayCache=VP;var qd=class{static{s(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Eg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await wg.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 jP.ConfigurationError&&(o=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:o,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Eg.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};In.Handler=qd});var Pg=y(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function GP(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(GP,"lexer");function $d(e,t){t===void 0&&(t={});for(var r=GP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(Pn(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"),m=s(function(){for(var ie="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ie+=me;return ie},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var S=h||"";i.indexOf(S)===-1&&(l+=S,S=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:S,suffix:"",pattern:_||o,modifier:d("MODIFIER")||""});continue}var T=h||d("ESCAPED_CHAR");if(T){l+=T;continue}l&&(a.push(l),l="");var U=d("OPEN");if(U){var S=m(),K=d("NAME")||"",L=d("PATTERN")||"",ne=m();p("CLOSE"),a.push({name:K||(L?c++:""),pattern:K&&!L?o:L,prefix:S,suffix:ne,modifier:d("MODIFIER")||""});continue}p("END")}return a}s($d,"parse");Re.parse=$d;function BP(e,t){return Sg($d(e,t),t)}s(BP,"compile");Re.compile=BP;function Sg(e,t){t===void 0&&(t={});var r=jd(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==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<m.length;_++){var S=i(m[_],p);if(a&&!c[d].test(S))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var S=i(String(m),p);if(a&&!c[d].test(S))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix;continue}if(!h){var T=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(T))}}return l}}s(Sg,"tokensToFunction");Re.tokensToFunction=Sg;function KP(e,t){var r=[],n=Vd(e,r,t);return Tg(n,r,t)}s(KP,"match");Re.match=KP;function Tg(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(g){return i(g,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(Tg,"regexpToFunction");Re.regexpToFunction=Tg;function Pn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(Pn,"escapeString");function jd(e){return e&&e.sensitive?"":"i"}s(jd,"flags");function JP(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(JP,"regexpToRegexp");function zP(e,t,r){var n=e.map(function(i){return Vd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),jd(r))}s(zP,"arrayToRegexp");function WP(e,t,r){return Ig($d(e,r),t,r)}s(WP,"stringToRegexp");function Ig(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,g=h===void 0?"":h,_="[".concat(Pn(g),"]|$"),S="[".concat(Pn(m),"]"),T=a?"^":"",U=0,K=e;U<K.length;U++){var L=K[U];if(typeof L=="string")T+=Pn(d(L));else{var ne=Pn(d(L.prefix)),ie=Pn(d(L.suffix));if(L.pattern)if(t&&t.push(L),ne||ie)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";T+="(?:".concat(ne,"((?:").concat(L.pattern,")(?:").concat(ie).concat(ne,"(?:").concat(L.pattern,"))*)").concat(ie,")").concat(me)}else T+="(?:".concat(ne,"(").concat(L.pattern,")").concat(ie,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?T+="((?:".concat(L.pattern,")").concat(L.modifier,")"):T+="(".concat(L.pattern,")").concat(L.modifier);else T+="(?:".concat(ne).concat(ie,")").concat(L.modifier)}}if(u)i||(T+="".concat(S,"?")),T+=r.endsWith?"(?=".concat(_,")"):"$";else{var Be=e[e.length-1],w=typeof Be=="string"?S.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(T+="(?:".concat(S,"(?=").concat(_,"))?")),w||(T+="(?=".concat(S,"|").concat(_,")"))}return new RegExp(T,jd(r))}s(Ig,"tokensToRegexp");Re.tokensToRegexp=Ig;function Vd(e,t,r){return e instanceof RegExp?JP(e,t):Array.isArray(e)?zP(e,t,r):WP(e,t,r)}s(Vd,"pathToRegexp");Re.pathToRegexp=Vd});var Jd=y(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.AwsV4Signer=An.AwsClient=void 0;var QP=Rr(),Ng=O(),YP=(0,QP.debug)("zuplo:runtime"),Bd=new TextEncoder,Ag={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},ZP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Kd=class{static{s(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:o,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=o,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Zs(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){YP("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:o}=await this.sign(t,r),a=fetch(i,o);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Ng.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};An.AwsClient=Kd;var Zs=class{static{s(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:o,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:h,allHeaders:g,singleEncode:_}){if(r==null)throw new TypeError("url is a required option");if(o==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=o,this.secretAccessKey=a,this.sessionToken=c;let S,T;(!u||!l)&&([S,T]=XP(this.url,this.headers)),this.service=u||S||"",this.region=l||T||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let U=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),U.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&U.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>g||!ZP.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"&&!U.has("X-Amz-Expires")&&U.set("X-Amz-Expires","86400"),U.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),U.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),U.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Og(this.encodedPath);let K=new Set;this.encodedSearch=[...this.url.searchParams].filter(([L])=>{if(!L)return!1;if(this.service==="s3"){if(K.has(L))return!1;K.add(L)}return!0}).map(L=>L.map(ne=>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 Oi("AWS4"+this.secretAccessKey,t),o=await Oi(i,this.region),a=await Oi(o,this.service);n=await Oi(a,"aws4_request"),this.cache.set(r,n)}return Gd(await Oi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Gd(await Rg(await this.canonicalString()))].join(`
|
|
61
61
|
`)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
|
|
62
62
|
`,this.signedHeaders,await this.hexBodyHash()].join(`
|
|
63
|
-
`)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Ng.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Gd(await Rg(this.body||""))}return t}};An.AwsV4Signer=Zs;async function Ni(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Bd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Bd.encode(t))}s(Ni,"hmac");async function Rg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Bd.encode(e):e)}s(Rg,"hash");function Gd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(Gd,"buf2hex");function Og(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(Og,"encodeRfc3986");function eA(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[o,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",o="s3";else if(o==="iot")r.startsWith("iot.")?o="execute-api":r.startsWith("data.jobs.iot.")?o="iot-jobs-data":o=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?o="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(o="autoscaling-plans")}else a==null&&o.startsWith("s3-")?(a=o.slice(3).replace(/^fips-|^external-1/,""),o="s3"):o.endsWith("-fips")?o=o.slice(0,-5):a&&/-\d$/.test(o)&&!/-\d$/.test(a)&&([o,a]=[a,o]);return o in Ag?[Ag[o],a]:[o,a]}s(eA,"guessServiceRegion")});var Cg=y(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.convertStringToUtf8Array=At.convertUtf8ArrayToString=At.base64Encode=At.base64Decode=void 0;function tA(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(tA,"b64ToUint6");function rA(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|=tA(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(rA,"base64Decode");At.base64Decode=rA;function Xs(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Xs,"uint6ToB64");function nA(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(Xs(i>>>18&63),Xs(i>>>12&63),Xs(i>>>6&63),Xs(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(nA,"base64Encode");At.base64Encode=nA;function iA(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(iA,"convertUtf8ArrayToString");At.convertUtf8ArrayToString=iA;function oA(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(oA,"convertStringToUtf8Array");At.convertStringToUtf8Array=oA});var xg=y(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.toCLFDate=void 0;function Rn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(Rn,"numberToString");function sA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=Rn(Math.floor(r/60)),o=Rn(r%60);return`${n}${i}${o}`}s(sA,"getCLFOffset");function aA(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=Rn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=Rn(e.getHours()),a=Rn(e.getMinutes()),c=Rn(e.getSeconds()),u=sA(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(aA,"toCLFDate");ea.toCLFDate=aA});var Fg=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.getResponse=fr.awsLambdaHandler=fr.AwsLambdaHandlerExtensions=void 0;var cA=Rr(),Lg=Pg(),Ci=O(),uA=Ut(),lA=Jd(),Ug=Cg(),kg=xg(),Dg=(0,cA.debug)("zuplo:runtime"),dA="X-Amzn-Trace-Id",pA="x-amzn-errortype",Mg=[],hA=s(async(e,t,r)=>{let n=r;for await(let i of Mg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Ci.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(dA)??void 0,this.errorType=r.get(pA)??void 0}};fr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Mg.push(e)}};async function fA(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 Ci.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ci.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ci.ConfigurationError("region is not set in the handler options");if(!o)throw new Ci.ConfigurationError("functionName is not set in the handler options");let l=new lA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(Dg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await gA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=yA(e,t):g=await mA(e,t,{useAwsResourcePathStyle:c}),Dg("Calling onSendingAwsLambdaEvent hook");let _=await hA(e,t,g);_.body=p,_.isBase64Encoded=m;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return Hg(S)}catch(T){if(T instanceof Ke){let U=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&T.traceId?{AMZN_TRACE_ID_HEADER:T.traceId}:void 0;return uA.HttpProblems.internalServerError(e,t,void 0,U)}throw T}}s(fA,"awsLambdaHandler");fr.awsLambdaHandler=fA;async function Hg(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(Hg,"getResponse");fr.getResponse=Hg;async function mA(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,kg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:_A(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(mA,"buildEventVersion1");function yA(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,kg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(yA,"buildEventVersion2");async function gA(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&&bA(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(gA,"getBodyResult");function bA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(bA,"matchesContentType");function _A(e,t=!1){if(!t)return e;let r=(0,Lg.parse)(e),n=(0,Lg.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(_A,"getResourcePath")});var Nn=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.getHandlerUserLogFunction=On.logBadGatewayResponses=void 0;var EA=He(),wA=W(),vA=[502,503,504];async function SA(e,t){if(vA.includes(e.status)){let r=EA.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(SA,"logBadGatewayResponses");On.logBadGatewayResponses=SA;var zd;function TA(e){if(zd===void 0){let r=wA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),zd=r}return e.log[zd]}s(TA,"getHandlerUserLogFunction");On.getHandlerUserLogFunction=TA});var $g=y(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.openApiSpecHandler=void 0;var qg=O(),IA=te(),Wd=W(),PA=Nn();async function AA(e,t){let r=Wd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Wd.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new qg.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=RA(o);if(!a.isValid)throw new qg.ConfigurationError(a.error);let c;Wd.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 IA.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,PA.logBadGatewayResponses)(l,t),l}s(AA,"openApiSpecHandler");ta.openApiSpecHandler=AA;var RA=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 jg=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.redirectHandler=void 0;var OA=O();async function NA(e,t){let r=t.route.handler.options;if(!r.location)throw new OA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(NA,"redirectHandler");ra.redirectHandler=NA});var Gg=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.urlForwardHandler=void 0;var CA=O(),Vg=Nn();function xA(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(xA,"join");async function LA(e,t){let r=(0,Vg.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 CA.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=xA(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,Vg.logBadGatewayResponses)(p,t),p}s(LA,"urlForwardHandler");na.urlForwardHandler=LA});var Kg=y(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.urlRewriteHandler=void 0;var DA=O(),Bg=Nn(),UA=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 kA(e,t){let r=(0,Bg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new DA.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?UA(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,Bg.logBadGatewayResponses)(d,t),d}s(kA,"urlRewriteHandler");ia.urlRewriteHandler=kA});var zg=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.webSocketHandler=void 0;var Jg=O(),MA=Hd(),HA=Ut(),FA=W(),qA=Nn();async function $A(e,t){let r=FA.Environment.instance,n=t.route.handler.options,i=(0,qA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Jg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return HA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Jg.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),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let S in h.tunnelHeaders)p.set(S,h.tunnelHeaders[S])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}s($A,"webSocketHandler");oa.webSocketHandler=$A});var Wg=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.webSocketPolicyProcessor=Cn.getWebSocketPolicyFunctions=void 0;var jA=O(),VA=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 jA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");Cn.getWebSocketPolicyFunctions=VA;var GA=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");Cn.webSocketPolicyProcessor=GA});var Yg=y(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.webSocketPipelineHandler=void 0;var Qd=O(),BA=Ut(),KA=W(),JA=Nn(),Yd=Wg();function Qg(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,Yd.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(Qg,"wireUpListeners");async function zA(e,t){let r=KA.Environment.instance,n=t.route.handler.options,i=(0,JA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Qd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return BA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Qd.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 Qd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let T=await l.text(),U=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(U)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),m.accept();let _=n.policies&&n.policies.inbound?(0,Yd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,Yd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Qg(m,g,e,t,_),Qg(g,m,e,t,S),new Response(null,{status:101,webSocket:p})}s(zA,"webSocketPipelineHandler");sa.webSocketPipelineHandler=zA});var Zg=y(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.DynaTraceLoggingPlugin=void 0;var WA=ve(),Zd=W(),QA=Ur(),YA=kt(),ZA=Et(),Xd=class extends YA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ep(this.options)}};aa.DynaTraceLoggingPlugin=Xd;var ep=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Zd.Environment.instance.loggingEnvironmentType,this.#i=Zd.Environment.instance.loggingEnvironmentStage,this.#r=Zd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,ZA.stringifyNonString)((0,QA.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 WA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Xg=y(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.LokiLoggingPlugin=void 0;var XA=ve(),tp=W(),eR=Ur(),tR=kt(),rR=Et(),rp=class extends tR.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ip(this.options)}};ca.LokiLoggingPlugin=rp;var np=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 nR(e,t){return btoa(`${e}:${t}`)}s(nR,"createBasicDigest");var ip=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=nR(t.username,t.password),this.#n=tp.Environment.instance.loggingEnvironmentType,this.#i=tp.Environment.instance.loggingEnvironmentStage,this.#r=tp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new np(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,rR.stringifyNonString)((0,eR.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 eb=y(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.SumoLogicLoggingPlugin=void 0;var iR=ve(),op=W(),oR=Ur(),sR=kt(),aR=Et(),sp=class extends sR.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ap(this.options)}};ua.SumoLogicLoggingPlugin=sp;var ap=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=op.Environment.instance.loggingEnvironmentType,this.#n=op.Environment.instance.loggingEnvironmentStage,this.#t=op.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,aR.stringifyNonString)((0,oR.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 ma(await n.text())}};yr.DynaTraceMetricsTransport=fa;var ma=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};yr.DynaTraceMetricsError=ma});var cb=y(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.DynatraceMetricsPlugin=Dn.DataDogMetricsPlugin=void 0;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 Ng.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Gd(await Rg(this.body||""))}return t}};An.AwsV4Signer=Zs;async function Oi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Bd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Bd.encode(t))}s(Oi,"hmac");async function Rg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Bd.encode(e):e)}s(Rg,"hash");function Gd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(Gd,"buf2hex");function Og(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(Og,"encodeRfc3986");function XP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[o,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",o="s3";else if(o==="iot")r.startsWith("iot.")?o="execute-api":r.startsWith("data.jobs.iot.")?o="iot-jobs-data":o=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?o="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(o="autoscaling-plans")}else a==null&&o.startsWith("s3-")?(a=o.slice(3).replace(/^fips-|^external-1/,""),o="s3"):o.endsWith("-fips")?o=o.slice(0,-5):a&&/-\d$/.test(o)&&!/-\d$/.test(a)&&([o,a]=[a,o]);return o in Ag?[Ag[o],a]:[o,a]}s(XP,"guessServiceRegion")});var Cg=y(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.convertStringToUtf8Array=At.convertUtf8ArrayToString=At.base64Encode=At.base64Decode=void 0;function eA(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(eA,"b64ToUint6");function tA(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|=eA(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(tA,"base64Decode");At.base64Decode=tA;function Xs(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Xs,"uint6ToB64");function rA(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(Xs(i>>>18&63),Xs(i>>>12&63),Xs(i>>>6&63),Xs(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(rA,"base64Encode");At.base64Encode=rA;function nA(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(nA,"convertUtf8ArrayToString");At.convertUtf8ArrayToString=nA;function iA(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(iA,"convertStringToUtf8Array");At.convertStringToUtf8Array=iA});var xg=y(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.toCLFDate=void 0;function Rn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(Rn,"numberToString");function oA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=Rn(Math.floor(r/60)),o=Rn(r%60);return`${n}${i}${o}`}s(oA,"getCLFOffset");function sA(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=Rn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=Rn(e.getHours()),a=Rn(e.getMinutes()),c=Rn(e.getSeconds()),u=oA(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(sA,"toCLFDate");ea.toCLFDate=sA});var Fg=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.getResponse=fr.awsLambdaHandler=fr.AwsLambdaHandlerExtensions=void 0;var aA=Rr(),Lg=Pg(),Ni=O(),cA=Ut(),uA=Jd(),Ug=Cg(),kg=xg(),Dg=(0,aA.debug)("zuplo:runtime"),lA="X-Amzn-Trace-Id",dA="x-amzn-errortype",Mg=[],pA=s(async(e,t,r)=>{let n=r;for await(let i of Mg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Ni.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(lA)??void 0,this.errorType=r.get(dA)??void 0}};fr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Mg.push(e)}};async function hA(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 Ni.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ni.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ni.ConfigurationError("region is not set in the handler options");if(!o)throw new Ni.ConfigurationError("functionName is not set in the handler options");let l=new uA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(Dg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await yA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=mA(e,t):g=await fA(e,t,{useAwsResourcePathStyle:c}),Dg("Calling onSendingAwsLambdaEvent hook");let _=await pA(e,t,g);_.body=p,_.isBase64Encoded=m;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return Hg(S)}catch(T){if(T instanceof Ke){let U=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&T.traceId?{AMZN_TRACE_ID_HEADER:T.traceId}:void 0;return cA.HttpProblems.internalServerError(e,t,void 0,U)}throw T}}s(hA,"awsLambdaHandler");fr.awsLambdaHandler=hA;async function Hg(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(Hg,"getResponse");fr.getResponse=Hg;async function fA(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,kg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:bA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(fA,"buildEventVersion1");function mA(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,kg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(mA,"buildEventVersion2");async function yA(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&&gA(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(yA,"getBodyResult");function gA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(gA,"matchesContentType");function bA(e,t=!1){if(!t)return e;let r=(0,Lg.parse)(e),n=(0,Lg.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(bA,"getResourcePath")});var Nn=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.getHandlerUserLogFunction=On.logBadGatewayResponses=void 0;var _A=He(),EA=W(),wA=[502,503,504];async function vA(e,t){if(wA.includes(e.status)){let r=_A.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(vA,"logBadGatewayResponses");On.logBadGatewayResponses=vA;var zd;function SA(e){if(zd===void 0){let r=EA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),zd=r}return e.log[zd]}s(SA,"getHandlerUserLogFunction");On.getHandlerUserLogFunction=SA});var $g=y(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.openApiSpecHandler=void 0;var qg=O(),TA=te(),Wd=W(),IA=Nn();async function PA(e,t){let r=Wd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Wd.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new qg.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=AA(o);if(!a.isValid)throw new qg.ConfigurationError(a.error);let c;Wd.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 TA.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(PA,"openApiSpecHandler");ta.openApiSpecHandler=PA;var AA=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 jg=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.redirectHandler=void 0;var RA=O();async function OA(e,t){let r=t.route.handler.options;if(!r.location)throw new RA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(OA,"redirectHandler");ra.redirectHandler=OA});var Gg=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.urlForwardHandler=void 0;var NA=O(),Vg=Nn();function CA(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(CA,"join");async function xA(e,t){let r=(0,Vg.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 NA.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=CA(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,Vg.logBadGatewayResponses)(p,t),p}s(xA,"urlForwardHandler");na.urlForwardHandler=xA});var Kg=y(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.urlRewriteHandler=void 0;var LA=O(),Bg=Nn(),DA=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 UA(e,t){let r=(0,Bg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new LA.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?DA(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,Bg.logBadGatewayResponses)(d,t),d}s(UA,"urlRewriteHandler");ia.urlRewriteHandler=UA});var zg=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.webSocketHandler=void 0;var Jg=O(),kA=Hd(),MA=Ut(),HA=W(),FA=Nn();async function qA(e,t){let r=HA.Environment.instance,n=t.route.handler.options,i=(0,FA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Jg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return MA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Jg.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,kA.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let S in h.tunnelHeaders)p.set(S,h.tunnelHeaders[S])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}s(qA,"webSocketHandler");oa.webSocketHandler=qA});var Wg=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.webSocketPolicyProcessor=Cn.getWebSocketPolicyFunctions=void 0;var $A=O(),jA=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 $A.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");Cn.getWebSocketPolicyFunctions=jA;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");Cn.webSocketPolicyProcessor=VA});var Yg=y(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.webSocketPipelineHandler=void 0;var Qd=O(),GA=Ut(),BA=W(),KA=Nn(),Yd=Wg();function Qg(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,Yd.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(Qg,"wireUpListeners");async function JA(e,t){let r=BA.Environment.instance,n=t.route.handler.options,i=(0,KA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Qd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return GA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Qd.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 Qd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let T=await l.text(),U=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(U)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),m.accept();let _=n.policies&&n.policies.inbound?(0,Yd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,Yd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Qg(m,g,e,t,_),Qg(g,m,e,t,S),new Response(null,{status:101,webSocket:p})}s(JA,"webSocketPipelineHandler");sa.webSocketPipelineHandler=JA});var Zg=y(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.DynaTraceLoggingPlugin=void 0;var zA=ve(),Zd=W(),WA=Ur(),QA=kt(),YA=Et(),Xd=class extends QA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ep(this.options)}};aa.DynaTraceLoggingPlugin=Xd;var ep=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Zd.Environment.instance.loggingEnvironmentType,this.#i=Zd.Environment.instance.loggingEnvironmentStage,this.#r=Zd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,YA.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 zA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Xg=y(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.LokiLoggingPlugin=void 0;var ZA=ve(),tp=W(),XA=Ur(),eR=kt(),tR=Et(),rp=class extends eR.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ip(this.options)}};ca.LokiLoggingPlugin=rp;var np=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 rR(e,t){return btoa(`${e}:${t}`)}s(rR,"createBasicDigest");var ip=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=rR(t.username,t.password),this.#n=tp.Environment.instance.loggingEnvironmentType,this.#i=tp.Environment.instance.loggingEnvironmentStage,this.#r=tp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new np(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,tR.stringifyNonString)((0,XA.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 ZA.BatchDispatch("loki-log-transport",10,this.#s)}});var eb=y(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.SumoLogicLoggingPlugin=void 0;var nR=ve(),op=W(),iR=Ur(),oR=kt(),sR=Et(),sp=class extends oR.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ap(this.options)}};ua.SumoLogicLoggingPlugin=sp;var ap=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=op.Environment.instance.loggingEnvironmentType,this.#n=op.Environment.instance.loggingEnvironmentStage,this.#t=op.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,sR.stringifyNonString)((0,iR.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 nR.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var rb=y(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.VMWareLogInsightTransport=xn.VMWareLogInsightLoggingPlugin=void 0;var aR=O(),cR=ve(),cp=W(),uR=kt(),tb=Et(),lR="d3a5b78f-8236-48f5-b1df-4fe269d41172",up=class extends uR.LogPlugin{static{s(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new la(this.options)}};xn.VMWareLogInsightLoggingPlugin=up;var la=class{static{s(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new aR.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=cp.Environment.instance.loggingEnvironmentType,this.#n=cp.Environment.instance.loggingEnvironmentStage,this.#t=cp.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,tb.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,tb.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/${lR}`,{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 cR.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};xn.VMWareLogInsightTransport=la});var ib=y(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.AWSLogTransport=Ln.AWSLoggingPlugin=void 0;var dR=Jd(),pR=ve(),nb=W(),hR=Ur(),fR=kt(),mR=Et(),lp=class extends fR.LogPlugin{static{s(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new da(this.options)}};Ln.AWSLoggingPlugin=lp;var da=class{static{s(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new pR.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 dR.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:o}),this.logGroupName=n,this.logStreamName=r,this.region=o,this.environmentType=nb.Environment.instance.loggingEnvironmentType,this.environment=nb.Environment.instance.deploymentName}log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,mR.stringifyNonString)((0,hR.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())}};Ln.AWSLogTransport=da});var ob=y(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var yR=Ed();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return yR.DataDogLoggingPlugin}});var gR=Zg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return gR.DynaTraceLoggingPlugin}});var bR=Us();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return bR.GoogleCloudLoggingPlugin}});var _R=Xg();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return _R.LokiLoggingPlugin}});var ER=eb();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return ER.SumoLogicLoggingPlugin}});var wR=rb();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return wR.VMWareLogInsightLoggingPlugin}});var vR=ib();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return vR.AWSLoggingPlugin}})});var sb=y(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DataDogMetricsError=mr.DataDogMetricsTransport=mr.DataDogMetricsPlugin=void 0;var SR=He(),TR=ve(),IR=xo(),dp=new WeakMap,PR={tags:[]},pp=class extends IR.MetricsPlugin{static{s(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new pa(this.options)}static setContext(t,r){let n=dp.get(t);n||(n=PR);let i=Object.assign({...n},r);dp.set(t,i)}};mr.DataDogMetricsPlugin=pp;var pa=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 TR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,SR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(dp.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 ha(await n.text())}};mr.DataDogMetricsTransport=pa;var ha=class e extends Error{static{s(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DataDogMetricsError=ha});var ab=y(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.DynaTraceMetricsError=yr.DynaTraceMetricsTransport=yr.DynatraceMetricsPlugin=void 0;var AR=He(),RR=ve(),OR=xo(),hp=new WeakMap,NR={dimensions:[]},fp=class extends OR.MetricsPlugin{static{s(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new fa(this.options)}static setContext(t,r){let n=hp.get(t);n||(n=NR);let i=Object.assign({...n},r);hp.set(t,i)}};yr.DynatraceMetricsPlugin=fp;var fa=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 RR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,AR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(hp.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 ma(await n.text())}};yr.DynaTraceMetricsTransport=fa;var ma=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};yr.DynaTraceMetricsError=ma});var cb=y(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.DynatraceMetricsPlugin=Dn.DataDogMetricsPlugin=void 0;var CR=sb();Object.defineProperty(Dn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return CR.DataDogMetricsPlugin}});var xR=ab();Object.defineProperty(Dn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return xR.DynatraceMetricsPlugin}})});var ub=y(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.AuditLogDataStaxProvider=void 0;var mp=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)})}))}};ya.AuditLogDataStaxProvider=mp});var db=y(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.AuditLogPlugin=void 0;var LR=gt(),DR=ve(),yp=class extends LR.SystemRuntimePlugin{static{s(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new gp(t,this.#e,this.#t)}};ga.AuditLogPlugin=yp;var lb=s(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),UR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},gp=class{static{s(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...UR};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 DR.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?lb(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?lb(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,o=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-o,u.user?.sub).catch(m=>{r.log.error(m)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var pb=y(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.StripeSignatureVerificationError=Un.StripeError=void 0;var ba=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}};Un.StripeError=ba;var bp=class extends ba{static{s(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Un.StripeSignatureVerificationError=bp});var fb=y(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.computeHMACSignatureAsync=kn.constructEventAsync=void 0;var $r=pb(),kR="v1",MR=300;async function HR(e,t,r,n=MR,i){return await qR(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}s(HR,"constructEventAsync");kn.constructEventAsync=HR;function FR(e,t){return`${t.timestamp}.${e}`}s(FR,"makeHMACContent");async function qR(e,t,r,n,i){let{decodedHeader:o,decodedPayload:a,details:c,suspectPayloadType:u}=$R(e,t,kR),l=/\s/.test(r),d=await hb(FR(a,c),r);return jR(a,o,c,d,n,u,l,i)}s(qR,"verifyHeaderAsync");function $R(e,t,r){if(!e)throw new $r.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),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 $r.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 $r.StripeSignatureVerificationError(a,o,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new $r.StripeSignatureVerificationError(a,o,{message:"No signatures found with expected scheme"});return{decodedPayload:o,decodedHeader:a,details:c,suspectPayloadType:n}}s($R,"parseEventDetails");function jR(e,t,r,n,i,o,a,c){let u=!!r.signatures.filter(m=>GR(m,n)).length,l=`
|
|
66
66
|
Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
|
|
67
67
|
|
|
68
68
|
Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw o?new $r.StripeSignatureVerificationError(t,e,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
|
|
@@ -71,17 +71,17 @@ Signature verification is impossible without access to the original signed mater
|
|
|
71
71
|
`+d}):new $r.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
|
|
72
72
|
If a webhook request is being forwarded by a third-party tool, ensure that the exact request body, including JSON formatting and new line style, is preserved.
|
|
73
73
|
`+l+`
|
|
74
|
-
`+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new $r.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}s(VR,"validateComputedSignature");function GR(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(GR,"parseHeader");function BR(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(BR,"secureCompare");async function hb(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]=_p[o[c]];return a.join("")}s(hb,"computeHMACSignatureAsync");kn.computeHMACSignatureAsync=hb;var _p=new Array(256);for(let e=0;e<_p.length;e++)_p[e]=e.toString(16).padStart(2,"0")});var lt=y(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.optionValidator=void 0;var xi=O();function KR(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new xi.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 xi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new xi.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 xi.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 xi.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(KR,"optionValidator");_a.optionValidator=KR});var Ep=y(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.StripeWebhookVerificationInboundPolicy=void 0;var JR=te(),zR=fb(),WR=lt(),QR=s(async(e,t,r,n)=>{(0,WR.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,zR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),JR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");Ea.StripeWebhookVerificationInboundPolicy=QR});var yb=y(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.isStripeWebhookEvent=void 0;var mb=bt();function YR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,mb.isString)(e.id)&&"type"in e&&(0,mb.isString)(e.type)}s(YR,"isStripeWebhookEvent");wa.isStripeWebhookEvent=YR});var gb=y(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.MeteringPlugin=void 0;var ZR=gt(),wp=class extends ZR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};va.MeteringPlugin=wp});var _b=y(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});var bb=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 bb.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 bb.RuntimeError(o)}return i}};vp.default=XR});var Eb=y(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.deleteConsumer=gr.createConsumerInvite=gr.createConsumer=void 0;var Sp=O(),Tp=He(),Ip=W(),Pp=bn(),Ap="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function e0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:o,context:a}){let{authApiJWT:c}=Ip.Environment.instance,u=new URL(`/v1/buckets/${e}/consumers`,Ap);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:o,email:i}]},p=await(0,Pp.fetchRetry)({retryDelayMs:5,retries:2,logger:Tp.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),m=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,m),new Sp.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}s(e0,"createConsumer");gr.createConsumer=e0;async function t0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:o}){let{authApiJWT:a}=Ip.Environment.instance,c=new URL(`/v1/buckets/${e}/consumers`,Ap);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,Pp.fetchRetry)({retryDelayMs:5,retries:2,logger:Tp.SystemLogMap.getLogger(o)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let m="Error creating API Key Consumer";throw o.log.error(m,p),new Sp.RuntimeError(m)}return o.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:t,stripeProductId:r}),u}s(t0,"createConsumerInvite");gr.createConsumerInvite=t0;async function r0({apiKeyBucketName:e,consumerId:t,context:r}){let{authApiJWT:n}=Ip.Environment.instance,i=new URL(`/v1/buckets/${e}/consumers/${t}`,Ap);i.searchParams.set("with-api-key","true");let o=await(0,Pp.fetchRetry)({retryDelayMs:5,retries:2,logger:Tp.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(o.status!==204){let a=await o.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new Sp.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${t}`),t}s(r0,"deleteConsumer");gr.deleteConsumer=r0});var Sa=y(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.getSubscription=_r.updateSubscription=_r.createSubscription=void 0;var br=O(),Rp=He(),Op=W(),Np=bn(),Cp=bt();async function n0({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:o,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:o,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=Op.Environment.instance;if(!(0,Cp.isNonEmptyString)(l))throw new br.SystemError("No Zuplo JWT token set.");let p=await(0,Np.fetchRetry)({retryDelayMs:5,retries:2,logger:Rp.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let m="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw e.log.error(m,h),new br.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}s(n0,"createSubscription");_r.createSubscription=n0;async function i0({context:e,meteringSubscriptionId:t,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:o}=Op.Environment.instance;if(!(0,Cp.isNonEmptyString)(i))throw new br.SystemError("No Zuplo JWT token set.");let a=await(0,Np.fetchRetry)({retryDelayMs:5,retries:2,logger:Rp.SystemLogMap.getLogger(e)},`${o}/internal/v1/metering/${r}/subscriptions/${t}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw e.log.error(c,u),new br.RuntimeError(c)}e.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}s(i0,"updateSubscription");_r.updateSubscription=i0;async function o0({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:o}=Op.Environment.instance;if(!(0,Cp.isNonEmptyString)(i))throw new br.SystemError("No Zuplo JWT token set.");let a=await(0,Np.fetchRetry)({retryDelayMs:5,retries:2,logger:Rp.SystemLogMap.getLogger(e)},`${o}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${t}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":e.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw e.log.error(u,l),new br.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new br.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new br.RuntimeError(u)}return c.data[0]}s(o0,"getSubscription");_r.getSubscription=o0});var xp=y(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.stripeStatusToMeteringStatus=void 0;function s0(e){return e.replaceAll("_","-")}s(s0,"stripeStatusToMeteringStatus");Ta.stripeStatusToMeteringStatus=s0});var wb=y(Li=>{"use strict";var a0=Li&&Li.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Li,"__esModule",{value:!0});var jr=te(),c0=a0(_b()),Lp=Eb(),u0=Sa(),l0=xp();async function d0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let o=r.data.object.plan;if(!o||!o.product)return t.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=o.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,Lp.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:t});else{let l=await c0.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return t.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,Lp.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:t})}if(!u)return jr.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,l0.stripeStatusToMeteringStatus)(r.data.object.status);await(0,u0.createSubscription)({context:t,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,Lp.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:t}),jr.HttpProblems.internalServerError(e,t,{detail:l.message})}return jr.HttpProblems.ok(e,t)}s(d0,"onCustomerSubscriptionCreated");Li.default=d0});var Sb=y(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});var Dp=te(),vb=Sa();async function p0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Dp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let o=r.data.object.customer;if(!o)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Dp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,vb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId});return await(0,vb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),Dp.HttpProblems.ok(e,t)}s(p0,"onCustomerSubscriptionDeleted");Up.default=p0});var Tb=y(kp=>{"use strict";Object.defineProperty(kp,"__esModule",{value:!0});var Di=te(),Ia=Sa(),h0=xp();async function f0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Di.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let o=r.data.object.customer;if(!o)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Di.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){let c=await(0,Ia.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId}),u=(0,h0.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,Ia.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Di.HttpProblems.ok(e,t)}if(a.plan&&a.plan.product!==r.data.object.plan.product){let c=await(0,Ia.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId});return await(0,Ia.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[r.data.object.plan.product]}}),Di.HttpProblems.ok(e,t)}}return t.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Di.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}s(f0,"onCustomerSubscriptionUpdated");kp.default=f0});var Pb=y(Mn=>{"use strict";var Hp=Mn&&Mn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.StripeMeteringPlugin=void 0;var Pa=vn(),Aa=O(),m0=Dt(),y0=Ep(),Ib=te(),g0=Qt(),b0=en(),_0=Wu(),E0=ot(),w0=W(),v0=yb(),S0=gb(),T0=Hp(wb()),I0=Hp(Sb()),P0=Hp(Tb()),Mp=class extends S0.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(Pa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=Pa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Aa.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(Pa.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=Pa.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Aa.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!w0.Environment.instance.build.ACCOUNT_NAME)throw new Aa.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!A0(p))throw new Aa.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,v0.isStripeWebhookEvent)(m))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 '${m.type}' with ID '${m.id}'.`),m.type){case"customer.subscription.created":return await(0,T0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,P0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,I0.default)(c,u,m,{meteringBucketId:l});default:return Ib.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,b0.createInternalPolicyProcessor)({inboundPolicies:[{handler:y0.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new m0.Pipeline({processors:[g0.metricsProcessor,i],handler:n,gateway:r}),a=new E0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:_0.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};Mn.StripeMeteringPlugin=Mp;function A0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(A0,"isMetricsRegion")});var Cb=y(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.AmberfloMeteringInboundPolicy=Hn.AmberfloMeteringPolicy=void 0;var Ab=O(),R0=ve(),Rb=Zt(),Nb=new WeakMap,Ob={},Fp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Nb.set(t,r)}};Hn.AmberfloMeteringPolicy=Fp;async function O0(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,Rb.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 Ab.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Rb.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=Ob[r.apiKey];if(!m){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";m=new R0.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let S=r.url??"https://app.amberflo.io/ingest",T=await fetch(S,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});T.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${T.status}: ${await T.text()}`)}catch(S){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${S.message}`),S}}),Ob[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}s(O0,"AmberfloMeteringInboundPolicy");Hn.AmberfloMeteringInboundPolicy=O0});var qp=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.sha256=void 0;async function N0(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(N0,"sha256");Ra.sha256=N0});var $t=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.getPolicyCacheName=void 0;var C0=qp(),xb=new Map;async function x0(e,t){let r,n=xb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,C0.sha256)(JSON.stringify({policyName:e,options:t}))}`,xb.set(e,r)),r}s(x0,"getPolicyCacheName");Oa.getPolicyCacheName=x0});var Vp=y(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ApiKeyInboundPolicy=void 0;var L0=$t(),D0=Kt(),Lb=vn(),$p=O(),U0=Ut(),Db=He(),jp=W(),k0=bn(),Ub="key-metadata-cache-type";function M0(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(M0,"getKeyValue");async function H0(e,t,r,n){if(!r.bucketName)if(Lb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Lb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new $p.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 $p.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(S=>i.allowUnauthenticatedRequests?e:U0.HttpProblems.unauthorized(e,t,{detail:S}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return o("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return o("Invalid Authorization Scheme");let c=M0(a,i);if(!c||c==="")return o("No key present");let u=await F0(c),l=await(0,L0.getPolicyCacheName)(n,i),d=new D0.MemoryZoneReadThroughCache(l,t),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Ub&&Db.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let m={key:c},h=await(0,k0.fetchRetry)({retryDelayMs:5,retries:2,logger:Db.SystemLogMap.getLogger(t)},`${jp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":jp.Environment.instance.deploymentName??"unknown","User-Agent":jp.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 S=await h.text(),T=JSON.parse(S);t.log.error("Unexpected response from key service",T)}catch{t.log.error("Invalid response from key service")}throw new $p.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:Ub,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}s(H0,"ApiKeyInboundPolicy");Na.ApiKeyInboundPolicy=H0;async function F0(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(F0,"hashValue")});var kb=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.ApiAuthKeyInboundPolicy=void 0;var q0=Vp();Ca.ApiAuthKeyInboundPolicy=q0.ApiKeyInboundPolicy});var jt=y(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.OpenIdJwtInboundPolicy=void 0;var Bp=(xs(),uo(Cs)),Kp=O(),$0=te(),Gp={},j0=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Kp.ConfigurationError("Invalid State - jwkUrl not set");Gp[t.jwkUrl]||(Gp[t.jwkUrl]=(0,Bp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Bp.jwtVerify)(e,Gp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),V0=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,Bp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),G0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(m=>$0.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Kp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Kp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?j0:V0,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 g=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${g.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${g.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");xa.OpenIdJwtInboundPolicy=G0});var Mb=y(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.Auth0JwtInboundPolicy=void 0;var B0=jt(),K0=s(async(e,t,r,n)=>(0,B0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");La.Auth0JwtInboundPolicy=K0});var Hb=y(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.BasicAuthInboundPolicy=void 0;var J0=te(),z0=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>J0.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await s(async()=>{if(!n)return await o("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await o("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await o("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await o("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===m&&_.password===h);return g||await o("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");Da.BasicAuthInboundPolicy=z0});var Fb=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.CachingInboundPolicy=void 0;var W0=$t(),Q0=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function Y0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(Y0,"digestMessage");var Z0=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 Y0(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 X0(e,t,r,n){let i=await(0,W0.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await Z0(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);Q0.forEach(g=>h.headers.delete(g)),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(X0,"CachingInboundPolicy");Ua.CachingInboundPolicy=X0});var qb=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.ChangeMethodInboundPolicy=void 0;var eO=O(),tO=Me(),rO=s(async(e,t,r,n)=>{if(!r.method)throw new eO.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new tO.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");ka.ChangeMethodInboundPolicy=rO});var $b=y(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.ClearHeadersInboundPolicy=void 0;var nO=Me(),iO=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 nO.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ma.ClearHeadersInboundPolicy=iO});var jb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.ClearHeadersOutboundPolicy=void 0;var oO=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");Ha.ClearHeadersOutboundPolicy=oO});var Vb=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.ClerkJwtInboundPolicy=void 0;var sO=jt(),aO=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,sO.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Fa.ClerkJwtInboundPolicy=aO});var Bb=y(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.CognitoJwtInboundPolicy=void 0;var Gb=O(),cO=jt(),uO=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,cO.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");qa.CognitoJwtInboundPolicy=uO});var Jb=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.CompositeInboundPolicy=void 0;var lO=O(),dO=Or(),Kb=en(),pO=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new lO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=dO.Gateway.instance,o=(0,Kb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Kb.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");$a.CompositeInboundPolicy=pO});var zb=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.CurityPhantomTokenInboundPolicy=void 0;var hO=$t(),fO=Kt(),ja=te(),mO=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return ja.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=yO(i);if(!o)return ja.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,hO.getPolicyCacheName)(n,r),c=new fO.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}'`),ja.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):ja.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Va.CurityPhantomTokenInboundPolicy=mO;function yO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(yO,"getToken")});var Wb=y(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.FirebaseJwtInboundPolicy=void 0;var gO=lt(),bO=jt(),_O=s(async(e,t,r,n)=>((0,gO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,bO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");Ga.FirebaseJwtInboundPolicy=_O});var Qb=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.FormDataToJsonInboundPolicy=void 0;var EO=Me(),wO=s(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",o=e.headers.get("content-type")?.toLowerCase();if(!o||![i,n].includes(o))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new EO.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Ba.FormDataToJsonInboundPolicy=wO});var Yb=y(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.GeoFilterInboundPolicy=void 0;var vO=O(),SO=te(),Fn="__unknown__",TO=s(async(e,t,r,n)=>{let i={allow:{countries:$n(r.allow?.countries,"allow.countries",n),regionCodes:$n(r.allow?.regionCodes,"allow.regionCode",n),asns:$n(r.allow?.asns,"allow.asOrganization",n)},block:{countries:$n(r.block?.countries,"block.countries",n),regionCodes:$n(r.block?.regionCodes,"block.regionCode",n),asns:$n(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Fn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Fn,c=t.incomingRequestProperties.asn?.toString()??Fn,u=i.ignoreUnknown&&o===Fn,l=i.ignoreUnknown&&a===Fn,d=i.ignoreUnknown&&c===Fn,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 qn(e,t,n,o,a,c);let g=i.block.countries,_=i.block.regionCodes,S=i.block.asns;return g.length>0&&g.includes(o)&&!u||_.length>0&&_.includes(a)&&!l||S.length>0&&S.includes(c)&&!d?qn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");Ka.GeoFilterInboundPolicy=TO;function qn(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),SO.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(qn,"blockedResponse");function $n(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 vO.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s($n,"toLowerStringArray")});var Zb=y(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.JWTScopeValidationInboundPolicy=void 0;var IO=s(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!s((o,a)=>a.every(c=>o.includes(c)),"scopeChecker")(n,r.scopes)){let o={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(o),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Ja.JWTScopeValidationInboundPolicy=IO});var t_=y(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.LoadSubscriptionInboundPolicy=void 0;var PO=ai(),AO=Pr(),RO=Ys(),Xb=vn(),Ui=O(),za=te(),e_=He(),OO=W(),NO=Zt(),CO=lt(),xO=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]),LO=s(async(e,t,r,n)=>{(0,CO.optionValidator)(r,n).optional("allowRequestsWithoutSubscription","boolean").optional("bucketId","string");let i=e_.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1;if(r.allowedSubscriptionStatuses)try{if(r.allowedSubscriptionStatuses.length===0)throw new Ui.ConfigurationError("Must set valid subscription statuses");let h=(0,NO.parseValueToStringArray)(r.allowedSubscriptionStatuses),g=[];for(let _ of h)xO.has(_)||g.push(_);if(g.length>0)throw new Ui.ConfigurationError(`Found the following invalid statuses: ${g.join(", ")}`)}catch(h){throw h instanceof Ui.ConfigurationError?new Ui.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - The property 'allowedSubscriptionStatuses' is invalid. ${h.message}`):h}else r.allowedSubscriptionStatuses=["active","incomplete","trialing"];let a=r.allowedSubscriptionStatuses,c=e.user;if(!c)return o?e:za.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(Xb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=Xb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ui.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:u,meteringServiceUrl:l}=OO.Environment.instance,{sub:d}=c,p;try{let h=`${r.bucketId}-${d}`,g=new PO.ZoneCache(h,{logger:e_.SystemLogMap.getLogger(t)}),_=await g.get(h);if(_)p=_,t.log.debug("Loading subscriptions from cache");else{let S=await fetch(`${l}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${d}`,{headers:{Authorization:`Bearer ${u}`,"zp-rid":t.requestId},method:"GET"});if(!S.ok)return t.log.error(await S.text()),za.HttpProblems.forbidden(e,t);p=await S.json(),g.put(h,p,15).catch(T=>{throw i.error(T),T})}}catch(h){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,h)}let m=p&&p.data&&p.data.length>0?p.data[0]:void 0;return m?!a.includes(m.status)&&!o?(t.log.warn(`Subscription '${m.id}' has status '${m.status}' which is not part of the allowed statuses.`),za.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"})):(a.includes(m.status)&&(t.log.debug(`Loading subscription '${m.id}' for user sub '${d}' to ContextData`),RO.ContextData.set(t,AO.METERING_SUBSCRIPTION_CONTEXT_DATA,m)),e):(t.log.warn("No valid subscription found"),o?e:za.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"}))},"LoadSubscriptionInboundPolicy");Wa.LoadSubscriptionInboundPolicy=LO});var o_=y(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.MeteringInboundPolicy=void 0;var r_=Pr(),n_=Ys(),i_=vn(),ki=O(),Qa=te(),DO=He(),UO=W(),kO=Zt(),MO=lt(),HO=s(async(e,t,r,n)=>{(0,MO.optionValidator)(r,n).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string");let i=DO.SystemLogMap.getLogger(t);if(!r.meterOnStatusCodes)throw new ki.ConfigurationError(`Invalid MeteringInboundPolicy '${n}': options.meterOnStatusCodes must be an array of HTTP status code numbers`);let o=Array.isArray(r.meterOnStatusCodes)?r.meterOnStatusCodes:(0,kO.statusCodesStringToNumberArray)(r.meterOnStatusCodes);try{let p=[];for(let m in r.meters)typeof r.meters[m]!="number"&&p.push(m);if(p.length>0)throw new ki.ConfigurationError(`Non-numeric values found in properties: ${p.join(", ")}`)}catch(p){throw p instanceof ki.ConfigurationError?new ki.ConfigurationError(`MeteringInboundPolicy '${n}' - The property 'meters' is invalid. ${p.message}`):p}t.addResponseSendingFinalHook(async(p,m,h)=>{let g=n_.ContextData.get(h,r_.METERING_SUBSCRIPTION_CONTEXT_DATA);if((r.allowRequestsWithoutSubscription??!1)&&!g){h.log.debug(`MeteringInboundPolicy '${n}' - no subscription found and allowRequestsWithoutSubscription is true`);return}if(!r.bucketId)if(i_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=i_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new ki.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:S,meteringServiceUrl:T}=UO.Environment.instance;if(o.includes(p.status)&&g&&r.meters){h.log.debug(`MeteringInboundPolicy '${n}' - Updating subscription '${g.id}' with meters '${JSON.stringify(r.meters)} on response status '${p.status}'`);try{let U=await fetch(`${T}/internal/v1/metering/${r.bucketId}/subscriptions/${g.id}/quotas/consume`,{headers:{Authorization:`Bearer ${S}`,"zp-rid":h.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});U.ok||(h.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${U.status} - ${U.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${U.status} - ${U.statusText}`))}catch(U){h.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,U)}}});let a=n_.ContextData.get(t,r_.METERING_SUBSCRIPTION_CONTEXT_DATA),c=r.allowRequestsWithoutSubscription??!1,u=r.allowRequestsOverQuota??!1;if(!a)return c?e:(t.log.warn("Subscription is not available for user"),Qa.HttpProblems.paymentRequired(e,t,{detail:"Subscription is not available for user",title:"No Subscription"}));if(a&&Object.keys(a.quotas).length===0)return t.log.error(`Quota is not set up for subscription '${a.id}'`),Qa.HttpProblems.tooManyRequests(e,t,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let d=Object.keys(r.meters).filter(p=>!Object.keys(a.quotas).includes(p));if(d.length>0)return t.log.warn(`The following policy meters are not present in the subscription: ${d.join(", ")}`),Qa.HttpProblems.tooManyRequests(e,t,{detail:`The following policy meters are not present in the subscription: ${d.join(", ")}`,title:"Quota Exceeded"});for(let p of Object.keys(r.meters))if(a.quotas[p]<=0&&!u)return Qa.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${p}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");Ya.MeteringInboundPolicy=HO});var a_=y(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.MockApiInboundPolicy=void 0;var FO=te(),qO=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Jp(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 Jp(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 s_(a[c])}else return a.length>0?s_(a[0]):Jp(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");Za.MockApiInboundPolicy=qO;function s_(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(s_,"generateResponse");var Jp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return FO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var p_=y(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.MoesifInboundPolicy=jn.setMoesifContext=void 0;var $O=O(),jO=ve(),VO="Incoming",GO={logRequestBody:!0,logResponseBody:!0};function c_(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(c_,"headersToObject");function u_(){return new Date().toISOString()}s(u_,"timestamp");var zp=new WeakMap,BO={};function KO(e,t){let r=zp.get(e);r||(r=BO);let n=Object.assign({...r},t);zp.set(e,n)}s(KO,"setMoesifContext");jn.setMoesifContext=KO;async function l_(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(l_,"readBody");var JO={},Wp;function d_(){if(!Wp)throw new $O.RuntimeError("Invalid State - no _lastLogger");return Wp}s(d_,"getLastLogger");function zO(e){let t=JO[e];return t||(t=new jO.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);d_().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||d_().error({status:i.status,body:await i.text()})})),t}s(zO,"getDispatcher");async function WO(e,t,r,n){Wp=t.log;let i=u_(),o=Object.assign(GO,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await l_(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=zO(o.applicationId),d=e.headers.get("true-client-ip"),p=zp.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:c_(e.headers)},h=o.logResponseBody?await l_(c,t):void 0,g={time:u_(),status:c.status,headers:c_(c.headers),body:h},_={request:m,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:VO};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}s(WO,"MoesifInboundPolicy");jn.MoesifInboundPolicy=WO});var h_=y(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.OktaJwtInboundPolicy=void 0;var QO=jt(),YO=s(async(e,t,r,n)=>(0,QO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Xa.OktaJwtInboundPolicy=YO});var f_=y(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.PropelAuthJwtInboundPolicy=void 0;var ZO=(xs(),uo(Cs)),XO=jt(),Qp,eN=s(async(e,t,r,n)=>{if(!Qp)try{Qp=await(0,ZO.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,XO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Qp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");ec.PropelAuthJwtInboundPolicy=eN});var m_=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.throwIfStateNotObject=V.throwIfStateNotNumber=V.throwIfStateNotString=V.throwIfStateUndefinedOrNull=V.throwIfStateUndefined=V.throwIfOptionNotObject=V.throwIfOptionNotNumber=V.throwIfOptionNotString=V.throwIfOptionUndefinedOrNull=V.throwIfOptionUndefined=V.OptionTypeError=V.OptionUndefinedError=V.throwIfNotNumber=V.throwIfNotString=V.throwIfUndefinedOrNull=V.throwIfUndefined=V.ArgumentTypeError=V.ArgumentUndefinedError=V.ValidationError=void 0;var je=bt(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=et;var Mi=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=Mi;var Hi=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=Hi;function tN(e,t){if((0,je.isUndefined)(e))throw new Mi(t)}s(tN,"throwIfUndefined");V.throwIfUndefined=tN;function Yp(e,t){if((0,je.isUndefinedOrNull)(e))throw new Mi(t)}s(Yp,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=Yp;function rN(e,t){if(Yp(e,t),!(0,je.isString)(e))throw new Hi(t,"string")}s(rN,"throwIfNotString");V.throwIfNotString=rN;function nN(e,t){if(Yp(e,t),!(0,je.isNumber)(e))throw new Hi(t,"number")}s(nN,"throwIfNotNumber");V.throwIfNotNumber=nN;var Fi=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=Fi;var Vn=class extends et{static{s(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};V.OptionTypeError=Vn;function iN(e,t,r,n){if((0,je.isUndefined)(n))throw new Fi(e,t,r)}s(iN,"throwIfOptionUndefined");V.throwIfOptionUndefined=iN;function tc(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Fi(e,t,r)}s(tc,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=tc;function oN(e,t,r,n){if(tc(e,t,r,n),!(0,je.isString)(n))throw new Vn(e,t,r,"string")}s(oN,"throwIfOptionNotString");V.throwIfOptionNotString=oN;function sN(e,t,r,n){if(tc(e,t,r,n),!(0,je.isNumber)(n))throw new Vn(e,t,r,"number")}s(sN,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=sN;function aN(e,t,r,n){if(tc(e,t,r,n),!(0,je.isObject)(n))throw new Vn(e,t,r,"object")}s(aN,"throwIfOptionNotObject");V.throwIfOptionNotObject=aN;function cN(e,t){if((0,je.isUndefined)(e))throw new et(t)}s(cN,"throwIfStateUndefined");V.throwIfStateUndefined=cN;function rc(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(rc,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=rc;function uN(e,t){if(rc(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(uN,"throwIfStateNotString");V.throwIfStateNotString=uN;function lN(e,t){if(rc(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(lN,"throwIfStateNotNumber");V.throwIfStateNotNumber=lN;function dN(e,t){if(rc(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(dN,"throwIfStateNotObject");V.throwIfStateNotObject=dN});var y_=y(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.InMemoryRedisClient=Gn.StandardRedisClient=void 0;var Zp=O(),nc=m_(),Xp=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,nc.throwIfNotString)(t,"redisClientUrl"),(0,nc.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,nc.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 Zp.SystemError("Redis client failed with 401: Unauthorized"):new Zp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Gn.StandardRedisClient=Xp;var eh=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,nc.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 Zp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Gn.InMemoryRedisClient=eh});var w_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.RateLimitInboundPolicy=void 0;var pN=Rr(),hN=$t(),fN=ai(),Rt=O(),mN=te(),g_=He(),qi=W(),b_=y_(),__=bt(),ic=(0,pN.debug)("zuplo:policies:RateLimitInboundPolicy"),yN="strict",gN=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"),bN=s(async e=>({key:`ip-${gN(e)}`}),"getIP"),_N=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),EN=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),oc;function wN(e,t){let r;if(oc)return oc;if(qi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new b_.InMemoryRedisClient,oc=r,r;let{authApiJWT:n,redisURL:i}=qi.Environment.instance;if(!(0,__.isString)(i))throw new Rt.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,__.isString)(n))throw new Rt.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=b_.StandardRedisClient.initialize(i,n,qi.Environment.instance.deploymentName??"unknown",qi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Rt.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return oc=r,r}s(wN,"getRedisClient");async function E_(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(E_,"getCountAndUpdateExpiry");function vN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Rt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Rt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Rt.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 Rt.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 Rt.RuntimeError(u)}return c},"outerFunction")}s(vN,"wrapUserFunction");var SN="Retry-After",TN=s(async(e,t,r,n)=>{let i=Date.now(),o=g_.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new Rt.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[SN]=l.toString()),mN.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:vN(r,n),user:_N,ip:bN,all:EN}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=wN(n,o),T=`bucket/${qi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??yN)==="async"){let L=await(0,hN.getPolicyCacheName)(n,r),ne=new fN.ZoneCache(L,{logger:g_.SystemLogMap.getLogger(t)}),ie=E_(T,h,_,o,t.requestId),me=await ne.get(T);if(me!==void 0&&me<=Date.now()){ic(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${T}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(g,Be)}return t.addEventListener("responseSending",Be=>{try{let w=Be,H=w.mutableResponse;w.mutableResponse=(async()=>{let xe=await ie;if(xe.count>m){let bu=Date.now()+xe.ttlSeconds*1e3,iw=ne.put(T,bu,xe.ttlSeconds).catch($h=>{throw o.error(new Rt.SystemError("Error caching rate limit result.",{cause:$h})),$h});return t.waitUntil(iw),ic(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,xe.ttlSeconds)}return H})()}catch(w){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let K=await E_(T,h,_,o,t.requestId);return K.count>m?(ic(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (strict mode)`),c(g,K.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;ic(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");sc.RateLimitInboundPolicy=TN});var I_=y(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.ReadmeMetricsInboundPolicy=void 0;var IN=ve(),th=W(),v_=Zt(),rh;function S_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(S_,"headersToNameValuePairs");function PN(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(PN,"queryToNameValueParis");function AN(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(AN,"parseIntOrUndefined");var T_={};async function RN(e,t,r,n){let i=new Date,o=Date.now();return rh||(rh={name:"zuplo",version:th.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${th.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,v_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,v_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:th.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:rh,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:S_(e.headers),queryString:PN(e.query)},response:{status:a.status,statusText:a.statusText,headers:S_(a.headers),content:{size:AN(e.headers.get("content-length"))}}}]}}},d=T_[r.apiKey];if(!d){let p=r.apiKey;d=new IN.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),T_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(RN,"ReadmeMetricsInboundPolicy");ac.ReadmeMetricsInboundPolicy=RN});var P_=y(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.RemoveHeadersInboundPolicy=void 0;var ON=O(),NN=Me(),CN=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new ON.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 NN.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");cc.RemoveHeadersInboundPolicy=CN});var A_=y(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.RemoveHeadersOutboundPolicy=void 0;var xN=O(),LN=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new xN.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");uc.RemoveHeadersOutboundPolicy=LN});var R_=y(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.RemoveQueryParamsInboundPolicy=void 0;var DN=O(),UN=Me(),kN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new DN.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 UN.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");lc.RemoveQueryParamsInboundPolicy=kN});var O_=y(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.ReplaceStringOutboundPolicy=void 0;var MN=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");dc.ReplaceStringOutboundPolicy=MN});var C_=y(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.RequestSizeLimitInboundPolicy=void 0;var N_=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),HN=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?N_():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?N_():e},"RequestSizeLimitInboundPolicy");pc.RequestSizeLimitInboundPolicy=HN});var hc=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function FN(e,t,r){return`_${Vr(e+"_"+t+"_"+r)}`}s(FN,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=FN;function qN(e,t,r,n){return`_${Vr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(qN,"getIdForParameterSchema");tt.getIdForParameterSchema=qN;function $N(e,t,r){return`_${Vr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Vr(r.toLowerCase())}`}s($N,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=$N;function jN(e,t){return`_${Vr(e)}__${Vr(t)}`}s(jN,"getIdForRefSchema");tt.getIdForRefSchema=jN;function Vr(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(Vr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Vr});var $i=y(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var VN=Or(),GN=hc(),BN=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=BN;var KN=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,GN.getIdForParameterSchema)(r,n,i,u.name),p=VN.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=KN;var JN=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=JN;var zN=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=zN;var WN=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=WN;var QN=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=QN});var x_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.handleBodyValidation=void 0;var YN=Or(),fc=te(),ZN=hc(),Je=$i();async function XN(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let g=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=fc.HttpProblems.badRequest(t,e,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",g,[n],h),(0,Je.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,g=fc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?g:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,ZN.getIdForRequestBodySchema)(e.route.path,t.method,i),c=YN.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,g=fc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),m=fc.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(XN,"handleBodyValidation");mc.handleBodyValidation=XN});var L_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.handleHeadersValidation=void 0;var eC=te(),ji=$i();function tC(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,ji.getParametersForOperation)(e),o=(0,ji.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=eC.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,ji.shouldLog)(r.validateHeaders)&&(0,ji.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,ji.shouldReject)(r.validateHeaders))return c}}s(tC,"handleHeadersValidation");yc.handleHeadersValidation=tC});var D_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.handlePathParameterValidation=void 0;var rC=te(),Vi=$i();function nC(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Vi.getParametersForOperation)(e),i=(0,Vi.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=rC.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Vi.shouldLog)(r.validatePathParameters)&&(0,Vi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Vi.shouldReject)(r.validatePathParameters))return a}}s(nC,"handlePathParameterValidation");gc.handlePathParameterValidation=nC});var U_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.handleQueryParameterValidation=void 0;var iC=te(),Gi=$i();function oC(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Gi.getParametersForOperation)(e),i=(0,Gi.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=iC.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Gi.shouldLog)(r.validateQueryParameters)&&(0,Gi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Gi.shouldReject)(r.validateQueryParameters))return a}}s(oC,"handleQueryParameterValidation");bc.handleQueryParameterValidation=oC});var k_=y(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.SchemaBasedRequestValidation=Gr.RequestValidationInboundPolicy=void 0;var sC=x_(),aC=L_(),cC=D_(),uC=U_(),lC=s(async(e,t,r)=>{let n=(0,uC.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,cC.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,aC.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,sC.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Gr.RequestValidationInboundPolicy=lC;Gr.SchemaBasedRequestValidation=Gr.RequestValidationInboundPolicy});var M_=y(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.RequireOriginInboundPolicy=void 0;var dC=O(),pC=te(),hC=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new dC.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 pC.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");_c.RequireOriginInboundPolicy=hC});var H_=y(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.SetBodyInboundPolicy=void 0;var fC=Me(),mC=s(async(e,t,r)=>new fC.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Ec.SetBodyInboundPolicy=mC});var q_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.SetHeadersInboundPolicy=void 0;var F_=O(),yC=Me(),gC=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 yC.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");wc.SetHeadersInboundPolicy=gC});var j_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.SetHeadersOutboundPolicy=void 0;var $_=O(),bC=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new $_.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 $_.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");vc.SetHeadersOutboundPolicy=bC});var G_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.SetQueryParamsInboundPolicy=void 0;var V_=O(),_C=Me(),EC=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new V_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let o=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new V_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.searchParams.has(c.name)||u)&&o.searchParams.set(c.name,c.value)}),new _C.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");Sc.SetQueryParamsInboundPolicy=EC});var B_=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.SetStatusOutboundPolicy=void 0;var wC=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");Tc.SetStatusOutboundPolicy=wC});var K_=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.SleepInboundPolicy=void 0;var vC=O(),SC=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),TC=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new vC.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await SC(r.sleepInMs),e},"SleepInboundPolicy");Ic.SleepInboundPolicy=TC});var z_=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.SupabaseJwtInboundPolicy=void 0;var J_=O(),IC=te(),PC=Me(),AC=lt(),RC=jt(),OC=s(async(e,t,r,n)=>{(0,AC.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,RC.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof PC.ZuploRequest))throw new J_.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 J_.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?IC.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");Pc.SupabaseJwtInboundPolicy=OC});var Q_=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var NC=$t(),CC=Kt(),W_=O(),xC=bn(),LC=lt(),DC=s(async(e,t,r,n)=>{(0,LC.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,NC.getPolicyCacheName)(n,r),o=new CC.MemoryZoneReadThroughCache(i,t),a=await o.get(n);if(!a){let c=await UC(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");Ac.UpstreamAzureAdServiceAuthInboundPolicy=DC;async function UC(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,xC.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 W_.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 W_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(UC,"getAccessToken")});var Z_=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var kC=$t(),MC=Kt(),HC=O(),nh=_n(),FC=lt(),Y_="https://accounts.google.com/o/oauth2/token",ih,qC=s(async(e,t,r,n)=>{(0,FC.optionValidator)(r,n).required("serviceAccountJson","string"),ih||(ih=await nh.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,kC.getPolicyCacheName)(n,r),a=new MC.MemoryZoneReadThroughCache(o,t),c=await a.get(n);if(!c){let u=await(0,nh.getTokenFromGcpServiceAccount)({serviceAccount:ih,audience:Y_,payload:i}),l=await(0,nh.exchangeGgpJwtForIdToken)(Y_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new HC.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");Rc.UpstreamFirebaseAdminAuthInboundPolicy=qC});var X_=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var $C=$t(),jC=Kt(),Bn=O(),VC=qp(),oh=_n(),GC=Zt(),BC=lt(),KC="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",JC=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],sh,zC=s(async(e,t,r,n)=>{if((0,BC.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Bn.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(JC.indexOf(p)!==-1)throw new Bn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}sh||(sh=await oh.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new Bn.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 Bn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,GC.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new Bn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,$C.getPolicyCacheName)(n,r),c=new jC.MemoryZoneReadThroughCache(a,t),u={uid:o,claims:i},l=await(0,VC.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,oh.getTokenFromGcpServiceAccount)({serviceAccount:sh,audience:KC,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,oh.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Bn.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");Oc.UpstreamFirebaseUserAuthInboundPolicy=zC});var tE=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.UpstreamGcpJwtInboundPolicy=void 0;var eE=_n(),WC=lt(),ah,QC=s(async(e,t,r,n)=>{(0,WC.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),ah||(ah=await eE.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,eE.getTokenFromGcpServiceAccount)({serviceAccount:ah,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Nc.UpstreamGcpJwtInboundPolicy=QC});var nE=y(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.UpstreamGcpServiceAuthInboundPolicy=void 0;var YC=$t(),ZC=Iu(),XC=Kt(),Bi=O(),ch=_n(),ex=Zt(),tx=lt(),rE="https://www.googleapis.com/oauth2/v4/token",uh,rx=s(async(e,t,r,n)=>{(0,tx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),uh||(uh=await ch.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new Bi.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,ex.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof Bi.ConfigurationError?new Bi.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let o=await(0,YC.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new ZC.MemoryCache(o):a=new XC.MemoryZoneReadThroughCache(o,t);let c=await a.get(n);if(!c){let u=await(0,ch.getTokenFromGcpServiceAccount)({serviceAccount:uh,audience:rE,payload:i}),l=await(0,ch.exchangeGgpJwtForIdToken)(rE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new Bi.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new Bi.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamGcpServiceAuthInboundPolicy");Cc.UpstreamGcpServiceAuthInboundPolicy=rx});var oE=y(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.ValidateJsonSchemaInbound=void 0;var nx=O(),iE=te(),ix=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return iE.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 nx.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 iE.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");xc.ValidateJsonSchemaInbound=ix});var sE=y(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.ServiceProviderImpl=void 0;var ox=O(),lh=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)}};Lc.ServiceProviderImpl=lh});var bE=y(f=>{"use strict";var sx=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]}),dh=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&sx(t,e,r)},ax=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.MeteringInboundPolicy=f.LoadSubscriptionInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.RuntimeError=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=void 0;Jh();var cx=Kt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return cx.MemoryZoneReadThroughCache}});var ux=ai();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return ux.ZoneCache}});var aE=Nr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return aE.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return aE.ResponseSentEvent}});var lx=Ys();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return lx.ContextData}});var ph=vn();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return ph.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return ph.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return ph.isZuploReadableEnvVariableName}});var cE=O();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return cE.ConfigurationError}});Object.defineProperty(f,"RuntimeError",{enumerable:!0,get:function(){return cE.RuntimeError}});var dx=Fd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return dx.originalFetch}});var uE=vg();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return uE.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return uE.purgeGatewayCache}});var lE=Fg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return lE.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return lE.awsLambdaHandler}});var px=$g();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return px.openApiSpecHandler}});var hx=jg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return hx.redirectHandler}});var fx=Gg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return fx.urlForwardHandler}});var mx=Kg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return mx.urlRewriteHandler}});var yx=zg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return yx.webSocketHandler}});var gx=Yg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return gx.webSocketPipelineHandler}});var bx=Qu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return bx.HttpStatusCode}});dh(ob(),f);dh(cb(),f);var _x=ub();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return _x.AuditLogDataStaxProvider}});var Ex=db();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return Ex.AuditLogPlugin}});dh(Pb(),f);var dE=Cb();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return dE.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return dE.AmberfloMeteringPolicy}});var wx=kb();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return wx.ApiAuthKeyInboundPolicy}});var vx=Vp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return vx.ApiKeyInboundPolicy}});var Sx=Mb();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return Sx.Auth0JwtInboundPolicy}});var Tx=Hb();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Tx.BasicAuthInboundPolicy}});var Ix=Fb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return Ix.CachingInboundPolicy}});var Px=qb();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return Px.ChangeMethodInboundPolicy}});var Ax=$b();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return Ax.ClearHeadersInboundPolicy}});var Rx=jb();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Rx.ClearHeadersOutboundPolicy}});var Ox=Vb();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return Ox.ClerkJwtInboundPolicy}});var Nx=Bb();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Nx.CognitoJwtInboundPolicy}});var Cx=Jb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return Cx.CompositeInboundPolicy}});var xx=zb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return xx.CurityPhantomTokenInboundPolicy}});var Lx=Wb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return Lx.FirebaseJwtInboundPolicy}});var Dx=Qb();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return Dx.FormDataToJsonInboundPolicy}});var Ux=Yb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Ux.GeoFilterInboundPolicy}});var kx=Zb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return kx.JWTScopeValidationInboundPolicy}});var Mx=t_();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return Mx.LoadSubscriptionInboundPolicy}});var Hx=o_();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return Hx.MeteringInboundPolicy}});var Fx=a_();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Fx.MockApiInboundPolicy}});var pE=p_();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return pE.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return pE.setMoesifContext}});var qx=h_();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return qx.OktaJwtInboundPolicy}});var $x=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return $x.OpenIdJwtInboundPolicy}});var jx=f_();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return jx.PropelAuthJwtInboundPolicy}});var hE=w_();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return hE.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return hE.RateLimitInboundPolicy}});var Vx=I_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return Vx.ReadmeMetricsInboundPolicy}});var Gx=P_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return Gx.RemoveHeadersInboundPolicy}});var Bx=A_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return Bx.RemoveHeadersOutboundPolicy}});var Kx=R_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Kx.RemoveQueryParamsInboundPolicy}});var Jx=O_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return Jx.ReplaceStringOutboundPolicy}});var zx=C_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return zx.RequestSizeLimitInboundPolicy}});var fE=k_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return fE.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return fE.SchemaBasedRequestValidation}});var Wx=M_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return Wx.RequireOriginInboundPolicy}});var Qx=H_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return Qx.SetBodyInboundPolicy}});var Yx=q_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return Yx.SetHeadersInboundPolicy}});var Zx=j_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return Zx.SetHeadersOutboundPolicy}});var Xx=G_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Xx.SetQueryParamsInboundPolicy}});var eL=B_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return eL.SetStatusOutboundPolicy}});var tL=K_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return tL.SleepInboundPolicy}});var rL=Ep();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return rL.StripeWebhookVerificationInboundPolicy}});var nL=z_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return nL.SupabaseJwtInboundPolicy}});var iL=Q_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return iL.UpstreamAzureAdServiceAuthInboundPolicy}});var oL=Z_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return oL.UpstreamFirebaseAdminAuthInboundPolicy}});var sL=X_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return sL.UpstreamFirebaseUserAuthInboundPolicy}});var aL=tE();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return aL.UpstreamGcpJwtInboundPolicy}});var cL=nE();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return cL.UpstreamGcpServiceAuthInboundPolicy}});var uL=oE();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return uL.ValidateJsonSchemaInbound}});var lL=te();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return lL.HttpProblems}});var dL=So();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return dL.ProblemResponseFormatter}});var pL=Me();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return pL.ZuploRequest}});var hL=xr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return hL.SystemRouteName}});var mE=Od();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return mE.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return mE.Router}});var yE=qu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return yE.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return yE.serialize}});var fL=sE();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return fL.ServiceProviderImpl}});var gE=ul();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return gE.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return gE.SYSTEM_LOGGER}});var mL=Zu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return ax(mL).default}});var yL=He();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return yL.SystemLogMap}});var Ki=hc();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Ki.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Ki.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Ki.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Ki.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Ki.sanitizedIdentifierName}})});var _E=y(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.BaseCryptoBeta=Kn.supportedDigests=void 0;Kn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var hh=class{static{s(this,"BaseCryptoBeta")}};Kn.BaseCryptoBeta=hh});var EE=y(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.WorkerCryptoBeta=void 0;var fh=_E(),gL=O(),mh=class extends fh.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!fh.supportedDigests.includes(t.toLowerCase()))throw new gL.RuntimeError(`Algorithm ${t} is not supported. Try using ${fh.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("")}};Dc.WorkerCryptoBeta=mh});var wE=y(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.BaseKeyValueStore=void 0;var yh=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Uc.BaseKeyValueStore=yh});var SE=y(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.WorkerKeyValueStore=void 0;var vE=O(),bL=wE(),gh=class extends bL.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new vE.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 vE.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)}};kc.WorkerKeyValueStore=gh});var Ut=y(dt=>{"use strict";var _L=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]}),EL=dt&&dt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&_L(t,e,r)};Object.defineProperty(dt,"__esModule",{value:!0});dt.KeyValueStore=dt.CryptoBeta=void 0;EL(bE(),dt);var wL=EE();Object.defineProperty(dt,"CryptoBeta",{enumerable:!0,get:function(){return wL.WorkerCryptoBeta}});var vL=SE();Object.defineProperty(dt,"KeyValueStore",{enumerable:!0,get:function(){return vL.WorkerKeyValueStore}})});var OD={};co(OD,{GraphQLComplexityLimitInboundPolicy:()=>tw,GraphQLDisableIntrospectionInboundPolicy:()=>nw});module.exports=uo(OD);var ii=Vh(Ut());function G(e,t){if(!!!e)throw new Error(t)}s(G,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}s(Ee,"isObjectLike");function Ot(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(Ot,"invariant");var SL=/\r\n|[\n\r]/g;function Jn(e,t){let r=0,n=1;for(let i of e.body.matchAll(SL)){if(typeof i.index=="number"||Ot(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s(Jn,"getLocation");function bh(e){return Mc(e.source,Jn(e.source,e.start))}s(bh,"printLocation");function Mc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
75
|
-
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+
|
|
76
|
-
`)}s(
|
|
74
|
+
`+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new $r.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}s(jR,"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 GR(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(GR,"secureCompare");async function hb(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]=_p[o[c]];return a.join("")}s(hb,"computeHMACSignatureAsync");kn.computeHMACSignatureAsync=hb;var _p=new Array(256);for(let e=0;e<_p.length;e++)_p[e]=e.toString(16).padStart(2,"0")});var lt=y(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.optionValidator=void 0;var Ci=O();function BR(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new Ci.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 Ci.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ci.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 Ci.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 Ci.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(BR,"optionValidator");_a.optionValidator=BR});var Ep=y(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.StripeWebhookVerificationInboundPolicy=void 0;var KR=te(),JR=fb(),zR=lt(),WR=s(async(e,t,r,n)=>{(0,zR.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,JR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),KR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");Ea.StripeWebhookVerificationInboundPolicy=WR});var yb=y(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.isStripeWebhookEvent=void 0;var mb=bt();function QR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,mb.isString)(e.id)&&"type"in e&&(0,mb.isString)(e.type)}s(QR,"isStripeWebhookEvent");wa.isStripeWebhookEvent=QR});var gb=y(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.MeteringPlugin=void 0;var YR=gt(),wp=class extends YR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};va.MeteringPlugin=wp});var _b=y(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});var bb=O(),ZR={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 bb.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 bb.RuntimeError(o)}return i}};vp.default=ZR});var Eb=y(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.deleteConsumer=gr.createConsumerInvite=gr.createConsumer=void 0;var Sp=O(),Tp=He(),Ip=W(),Pp=bn(),Ap="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function XR({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:o,context:a}){let{authApiJWT:c}=Ip.Environment.instance,u=new URL(`/v1/buckets/${e}/consumers`,Ap);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:o,email:i}]},p=await(0,Pp.fetchRetry)({retryDelayMs:5,retries:2,logger:Tp.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),m=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,m),new Sp.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}s(XR,"createConsumer");gr.createConsumer=XR;async function e0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:o}){let{authApiJWT:a}=Ip.Environment.instance,c=new URL(`/v1/buckets/${e}/consumers`,Ap);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,Pp.fetchRetry)({retryDelayMs:5,retries:2,logger:Tp.SystemLogMap.getLogger(o)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let m="Error creating API Key Consumer";throw o.log.error(m,p),new Sp.RuntimeError(m)}return o.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:t,stripeProductId:r}),u}s(e0,"createConsumerInvite");gr.createConsumerInvite=e0;async function t0({apiKeyBucketName:e,consumerId:t,context:r}){let{authApiJWT:n}=Ip.Environment.instance,i=new URL(`/v1/buckets/${e}/consumers/${t}`,Ap);i.searchParams.set("with-api-key","true");let o=await(0,Pp.fetchRetry)({retryDelayMs:5,retries:2,logger:Tp.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(o.status!==204){let a=await o.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new Sp.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${t}`),t}s(t0,"deleteConsumer");gr.deleteConsumer=t0});var Sa=y(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.getSubscription=_r.updateSubscription=_r.createSubscription=void 0;var br=O(),Rp=He(),Op=W(),Np=bn(),Cp=bt();async function r0({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:o,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:o,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=Op.Environment.instance;if(!(0,Cp.isNonEmptyString)(l))throw new br.SystemError("No Zuplo JWT token set.");let p=await(0,Np.fetchRetry)({retryDelayMs:5,retries:2,logger:Rp.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let m="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw e.log.error(m,h),new br.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}s(r0,"createSubscription");_r.createSubscription=r0;async function n0({context:e,meteringSubscriptionId:t,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:o}=Op.Environment.instance;if(!(0,Cp.isNonEmptyString)(i))throw new br.SystemError("No Zuplo JWT token set.");let a=await(0,Np.fetchRetry)({retryDelayMs:5,retries:2,logger:Rp.SystemLogMap.getLogger(e)},`${o}/internal/v1/metering/${r}/subscriptions/${t}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw e.log.error(c,u),new br.RuntimeError(c)}e.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}s(n0,"updateSubscription");_r.updateSubscription=n0;async function i0({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:o}=Op.Environment.instance;if(!(0,Cp.isNonEmptyString)(i))throw new br.SystemError("No Zuplo JWT token set.");let a=await(0,Np.fetchRetry)({retryDelayMs:5,retries:2,logger:Rp.SystemLogMap.getLogger(e)},`${o}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${t}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":e.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw e.log.error(u,l),new br.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new br.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new br.RuntimeError(u)}return c.data[0]}s(i0,"getSubscription");_r.getSubscription=i0});var xp=y(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.stripeStatusToMeteringStatus=void 0;function o0(e){return e.replaceAll("_","-")}s(o0,"stripeStatusToMeteringStatus");Ta.stripeStatusToMeteringStatus=o0});var wb=y(xi=>{"use strict";var s0=xi&&xi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xi,"__esModule",{value:!0});var jr=te(),a0=s0(_b()),Lp=Eb(),c0=Sa(),u0=xp();async function l0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let o=r.data.object.plan;if(!o||!o.product)return t.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=o.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,Lp.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:t});else{let l=await a0.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return t.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,Lp.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:t})}if(!u)return jr.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,u0.stripeStatusToMeteringStatus)(r.data.object.status);await(0,c0.createSubscription)({context:t,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,Lp.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:t}),jr.HttpProblems.internalServerError(e,t,{detail:l.message})}return jr.HttpProblems.ok(e,t)}s(l0,"onCustomerSubscriptionCreated");xi.default=l0});var Sb=y(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});var Dp=te(),vb=Sa();async function d0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Dp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let o=r.data.object.customer;if(!o)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Dp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,vb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId});return await(0,vb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),Dp.HttpProblems.ok(e,t)}s(d0,"onCustomerSubscriptionDeleted");Up.default=d0});var Tb=y(kp=>{"use strict";Object.defineProperty(kp,"__esModule",{value:!0});var Li=te(),Ia=Sa(),p0=xp();async function h0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Li.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let o=r.data.object.customer;if(!o)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Li.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){let c=await(0,Ia.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId}),u=(0,p0.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,Ia.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Li.HttpProblems.ok(e,t)}if(a.plan&&a.plan.product!==r.data.object.plan.product){let c=await(0,Ia.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId});return await(0,Ia.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[r.data.object.plan.product]}}),Li.HttpProblems.ok(e,t)}}return t.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Li.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}s(h0,"onCustomerSubscriptionUpdated");kp.default=h0});var Pb=y(Mn=>{"use strict";var Hp=Mn&&Mn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.StripeMeteringPlugin=void 0;var Pa=vn(),Aa=O(),f0=Dt(),m0=Ep(),Ib=te(),y0=Qt(),g0=en(),b0=Wu(),_0=ot(),E0=W(),w0=yb(),v0=gb(),S0=Hp(wb()),T0=Hp(Sb()),I0=Hp(Tb()),Mp=class extends v0.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(Pa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=Pa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Aa.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(Pa.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=Pa.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Aa.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!E0.Environment.instance.build.ACCOUNT_NAME)throw new Aa.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!P0(p))throw new Aa.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,w0.isStripeWebhookEvent)(m))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 '${m.type}' with ID '${m.id}'.`),m.type){case"customer.subscription.created":return await(0,S0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,I0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,T0.default)(c,u,m,{meteringBucketId:l});default:return Ib.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,g0.createInternalPolicyProcessor)({inboundPolicies:[{handler:m0.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new f0.Pipeline({processors:[y0.metricsProcessor,i],handler:n,gateway:r}),a=new _0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:b0.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};Mn.StripeMeteringPlugin=Mp;function P0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(P0,"isMetricsRegion")});var Cb=y(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.AmberfloMeteringInboundPolicy=Hn.AmberfloMeteringPolicy=void 0;var Ab=O(),A0=ve(),Rb=Zt(),Nb=new WeakMap,Ob={},Fp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Nb.set(t,r)}};Hn.AmberfloMeteringPolicy=Fp;async function R0(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,Rb.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 Ab.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Rb.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=Ob[r.apiKey];if(!m){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";m=new A0.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let S=r.url??"https://app.amberflo.io/ingest",T=await fetch(S,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});T.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${T.status}: ${await T.text()}`)}catch(S){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${S.message}`),S}}),Ob[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}s(R0,"AmberfloMeteringInboundPolicy");Hn.AmberfloMeteringInboundPolicy=R0});var qp=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.sha256=void 0;async function O0(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(O0,"sha256");Ra.sha256=O0});var $t=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.getPolicyCacheName=void 0;var N0=qp(),xb=new Map;async function C0(e,t){let r,n=xb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,N0.sha256)(JSON.stringify({policyName:e,options:t}))}`,xb.set(e,r)),r}s(C0,"getPolicyCacheName");Oa.getPolicyCacheName=C0});var Vp=y(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ApiKeyInboundPolicy=void 0;var x0=$t(),L0=Kt(),Lb=vn(),$p=O(),D0=Ut(),Db=He(),jp=W(),U0=bn(),Ub="key-metadata-cache-type";function k0(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(k0,"getKeyValue");async function M0(e,t,r,n){if(!r.bucketName)if(Lb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Lb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new $p.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 $p.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(S=>i.allowUnauthenticatedRequests?e:D0.HttpProblems.unauthorized(e,t,{detail:S}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return o("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return o("Invalid Authorization Scheme");let c=k0(a,i);if(!c||c==="")return o("No key present");let u=await H0(c),l=await(0,x0.getPolicyCacheName)(n,i),d=new L0.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!==Ub&&Db.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let m={key:c},h=await(0,U0.fetchRetry)({retryDelayMs:5,retries:2,logger:Db.SystemLogMap.getLogger(t)},`${jp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":jp.Environment.instance.deploymentName??"unknown","User-Agent":jp.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 S=await h.text(),T=JSON.parse(S);t.log.error("Unexpected response from key service",T)}catch{t.log.error("Invalid response from key service")}throw new $p.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:Ub,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}s(M0,"ApiKeyInboundPolicy");Na.ApiKeyInboundPolicy=M0;async function H0(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(H0,"hashValue")});var kb=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.ApiAuthKeyInboundPolicy=void 0;var F0=Vp();Ca.ApiAuthKeyInboundPolicy=F0.ApiKeyInboundPolicy});var jt=y(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.OpenIdJwtInboundPolicy=void 0;var Bp=(xs(),co(Cs)),Kp=O(),q0=te(),Gp={},$0=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Kp.ConfigurationError("Invalid State - jwkUrl not set");Gp[t.jwkUrl]||(Gp[t.jwkUrl]=(0,Bp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Bp.jwtVerify)(e,Gp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),j0=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,Bp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),V0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(m=>q0.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Kp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Kp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?$0:j0,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 g=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${g.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${g.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");xa.OpenIdJwtInboundPolicy=V0});var Mb=y(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.Auth0JwtInboundPolicy=void 0;var G0=jt(),B0=s(async(e,t,r,n)=>(0,G0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");La.Auth0JwtInboundPolicy=B0});var Hb=y(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.BasicAuthInboundPolicy=void 0;var K0=te(),J0=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>K0.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),g=r.accounts.find(_=>_.username===m&&_.password===h);return g||await o("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");Da.BasicAuthInboundPolicy=J0});var Fb=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.CachingInboundPolicy=void 0;var z0=$t(),W0=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function Q0(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(Q0,"digestMessage");var Y0=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 Q0(JSON.stringify(n)),o=new URL(e.url),a=new URLSearchParams(o.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${o.origin}${o.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function Z0(e,t,r,n){let i=await(0,z0.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await Y0(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);W0.forEach(g=>h.headers.delete(g)),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(Z0,"CachingInboundPolicy");Ua.CachingInboundPolicy=Z0});var qb=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.ChangeMethodInboundPolicy=void 0;var X0=O(),eO=Me(),tO=s(async(e,t,r,n)=>{if(!r.method)throw new X0.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new eO.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");ka.ChangeMethodInboundPolicy=tO});var $b=y(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.ClearHeadersInboundPolicy=void 0;var rO=Me(),nO=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 rO.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ma.ClearHeadersInboundPolicy=nO});var jb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.ClearHeadersOutboundPolicy=void 0;var iO=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");Ha.ClearHeadersOutboundPolicy=iO});var Vb=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.ClerkJwtInboundPolicy=void 0;var oO=jt(),sO=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,oO.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Fa.ClerkJwtInboundPolicy=sO});var Bb=y(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.CognitoJwtInboundPolicy=void 0;var Gb=O(),aO=jt(),cO=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,aO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");qa.CognitoJwtInboundPolicy=cO});var Jb=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.CompositeInboundPolicy=void 0;var uO=O(),lO=Or(),Kb=en(),dO=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new uO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=lO.Gateway.instance,o=(0,Kb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Kb.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");$a.CompositeInboundPolicy=dO});var zb=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.CurityPhantomTokenInboundPolicy=void 0;var pO=$t(),hO=Kt(),ja=te(),fO=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return ja.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=mO(i);if(!o)return ja.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,pO.getPolicyCacheName)(n,r),c=new hO.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}'`),ja.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):ja.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Va.CurityPhantomTokenInboundPolicy=fO;function mO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(mO,"getToken")});var Wb=y(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.FirebaseJwtInboundPolicy=void 0;var yO=lt(),gO=jt(),bO=s(async(e,t,r,n)=>((0,yO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,gO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");Ga.FirebaseJwtInboundPolicy=bO});var Qb=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.FormDataToJsonInboundPolicy=void 0;var _O=Me(),EO=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 _O.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Ba.FormDataToJsonInboundPolicy=EO});var Yb=y(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.GeoFilterInboundPolicy=void 0;var wO=O(),vO=te(),Fn="__unknown__",SO=s(async(e,t,r,n)=>{let i={allow:{countries:$n(r.allow?.countries,"allow.countries",n),regionCodes:$n(r.allow?.regionCodes,"allow.regionCode",n),asns:$n(r.allow?.asns,"allow.asOrganization",n)},block:{countries:$n(r.block?.countries,"block.countries",n),regionCodes:$n(r.block?.regionCodes,"block.regionCode",n),asns:$n(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Fn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Fn,c=t.incomingRequestProperties.asn?.toString()??Fn,u=i.ignoreUnknown&&o===Fn,l=i.ignoreUnknown&&a===Fn,d=i.ignoreUnknown&&c===Fn,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 qn(e,t,n,o,a,c);let g=i.block.countries,_=i.block.regionCodes,S=i.block.asns;return g.length>0&&g.includes(o)&&!u||_.length>0&&_.includes(a)&&!l||S.length>0&&S.includes(c)&&!d?qn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");Ka.GeoFilterInboundPolicy=SO;function qn(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),vO.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(qn,"blockedResponse");function $n(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 wO.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s($n,"toLowerStringArray")});var Zb=y(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.JWTScopeValidationInboundPolicy=void 0;var TO=s(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!s((o,a)=>a.every(c=>o.includes(c)),"scopeChecker")(n,r.scopes)){let o={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(o),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Ja.JWTScopeValidationInboundPolicy=TO});var e_=y(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.LoadSubscriptionInboundPolicy=void 0;var IO=Pr(),PO=Ys(),Xb=vn(),Di=O(),za=te(),AO=He(),RO=W(),OO=Zt(),NO=lt(),CO=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]),xO=s(async(e,t,r,n)=>{(0,NO.optionValidator)(r,n).optional("allowRequestsWithoutSubscription","boolean").optional("bucketId","string");let i=AO.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1;if(r.allowedSubscriptionStatuses)try{if(r.allowedSubscriptionStatuses.length===0)throw new Di.ConfigurationError("Must set valid subscription statuses");let h=(0,OO.parseValueToStringArray)(r.allowedSubscriptionStatuses),g=[];for(let _ of h)CO.has(_)||g.push(_);if(g.length>0)throw new Di.ConfigurationError(`Found the following invalid statuses: ${g.join(", ")}`)}catch(h){throw h instanceof Di.ConfigurationError?new Di.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - The property 'allowedSubscriptionStatuses' is invalid. ${h.message}`):h}else r.allowedSubscriptionStatuses=["active","incomplete","trialing"];let a=r.allowedSubscriptionStatuses,c=e.user;if(!c)return o?e:za.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(Xb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=Xb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Di.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:u,meteringServiceUrl:l}=RO.Environment.instance,{sub:d}=c,p;try{let h=await fetch(`${l}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${d}`,{headers:{Authorization:`Bearer ${u}`,"zp-rid":t.requestId},method:"GET"});if(!h.ok)return t.log.error(await h.text()),za.HttpProblems.forbidden(e,t);p=await h.json()}catch(h){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,h)}let m=p&&p.data&&p.data.length>0?p.data[0]:void 0;return m?!a.includes(m.status)&&!o?(t.log.warn(`Subscription '${m.id}' has status '${m.status}' which is not part of the allowed statuses.`),za.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"})):(a.includes(m.status)&&(t.log.debug(`Loading subscription '${m.id}' for user sub '${d}' to ContextData`),PO.ContextData.set(t,IO.METERING_SUBSCRIPTION_CONTEXT_DATA,m)),e):(t.log.warn("No valid subscription found"),o?e:za.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"}))},"LoadSubscriptionInboundPolicy");Wa.LoadSubscriptionInboundPolicy=xO});var i_=y(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.MeteringInboundPolicy=void 0;var t_=Pr(),r_=Ys(),n_=vn(),Ui=O(),Qa=te(),LO=He(),DO=W(),UO=Zt(),kO=lt(),MO=s(async(e,t,r,n)=>{(0,kO.optionValidator)(r,n).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string");let i=LO.SystemLogMap.getLogger(t);if(!r.meterOnStatusCodes)throw new Ui.ConfigurationError(`Invalid MeteringInboundPolicy '${n}': options.meterOnStatusCodes must be an array of HTTP status code numbers`);let o=Array.isArray(r.meterOnStatusCodes)?r.meterOnStatusCodes:(0,UO.statusCodesStringToNumberArray)(r.meterOnStatusCodes);try{let p=[];for(let m in r.meters)typeof r.meters[m]!="number"&&p.push(m);if(p.length>0)throw new Ui.ConfigurationError(`Non-numeric values found in properties: ${p.join(", ")}`)}catch(p){throw p instanceof Ui.ConfigurationError?new Ui.ConfigurationError(`MeteringInboundPolicy '${n}' - The property 'meters' is invalid. ${p.message}`):p}t.addResponseSendingFinalHook(async(p,m,h)=>{let g=r_.ContextData.get(h,t_.METERING_SUBSCRIPTION_CONTEXT_DATA);if((r.allowRequestsWithoutSubscription??!1)&&!g){h.log.debug(`MeteringInboundPolicy '${n}' - no subscription found and allowRequestsWithoutSubscription is true`);return}if(!r.bucketId)if(n_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=n_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ui.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:S,meteringServiceUrl:T}=DO.Environment.instance;if(o.includes(p.status)&&g&&r.meters){h.log.debug(`MeteringInboundPolicy '${n}' - Updating subscription '${g.id}' with meters '${JSON.stringify(r.meters)} on response status '${p.status}'`);try{let U=await fetch(`${T}/internal/v1/metering/${r.bucketId}/subscriptions/${g.id}/quotas/consume`,{headers:{Authorization:`Bearer ${S}`,"zp-rid":h.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});U.ok||(h.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${U.status} - ${U.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${U.status} - ${U.statusText}`))}catch(U){h.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,U)}}});let a=r_.ContextData.get(t,t_.METERING_SUBSCRIPTION_CONTEXT_DATA),c=r.allowRequestsWithoutSubscription??!1,u=r.allowRequestsOverQuota??!1;if(!a)return c?e:(t.log.warn("Subscription is not available for user"),Qa.HttpProblems.paymentRequired(e,t,{detail:"Subscription is not available for user",title:"No Subscription"}));if(a&&Object.keys(a.quotas).length===0)return t.log.error(`Quota is not set up for subscription '${a.id}'`),Qa.HttpProblems.tooManyRequests(e,t,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let d=Object.keys(r.meters).filter(p=>!Object.keys(a.quotas).includes(p));if(d.length>0)return t.log.warn(`The following policy meters are not present in the subscription: ${d.join(", ")}`),Qa.HttpProblems.tooManyRequests(e,t,{detail:`The following policy meters are not present in the subscription: ${d.join(", ")}`,title:"Quota Exceeded"});for(let p of Object.keys(r.meters))if(a.quotas[p]<=0&&!u)return Qa.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${p}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");Ya.MeteringInboundPolicy=MO});var s_=y(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.MockApiInboundPolicy=void 0;var HO=te(),FO=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Jp(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 Jp(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 o_(a[c])}else return a.length>0?o_(a[0]):Jp(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");Za.MockApiInboundPolicy=FO;function o_(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(o_,"generateResponse");var Jp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return HO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var d_=y(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.MoesifInboundPolicy=jn.setMoesifContext=void 0;var qO=O(),$O=ve(),jO="Incoming",VO={logRequestBody:!0,logResponseBody:!0};function a_(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(a_,"headersToObject");function c_(){return new Date().toISOString()}s(c_,"timestamp");var zp=new WeakMap,GO={};function BO(e,t){let r=zp.get(e);r||(r=GO);let n=Object.assign({...r},t);zp.set(e,n)}s(BO,"setMoesifContext");jn.setMoesifContext=BO;async function u_(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(u_,"readBody");var KO={},Wp;function l_(){if(!Wp)throw new qO.RuntimeError("Invalid State - no _lastLogger");return Wp}s(l_,"getLastLogger");function JO(e){let t=KO[e];return t||(t=new $O.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);l_().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||l_().error({status:i.status,body:await i.text()})})),t}s(JO,"getDispatcher");async function zO(e,t,r,n){Wp=t.log;let i=c_(),o=Object.assign(VO,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await u_(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=JO(o.applicationId),d=e.headers.get("true-client-ip"),p=zp.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:a_(e.headers)},h=o.logResponseBody?await u_(c,t):void 0,g={time:c_(),status:c.status,headers:a_(c.headers),body:h},_={request:m,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:jO};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}s(zO,"MoesifInboundPolicy");jn.MoesifInboundPolicy=zO});var p_=y(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.OktaJwtInboundPolicy=void 0;var WO=jt(),QO=s(async(e,t,r,n)=>(0,WO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Xa.OktaJwtInboundPolicy=QO});var h_=y(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.PropelAuthJwtInboundPolicy=void 0;var YO=(xs(),co(Cs)),ZO=jt(),Qp,XO=s(async(e,t,r,n)=>{if(!Qp)try{Qp=await(0,YO.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,ZO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Qp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");ec.PropelAuthJwtInboundPolicy=XO});var f_=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.throwIfStateNotObject=V.throwIfStateNotNumber=V.throwIfStateNotString=V.throwIfStateUndefinedOrNull=V.throwIfStateUndefined=V.throwIfOptionNotObject=V.throwIfOptionNotNumber=V.throwIfOptionNotString=V.throwIfOptionUndefinedOrNull=V.throwIfOptionUndefined=V.OptionTypeError=V.OptionUndefinedError=V.throwIfNotNumber=V.throwIfNotString=V.throwIfUndefinedOrNull=V.throwIfUndefined=V.ArgumentTypeError=V.ArgumentUndefinedError=V.ValidationError=void 0;var je=bt(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=et;var ki=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=ki;var Mi=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=Mi;function eN(e,t){if((0,je.isUndefined)(e))throw new ki(t)}s(eN,"throwIfUndefined");V.throwIfUndefined=eN;function Yp(e,t){if((0,je.isUndefinedOrNull)(e))throw new ki(t)}s(Yp,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=Yp;function tN(e,t){if(Yp(e,t),!(0,je.isString)(e))throw new Mi(t,"string")}s(tN,"throwIfNotString");V.throwIfNotString=tN;function rN(e,t){if(Yp(e,t),!(0,je.isNumber)(e))throw new Mi(t,"number")}s(rN,"throwIfNotNumber");V.throwIfNotNumber=rN;var Hi=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=Hi;var Vn=class extends et{static{s(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};V.OptionTypeError=Vn;function nN(e,t,r,n){if((0,je.isUndefined)(n))throw new Hi(e,t,r)}s(nN,"throwIfOptionUndefined");V.throwIfOptionUndefined=nN;function tc(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Hi(e,t,r)}s(tc,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=tc;function iN(e,t,r,n){if(tc(e,t,r,n),!(0,je.isString)(n))throw new Vn(e,t,r,"string")}s(iN,"throwIfOptionNotString");V.throwIfOptionNotString=iN;function oN(e,t,r,n){if(tc(e,t,r,n),!(0,je.isNumber)(n))throw new Vn(e,t,r,"number")}s(oN,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=oN;function sN(e,t,r,n){if(tc(e,t,r,n),!(0,je.isObject)(n))throw new Vn(e,t,r,"object")}s(sN,"throwIfOptionNotObject");V.throwIfOptionNotObject=sN;function aN(e,t){if((0,je.isUndefined)(e))throw new et(t)}s(aN,"throwIfStateUndefined");V.throwIfStateUndefined=aN;function rc(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(rc,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=rc;function cN(e,t){if(rc(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(cN,"throwIfStateNotString");V.throwIfStateNotString=cN;function uN(e,t){if(rc(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(uN,"throwIfStateNotNumber");V.throwIfStateNotNumber=uN;function lN(e,t){if(rc(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(lN,"throwIfStateNotObject");V.throwIfStateNotObject=lN});var m_=y(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.InMemoryRedisClient=Gn.StandardRedisClient=void 0;var Zp=O(),nc=f_(),Xp=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,nc.throwIfNotString)(t,"redisClientUrl"),(0,nc.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,nc.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 Zp.SystemError("Redis client failed with 401: Unauthorized"):new Zp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Gn.StandardRedisClient=Xp;var eh=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,nc.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 Zp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Gn.InMemoryRedisClient=eh});var E_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.RateLimitInboundPolicy=void 0;var dN=Rr(),pN=$t(),hN=fo(),Rt=O(),fN=te(),y_=He(),Fi=W(),g_=m_(),b_=bt(),ic=(0,dN.debug)("zuplo:policies:RateLimitInboundPolicy"),mN="strict",yN=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"),gN=s(async e=>({key:`ip-${yN(e)}`}),"getIP"),bN=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),_N=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),oc;function EN(e,t){let r;if(oc)return oc;if(Fi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new g_.InMemoryRedisClient,oc=r,r;let{authApiJWT:n,redisURL:i}=Fi.Environment.instance;if(!(0,b_.isString)(i))throw new Rt.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,b_.isString)(n))throw new Rt.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=g_.StandardRedisClient.initialize(i,n,Fi.Environment.instance.deploymentName??"unknown",Fi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Rt.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return oc=r,r}s(EN,"getRedisClient");async function __(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(__,"getCountAndUpdateExpiry");function wN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Rt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Rt.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Rt.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 Rt.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 Rt.RuntimeError(u)}return c},"outerFunction")}s(wN,"wrapUserFunction");var vN="Retry-After",SN=s(async(e,t,r,n)=>{let i=Date.now(),o=y_.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new Rt.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[vN]=l.toString()),fN.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:wN(r,n),user:bN,ip:gN,all:_N}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=EN(n,o),T=`bucket/${Fi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??mN)==="async"){let L=await(0,pN.getPolicyCacheName)(n,r),ne=new hN.ZoneCache(L,{logger:y_.SystemLogMap.getLogger(t)}),ie=__(T,h,_,o,t.requestId),me=await ne.get(T);if(me!==void 0&&me<=Date.now()){ic(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${T}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(g,Be)}return t.addEventListener("responseSending",Be=>{try{let w=Be,H=w.mutableResponse;w.mutableResponse=(async()=>{let xe=await ie;if(xe.count>m){let bu=Date.now()+xe.ttlSeconds*1e3,nw=ne.put(T,bu,xe.ttlSeconds).catch($h=>{throw o.error(new Rt.SystemError("Error caching rate limit result.",{cause:$h})),$h});return t.waitUntil(nw),ic(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,xe.ttlSeconds)}return H})()}catch(w){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let K=await __(T,h,_,o,t.requestId);return K.count>m?(ic(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (strict mode)`),c(g,K.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;ic(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");sc.RateLimitInboundPolicy=SN});var T_=y(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.ReadmeMetricsInboundPolicy=void 0;var TN=ve(),th=W(),w_=Zt(),rh;function v_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(v_,"headersToNameValuePairs");function IN(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(IN,"queryToNameValueParis");function PN(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(PN,"parseIntOrUndefined");var S_={};async function AN(e,t,r,n){let i=new Date,o=Date.now();return rh||(rh={name:"zuplo",version:th.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${th.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,w_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,w_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:th.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:rh,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:v_(e.headers),queryString:IN(e.query)},response:{status:a.status,statusText:a.statusText,headers:v_(a.headers),content:{size:PN(e.headers.get("content-length"))}}}]}}},d=S_[r.apiKey];if(!d){let p=r.apiKey;d=new TN.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),S_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(AN,"ReadmeMetricsInboundPolicy");ac.ReadmeMetricsInboundPolicy=AN});var I_=y(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.RemoveHeadersInboundPolicy=void 0;var RN=O(),ON=Me(),NN=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new RN.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 ON.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");cc.RemoveHeadersInboundPolicy=NN});var P_=y(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.RemoveHeadersOutboundPolicy=void 0;var CN=O(),xN=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new CN.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");uc.RemoveHeadersOutboundPolicy=xN});var A_=y(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.RemoveQueryParamsInboundPolicy=void 0;var LN=O(),DN=Me(),UN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new LN.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 DN.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");lc.RemoveQueryParamsInboundPolicy=UN});var R_=y(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.ReplaceStringOutboundPolicy=void 0;var kN=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");dc.ReplaceStringOutboundPolicy=kN});var N_=y(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.RequestSizeLimitInboundPolicy=void 0;var O_=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),MN=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");pc.RequestSizeLimitInboundPolicy=MN});var hc=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function HN(e,t,r){return`_${Vr(e+"_"+t+"_"+r)}`}s(HN,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=HN;function FN(e,t,r,n){return`_${Vr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(FN,"getIdForParameterSchema");tt.getIdForParameterSchema=FN;function qN(e,t,r){return`_${Vr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Vr(r.toLowerCase())}`}s(qN,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=qN;function $N(e,t){return`_${Vr(e)}__${Vr(t)}`}s($N,"getIdForRefSchema");tt.getIdForRefSchema=$N;function Vr(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(Vr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Vr});var qi=y(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var jN=Or(),VN=hc(),GN=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=GN;var BN=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,VN.getIdForParameterSchema)(r,n,i,u.name),p=jN.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=BN;var KN=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=KN;var JN=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=JN;var zN=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=zN;var WN=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=WN});var C_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.handleBodyValidation=void 0;var QN=Or(),fc=te(),YN=hc(),Je=qi();async function ZN(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let g=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=fc.HttpProblems.badRequest(t,e,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",g,[n],h),(0,Je.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,g=fc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?g:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,YN.getIdForRequestBodySchema)(e.route.path,t.method,i),c=QN.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,g=fc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),m=fc.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(ZN,"handleBodyValidation");mc.handleBodyValidation=ZN});var x_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.handleHeadersValidation=void 0;var XN=te(),$i=qi();function eC(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,$i.getParametersForOperation)(e),o=(0,$i.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=XN.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,$i.shouldLog)(r.validateHeaders)&&(0,$i.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,$i.shouldReject)(r.validateHeaders))return c}}s(eC,"handleHeadersValidation");yc.handleHeadersValidation=eC});var L_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.handlePathParameterValidation=void 0;var tC=te(),ji=qi();function rC(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,ji.getParametersForOperation)(e),i=(0,ji.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=tC.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,ji.shouldLog)(r.validatePathParameters)&&(0,ji.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,ji.shouldReject)(r.validatePathParameters))return a}}s(rC,"handlePathParameterValidation");gc.handlePathParameterValidation=rC});var D_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.handleQueryParameterValidation=void 0;var nC=te(),Vi=qi();function iC(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Vi.getParametersForOperation)(e),i=(0,Vi.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=nC.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Vi.shouldLog)(r.validateQueryParameters)&&(0,Vi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Vi.shouldReject)(r.validateQueryParameters))return a}}s(iC,"handleQueryParameterValidation");bc.handleQueryParameterValidation=iC});var U_=y(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.SchemaBasedRequestValidation=Gr.RequestValidationInboundPolicy=void 0;var oC=C_(),sC=x_(),aC=L_(),cC=D_(),uC=s(async(e,t,r)=>{let n=(0,cC.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,aC.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,sC.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,oC.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Gr.RequestValidationInboundPolicy=uC;Gr.SchemaBasedRequestValidation=Gr.RequestValidationInboundPolicy});var k_=y(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.RequireOriginInboundPolicy=void 0;var lC=O(),dC=te(),pC=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new lC.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 dC.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");_c.RequireOriginInboundPolicy=pC});var M_=y(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.SetBodyInboundPolicy=void 0;var hC=Me(),fC=s(async(e,t,r)=>new hC.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Ec.SetBodyInboundPolicy=fC});var F_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.SetHeadersInboundPolicy=void 0;var H_=O(),mC=Me(),yC=s(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new H_.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 H_.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 mC.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");wc.SetHeadersInboundPolicy=yC});var $_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.SetHeadersOutboundPolicy=void 0;var q_=O(),gC=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new q_.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 q_.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");vc.SetHeadersOutboundPolicy=gC});var V_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.SetQueryParamsInboundPolicy=void 0;var j_=O(),bC=Me(),_C=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new j_.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 j_.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 bC.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");Sc.SetQueryParamsInboundPolicy=_C});var G_=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.SetStatusOutboundPolicy=void 0;var EC=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");Tc.SetStatusOutboundPolicy=EC});var B_=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.SleepInboundPolicy=void 0;var wC=O(),vC=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),SC=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new wC.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await vC(r.sleepInMs),e},"SleepInboundPolicy");Ic.SleepInboundPolicy=SC});var J_=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.SupabaseJwtInboundPolicy=void 0;var K_=O(),TC=te(),IC=Me(),PC=lt(),AC=jt(),RC=s(async(e,t,r,n)=>{(0,PC.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,AC.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof IC.ZuploRequest))throw new K_.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 K_.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?TC.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");Pc.SupabaseJwtInboundPolicy=RC});var W_=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var OC=$t(),NC=Kt(),z_=O(),CC=bn(),xC=lt(),LC=s(async(e,t,r,n)=>{(0,xC.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,OC.getPolicyCacheName)(n,r),o=new NC.MemoryZoneReadThroughCache(i,t),a=await o.get(n);if(!a){let c=await DC(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");Ac.UpstreamAzureAdServiceAuthInboundPolicy=LC;async function DC(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,CC.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 z_.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 z_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(DC,"getAccessToken")});var Y_=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var UC=$t(),kC=Kt(),MC=O(),nh=_n(),HC=lt(),Q_="https://accounts.google.com/o/oauth2/token",ih,FC=s(async(e,t,r,n)=>{(0,HC.optionValidator)(r,n).required("serviceAccountJson","string"),ih||(ih=await nh.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,UC.getPolicyCacheName)(n,r),a=new kC.MemoryZoneReadThroughCache(o,t),c=await a.get(n);if(!c){let u=await(0,nh.getTokenFromGcpServiceAccount)({serviceAccount:ih,audience:Q_,payload:i}),l=await(0,nh.exchangeGgpJwtForIdToken)(Q_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new MC.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");Rc.UpstreamFirebaseAdminAuthInboundPolicy=FC});var Z_=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var qC=$t(),$C=Kt(),Bn=O(),jC=qp(),oh=_n(),VC=Zt(),GC=lt(),BC="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",KC=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],sh,JC=s(async(e,t,r,n)=>{if((0,GC.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Bn.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(KC.indexOf(p)!==-1)throw new Bn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}sh||(sh=await oh.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new Bn.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 Bn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,VC.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new Bn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,qC.getPolicyCacheName)(n,r),c=new $C.MemoryZoneReadThroughCache(a,t),u={uid:o,claims:i},l=await(0,jC.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,oh.getTokenFromGcpServiceAccount)({serviceAccount:sh,audience:BC,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,oh.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Bn.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");Oc.UpstreamFirebaseUserAuthInboundPolicy=JC});var eE=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.UpstreamGcpJwtInboundPolicy=void 0;var X_=_n(),zC=lt(),ah,WC=s(async(e,t,r,n)=>{(0,zC.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),ah||(ah=await X_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,X_.getTokenFromGcpServiceAccount)({serviceAccount:ah,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Nc.UpstreamGcpJwtInboundPolicy=WC});var rE=y(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.UpstreamGcpServiceAuthInboundPolicy=void 0;var QC=$t(),YC=Iu(),ZC=Kt(),Gi=O(),ch=_n(),XC=Zt(),ex=lt(),tE="https://www.googleapis.com/oauth2/v4/token",uh,tx=s(async(e,t,r,n)=>{(0,ex.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),uh||(uh=await ch.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new Gi.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,XC.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof Gi.ConfigurationError?new Gi.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let o=await(0,QC.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new YC.MemoryCache(o):a=new ZC.MemoryZoneReadThroughCache(o,t);let c=await a.get(n);if(!c){let u=await(0,ch.getTokenFromGcpServiceAccount)({serviceAccount:uh,audience:tE,payload:i}),l=await(0,ch.exchangeGgpJwtForIdToken)(tE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new Gi.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new Gi.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamGcpServiceAuthInboundPolicy");Cc.UpstreamGcpServiceAuthInboundPolicy=tx});var iE=y(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.ValidateJsonSchemaInbound=void 0;var rx=O(),nE=te(),nx=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return nE.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 rx.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 nE.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");xc.ValidateJsonSchemaInbound=nx});var oE=y(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.ServiceProviderImpl=void 0;var ix=O(),lh=class{static{s(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new ix.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)}};Lc.ServiceProviderImpl=lh});var gE=y(f=>{"use strict";var ox=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]}),dh=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&ox(t,e,r)},sx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.MeteringInboundPolicy=f.LoadSubscriptionInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.RuntimeError=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=void 0;Jh();var ax=Kt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return ax.MemoryZoneReadThroughCache}});var cx=fo();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return cx.ZoneCache}});var sE=Nr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return sE.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return sE.ResponseSentEvent}});var ux=Ys();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return ux.ContextData}});var ph=vn();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return ph.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return ph.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return ph.isZuploReadableEnvVariableName}});var aE=O();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return aE.ConfigurationError}});Object.defineProperty(f,"RuntimeError",{enumerable:!0,get:function(){return aE.RuntimeError}});var lx=Fd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return lx.originalFetch}});var cE=vg();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return cE.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return cE.purgeGatewayCache}});var uE=Fg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return uE.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return uE.awsLambdaHandler}});var dx=$g();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return dx.openApiSpecHandler}});var px=jg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return px.redirectHandler}});var hx=Gg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return hx.urlForwardHandler}});var fx=Kg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return fx.urlRewriteHandler}});var mx=zg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return mx.webSocketHandler}});var yx=Yg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return yx.webSocketPipelineHandler}});var gx=Qu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return gx.HttpStatusCode}});dh(ob(),f);dh(cb(),f);var bx=ub();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return bx.AuditLogDataStaxProvider}});var _x=db();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return _x.AuditLogPlugin}});dh(Pb(),f);var lE=Cb();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return lE.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return lE.AmberfloMeteringPolicy}});var Ex=kb();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Ex.ApiAuthKeyInboundPolicy}});var wx=Vp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return wx.ApiKeyInboundPolicy}});var vx=Mb();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return vx.Auth0JwtInboundPolicy}});var Sx=Hb();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Sx.BasicAuthInboundPolicy}});var Tx=Fb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return Tx.CachingInboundPolicy}});var Ix=qb();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return Ix.ChangeMethodInboundPolicy}});var Px=$b();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return Px.ClearHeadersInboundPolicy}});var Ax=jb();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Ax.ClearHeadersOutboundPolicy}});var Rx=Vb();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return Rx.ClerkJwtInboundPolicy}});var Ox=Bb();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Ox.CognitoJwtInboundPolicy}});var Nx=Jb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return Nx.CompositeInboundPolicy}});var Cx=zb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return Cx.CurityPhantomTokenInboundPolicy}});var xx=Wb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return xx.FirebaseJwtInboundPolicy}});var Lx=Qb();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return Lx.FormDataToJsonInboundPolicy}});var Dx=Yb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Dx.GeoFilterInboundPolicy}});var Ux=Zb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return Ux.JWTScopeValidationInboundPolicy}});var kx=e_();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return kx.LoadSubscriptionInboundPolicy}});var Mx=i_();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return Mx.MeteringInboundPolicy}});var Hx=s_();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Hx.MockApiInboundPolicy}});var dE=d_();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return dE.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return dE.setMoesifContext}});var Fx=p_();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return Fx.OktaJwtInboundPolicy}});var qx=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return qx.OpenIdJwtInboundPolicy}});var $x=h_();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return $x.PropelAuthJwtInboundPolicy}});var pE=E_();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return pE.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return pE.RateLimitInboundPolicy}});var jx=T_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return jx.ReadmeMetricsInboundPolicy}});var Vx=I_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return Vx.RemoveHeadersInboundPolicy}});var Gx=P_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return Gx.RemoveHeadersOutboundPolicy}});var Bx=A_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Bx.RemoveQueryParamsInboundPolicy}});var Kx=R_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return Kx.ReplaceStringOutboundPolicy}});var Jx=N_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return Jx.RequestSizeLimitInboundPolicy}});var hE=U_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return hE.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return hE.SchemaBasedRequestValidation}});var zx=k_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return zx.RequireOriginInboundPolicy}});var Wx=M_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return Wx.SetBodyInboundPolicy}});var Qx=F_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return Qx.SetHeadersInboundPolicy}});var Yx=$_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return Yx.SetHeadersOutboundPolicy}});var Zx=V_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Zx.SetQueryParamsInboundPolicy}});var Xx=G_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return Xx.SetStatusOutboundPolicy}});var eL=B_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return eL.SleepInboundPolicy}});var tL=Ep();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return tL.StripeWebhookVerificationInboundPolicy}});var rL=J_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return rL.SupabaseJwtInboundPolicy}});var nL=W_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return nL.UpstreamAzureAdServiceAuthInboundPolicy}});var iL=Y_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return iL.UpstreamFirebaseAdminAuthInboundPolicy}});var oL=Z_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return oL.UpstreamFirebaseUserAuthInboundPolicy}});var sL=eE();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return sL.UpstreamGcpJwtInboundPolicy}});var aL=rE();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return aL.UpstreamGcpServiceAuthInboundPolicy}});var cL=iE();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return cL.ValidateJsonSchemaInbound}});var uL=te();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return uL.HttpProblems}});var lL=So();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return lL.ProblemResponseFormatter}});var dL=Me();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return dL.ZuploRequest}});var pL=xr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return pL.SystemRouteName}});var fE=Od();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return fE.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return fE.Router}});var mE=qu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return mE.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return mE.serialize}});var hL=oE();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return hL.ServiceProviderImpl}});var yE=ul();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return yE.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return yE.SYSTEM_LOGGER}});var fL=Zu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return sx(fL).default}});var mL=He();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return mL.SystemLogMap}});var Bi=hc();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Bi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Bi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Bi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Bi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Bi.sanitizedIdentifierName}})});var bE=y(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.BaseCryptoBeta=Kn.supportedDigests=void 0;Kn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var hh=class{static{s(this,"BaseCryptoBeta")}};Kn.BaseCryptoBeta=hh});var _E=y(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.WorkerCryptoBeta=void 0;var fh=bE(),yL=O(),mh=class extends fh.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!fh.supportedDigests.includes(t.toLowerCase()))throw new yL.RuntimeError(`Algorithm ${t} is not supported. Try using ${fh.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("")}};Dc.WorkerCryptoBeta=mh});var EE=y(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.BaseKeyValueStore=void 0;var yh=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Uc.BaseKeyValueStore=yh});var vE=y(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.WorkerKeyValueStore=void 0;var wE=O(),gL=EE(),gh=class extends gL.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new wE.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 wE.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)}};kc.WorkerKeyValueStore=gh});var Ut=y(dt=>{"use strict";var bL=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]}),_L=dt&&dt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&bL(t,e,r)};Object.defineProperty(dt,"__esModule",{value:!0});dt.KeyValueStore=dt.CryptoBeta=void 0;_L(gE(),dt);var EL=_E();Object.defineProperty(dt,"CryptoBeta",{enumerable:!0,get:function(){return EL.WorkerCryptoBeta}});var wL=vE();Object.defineProperty(dt,"KeyValueStore",{enumerable:!0,get:function(){return wL.WorkerKeyValueStore}})});var RD={};ao(RD,{GraphQLComplexityLimitInboundPolicy:()=>ew,GraphQLDisableIntrospectionInboundPolicy:()=>rw});module.exports=co(RD);var ii=Vh(Ut());function G(e,t){if(!!!e)throw new Error(t)}s(G,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}s(Ee,"isObjectLike");function Ot(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(Ot,"invariant");var vL=/\r\n|[\n\r]/g;function Jn(e,t){let r=0,n=1;for(let i of e.body.matchAll(vL)){if(typeof i.index=="number"||Ot(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s(Jn,"getLocation");function bh(e){return Mc(e.source,Jn(e.source,e.start))}s(bh,"printLocation");function Mc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
75
|
+
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+SE([[`${a} |`,g[0]],...g.slice(1,m+1).map(_=>["|",_]),["|","^".padStart(h)],["|",g[m+1]]])}return l+SE([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}s(Mc,"printSourceLocation");function SE(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(SE,"printPrefixedLines");function SL(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(SL,"toNormalizedOptions");var x=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}=SL(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=TE(Array.isArray(a)?a:a?[a]:void 0);let m=TE((n=this.nodes)===null||n===void 0?void 0:n.map(g=>g.loc).filter(g=>g!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(g=>g.start),this.locations=u&&c?u.map(g=>Jn(c,g)):m?.map(g=>Jn(g.source,g.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(o=p??h)!==null&&o!==void 0?o:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
|
|
77
77
|
|
|
78
78
|
`+bh(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
|
|
79
79
|
|
|
80
|
-
`+Mc(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
|
+
`+Mc(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 TE(e){return e===void 0||e.length===0?void 0:e}s(TE,"undefinedIfEmpty");function de(e,t,r){return new x(`Syntax Error: ${r}`,{source:e,positions:[t]})}s(de,"syntaxError");var Ki=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}}},zn=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}}},_h={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"]},TL=new Set(Object.keys(_h));function Ji(e){let t=e?.kind;return typeof t=="string"&&TL.has(t)}s(Ji,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var B;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(B||(B={}));var b;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(b||(b={}));function Hc(e){return e===9||e===32}s(Hc,"isWhiteSpace");function Wn(e){return e>=48&&e<=57}s(Wn,"isDigit");function IE(e){return e>=97&&e<=122||e>=65&&e<=90}s(IE,"isLetter");function zi(e){return IE(e)||e===95}s(zi,"isNameStart");function Fc(e){return IE(e)||Wn(e)||e===95}s(Fc,"isNameContinue");function PE(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var o;let c=e[a],u=IL(c);u!==c.length&&(n=(o=n)!==null&&o!==void 0?o:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}s(PE,"dedentBlockStringLines");function IL(e){let t=0;for(;t<e.length&&Hc(e.charCodeAt(t));)++t;return t}s(IL,"leadingWhitespace");function AE(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||Hc(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||o||a),p="",m=i&&Hc(e.charCodeAt(0));return(d&&!m||o)&&(p+=`
|
|
81
81
|
`),p+=r,(d||l)&&(p+=`
|
|
82
|
-
`),'"""'+p+'"""'}s(
|
|
83
|
-
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw 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(Qn(l))++o;else if(qc(r,o))o+=2;else throw de(e.source,o,`Invalid character within String: ${Br(e,o)}.`)}throw de(e.source,o,"Unterminated string.")}s(
|
|
82
|
+
`),'"""'+p+'"""'}s(AE,"printBlockString");var E;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(E||(E={}));var Qi=class{static{s(this,"Lexer")}constructor(t){let r=new zn(E.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==E.EOF)do if(t.next)t=t.next;else{let r=PL(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===E.COMMENT);return t}};function OE(e){return e===E.BANG||e===E.DOLLAR||e===E.AMP||e===E.PAREN_L||e===E.PAREN_R||e===E.SPREAD||e===E.COLON||e===E.EQUALS||e===E.AT||e===E.BRACKET_L||e===E.BRACKET_R||e===E.BRACE_L||e===E.PIPE||e===E.BRACE_R}s(OE,"isPunctuatorTokenKind");function Qn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}s(Qn,"isUnicodeScalarValue");function qc(e,t){return NE(e.charCodeAt(t))&&CE(e.charCodeAt(t+1))}s(qc,"isSupplementaryCodePoint");function NE(e){return e>=55296&&e<=56319}s(NE,"isLeadingSurrogate");function CE(e){return e>=56320&&e<=57343}s(CE,"isTrailingSurrogate");function Br(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return E.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}s(Br,"printCodePointAt");function fe(e,t,r,n,i){let o=e.line,a=1+r-e.lineStart;return new zn(t,r,n,o,a,i)}s(fe,"createToken");function PL(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 AL(e,i);case 33:return fe(e,E.BANG,i,i+1);case 36:return fe(e,E.DOLLAR,i,i+1);case 38:return fe(e,E.AMP,i,i+1);case 40:return fe(e,E.PAREN_L,i,i+1);case 41:return fe(e,E.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,E.SPREAD,i,i+3);break;case 58:return fe(e,E.COLON,i,i+1);case 61:return fe(e,E.EQUALS,i,i+1);case 64:return fe(e,E.AT,i,i+1);case 91:return fe(e,E.BRACKET_L,i,i+1);case 93:return fe(e,E.BRACKET_R,i,i+1);case 123:return fe(e,E.BRACE_L,i,i+1);case 124:return fe(e,E.PIPE,i,i+1);case 125:return fe(e,E.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?LL(e,i):OL(e,i)}if(Wn(o)||o===45)return RL(e,i,o);if(zi(o))return DL(e,i);throw de(e.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Qn(o)||qc(r,i)?`Unexpected character: ${Br(e,i)}.`:`Invalid character: ${Br(e,i)}.`)}return fe(e,E.EOF,n,n)}s(PL,"readNextToken");function AL(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(Qn(o))++i;else if(qc(r,i))i+=2;else break}return fe(e,E.COMMENT,t,i,r.slice(t+1,i))}s(AL,"readComment");function RL(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),Wn(o))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${Br(e,i)}.`)}else i=Eh(e,i,o),o=n.charCodeAt(i);if(o===46&&(a=!0,o=n.charCodeAt(++i),i=Eh(e,i,o),o=n.charCodeAt(i)),(o===69||o===101)&&(a=!0,o=n.charCodeAt(++i),(o===43||o===45)&&(o=n.charCodeAt(++i)),i=Eh(e,i,o),o=n.charCodeAt(i)),o===46||zi(o))throw de(e.source,i,`Invalid number, expected digit but got: ${Br(e,i)}.`);return fe(e,a?E.FLOAT:E.INT,t,i,n.slice(t,i))}s(RL,"readNumber");function Eh(e,t,r){if(!Wn(r))throw de(e.source,t,`Invalid number, expected digit but got: ${Br(e,t)}.`);let n=e.source.body,i=t+1;for(;Wn(n.charCodeAt(i));)++i;return i}s(Eh,"readDigits");function OL(e,t){let r=e.source.body,n=r.length,i=t+1,o=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(o,i),fe(e,E.STRING,t,i+1,a);if(c===92){a+=r.slice(o,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?NL(e,i):CL(e,i):xL(e,i);a+=u.value,i+=u.size,o=i;continue}if(c===10||c===13)break;if(Qn(c))++i;else if(qc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${Br(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}s(OL,"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||!Qn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Wi(o),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}s(NL,"readEscapedUnicodeVariableWidth");function CL(e,t){let r=e.source.body,n=RE(r,t+2);if(Qn(n))return{value:String.fromCodePoint(n),size:6};if(NE(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=RE(r,t+8);if(CE(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}s(CL,"readEscapedUnicodeFixedWidth");function RE(e,t){return Wi(e.charCodeAt(t))<<12|Wi(e.charCodeAt(t+1))<<8|Wi(e.charCodeAt(t+2))<<4|Wi(e.charCodeAt(t+3))}s(RE,"read16BitHexCode");function Wi(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}s(Wi,"readHexDigit");function xL(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(xL,"readEscapedCharacter");function LL(e,t){let r=e.source.body,n=r.length,i=e.lineStart,o=t+3,a=o,c="",u=[];for(;o<n;){let l=r.charCodeAt(o);if(l===34&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34){c+=r.slice(a,o),u.push(c);let d=fe(e,E.BLOCK_STRING,t,o+3,PE(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(Qn(l))++o;else if(qc(r,o))o+=2;else throw de(e.source,o,`Invalid character within String: ${Br(e,o)}.`)}throw de(e.source,o,"Unterminated string.")}s(LL,"readBlockString");function DL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(Fc(o))++i;else break}return fe(e,E.NAME,t,i,r.slice(t,i))}s(DL,"readName");function P(e){return $c(e,[])}s(P,"inspect");function $c(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return UL(e,t);default:return String(e)}}s($c,"formatValue");function UL(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(kL(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:$c(n,r)}else if(Array.isArray(e))return HL(e,r);return ML(e,r)}s(UL,"formatObjectValue");function kL(e){return typeof e.toJSON=="function"}s(kL,"isJSONable");function ML(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+FL(e)+"]":"{ "+r.map(([i,o])=>i+": "+$c(o,t)).join(", ")+" }"}s(ML,"formatObject");function HL(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($c(e[o],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}s(HL,"formatArray");function FL(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(FL,"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,16 +92,16 @@ 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 Yn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||G(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||G(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||G(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function LE(e){return ze(e,Yn)}s(LE,"isSource");function Gc(e,t){return new Vc(e,t).parseDocument()}s(Gc,"parse");function Bc(e,t){let r=new Vc(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}s(Bc,"parseValue");var Vc=class{static{s(this,"Parser")}constructor(t,r={}){let n=LE(t)?t:new Yn(t);this._lexer=new Yi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(E.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(E.SOF,this.parseDefinition,E.EOF)})}parseDefinition(){if(this.peek(E.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===E.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(E.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(E.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(E.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(E.PAREN_L,this.parseVariableDefinition,E.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(E.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(E.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(E.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(E.BRACE_L,this.parseSelection,E.BRACE_R)})}parseSelection(){return this.peek(E.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(E.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(E.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(E.PAREN_L,r,E.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(E.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(E.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case E.BRACKET_L:return this.parseList(t);case E.BRACE_L:return this.parseObject(t);case E.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case E.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case E.STRING:case E.BLOCK_STRING:return this.parseStringLiteral();case E.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case E.DOLLAR:if(t)if(this.expectToken(E.DOLLAR),this._lexer.token.kind===E.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===E.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(E.BRACKET_L,r,E.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(E.BRACE_L,r,E.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(E.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(E.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(E.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(E.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(E.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(E.STRING)||this.peek(E.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(E.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(E.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseFieldDefinition,E.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(E.COLON);let o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(E.PAREN_L,this.parseInputValueDef,E.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(E.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(E.EQUALS)&&(o=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(E.EQUALS)?this.delimitedMany(E.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(E.BRACE_L,this.parseEnumValueDefinition,E.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${jc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseInputValueDef,E.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===E.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(E.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(E.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(B,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Ji(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 ${DE(t)}, found ${jc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===E.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${jc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===E.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${jc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==E.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function jc(e){let t=e.value;return DE(e.kind)+(t!=null?` "${t}"`:"")}s(jc,"getTokenDesc");function DE(e){return NE(e)?`"${e}"`:e}s(DE,"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 wh(e){return e}s(wh,"identityFunc");function Zn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Zn,"keyMap");function Nt(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Nt,"keyValMap");function Zi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(Zi,"mapValue");function UE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if(Jc(i)&&Jc(o)){let a=0;do++r,a=a*10+i-vh,i=e.charCodeAt(r);while(Jc(i)&&a>0);let c=0;do++n,c=c*10+o-vh,o=t.charCodeAt(n);while(Jc(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(UE,"naturalCompare");var vh=48,$L=57;function Jc(e){return!isNaN(e)&&vh<=e&&e<=$L}s(Jc,"isDigit");function zc(e,t){let r=Object.create(null),n=new Sh(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:UE(o,a)})}s(zc,"suggestionList");var Sh=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=kE(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=kE(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 g=1;g<=c;g++){let _=i[d-1]===o[g-1]?0:1,S=Math.min(p[g]+1,m[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===o[g-2]&&i[d-2]===o[g-1]){let T=u[(d-2)%3][g-2];S=Math.min(S,T+1)}S<h&&(h=S),m[g]=S}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function kE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(kE,"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 ME(e){return`"${e.replace(jL,VL)}"`}s(ME,"printString");var jL=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function VL(e){return GL[e.charCodeAt(0)]}s(VL,"escapedReplacer");var GL=["\\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 Er(e,t,r=_h){let n=new Map;for(let T of Object.values(b))n.set(T,Xn(t,T));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let T=c===a.length,U=T&&u.length!==0;if(T){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),U)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;m.push(d)}let K;if(!Array.isArray(l)){var g,_;zi(l)||G(!1,`Invalid AST Node: ${P(l)}.`);let L=T?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(K=L?.call(t,l,d,p,m,h),K===Th)break;if(K===!1){if(!T){m.pop();continue}}else if(K!==void 0&&(u.push([d,K]),!T))if(zi(K))l=K;else{m.pop();continue}}if(K===void 0&&U&&u.push([d,l]),T)m.pop();else{var S;i={inArray:o,index:c,keys:a,edits:u,prev:i},o=Array.isArray(l),a=o?l:(S=r[l.kind])!==null&&S!==void 0?S:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}s(Er,"visit");function Xn(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(Xn,"getEnterLeaveForKind");function Ue(e){return Er(e,KL)}s(Ue,"print");var BL=80,KL={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>C(e.definitions,`
|
|
95
|
+
spurious results.`)}}return!1},"instanceOf");var Yn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||G(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||G(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||G(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function xE(e){return ze(e,Yn)}s(xE,"isSource");function Gc(e,t){return new Vc(e,t).parseDocument()}s(Gc,"parse");function Bc(e,t){let r=new Vc(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}s(Bc,"parseValue");var Vc=class{static{s(this,"Parser")}constructor(t,r={}){let n=xE(t)?t:new Yn(t);this._lexer=new Qi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(E.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(E.SOF,this.parseDefinition,E.EOF)})}parseDefinition(){if(this.peek(E.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===E.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(E.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(E.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(E.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(E.PAREN_L,this.parseVariableDefinition,E.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(E.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(E.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(E.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(E.BRACE_L,this.parseSelection,E.BRACE_R)})}parseSelection(){return this.peek(E.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(E.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(E.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(E.PAREN_L,r,E.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(E.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(E.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case E.BRACKET_L:return this.parseList(t);case E.BRACE_L:return this.parseObject(t);case E.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case E.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case E.STRING:case E.BLOCK_STRING:return this.parseStringLiteral();case E.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case E.DOLLAR:if(t)if(this.expectToken(E.DOLLAR),this._lexer.token.kind===E.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===E.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(E.BRACKET_L,r,E.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(E.BRACE_L,r,E.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(E.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(E.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(E.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(E.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(E.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(E.STRING)||this.peek(E.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(E.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(E.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseFieldDefinition,E.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(E.COLON);let o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(E.PAREN_L,this.parseInputValueDef,E.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(E.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(E.EQUALS)&&(o=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(E.EQUALS)?this.delimitedMany(E.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(E.BRACE_L,this.parseEnumValueDefinition,E.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${jc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseInputValueDef,E.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===E.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(E.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(E.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(B,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Ki(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 ${LE(t)}, found ${jc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===E.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${jc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===E.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${jc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==E.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function jc(e){let t=e.value;return LE(e.kind)+(t!=null?` "${t}"`:"")}s(jc,"getTokenDesc");function LE(e){return OE(e)?`"${e}"`:e}s(LE,"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 wh(e){return e}s(wh,"identityFunc");function Zn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Zn,"keyMap");function Nt(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Nt,"keyValMap");function Yi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(Yi,"mapValue");function DE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if(Jc(i)&&Jc(o)){let a=0;do++r,a=a*10+i-vh,i=e.charCodeAt(r);while(Jc(i)&&a>0);let c=0;do++n,c=c*10+o-vh,o=t.charCodeAt(n);while(Jc(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(DE,"naturalCompare");var vh=48,qL=57;function Jc(e){return!isNaN(e)&&vh<=e&&e<=qL}s(Jc,"isDigit");function zc(e,t){let r=Object.create(null),n=new Sh(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:DE(o,a)})}s(zc,"suggestionList");var Sh=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 g=1;g<=c;g++){let _=i[d-1]===o[g-1]?0:1,S=Math.min(p[g]+1,m[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===o[g-2]&&i[d-2]===o[g-1]){let T=u[(d-2)%3][g-2];S=Math.min(S,T+1)}S<h&&(h=S),m[g]=S}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 kE(e){return`"${e.replace($L,jL)}"`}s(kE,"printString");var $L=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function jL(e){return VL[e.charCodeAt(0)]}s(jL,"escapedReplacer");var VL=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var Th=Object.freeze({});function Er(e,t,r=_h){let n=new Map;for(let T of Object.values(b))n.set(T,Xn(t,T));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let T=c===a.length,U=T&&u.length!==0;if(T){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),U)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;m.push(d)}let K;if(!Array.isArray(l)){var g,_;Ji(l)||G(!1,`Invalid AST Node: ${P(l)}.`);let L=T?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(K=L?.call(t,l,d,p,m,h),K===Th)break;if(K===!1){if(!T){m.pop();continue}}else if(K!==void 0&&(u.push([d,K]),!T))if(Ji(K))l=K;else{m.pop();continue}}if(K===void 0&&U&&u.push([d,l]),T)m.pop();else{var S;i={inArray:o,index:c,keys:a,edits:u,prev:i},o=Array.isArray(l),a=o?l:(S=r[l.kind])!==null&&S!==void 0?S:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}s(Er,"visit");function Xn(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(Xn,"getEnterLeaveForKind");function Ue(e){return Er(e,BL)}s(Ue,"print");var GL=80,BL={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>C(e.definitions,`
|
|
96
96
|
|
|
97
|
-
`)},OperationDefinition:{leave(e){let t=J("(",C(e.variableDefinitions,", "),")"),r=C([e.operation,C([e.name,t]),C(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",C(n," "))},SelectionSet:{leave:({selections:e})=>pt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let o=J("",e,": ")+t,a=o+J("(",C(r,", "),")");return a.length>
|
|
97
|
+
`)},OperationDefinition:{leave(e){let t=J("(",C(e.variableDefinitions,", "),")"),r=C([e.operation,C([e.name,t]),C(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",C(n," "))},SelectionSet:{leave:({selections:e})=>pt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let o=J("",e,": ")+t,a=o+J("(",C(r,", "),")");return a.length>GL&&(a=o+J(`(
|
|
98
98
|
`,Wc(C(r,`
|
|
99
99
|
`)),`
|
|
100
|
-
)`)),C([a,C(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",C(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>C(["...",J("on ",e),C(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",C(r,", "),")")} on ${t} ${J("",C(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?
|
|
100
|
+
)`)),C([a,C(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",C(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>C(["...",J("on ",e),C(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",C(r,", "),")")} on ${t} ${J("",C(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?AE(e):kE(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+C(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+C(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",C(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
|
|
101
101
|
`)+C(["schema",C(t," "),pt(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
102
102
|
`)+C(["scalar",t,C(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
103
103
|
`)+C(["type",t,J("implements ",C(r," & ")),C(n," "),pt(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
|
|
104
|
-
`)+t+(
|
|
104
|
+
`)+t+(ME(r)?J(`(
|
|
105
105
|
`,Wc(C(r,`
|
|
106
106
|
`)),`
|
|
107
107
|
)`):J("(",C(r,", "),")"))+": "+n+J(" ",C(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
|
|
@@ -111,17 +111,17 @@ spurious results.`)}}return!1},"instanceOf");var Yn=class{static{s(this,"Source"
|
|
|
111
111
|
`)+C(["enum",t,C(r," "),pt(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
112
112
|
`)+C([t,C(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
|
|
113
113
|
`)+C(["input",t,C(r," "),pt(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
|
|
114
|
-
`)+"directive @"+t+(
|
|
114
|
+
`)+"directive @"+t+(ME(r)?J(`(
|
|
115
115
|
`,Wc(C(r,`
|
|
116
116
|
`)),`
|
|
117
117
|
)`):J("(",C(r,", "),")"))+(n?" repeatable":"")+" on "+C(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>C(["extend schema",C(e," "),pt(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>C(["extend scalar",e,C(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>C(["extend type",e,J("implements ",C(t," & ")),C(r," "),pt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>C(["extend interface",e,J("implements ",C(t," & ")),C(r," "),pt(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>C(["extend union",e,C(t," "),J("= ",C(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>C(["extend enum",e,C(t," "),pt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>C(["extend input",e,C(t," "),pt(r)]," ")}};function C(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}s(C,"join");function pt(e){return J(`{
|
|
118
118
|
`,Wc(C(e,`
|
|
119
119
|
`)),`
|
|
120
120
|
}`)}s(pt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}s(J,"wrap");function Wc(e){return J(" ",e.replace(/\n/g,`
|
|
121
|
-
`))}s(Wc,"indent");function
|
|
122
|
-
`)))!==null&&t!==void 0?t:!1}s(HE,"hasMultilineItems");function Xi(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=>Xi(r,t));case b.OBJECT:return Nt(e.fields,r=>r.name.value,r=>Xi(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Xi,"valueFromASTUntyped");function Ve(e){if(e!=null||G(!1,"Must provide name."),typeof e=="string"||G(!1,"Expected name to be a string."),e.length===0)throw new x("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Fc(e.charCodeAt(t)))throw new x(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Wi(e.charCodeAt(0)))throw new x(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function Ih(e){if(e==="true"||e==="false"||e==="null")throw new x(`Enum values cannot be named: ${e}`);return Ve(e)}s(Ih,"assertEnumValueName");function Yc(e){return wr(e)||Ce(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s(Yc,"isType");function wr(e){return ze(e,We)}s(wr,"isScalarType");function Ce(e){return ze(e,Ne)}s(Ce,"isObjectType");function Zc(e){if(!Ce(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(Zc,"assertObjectType");function we(e){return ze(e,Vt)}s(we,"isInterfaceType");function Xc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Xc,"assertInterfaceType");function nt(e){return ze(e,Kr)}s(nt,"isUnionType");function Qe(e){return ze(e,Ct)}s(Qe,"isEnumType");function Ae(e){return ze(e,Jr)}s(Ae,"isInputObjectType");function Ge(e){return ze(e,pe)}s(Ge,"isListType");function ce(e){return ze(e,$)}s(ce,"isNonNullType");function Ye(e){return wr(e)||Qe(e)||Ae(e)||eo(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Gt(e){return wr(e)||Ce(e)||we(e)||nt(e)||Qe(e)||eo(e)&&Gt(e.ofType)}s(Gt,"isOutputType");function vr(e){return wr(e)||Qe(e)}s(vr,"isLeafType");function xt(e){return Ce(e)||we(e)||nt(e)}s(xt,"isCompositeType");function Sr(e){return we(e)||nt(e)}s(Sr,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){Yc(t)||G(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{s(this,"GraphQLNonNull")}constructor(t){eu(t)||G(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function eo(e){return Ge(e)||ce(e)}s(eo,"isWrappingType");function eu(e){return Yc(e)&&!ce(e)}s(eu,"isNullableType");function tu(e){if(!eu(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(tu,"assertNullableType");function ru(e){if(e)return ce(e)?e.ofType:e}s(ru,"getNullableType");function ht(e){if(e){let t=e;for(;eo(t);)t=t.ofType;return t}}s(ht,"getNamedType");function nu(e){return typeof e=="function"?e():e}s(nu,"resolveReadonlyArrayThunk");function iu(e){return typeof e=="function"?e():e}s(iu,"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:wh;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:wh,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Xi(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||G(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||G(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||G(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ne=class{static{s(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>qE(t),this._interfaces=()=>FE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||G(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:$E(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function FE(e){var t;let r=nu((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||G(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(FE,"defineInterfaces");function qE(e){let t=iu(e.fields);return ei(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Zi(t,(r,n)=>{var i;ei(r)||G(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||G(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return ei(o)||G(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:Ph(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}s(qE,"defineFieldMap");function Ph(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(Ph,"defineArguments");function ei(e){return Ee(e)&&!Array.isArray(e)}s(ei,"isPlainObj");function $E(e){return Zi(e,t=>({description:t.description,type:t.type,args:Ah(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s($E,"fieldsToFieldsConfig");function Ah(e){return Nt(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(Ah,"argsToArgsConfig");var Vt=class{static{s(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=qE.bind(void 0,t),this._interfaces=FE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:$E(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Kr=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=JL.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function JL(e){let t=nu(e.types);return Array.isArray(t)||G(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(JL,"defineTypes");var Ct=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=zL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Zn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new x(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new x(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Qc(this,n))}let r=this.getValue(t);if(r==null)throw new x(`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 x(`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 x(`Value "${i}" does not exist in "${this.name}" enum.`+Qc(this,i),{nodes:t})}return n.value}toConfig(){let t=Nt(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=zc(t,r);return Kc("the enum value",n)}s(Qc,"didYouMeanEnumValue");function zL(e,t){return ei(t)||G(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(ei(n)||G(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:Ih(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}s(zL,"defineEnumValues");var Jr=class{static{s(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=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=Zi(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function WL(e){let t=iu(e.fields);return ei(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Zi(t,(r,n)=>(!("resolve"in r)||G(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(WL,"defineInputFieldMap");var ou=2147483647,su=-2147483648,Rh=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=to(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new x(`Int cannot represent non-integer value: ${P(t)}`);if(r>ou||r<su)throw new x("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new x(`Int cannot represent non-integer value: ${P(e)}`);if(e>ou||e<su)throw new x(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new x(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>ou||t<su)throw new x(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),jE=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=to(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new x(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new x(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new x(`Float cannot represent non numeric value: ${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=to(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new x(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new x(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new x(`String cannot represent a non string value: ${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=to(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new x(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new x(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new x(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),au=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=to(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new x(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new x(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new x("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),Oh=Object.freeze([se,Rh,jE,ke,au]);function to(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(to,"serializeObject");function Nh(e){return ze(e,ft)}s(Nh,"isDirective");var ft=class{static{s(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||G(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||G(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Ph(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Ah(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},VE=new ft({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Included when true."}}}),GE=new ft({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Skipped when true."}}}),BE="No longer supported",KE=new ft({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[B.FIELD_DEFINITION,B.ARGUMENT_DEFINITION,B.INPUT_FIELD_DEFINITION,B.ENUM_VALUE],args:{reason:{type:se,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:BE}}}),JE=new ft({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[B.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),Ch=Object.freeze([VE,GE,KE,JE]);function cu(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(cu,"isIterableObject");function zr(e,t){if(ce(t)){let r=zr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(cu(e)){let n=[];for(let i of e){let o=zr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return zr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=zr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(vr(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 zE.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===au&&zE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Ot(!1,"Unexpected input type: "+P(t))}s(zr,"astFromValue");var zE=/^-?(?:0|[1-9][0-9]*)$/;var ro=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 $(xh))),resolve:e=>e.getDirectives()}})}),xh=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
121
|
+
`))}s(Wc,"indent");function ME(e){var t;return(t=e?.some(r=>r.includes(`
|
|
122
|
+
`)))!==null&&t!==void 0?t:!1}s(ME,"hasMultilineItems");function Zi(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=>Zi(r,t));case b.OBJECT:return Nt(e.fields,r=>r.name.value,r=>Zi(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Zi,"valueFromASTUntyped");function Ve(e){if(e!=null||G(!1,"Must provide name."),typeof e=="string"||G(!1,"Expected name to be a string."),e.length===0)throw new x("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Fc(e.charCodeAt(t)))throw new x(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!zi(e.charCodeAt(0)))throw new x(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function Ih(e){if(e==="true"||e==="false"||e==="null")throw new x(`Enum values cannot be named: ${e}`);return Ve(e)}s(Ih,"assertEnumValueName");function Yc(e){return wr(e)||Ce(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s(Yc,"isType");function wr(e){return ze(e,We)}s(wr,"isScalarType");function Ce(e){return ze(e,Ne)}s(Ce,"isObjectType");function Zc(e){if(!Ce(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(Zc,"assertObjectType");function we(e){return ze(e,Vt)}s(we,"isInterfaceType");function Xc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Xc,"assertInterfaceType");function nt(e){return ze(e,Kr)}s(nt,"isUnionType");function Qe(e){return ze(e,Ct)}s(Qe,"isEnumType");function Ae(e){return ze(e,Jr)}s(Ae,"isInputObjectType");function Ge(e){return ze(e,pe)}s(Ge,"isListType");function ce(e){return ze(e,$)}s(ce,"isNonNullType");function Ye(e){return wr(e)||Qe(e)||Ae(e)||Xi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Gt(e){return wr(e)||Ce(e)||we(e)||nt(e)||Qe(e)||Xi(e)&&Gt(e.ofType)}s(Gt,"isOutputType");function vr(e){return wr(e)||Qe(e)}s(vr,"isLeafType");function xt(e){return Ce(e)||we(e)||nt(e)}s(xt,"isCompositeType");function Sr(e){return we(e)||nt(e)}s(Sr,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){Yc(t)||G(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{s(this,"GraphQLNonNull")}constructor(t){eu(t)||G(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Xi(e){return Ge(e)||ce(e)}s(Xi,"isWrappingType");function eu(e){return Yc(e)&&!ce(e)}s(eu,"isNullableType");function tu(e){if(!eu(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(tu,"assertNullableType");function ru(e){if(e)return ce(e)?e.ofType:e}s(ru,"getNullableType");function ht(e){if(e){let t=e;for(;Xi(t);)t=t.ofType;return t}}s(ht,"getNamedType");function nu(e){return typeof e=="function"?e():e}s(nu,"resolveReadonlyArrayThunk");function iu(e){return typeof e=="function"?e():e}s(iu,"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:wh;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:wh,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Zi(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||G(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||G(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||G(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ne=class{static{s(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>FE(t),this._interfaces=()=>HE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||G(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:qE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function HE(e){var t;let r=nu((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||G(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(HE,"defineInterfaces");function FE(e){let t=iu(e.fields);return ei(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Yi(t,(r,n)=>{var i;ei(r)||G(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||G(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return ei(o)||G(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:Ph(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}s(FE,"defineFieldMap");function Ph(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(Ph,"defineArguments");function ei(e){return Ee(e)&&!Array.isArray(e)}s(ei,"isPlainObj");function qE(e){return Yi(e,t=>({description:t.description,type:t.type,args:Ah(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(qE,"fieldsToFieldsConfig");function Ah(e){return Nt(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(Ah,"argsToArgsConfig");var Vt=class{static{s(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=FE.bind(void 0,t),this._interfaces=HE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:qE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Kr=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=KL.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function KL(e){let t=nu(e.types);return Array.isArray(t)||G(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(KL,"defineTypes");var Ct=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=JL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Zn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new x(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new x(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Qc(this,n))}let r=this.getValue(t);if(r==null)throw new x(`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 x(`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 x(`Value "${i}" does not exist in "${this.name}" enum.`+Qc(this,i),{nodes:t})}return n.value}toConfig(){let t=Nt(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=zc(t,r);return Kc("the enum value",n)}s(Qc,"didYouMeanEnumValue");function JL(e,t){return ei(t)||G(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(ei(n)||G(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:Ih(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}s(JL,"defineEnumValues");var Jr=class{static{s(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=zL.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Yi(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 zL(e){let t=iu(e.fields);return ei(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Yi(t,(r,n)=>(!("resolve"in r)||G(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(zL,"defineInputFieldMap");var ou=2147483647,su=-2147483648,Rh=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=eo(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new x(`Int cannot represent non-integer value: ${P(t)}`);if(r>ou||r<su)throw new x("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new x(`Int cannot represent non-integer value: ${P(e)}`);if(e>ou||e<su)throw new x(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new x(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>ou||t<su)throw new x(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),$E=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=eo(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new x(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new x(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new x(`Float cannot represent non numeric value: ${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=eo(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new x(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new x(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new x(`String cannot represent a non string value: ${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=eo(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new x(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new x(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new x(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),au=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=eo(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new x(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new x(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new x("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),Oh=Object.freeze([se,Rh,$E,ke,au]);function eo(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(eo,"serializeObject");function Nh(e){return ze(e,ft)}s(Nh,"isDirective");var ft=class{static{s(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||G(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||G(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Ph(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Ah(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},jE=new ft({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Included when true."}}}),VE=new ft({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Skipped when true."}}}),GE="No longer supported",BE=new ft({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[B.FIELD_DEFINITION,B.ARGUMENT_DEFINITION,B.INPUT_FIELD_DEFINITION,B.ENUM_VALUE],args:{reason:{type:se,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:GE}}}),KE=new ft({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[B.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),Ch=Object.freeze([jE,VE,BE,KE]);function cu(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(cu,"isIterableObject");function zr(e,t){if(ce(t)){let r=zr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(cu(e)){let n=[];for(let i of e){let o=zr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return zr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=zr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(vr(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 JE.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===au&&JE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Ot(!1,"Unexpected input type: "+P(t))}s(zr,"astFromValue");var JE=/^-?(?:0|[1-9][0-9]*)$/;var to=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 $(xh))),resolve:e=>e.getDirectives()}})}),xh=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
123
123
|
|
|
124
|
-
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(ke),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(Lh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(no))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Lh=new Ct({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:B.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:B.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:B.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:B.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:B.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:B.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:B.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:B.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:B.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:B.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:B.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:B.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:B.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:B.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:B.UNION,description:"Location adjacent to a union definition."},ENUM:{value:B.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:B.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:B.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:B.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new Ne({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(kh),resolve(e){if(wr(e))return ee.SCALAR;if(Ce(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Ot(!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(Ce(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(Ce(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(Sr(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Uh)),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 $(no)),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 $(no))),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}})}),no=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=zr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Uh=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 kh=new Ct({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."}}}),uu={name:"__schema",type:new $(ro),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},lu={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},du={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},Mh=Object.freeze([ro,xh,Lh,it,Dh,no,Uh,kh]);var io=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||G(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||G(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||G(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n: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(Nh(o))for(let a of o.args)mt(a.type,i);mt(ro,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let o of i){if(o==null)continue;let a=o.name;if(a||G(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=o,we(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(o)}}else if(Ce(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function mt(e,t){let r=ht(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())mt(n,t);else if(Ce(r)||we(r)){for(let n of r.getInterfaces())mt(n,t);for(let n of Object.values(r.getFields())){mt(n.type,t);for(let i of n.args)mt(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))mt(n.type,t)}return t}s(mt,"collectReferencedTypes");function Tr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=Tr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=Tr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(Tr,"typeFromAST");var Ir=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??QL,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=ht(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ce(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?Tr(r,i):ht(this.getType());this._typeStack.push(Gt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=Tr(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=ru(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 QL(e,t,r){let n=r.name.value;if(n===uu.name&&e.getQueryType()===t)return uu;if(n===lu.name&&e.getQueryType()===t)return lu;if(n===du.name&&xt(t))return du;if(Ce(t)||we(t))return t.getFields()[n]}s(QL,"getFieldDef");function ti(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Xn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),zi(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=Xn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(ti,"visitWithTypeInfo");function pu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(pu,"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=YL){return oo(e,t,r,void 0)}s(Fh,"coerceInputValue");function YL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${pu(e)}"`),r.message=n+": "+r.message,r}s(YL,"defaultOnError");function oo(e,t,r,n){if(ce(t)){if(e!=null)return oo(e,t.ofType,r,n);r(Bt(n),e,new x(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return cu(e)?Array.from(e,(o,a)=>{let c=Hh(n,a,void 0);return oo(o,i,r,c)}):[oo(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new x(`Expected type "${t.name}" to be an object.`));return}let i={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Bt(n),e,new x(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=oo(c,a.type,r,Hh(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=zc(a,Object.keys(t.getFields()));r(Bt(n),e,new x(`Field "${a}" is not defined by type "${t.name}".`+Kc(c)))}return i}if(vr(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof x?r(Bt(n),e,o):r(Bt(n),e,new x(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Bt(n),e,new x(`Expected type "${t.name}".`)),i}Ot(!1,"Unexpected input type: "+P(t))}s(oo,"coerceInputValueImpl");function Lt(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:Lt(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(WE(a,r)){if(ce(n))return;o.push(null)}else{let c=Lt(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=Lt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Zn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||WE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ce(o.type))return;continue}let c=Lt(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(vr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Ot(!1,"Unexpected input type: "+P(t))}}s(Lt,"valueFromAST");function WE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(WE,"isMissingVariable");function hu(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=ZL(e,t,r,c=>{if(o!=null&&i.length>=o)throw new x("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}s(hu,"getVariableValues");function ZL(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=Tr(e,o.type);if(!Ye(c)){let l=Ue(o.type);n(new x(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!QE(r,a)){if(o.defaultValue)i[a]=Lt(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new x(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new x(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=Fh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${pu(l)}"`),n(new x(m+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(ZL,"coerceVariableValues");function so(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Zn(o,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!QE(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}m=r[g]==null}if(m&&ce(l))throw new x(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Lt(p,l,r);if(h===void 0)throw new x(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}s(so,"getArgumentValues");function ao(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 so(e,i,r)}s(ao,"getDirectiveValues");function QE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(QE,"hasOwnProperty");var fu=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}},YE=class extends fu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},ri=class extends fu{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 Ir(this._schema);Er(t,ti(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 mu(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 $(ro))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Lh=new Ct({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:B.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:B.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:B.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:B.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:B.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:B.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:B.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:B.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:B.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:B.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:B.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:B.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:B.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:B.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:B.UNION,description:"Location adjacent to a union definition."},ENUM:{value:B.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:B.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:B.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:B.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new Ne({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(kh),resolve(e){if(wr(e))return ee.SCALAR;if(Ce(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Ot(!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(Ce(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(Ce(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(Sr(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Uh)),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 $(ro)),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 $(ro))),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}})}),ro=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=zr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Uh=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 kh=new Ct({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."}}}),uu={name:"__schema",type:new $(to),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},lu={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},du={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},Mh=Object.freeze([to,xh,Lh,it,Dh,ro,Uh,kh]);var no=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||G(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||G(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||G(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n: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(Nh(o))for(let a of o.args)mt(a.type,i);mt(to,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let o of i){if(o==null)continue;let a=o.name;if(a||G(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=o,we(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(o)}}else if(Ce(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function mt(e,t){let r=ht(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())mt(n,t);else if(Ce(r)||we(r)){for(let n of r.getInterfaces())mt(n,t);for(let n of Object.values(r.getFields())){mt(n.type,t);for(let i of n.args)mt(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))mt(n.type,t)}return t}s(mt,"collectReferencedTypes");function Tr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=Tr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=Tr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(Tr,"typeFromAST");var Ir=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??WL,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=ht(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ce(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?Tr(r,i):ht(this.getType());this._typeStack.push(Gt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=Tr(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=ru(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 WL(e,t,r){let n=r.name.value;if(n===uu.name&&e.getQueryType()===t)return uu;if(n===lu.name&&e.getQueryType()===t)return lu;if(n===du.name&&xt(t))return du;if(Ce(t)||we(t))return t.getFields()[n]}s(WL,"getFieldDef");function ti(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Xn(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=Xn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(ti,"visitWithTypeInfo");function pu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(pu,"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=QL){return io(e,t,r,void 0)}s(Fh,"coerceInputValue");function QL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${pu(e)}"`),r.message=n+": "+r.message,r}s(QL,"defaultOnError");function io(e,t,r,n){if(ce(t)){if(e!=null)return io(e,t.ofType,r,n);r(Bt(n),e,new x(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return cu(e)?Array.from(e,(o,a)=>{let c=Hh(n,a,void 0);return io(o,i,r,c)}):[io(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new x(`Expected type "${t.name}" to be an object.`));return}let i={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Bt(n),e,new x(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=io(c,a.type,r,Hh(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=zc(a,Object.keys(t.getFields()));r(Bt(n),e,new x(`Field "${a}" is not defined by type "${t.name}".`+Kc(c)))}return i}if(vr(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof x?r(Bt(n),e,o):r(Bt(n),e,new x(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Bt(n),e,new x(`Expected type "${t.name}".`)),i}Ot(!1,"Unexpected input type: "+P(t))}s(io,"coerceInputValueImpl");function Lt(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:Lt(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(zE(a,r)){if(ce(n))return;o.push(null)}else{let c=Lt(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=Lt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Zn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||zE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ce(o.type))return;continue}let c=Lt(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(vr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Ot(!1,"Unexpected input type: "+P(t))}}s(Lt,"valueFromAST");function zE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(zE,"isMissingVariable");function hu(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=YL(e,t,r,c=>{if(o!=null&&i.length>=o)throw new x("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}s(hu,"getVariableValues");function YL(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=Tr(e,o.type);if(!Ye(c)){let l=Ue(o.type);n(new x(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!WE(r,a)){if(o.defaultValue)i[a]=Lt(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new x(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new x(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=Fh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${pu(l)}"`),n(new x(m+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(YL,"coerceVariableValues");function oo(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Zn(o,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!WE(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}m=r[g]==null}if(m&&ce(l))throw new x(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Lt(p,l,r);if(h===void 0)throw new x(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}s(oo,"getArgumentValues");function so(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 oo(e,i,r)}s(so,"getDirectiveValues");function WE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(WE,"hasOwnProperty");var fu=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}},QE=class extends fu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},ri=class extends fu{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 Ir(this._schema);Er(t,ti(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 mu(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(mu,"getIntrospectionQuery");function yu(e,t){Ee(e)&&Ee(e.__schema)||G(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Nt(r.types,w=>w.name,w=>m(w));for(let w of[...Oh,...Mh])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 io({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 xe=u(H);return new $(tu(xe))}return l(w)}function l(w){let H=w.name;if(!H)throw new Error(`Unknown type reference: ${P(w)}.`);let xe=n[H];if(!xe)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return xe}function d(w){return Zc(l(w))}function p(w){return Xc(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 _(w);case ee.INTERFACE:return S(w);case ee.UNION:return T(w);case ee.ENUM:return U(w);case ee.INPUT_OBJECT:return K(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 g(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 _(w){return new Ne({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function S(w){return new Vt({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function T(w){if(!w.possibleTypes){let H=P(w);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new Kr({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function U(w){if(!w.enumValues){let H=P(w);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Ct({name:w.name,description:w.description,values:Nt(w.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function K(w){if(!w.inputFields){let H=P(w);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new Jr({name:w.name,description:w.description,fields:()=>ie(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Nt(w.fields,H=>H.name,ne)}function ne(w){let H=u(w.type);if(!Gt(H)){let xe=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${xe}.`)}if(!w.args){let xe=P(w);throw new Error(`Introspection result missing field args: ${xe}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:H,args:ie(w.args)}}function ie(w){return Nt(w,H=>H.name,me)}function me(w){let H=u(w.type);if(!Ye(H)){let bu=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${bu}.`)}let xe=w.defaultValue!=null?Lt(Bc(w.defaultValue),H):void 0;return{description:w.description,type:H,defaultValue:xe,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(yu,"buildClientSchema");function vD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(vD,"queryComplexityMessage");function ZE(e){let t=new Ir(e.schema),r=[],n=new ri(e.schema,e.query,t,o=>r.push(o)),i=new qh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(Er(e.query,ti(t,i)),r.length)throw r.pop();return i.complexity}s(ZE,"getComplexity");var qh=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}=hu(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;Sr(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&&ao(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&ao(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=ht(p.type),h;try{h=so(p,c,this.variableValues||{})}catch(T){return this.context.reportError(T),a}let g=0;xt(m)&&(g=this.nodeComplexity(c,m));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(T=>{let U=T(_);return typeof U=="number"&&!isNaN(U)?(u=ni(U,a,i),!0):!1}))return this.context.reportError(new x(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(m))break;let h=this.nodeComplexity(p,m);Sr(m)?u=ni(h,a,this.context.getSchema().getPossibleTypes(m).map(g=>g.name)):u=ni(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);Sr(p)?u=ni(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=ni(m,a,[p.name]);break}default:{u=ni(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new x(vD(this.options.maximumComplexity,this.complexity))}};function ni(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(ni,"addComplexities");function XE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(XE,"simpleEstimator");var ew=s((e,t,r={})=>{let{definitions:n}=e,i=SD(n),o=TD(n);return Object.entries(o).map(([a,c])=>gu(c,i,0,t,a,r))},"depthLimit");function SD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(SD,"getFragments");function TD(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(TD,"getQueriesAndMutations");function gu(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new x(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return ID(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>gu(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return gu(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=>gu(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(gu,"determineDepth");var ID=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var PD=s(async(e,t)=>{if(!t.complexityLimit)throw new ii.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new ii.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=mu(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new x("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=yu(c,{assumeValid:!0}),l=ZE({estimators:[XE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new x(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),AD=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new ii.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...ew(e,r))},"applyDepthLimitPolicy"),tw=s(async(e,t,r)=>{let n=ii.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=Gc(o.query);r.useDepthLimit&&await AD(a,r.useDepthLimit),r.useComplexityLimit&&await PD(a,r.useComplexityLimit)}catch(i){if(i instanceof x)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var rw=Vh(Ut());function RD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(RD,"isIntrospectionQuery");var nw=s(async(e,t)=>{let n=await e.clone().json();return RD(n.query)?rw.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
229
|
+
`}s(mu,"getIntrospectionQuery");function yu(e,t){Ee(e)&&Ee(e.__schema)||G(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Nt(r.types,w=>w.name,w=>m(w));for(let w of[...Oh,...Mh])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 no({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 xe=u(H);return new $(tu(xe))}return l(w)}function l(w){let H=w.name;if(!H)throw new Error(`Unknown type reference: ${P(w)}.`);let xe=n[H];if(!xe)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return xe}function d(w){return Zc(l(w))}function p(w){return Xc(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 _(w);case ee.INTERFACE:return S(w);case ee.UNION:return T(w);case ee.ENUM:return U(w);case ee.INPUT_OBJECT:return K(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 g(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 _(w){return new Ne({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function S(w){return new Vt({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function T(w){if(!w.possibleTypes){let H=P(w);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new Kr({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function U(w){if(!w.enumValues){let H=P(w);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Ct({name:w.name,description:w.description,values:Nt(w.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function K(w){if(!w.inputFields){let H=P(w);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new Jr({name:w.name,description:w.description,fields:()=>ie(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Nt(w.fields,H=>H.name,ne)}function ne(w){let H=u(w.type);if(!Gt(H)){let xe=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${xe}.`)}if(!w.args){let xe=P(w);throw new Error(`Introspection result missing field args: ${xe}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:H,args:ie(w.args)}}function ie(w){return Nt(w,H=>H.name,me)}function me(w){let H=u(w.type);if(!Ye(H)){let bu=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${bu}.`)}let xe=w.defaultValue!=null?Lt(Bc(w.defaultValue),H):void 0;return{description:w.description,type:H,defaultValue:xe,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(yu,"buildClientSchema");function wD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(wD,"queryComplexityMessage");function YE(e){let t=new Ir(e.schema),r=[],n=new ri(e.schema,e.query,t,o=>r.push(o)),i=new qh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(Er(e.query,ti(t,i)),r.length)throw r.pop();return i.complexity}s(YE,"getComplexity");var qh=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}=hu(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;Sr(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&&so(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&so(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=ht(p.type),h;try{h=oo(p,c,this.variableValues||{})}catch(T){return this.context.reportError(T),a}let g=0;xt(m)&&(g=this.nodeComplexity(c,m));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(T=>{let U=T(_);return typeof U=="number"&&!isNaN(U)?(u=ni(U,a,i),!0):!1}))return this.context.reportError(new x(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(m))break;let h=this.nodeComplexity(p,m);Sr(m)?u=ni(h,a,this.context.getSchema().getPossibleTypes(m).map(g=>g.name)):u=ni(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);Sr(p)?u=ni(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=ni(m,a,[p.name]);break}default:{u=ni(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new x(wD(this.options.maximumComplexity,this.complexity))}};function ni(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(ni,"addComplexities");function ZE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(ZE,"simpleEstimator");var XE=s((e,t,r={})=>{let{definitions:n}=e,i=vD(n),o=SD(n);return Object.entries(o).map(([a,c])=>gu(c,i,0,t,a,r))},"depthLimit");function vD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(vD,"getFragments");function SD(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(SD,"getQueriesAndMutations");function gu(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new x(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return TD(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>gu(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return gu(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=>gu(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(gu,"determineDepth");var TD=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var ID=s(async(e,t)=>{if(!t.complexityLimit)throw new ii.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new ii.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=mu(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new x("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=yu(c,{assumeValid:!0}),l=YE({estimators:[ZE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new x(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),PD=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new ii.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...XE(e,r))},"applyDepthLimitPolicy"),ew=s(async(e,t,r)=>{let n=ii.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=Gc(o.query);r.useDepthLimit&&await PD(a,r.useDepthLimit),r.useComplexityLimit&&await ID(a,r.useComplexityLimit)}catch(i){if(i instanceof x)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var tw=Vh(Ut());function AD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(AD,"isIntrospectionQuery");var rw=s(async(e,t)=>{let n=await e.clone().json();return AD(n.query)?tw.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
230
230
|
/*! For license information please see index.minified.js.LEGAL.txt */
|