@zuplo/graphql 5.1770.0 → 5.1772.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.minified.js +37 -37
- package/package.json +1 -1
package/index.minified.js
CHANGED
|
@@ -22,17 +22,17 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
"use strict";var QE=Object.create;var ri=Object.defineProperty;var YE=Object.getOwnPropertyDescriptor;var ZE=Object.getOwnPropertyNames;var XE=Object.getPrototypeOf,ew=Object.prototype.hasOwnProperty;var s=(e,t)=>ri(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),io=(e,t)=>{for(var r in t)ri(e,r,{get:t[r],enumerable:!0})},xh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ZE(t))!ew.call(e,i)&&i!==r&&ri(e,i,{get:()=>t[i],enumerable:!(n=YE(t,i))||n.enumerable});return e};var Ch=(e,t,r)=>(r=e!=null?QE(XE(e)):{},xh(t||!e||!e.__esModule?ri(r,"default",{value:e,enumerable:!0}):r,e)),oo=e=>xh(ri({},"__esModule",{value:!0}),e);var A=y(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.FeatureNotEnabledError=mt.ConfigurationError=mt.RuntimeError=mt.SystemError=void 0;var hu=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};mt.SystemError=hu;var ni=class extends Error{static{s(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};mt.RuntimeError=ni;var fu=class extends ni{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};mt.ConfigurationError=fu;var mu=class extends ni{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};mt.FeatureNotEnabledError=mu});var z=y(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.Environment=void 0;var tw=A(),yu=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 tw.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"}};so.Environment=yu});var kh=y(Uh=>{"use strict";Object.defineProperty(Uh,"__esModule",{value:!0});var Lh=z();Function.prototype.toString=function(){return"[native code]"};var ao=globalThis,Dh=ao.caches;if(Dh){let e=Dh.open;ao.caches.open=function(t){let r=Lh.Environment.instance.deploymentName??Lh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete ao.caches.default,Object.freeze(ao.caches)}});var _u=y(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.MemoryCache=void 0;var rw=1e4,nw=1e3,Mh=new Map,gu=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+rw*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},bu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:nw}){this.name=t;let n=Mh.get(t);n||(n=new gu(r),Mh.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()}};co.MemoryCache=bu});var ii=y(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.ZoneCache=void 0;var Eu="__zuplo-expiry-header",wu=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(Eu);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(Eu,`${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(Eu,`${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)}};uo.ZoneCache=wu});var Kt=y(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.MemoryZoneReadThroughCache=void 0;var iw=_u(),ow=ii(),vu=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new iw.MemoryCache(n),this.#r=new ow.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)}};lo.MemoryZoneReadThroughCache=vu});var oi=y(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.INTERNAL_HEADERS_TO_REMOVE=O.DISPATCH_HEADERS_TO_REMOVE=O.ZP_TIMEZONE_HEADER=O.ZP_REGION_CODE_HEADER=O.ZP_REGION_HEADER=O.ZP_METRO_CODE_HEADER=O.ZP_POSTAL_CODE_HEADER=O.ZP_COLO_HEADER=O.ZP_AS_ORG_HEADER=O.ZP_ASN_HEADER=O.TRUE_CLIENT_IP=O.ZP_IP_LATITUDE_HEADER=O.ZP_IP_LONGITUDE_HEADER=O.ZP_IP_COUNTRY_HEADER=O.ZP_IP_CONTINENT_HEADER=O.ZP_IP_CITY_HEADER=O.CF_IP_LATITUDE_HEADER=O.CF_IP_LONGITUDE_HEADER=O.CF_IP_COUNTRY_HEADER=O.CF_IP_CONTINENT_HEADER=O.CF_IP_CITY_HEADER=O.RAY_ID_HEADER=O.BODY_REMOVED_HEADER=O.REQUEST_ID_HEADER=O.LEGACY_REQUEST_ID_HEADER=void 0;O.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";O.REQUEST_ID_HEADER="zp-rid";O.BODY_REMOVED_HEADER="zp-body-removed";O.RAY_ID_HEADER="cf-ray";O.CF_IP_CITY_HEADER="cf-ipcity";O.CF_IP_CONTINENT_HEADER="cf-ipcontinent";O.CF_IP_COUNTRY_HEADER="cf-ipcountry";O.CF_IP_LONGITUDE_HEADER="cf-iplongitude";O.CF_IP_LATITUDE_HEADER="cf-iplatitude";O.ZP_IP_CITY_HEADER="zp-ipcity";O.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";O.ZP_IP_COUNTRY_HEADER="zp-ipcountry";O.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";O.ZP_IP_LATITUDE_HEADER="zp-iplatitude";O.TRUE_CLIENT_IP="true-client-ip";O.ZP_ASN_HEADER="zp-asn";O.ZP_AS_ORG_HEADER="zp-asorg";O.ZP_COLO_HEADER="zp-colo";O.ZP_POSTAL_CODE_HEADER="zp-postalcode";O.ZP_METRO_CODE_HEADER="zp-metrocode";O.ZP_REGION_HEADER="zp-region";O.ZP_REGION_CODE_HEADER="zp-regioncode";O.ZP_TIMEZONE_HEADER="zp-timezone";O.DISPATCH_HEADERS_TO_REMOVE=[O.CF_IP_CITY_HEADER,O.CF_IP_CONTINENT_HEADER,O.CF_IP_COUNTRY_HEADER,O.CF_IP_LONGITUDE_HEADER,O.CF_IP_LATITUDE_HEADER,O.ZP_ASN_HEADER,O.ZP_AS_ORG_HEADER,O.ZP_COLO_HEADER,O.ZP_POSTAL_CODE_HEADER,O.ZP_METRO_CODE_HEADER,O.ZP_REGION_HEADER,O.ZP_REGION_CODE_HEADER,O.ZP_TIMEZONE_HEADER];O.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var Kh=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 Hh=!0,Su=!Hh;function sw(e){Hh||(Su=e)}s(sw,"setColorEnabled");v.setColorEnabled=sw;function aw(){return Su}s(aw,"getColorEnabled");v.getColorEnabled=aw;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 Su?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function cw(e){return q(e,F([0],0))}s(cw,"reset");v.reset=cw;function uw(e){return q(e,F([1],22))}s(uw,"bold");v.bold=uw;function lw(e){return q(e,F([2],22))}s(lw,"dim");v.dim=lw;function dw(e){return q(e,F([3],23))}s(dw,"italic");v.italic=dw;function pw(e){return q(e,F([4],24))}s(pw,"underline");v.underline=pw;function hw(e){return q(e,F([7],27))}s(hw,"inverse");v.inverse=hw;function fw(e){return q(e,F([8],28))}s(fw,"hidden");v.hidden=fw;function mw(e){return q(e,F([9],29))}s(mw,"strikethrough");v.strikethrough=mw;function yw(e){return q(e,F([30],39))}s(yw,"black");v.black=yw;function Fh(e){return q(e,F([31],39))}s(Fh,"red");v.red=Fh;function qh(e){return q(e,F([32],39))}s(qh,"green");v.green=qh;function $h(e){return q(e,F([33],39))}s($h,"yellow");v.yellow=$h;function jh(e){return q(e,F([34],39))}s(jh,"blue");v.blue=jh;function Vh(e){return q(e,F([35],39))}s(Vh,"magenta");v.magenta=Vh;function Gh(e){return q(e,F([36],39))}s(Gh,"cyan");v.cyan=Gh;function gw(e){return q(e,F([37],39))}s(gw,"white");v.white=gw;function bw(e){return Bh(e)}s(bw,"gray");v.gray=bw;function Bh(e){return q(e,F([90],39))}s(Bh,"brightBlack");v.brightBlack=Bh;function _w(e){return q(e,F([91],39))}s(_w,"brightRed");v.brightRed=_w;function Ew(e){return q(e,F([92],39))}s(Ew,"brightGreen");v.brightGreen=Ew;function ww(e){return q(e,F([93],39))}s(ww,"brightYellow");v.brightYellow=ww;function vw(e){return q(e,F([94],39))}s(vw,"brightBlue");v.brightBlue=vw;function Sw(e){return q(e,F([95],39))}s(Sw,"brightMagenta");v.brightMagenta=Sw;function Tw(e){return q(e,F([96],39))}s(Tw,"brightCyan");v.brightCyan=Tw;function Iw(e){return q(e,F([97],39))}s(Iw,"brightWhite");v.brightWhite=Iw;function Pw(e){return q(e,F([40],49))}s(Pw,"bgBlack");v.bgBlack=Pw;function Aw(e){return q(e,F([41],49))}s(Aw,"bgRed");v.bgRed=Aw;function Rw(e){return q(e,F([42],49))}s(Rw,"bgGreen");v.bgGreen=Rw;function Ow(e){return q(e,F([43],49))}s(Ow,"bgYellow");v.bgYellow=Ow;function Nw(e){return q(e,F([44],49))}s(Nw,"bgBlue");v.bgBlue=Nw;function xw(e){return q(e,F([45],49))}s(xw,"bgMagenta");v.bgMagenta=xw;function Cw(e){return q(e,F([46],49))}s(Cw,"bgCyan");v.bgCyan=Cw;function Lw(e){return q(e,F([47],49))}s(Lw,"bgWhite");v.bgWhite=Lw;function Dw(e){return q(e,F([100],49))}s(Dw,"bgBrightBlack");v.bgBrightBlack=Dw;function Uw(e){return q(e,F([101],49))}s(Uw,"bgBrightRed");v.bgBrightRed=Uw;function kw(e){return q(e,F([102],49))}s(kw,"bgBrightGreen");v.bgBrightGreen=kw;function Mw(e){return q(e,F([103],49))}s(Mw,"bgBrightYellow");v.bgBrightYellow=Mw;function Hw(e){return q(e,F([104],49))}s(Hw,"bgBrightBlue");v.bgBrightBlue=Hw;function Fw(e){return q(e,F([105],49))}s(Fw,"bgBrightMagenta");v.bgBrightMagenta=Fw;function qw(e){return q(e,F([106],49))}s(qw,"bgBrightCyan");v.bgBrightCyan=qw;function $w(e){return q(e,F([107],49))}s($w,"bgBrightWhite");v.bgBrightWhite=$w;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(Jt,"clampAndTruncate");function jw(e,t){return q(e,F([38,5,Jt(t)],39))}s(jw,"rgb8");v.rgb8=jw;function Vw(e,t){return q(e,F([48,5,Jt(t)],49))}s(Vw,"bgRgb8");v.bgRgb8=Vw;function Gw(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(Gw,"rgb24");v.rgb24=Gw;function Bw(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(Bw,"bgRgb24");v.bgRgb24=Bw;var Kw=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 Jw(e){return e.replace(Kw,"")}s(Jw,"stripColor");v.stripColor=Jw;v.colorFunctions=[Fh,qh,$h,jh,Vh,Gh];function Ww(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(Ww,"hashCode");function zw(e){let t=Math.abs(Ww(e));return v.colorFunctions[t%v.colorFunctions.length]}s(zw,"generateColor");v.generateColor=zw});var Jh=y(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.format=void 0;function Qw(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 ni=Object.defineProperty;var ow=Object.getOwnPropertyDescriptor;var sw=Object.getOwnPropertyNames;var aw=Object.getPrototypeOf,cw=Object.prototype.hasOwnProperty;var s=(e,t)=>ni(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),io=(e,t)=>{for(var r in t)ni(e,r,{get:t[r],enumerable:!0})},Ch=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of sw(t))!cw.call(e,i)&&i!==r&&ni(e,i,{get:()=>t[i],enumerable:!(n=ow(t,i))||n.enumerable});return e};var Lh=(e,t,r)=>(r=e!=null?iw(aw(e)):{},Ch(t||!e||!e.__esModule?ni(r,"default",{value:e,enumerable:!0}):r,e)),oo=e=>Ch(ni({},"__esModule",{value:!0}),e);var A=y(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.FeatureNotEnabledError=mt.ConfigurationError=mt.RuntimeError=mt.SystemError=void 0;var mu=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};mt.SystemError=mu;var ii=class extends Error{static{s(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};mt.RuntimeError=ii;var yu=class extends ii{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};mt.ConfigurationError=yu;var gu=class extends ii{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};mt.FeatureNotEnabledError=gu});var W=y(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.Environment=void 0;var uw=A(),bu=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"}};so.Environment=bu});var Mh=y(kh=>{"use strict";Object.defineProperty(kh,"__esModule",{value:!0});var Dh=W();Function.prototype.toString=function(){return"[native code]"};var ao=globalThis,Uh=ao.caches;if(Uh){let e=Uh.open;ao.caches.open=function(t){let r=Dh.Environment.instance.deploymentName??Dh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete ao.caches.default,Object.freeze(ao.caches)}});var wu=y(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.MemoryCache=void 0;var lw=1e4,dw=1e3,Hh=new Map,_u=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)})}},Eu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:dw}){this.name=t;let n=Hh.get(t);n||(n=new _u(r),Hh.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()}};co.MemoryCache=Eu});var oi=y(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.ZoneCache=void 0;var vu="__zuplo-expiry-header",Su=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(vu);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(vu,`${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(vu,`${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)}};uo.ZoneCache=Su});var Kt=y(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.MemoryZoneReadThroughCache=void 0;var pw=wu(),hw=oi(),Tu=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)}};lo.MemoryZoneReadThroughCache=Tu});var si=y(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.INTERNAL_HEADERS_TO_REMOVE=O.DISPATCH_HEADERS_TO_REMOVE=O.ZP_TIMEZONE_HEADER=O.ZP_REGION_CODE_HEADER=O.ZP_REGION_HEADER=O.ZP_METRO_CODE_HEADER=O.ZP_POSTAL_CODE_HEADER=O.ZP_COLO_HEADER=O.ZP_AS_ORG_HEADER=O.ZP_ASN_HEADER=O.TRUE_CLIENT_IP=O.ZP_IP_LATITUDE_HEADER=O.ZP_IP_LONGITUDE_HEADER=O.ZP_IP_COUNTRY_HEADER=O.ZP_IP_CONTINENT_HEADER=O.ZP_IP_CITY_HEADER=O.CF_IP_LATITUDE_HEADER=O.CF_IP_LONGITUDE_HEADER=O.CF_IP_COUNTRY_HEADER=O.CF_IP_CONTINENT_HEADER=O.CF_IP_CITY_HEADER=O.RAY_ID_HEADER=O.BODY_REMOVED_HEADER=O.REQUEST_ID_HEADER=O.LEGACY_REQUEST_ID_HEADER=void 0;O.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";O.REQUEST_ID_HEADER="zp-rid";O.BODY_REMOVED_HEADER="zp-body-removed";O.RAY_ID_HEADER="cf-ray";O.CF_IP_CITY_HEADER="cf-ipcity";O.CF_IP_CONTINENT_HEADER="cf-ipcontinent";O.CF_IP_COUNTRY_HEADER="cf-ipcountry";O.CF_IP_LONGITUDE_HEADER="cf-iplongitude";O.CF_IP_LATITUDE_HEADER="cf-iplatitude";O.ZP_IP_CITY_HEADER="zp-ipcity";O.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";O.ZP_IP_COUNTRY_HEADER="zp-ipcountry";O.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";O.ZP_IP_LATITUDE_HEADER="zp-iplatitude";O.TRUE_CLIENT_IP="true-client-ip";O.ZP_ASN_HEADER="zp-asn";O.ZP_AS_ORG_HEADER="zp-asorg";O.ZP_COLO_HEADER="zp-colo";O.ZP_POSTAL_CODE_HEADER="zp-postalcode";O.ZP_METRO_CODE_HEADER="zp-metrocode";O.ZP_REGION_HEADER="zp-region";O.ZP_REGION_CODE_HEADER="zp-regioncode";O.ZP_TIMEZONE_HEADER="zp-timezone";O.DISPATCH_HEADERS_TO_REMOVE=[O.CF_IP_CITY_HEADER,O.CF_IP_CONTINENT_HEADER,O.CF_IP_COUNTRY_HEADER,O.CF_IP_LONGITUDE_HEADER,O.CF_IP_LATITUDE_HEADER,O.ZP_ASN_HEADER,O.ZP_AS_ORG_HEADER,O.ZP_COLO_HEADER,O.ZP_POSTAL_CODE_HEADER,O.ZP_METRO_CODE_HEADER,O.ZP_REGION_HEADER,O.ZP_REGION_CODE_HEADER,O.ZP_TIMEZONE_HEADER];O.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var Jh=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 Fh=!0,Iu=!Fh;function fw(e){Fh||(Iu=e)}s(fw,"setColorEnabled");v.setColorEnabled=fw;function mw(){return Iu}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 Iu?`${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 $h(e){return q(e,F([32],39))}s($h,"green");v.green=$h;function jh(e){return q(e,F([33],39))}s(jh,"yellow");v.yellow=jh;function Vh(e){return q(e,F([34],39))}s(Vh,"blue");v.blue=Vh;function Gh(e){return q(e,F([35],39))}s(Gh,"magenta");v.magenta=Gh;function Bh(e){return q(e,F([36],39))}s(Bh,"cyan");v.cyan=Bh;function Iw(e){return q(e,F([37],39))}s(Iw,"white");v.white=Iw;function Pw(e){return Kh(e)}s(Pw,"gray");v.gray=Pw;function Kh(e){return q(e,F([90],39))}s(Kh,"brightBlack");v.brightBlack=Kh;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 xw(e){return q(e,F([95],39))}s(xw,"brightMagenta");v.brightMagenta=xw;function Cw(e){return q(e,F([96],39))}s(Cw,"brightCyan");v.brightCyan=Cw;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,$h,jh,Vh,Gh,Bh];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 zh=y(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.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");po.format=iv});var ef=y(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.inspect=void 0;function Tr(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),ho(i,e,i.depth)}s(Tr,"inspect");fo.inspect=Tr;Tr.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};Tr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function ov(e,t){return e}s(ov,"stylizeNoColor");function sv(e){return typeof e=="boolean"}s(sv,"isBoolean");function Qh(e){return e===void 0}s(Qh,"isUndefined");function av(e,t){let r=Tr.styles[t];return r?"\x1B["+Tr.colors[r][0]+"m"+e+"\x1B["+Tr.colors[r][1]+"m":e}s(av,"stylizeWithColor");function Pu(e){return typeof e=="function"}s(Pu,"isFunction");function Yh(e){return typeof e=="string"}s(Yh,"isString");function cv(e){return typeof e=="number"}s(cv,"isNumber");function Zh(e){return e===null}s(Zh,"isNull");function Xh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(Xh,"hasOwn");function Au(e){return xu(e)&&Cu(e)==="[object RegExp]"}s(Au,"isRegExp");function xu(e){return typeof e=="object"&&e!==null}s(xu,"isObject");function Ru(e){return xu(e)&&(Cu(e)==="[object Error]"||e instanceof Error)}s(Ru,"isError");function Wh(e){return xu(e)&&Cu(e)==="[object Date]"}s(Wh,"isDate");function Cu(e){return Object.prototype.toString.call(e)}s(Cu,"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)Xh(t,String(a))?o.push(Nu(e,t,r,n,String(a),!0)):o.push("");return i.forEach(function(a){a.match(/^\d+$/)||o.push(Nu(e,t,r,n,a,!0))}),o}s(lv,"formatArray");function Ou(e){return"["+Error.prototype.toString.call(e)+"]"}s(Ou,"formatError");function ho(e,t,r){if(e.customInspect&&t&&Pu(t.inspect)&&t.inspect!==Tr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Yh(d)||(d=ho(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(Ru(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Ou(t);if(i.length===0){if(Pu(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(Au(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Wh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Ru(t))return Ou(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Pu(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),Au(t)&&(a=" "+RegExp.prototype.toString.call(t)),Wh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),Ru(t)&&(a=" "+Ou(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return Au(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 Nu(e,t,r,o,d,c)}),e.seen.pop(),pv(l,a,u)}s(ho,"formatValue");function Nu(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")),Xh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(Zh(r)?c=ho(e,u.value,null):c=ho(e,u.value,r-1),c.indexOf(`
|
|
27
27
|
`)>-1&&(o?c=c.split(`
|
|
28
28
|
`).map(function(l){return" "+l}).join(`
|
|
29
29
|
`).substr(2):c=`
|
|
30
30
|
`+c.split(`
|
|
31
31
|
`).map(function(l){return" "+l}).join(`
|
|
32
|
-
`))):c=e.stylize("[Circular]","special")),
|
|
32
|
+
`))):c=e.stylize("[Circular]","special")),Qh(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(Nu,"formatProperty");function dv(e,t){if(Qh(t))return e.stylize("undefined","undefined");if(Yh(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(Zh(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(iv,"reduceToSingleString")});var ef=y(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.format=void 0;var ov=Jh(),sv=Xh(),av=s((e,...t)=>(0,ov.format)(sv.inspect,e,t),"format");mo.format=av});var Ir=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.debug=Wt.withoutEnv=Wt.Debugger=void 0;var cv=Kh(),uv=ef(),yo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,cv.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,uv.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};Wt.Debugger=yo;var go=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function tf(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(tf,"extract");var si;function lv(e){e||(e=[]),typeof e=="string"&&(e=tf(e)),si=new go(e)}s(lv,"withoutEnv");Wt.withoutEnv=lv;function dv(e){let t=globalThis.DEBUG;si||(si=new go(tf(t)));let r=new yo(si,e);return si.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(dv,"debug");Wt.debug=dv});var _o=y(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.ProblemResponseFormatter=Br.InternalProblemResponseFormatter=void 0;var pv=A(),bo=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 pv.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Br.InternalProblemResponseFormatter=bo;var xu=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await bo.problemResponseFormat(t,r,n)}};Br.ProblemResponseFormatter=xu});var nf=y(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.deepFreeze=void 0;function rf(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&rf(r)}return Object.freeze(e)}s(rf,"deepFreeze");Eo.deepFreeze=rf});var Me=y(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.ZuploRequest=void 0;var of=nf(),Cu=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,of.deepFreeze)(this.#e)}get params(){return(0,of.deepFreeze)(this.#t)}user};wo.ZuploRequest=Cu});var yt=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 sf=A(),hv=_o(),fv=Me(),So=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=So;var To=class extends So{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=To;ye.runtimeExtensions={};var Lu=[];ye.plugins=Lu;var af=[],cf=[],uf=[],vo={addPlugin(e){Lu.push(e)},addRequestHook(e){af.push(e)},addResponseSendingHook(e){cf.push(e)},addResponseSendingFinalHook(e){uf.push(e)}},mv=s(async(e,t)=>{let r=e;for(let n of af){let i=await n(r,t);if(i instanceof fv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new sf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=mv;var yv=s(async(e,t,r)=>{let n=e;for(let i of cf){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new sf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=yv;var gv=s(async(e,t,r)=>{for(let n of uf)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=gv;async function bv(e=()=>Promise.resolve()){await e(vo),ye.runtimeExtensions.value=vo;for(let t of Lu)t instanceof To&&await t.initialize(vo);hv.InternalProblemResponseFormatter.setProblemResponseFormat(vo.problemResponseFormat)}s(bv,"initializeRuntime");ye.initializeRuntime=bv});var Du=y(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.serialize=zt.ContentTypes=void 0;zt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function _v(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(zt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(zt.ContentTypes.Json)||!t?JSON.stringify(e):e}s(_v,"serialize");zt.serialize=_v});var Uu=y(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.isSystemRoute=void 0;var lf=Pr();function Ev(e){return lf.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(lf.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}s(Ev,"isSystemRoute");Io.isSystemRoute=Ev});var Lt=y(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.Pipeline=void 0;var ku=Ar(),df=yt(),wv=Du(),vv=z(),Sv=Uu(),Mu=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 H=>{let K=await n(H,o);return Tv(K)},r)(_,o)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,Sv.isSystemRoute)(d)&&vv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new ku.ResponseSendingEvent(i,l);o.dispatchEvent(p);let m=ku.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,df.invokeOnResponseSendingExtensions)(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}o.dispatchEvent(new ku.ResponseSentEvent(i,g));try{await m.onResponseSendingFinal(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,df.invokeOnResponseSendingFinalExtensions)(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Po.Pipeline=Mu;function Tv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,wv.serialize)(e),{headers:{"content-type":"application/json"}})}s(Tv,"resultToResponse")});var Ro=y(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.MetricsPlugin=void 0;var Iv=yt(),Hu=class extends Iv.RuntimePlugin{static{s(this,"MetricsPlugin")}};Ao.MetricsPlugin=Hu});var He=y(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.SystemLogMap=void 0;var Pv=A(),Fu=class e{static{s(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new Pv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Oo.SystemLogMap=Fu});var ve=y(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.BatchDispatch=void 0;var qu=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}};No.BatchDispatch=qu});var hf=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.EllieMetricsTransport=void 0;var pf=He(),Av=ve(),xo=z(),$u=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=xo.Environment.instance.loggingId,this.#e=t,this.#t=new Av.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,pf.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}=xo.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":xo.Environment.instance.deploymentName??"unknown","user-agent":xo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();pf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Co.EllieMetricsTransport=$u});var ot=y(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.systemNoVersion=Rr.SystemRouteConfiguration=void 0;var ju=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=Rr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Rr.SystemRouteConfiguration=ju;Rr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=y(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.metricsProcessor=void 0;var ff=oi(),Rv=Ar(),Ov=yt(),Nv=Ro(),xv=hf(),Cv=ot(),Lv=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(ff.RAY_ID_HEADER)??void 0,u=e.headers.get(ff.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof Cv.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Rv.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 xv.EllieMetricsTransport(t)),Ov.plugins.forEach(g=>{if(g instanceof Nv.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(m,t)}),a},"metricsProcessor");Lo.metricsProcessor=Lv});var Vu=y(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.SystemRouteName=void 0;var mf;(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"})(mf||(Do.SystemRouteName=mf={}))});var gf=y(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0})});var Or=y(Yt=>{"use strict";var Dv=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]}),bf=Yt&&Yt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Dv(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});bf(Vu(),Yt);bf(gf(),Yt)});var _f=y(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.registerBuildRoute=void 0;var Uv=Dt(),kv=Lt(),Mv=Qt(),Hv=Or(),Fv=ot(),qv=He(),$v=z(),jv=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 Uv.HttpProblems.notFound(o,a);let l=$v.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"&&qv.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 kv.Pipeline({processors:[Mv.metricsProcessor],handler:r,gateway:t}),i=new Fv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Hv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Uo.registerBuildRoute=jv});var Gu=y(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.HTTP_STATUS_TITLES=Kr.HttpStatusCode=void 0;var Ef;(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"})(Ef||(Kr.HttpStatusCode=Ef={}));Kr.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 Ku=y(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});var Vv={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};Bu.default=Vv});var te=y(Jr=>{"use strict";var Gv=Jr&&Jr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.HttpProblems=void 0;var Bv=oi(),N=Gu(),Kv=Gv(Ku()),Jv=z(),Ju=_o();function Wv(e){return`${new URL(e.url).pathname}`}s(Wv,"instance");function zv(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Jv.Environment.instance.build.BUILD_ID},n=e.headers.get(Bv.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(zv,"trace");var Qv=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:Wv(t),trace:zv(t,r),...n},additionalHeaders:i,statusText:Kv.default[e.status]}),"merge"),Wu=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Ju.ProblemResponseFormatter.format(t,r,n):Ju.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},zu=class extends Wu{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=Qv(this.getProblemFromStatus(t),r,n,i,o);return Ju.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Jr.HttpProblems=zu});var gt=y(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:Yv}=Object.prototype,{propertyIsEnumerable:Zv}=Object.prototype;function wf(e){return Yv.call(e)}s(wf,"toString");U.toString=wf;function ko(e){return typeof e=="string"}s(ko,"isString");U.isString=ko;function Xv(e){return ko(e)&&e!==""}s(Xv,"isNonEmptyString");U.isNonEmptyString=Xv;function eS(e){return Array.isArray(e)&&e.every(t=>ko(t))}s(eS,"isStringArray");U.isStringArray=eS;function tS(e){return wf(e)==="[object RegExp]"}s(tS,"isRegexp");U.isRegexp=tS;function rS(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Zv.call(e,t))]}s(rS,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=rS;function Qu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(Qu,"isObject");U.isObject=Qu;function nS(e){return Qu(e)&&Array.isArray(e)}s(nS,"isArray");U.isArray=nS;function iS(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(iS,"isTypedArray");U.isTypedArray=iS;function oS(e){return typeof e=="number"&&!isNaN(e)}s(oS,"isNumber");U.isNumber=oS;function sS(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(sS,"isIterable");U.isIterable=sS;function aS(e){return e===!0||e===!1}s(aS,"isBoolean");U.isBoolean=aS;function vf(e){return typeof e>"u"}s(vf,"isUndefined");U.isUndefined=vf;function cS(e){return!ai(e)}s(cS,"isDefined");U.isDefined=cS;function ai(e){return vf(e)||e===null}s(ai,"isUndefinedOrNull");U.isUndefinedOrNull=ai;function uS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(uS,"assertType");U.assertType=uS;function lS(e){if(ai(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(lS,"assertIsDefined");U.assertIsDefined=lS;function dS(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ai(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(dS,"assertAllDefined");U.assertAllDefined=dS;var pS=Object.prototype.hasOwnProperty;function hS(e){if(!Qu(e))return!1;for(let t in e)if(pS.call(e,t))return!1;return!0}s(hS,"isEmptyObject");U.isEmptyObject=hS;function Yu(e){return typeof e=="function"}s(Yu,"isFunction");U.isFunction=Yu;function fS(...e){return e.length>0&&e.every(Yu)}s(fS,"areFunctions");U.areFunctions=fS;function mS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Sf(e[n],t[n])}s(mS,"validateConstraints");U.validateConstraints=mS;function Sf(e,t){if(ko(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Yu(t)){try{if(e instanceof t)return}catch{}if(!ai(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}s(Sf,"validateConstraint");U.validateConstraint=Sf;function yS(e){return e===null?void 0:e}s(yS,"withNullAsUndefined");U.withNullAsUndefined=yS;function gS(e){return typeof e>"u"?null:e}s(gS,"withUndefinedAsNull");U.withUndefinedAsNull=gS;function bS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(bS,"isErrorLike");U.isErrorLike=bS});var zr=y(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.parseValueToBoolean=bt.parseValueToStringArray=bt.getValueFromRequestUser=bt.statusCodesStringToNumberArray=void 0;var Wr=A(),Zu=gt(),Tf=new Map;function _S(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=Tf.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 Tf.set(e,n),n}s(_S,"statusCodesStringToNumberArray");bt.statusCodesStringToNumberArray=_S;function ES(e,t,r){if(!t.startsWith("."))throw new Wr.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 Wr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(ES,"getValueFromRequestUser");bt.getValueFromRequestUser=ES;function wS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Wr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Zu.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Wr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(wS,"parseValueToStringArray");bt.parseValueToStringArray=wS;function vS(e){if((0,Zu.isBoolean)(e))return e;if((0,Zu.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Wr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Wr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(vS,"parseValueToBoolean");bt.parseValueToBoolean=vS});var Ho=y(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Nr=A(),If=zr(),Mo=gt();function SS(e){if(e==null)return[];if(!Array.isArray(e))throw new Nr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Mo.isObject)(r))throw new Nr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Mo.isNonEmptyString)(r.name))throw new Nr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Mo.isNumber)(r.maxAge))throw new Nr.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,Mo.isBoolean)(r.allowCredentials))throw new Nr.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=Xu(r,"allowedHeaders"),i=Xu(r,"allowedMethods"),o=Xu(r,"exposeHeaders"),a;try{a=(0,If.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Nr.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(SS,"parseCorsPolicies");Zt.parseCorsPolicies=SS;function Xu(e,t){let r;if(e[t]!==void 0)try{r=(0,If.parseValueToStringArray)(e[t])}catch(n){throw new Nr.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(Xu,"parseOptionalProperty");var TS=s((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Zt.findMatchingOrigin=TS;var IS=s((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Zt.generateCorsHeaders=IS});var Af=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.registerCorsRoute=void 0;var PS=A(),AS=Lt(),el=te(),RS=Qt(),OS=Or(),NS=ot(),Pf=Ho(),xS=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 el.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return el.HttpProblems.notFound(a,c);let h=m.routeConfiguration,g=CS(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),el.HttpProblems.notFound(a,c))},"optionsHandler"),i=new AS.Pipeline({processors:[RS.metricsProcessor],handler:n,gateway:t}),o=new NS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:OS.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");Fo.registerCorsRoute=xS;var CS=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 PS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Pf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Pf.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Rf=y(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.registerNoRoutes=void 0;var LS=Lt(),DS=Qt(),US=Or(),kS=ot(),MS=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 LS.Pipeline({processors:[DS.metricsProcessor],handler:r,gateway:t}),i=new kS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:US.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");qo.registerNoRoutes=MS});var Of=y(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.registerNotMatchedHandler=xr.notFoundRouteConfiguration=void 0;var HS=Ar(),FS=yt(),qS=Lt(),$S=te(),jS=Qt(),VS=Or(),GS=ot();xr.notFoundRouteConfiguration=new GS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:VS.SystemRouteName.UnmatchedPath});var BS=s((e,t)=>{let r=s(async(i,o)=>{let a=FS.runtimeExtensions.value?.notFoundHandler;if(a){let c=HS.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return $S.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new qS.Pipeline({processors:[jS.metricsProcessor],handler:r,gateway:t});e.addRoute(xr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");xr.registerNotMatchedHandler=BS});var tl=y($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.corsProcessor=void 0;var Cf=A(),Nf=Ho(),KS=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],xf=s(e=>{KS.forEach(t=>e.delete(t))},"stripCorsHeaders"),JS=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 xf(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 Cf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=WS(i,r.routeData.corsPolicies),c=zS(e,a),u=new Headers(o.headers);return xf(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");$o.corsProcessor=JS;var WS=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 Cf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),zS=s((e,t)=>{let r=(0,Nf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,Nf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Lf=y(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.registerPingRoute=void 0;var QS=Lt(),YS=tl(),ZS=Or(),XS=ot(),eT=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new QS.Pipeline({processors:[YS.corsProcessor],handler:r,gateway:t}),i=new XS.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:ZS.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");jo.registerPingRoute=eT});var Yr=y(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var tT=Ar(),Qr=A(),Df=Me(),rT=z();function Uf(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 Qr.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 Qr.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(Uf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=Uf;function nT(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new Qr.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 Qr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:o.handler.export,handler:a,options:o.handler.options,policyName:o.name}})}s(nT,"getOutboundPolicyHandlerAndOptions");var iT=s(e=>async(t,r)=>{let n=tT.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 Df.ZuploRequest)o=c;else if(c instanceof Request)o=new Df.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Qr.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=iT;var oT=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 Qr.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"),sT=s(async(e,t,r,n)=>{let i=Uf(t.route,r.routeData.policies),o=nT(t.route,r.routeData.policies);return kf({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");st.policyProcessor=sT;function aT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>kf({request:n,context:i,inboundPolicies:e.map(c=>({...c,exportName:"default",policyName:c.handler.name})),outboundPolicies:t.map(c=>({...c,exportName:"default",policyName:c.handler.name})),gateway:o,next:a}),"policyProcessor")}s(aT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=aT;async function kf({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=oT(n),d;return rT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}s(kf,"executePolicyProcessor")});var Mf=y(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.serialize=Zr.parse=void 0;var cT=Object.prototype.toString,Vo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function uT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||dT,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]=fT(l,i)}o=c+1}return r}s(uT,"parse");Zr.parse=uT;function lT(e,t,r){let n=r||{},i=n.encode||pT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Vo.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!Vo.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(!Vo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Vo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!hT(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(lT,"serialize");Zr.serialize=lT;function dT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(dT,"decode");function pT(e){return encodeURIComponent(e)}s(pT,"encode");function hT(e){return cT.call(e)==="[object Date]"||e instanceof Date}s(hT,"isDate");function fT(e,t){try{return t(e)}catch{return e}}s(fT,"tryDecode")});var Hf=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.devPortalBaseURL=void 0;var mT=Mf();function yT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,mT.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(yT,"devPortalBaseURL");Go.devPortalBaseURL=yT});var Vf=y(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.registerDevPortalLegacyRedirectRoute=Xr.registerDevPortalV3Route=void 0;var rl=Dt(),qf=Lt(),$f=Qt(),gT=Yr(),jf=ot(),bT=Hf(),Xt=z(),Ff="/__zuplo/dev-portal",_T="dev-portal-id",ET="dev-portal-host",wT="zp-account",vT="zp-project",ST="dev-portal-build",TT=`
|
|
35
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}s(pv,"reduceToSingleString")});var tf=y(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.format=void 0;var hv=zh(),fv=ef(),mv=s((e,...t)=>(0,hv.format)(fv.inspect,e,t),"format");mo.format=mv});var Ir=y(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var yv=Jh(),gv=tf(),yo=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=yo;var go=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function rf(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(rf,"extract");var ai;function bv(e){e||(e=[]),typeof e=="string"&&(e=rf(e)),ai=new go(e)}s(bv,"withoutEnv");zt.withoutEnv=bv;function _v(e){let t=globalThis.DEBUG;ai||(ai=new go(rf(t)));let r=new yo(ai,e);return ai.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(_v,"debug");zt.debug=_v});var _o=y(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.ProblemResponseFormatter=Br.InternalProblemResponseFormatter=void 0;var Ev=A(),bo=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})}})}};Br.InternalProblemResponseFormatter=bo;var Lu=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await bo.problemResponseFormat(t,r,n)}};Br.ProblemResponseFormatter=Lu});var of=y(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.deepFreeze=void 0;function nf(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&nf(r)}return Object.freeze(e)}s(nf,"deepFreeze");Eo.deepFreeze=nf});var Me=y(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.ZuploRequest=void 0;var sf=of(),Du=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,sf.deepFreeze)(this.#e)}get params(){return(0,sf.deepFreeze)(this.#t)}user};wo.ZuploRequest=Du});var yt=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 af=A(),wv=_o(),vv=Me(),So=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=So;var To=class extends So{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=To;ye.runtimeExtensions={};var Uu=[];ye.plugins=Uu;var cf=[],uf=[],lf=[],vo={addPlugin(e){Uu.push(e)},addRequestHook(e){cf.push(e)},addResponseSendingHook(e){uf.push(e)},addResponseSendingFinalHook(e){lf.push(e)}},Sv=s(async(e,t)=>{let r=e;for(let n of cf){let i=await n(r,t);if(i instanceof vv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new af.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 uf){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new af.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 lf)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Iv;async function Pv(e=()=>Promise.resolve()){await e(vo),ye.runtimeExtensions.value=vo;for(let t of Uu)t instanceof To&&await t.initialize(vo);wv.InternalProblemResponseFormatter.setProblemResponseFormat(vo.problemResponseFormat)}s(Pv,"initializeRuntime");ye.initializeRuntime=Pv});var ku=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 Mu=y(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.isSystemRoute=void 0;var df=Pr();function Rv(e){return df.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(df.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}s(Rv,"isSystemRoute");Io.isSystemRoute=Rv});var Lt=y(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.Pipeline=void 0;var Hu=Ar(),pf=yt(),Ov=ku(),Nv=W(),xv=Mu(),Fu=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 H=>{let K=await n(H,o);return Cv(K)},r)(_,o)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,xv.isSystemRoute)(d)&&Nv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new Hu.ResponseSendingEvent(i,l);o.dispatchEvent(p);let m=Hu.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,pf.invokeOnResponseSendingExtensions)(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}o.dispatchEvent(new Hu.ResponseSentEvent(i,g));try{await m.onResponseSendingFinal(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,pf.invokeOnResponseSendingFinalExtensions)(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Po.Pipeline=Fu;function Cv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Ov.serialize)(e),{headers:{"content-type":"application/json"}})}s(Cv,"resultToResponse")});var Ro=y(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.MetricsPlugin=void 0;var Lv=yt(),qu=class extends Lv.RuntimePlugin{static{s(this,"MetricsPlugin")}};Ao.MetricsPlugin=qu});var He=y(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.SystemLogMap=void 0;var Dv=A(),$u=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)}};Oo.SystemLogMap=$u});var ve=y(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.BatchDispatch=void 0;var ju=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}};No.BatchDispatch=ju});var ff=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.EllieMetricsTransport=void 0;var hf=He(),Uv=ve(),xo=W(),Vu=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=xo.Environment.instance.loggingId,this.#e=t,this.#t=new Uv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,hf.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}=xo.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":xo.Environment.instance.deploymentName??"unknown","user-agent":xo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();hf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Co.EllieMetricsTransport=Vu});var ot=y(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.systemNoVersion=Rr.SystemRouteConfiguration=void 0;var Gu=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=Rr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Rr.SystemRouteConfiguration=Gu;Rr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=y(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.metricsProcessor=void 0;var mf=si(),kv=Ar(),Mv=yt(),Hv=Ro(),Fv=ff(),qv=ot(),$v=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(mf.RAY_ID_HEADER)??void 0,u=e.headers.get(mf.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");Lo.metricsProcessor=$v});var Bu=y(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.SystemRouteName=void 0;var yf;(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"})(yf||(Do.SystemRouteName=yf={}))});var bf=y(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0})});var Or=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]}),_f=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});_f(Bu(),Yt);_f(bf(),Yt)});var Ef=y(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.registerBuildRoute=void 0;var Vv=Dt(),Gv=Lt(),Bv=Qt(),Kv=Or(),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");Uo.registerBuildRoute=Qv});var Ku=y(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.HTTP_STATUS_TITLES=Kr.HttpStatusCode=void 0;var wf;(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"})(wf||(Kr.HttpStatusCode=wf={}));Kr.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(Ju=>{"use strict";Object.defineProperty(Ju,"__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"};Ju.default=Yv});var te=y(Jr=>{"use strict";var Zv=Jr&&Jr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.HttpProblems=void 0;var Xv=si(),N=Ku(),eS=Zv(zu()),tS=W(),Wu=_o();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"),Qu=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Wu.ProblemResponseFormatter.format(t,r,n):Wu.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}}},Yu=class extends Qu{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=iS(this.getProblemFromStatus(t),r,n,i,o);return Wu.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)};Jr.HttpProblems=Yu});var gt=y(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:oS}=Object.prototype,{propertyIsEnumerable:sS}=Object.prototype;function vf(e){return oS.call(e)}s(vf,"toString");U.toString=vf;function ko(e){return typeof e=="string"}s(ko,"isString");U.isString=ko;function aS(e){return ko(e)&&e!==""}s(aS,"isNonEmptyString");U.isNonEmptyString=aS;function cS(e){return Array.isArray(e)&&e.every(t=>ko(t))}s(cS,"isStringArray");U.isStringArray=cS;function uS(e){return vf(e)==="[object RegExp]"}s(uS,"isRegexp");U.isRegexp=uS;function lS(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>sS.call(e,t))]}s(lS,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=lS;function Zu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(Zu,"isObject");U.isObject=Zu;function dS(e){return Zu(e)&&Array.isArray(e)}s(dS,"isArray");U.isArray=dS;function pS(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(pS,"isTypedArray");U.isTypedArray=pS;function hS(e){return typeof e=="number"&&!isNaN(e)}s(hS,"isNumber");U.isNumber=hS;function fS(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(fS,"isIterable");U.isIterable=fS;function mS(e){return e===!0||e===!1}s(mS,"isBoolean");U.isBoolean=mS;function Sf(e){return typeof e>"u"}s(Sf,"isUndefined");U.isUndefined=Sf;function yS(e){return!ci(e)}s(yS,"isDefined");U.isDefined=yS;function ci(e){return Sf(e)||e===null}s(ci,"isUndefinedOrNull");U.isUndefinedOrNull=ci;function gS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(gS,"assertType");U.assertType=gS;function bS(e){if(ci(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(bS,"assertIsDefined");U.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");U.assertAllDefined=_S;var ES=Object.prototype.hasOwnProperty;function wS(e){if(!Zu(e))return!1;for(let t in e)if(ES.call(e,t))return!1;return!0}s(wS,"isEmptyObject");U.isEmptyObject=wS;function Xu(e){return typeof e=="function"}s(Xu,"isFunction");U.isFunction=Xu;function vS(...e){return e.length>0&&e.every(Xu)}s(vS,"areFunctions");U.areFunctions=vS;function SS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Tf(e[n],t[n])}s(SS,"validateConstraints");U.validateConstraints=SS;function Tf(e,t){if(ko(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Xu(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(Tf,"validateConstraint");U.validateConstraint=Tf;function TS(e){return e===null?void 0:e}s(TS,"withNullAsUndefined");U.withNullAsUndefined=TS;function IS(e){return typeof e>"u"?null:e}s(IS,"withUndefinedAsNull");U.withUndefinedAsNull=IS;function PS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(PS,"isErrorLike");U.isErrorLike=PS});var Wr=y(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.parseValueToBoolean=bt.parseValueToStringArray=bt.getValueFromRequestUser=bt.statusCodesStringToNumberArray=void 0;var zr=A(),el=gt(),If=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=If.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 If.set(e,n),n}s(AS,"statusCodesStringToNumberArray");bt.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");bt.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,el.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");bt.parseValueToStringArray=OS;function NS(e){if((0,el.isBoolean)(e))return e;if((0,el.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");bt.parseValueToBoolean=NS});var Ho=y(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Nr=A(),Pf=Wr(),Mo=gt();function xS(e){if(e==null)return[];if(!Array.isArray(e))throw new Nr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Mo.isObject)(r))throw new Nr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Mo.isNonEmptyString)(r.name))throw new Nr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Mo.isNumber)(r.maxAge))throw new Nr.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,Mo.isBoolean)(r.allowCredentials))throw new Nr.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=tl(r,"allowedHeaders"),i=tl(r,"allowedMethods"),o=tl(r,"exposeHeaders"),a;try{a=(0,Pf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Nr.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");Zt.parseCorsPolicies=xS;function tl(e,t){let r;if(e[t]!==void 0)try{r=(0,Pf.parseValueToStringArray)(e[t])}catch(n){throw new Nr.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(tl,"parseOptionalProperty");var CS=s((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Zt.findMatchingOrigin=CS;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");Zt.generateCorsHeaders=LS});var Rf=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.registerCorsRoute=void 0;var DS=A(),US=Lt(),rl=te(),kS=Qt(),MS=Or(),HS=ot(),Af=Ho(),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 rl.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return rl.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),rl.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");Fo.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,Af.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Af.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Of=y(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.registerNoRoutes=void 0;var $S=Lt(),jS=Qt(),VS=Or(),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");qo.registerNoRoutes=BS});var Nf=y(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.registerNotMatchedHandler=xr.notFoundRouteConfiguration=void 0;var KS=Ar(),JS=yt(),zS=Lt(),WS=te(),QS=Qt(),YS=Or(),ZS=ot();xr.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(xr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");xr.registerNotMatchedHandler=XS});var nl=y($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.corsProcessor=void 0;var Lf=A(),xf=Ho(),eT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Cf=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 Cf(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 Lf.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 Cf(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");$o.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 Lf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),nT=s((e,t)=>{let r=(0,xf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,xf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Df=y(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.registerPingRoute=void 0;var iT=Lt(),oT=nl(),sT=Or(),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");jo.registerPingRoute=cT});var Yr=y(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var uT=Ar(),Qr=A(),Uf=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 Qr.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 Qr.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 Qr.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 Qr.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 Uf.ZuploRequest)o=c;else if(c instanceof Request)o=new Uf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Qr.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 Qr.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 Mf({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)=>Mf({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 Mf({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(Mf,"executePolicyProcessor")});var Hf=y(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.serialize=Zr.parse=void 0;var yT=Object.prototype.toString,Vo=/^[\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");Zr.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(!Vo.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!Vo.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(!Vo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Vo.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");Zr.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 Ff=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.devPortalBaseURL=void 0;var ST=Hf();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");Go.devPortalBaseURL=TT});var Gf=y(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.registerDevPortalLegacyRedirectRoute=Xr.registerDevPortalV3Route=void 0;var il=Dt(),$f=Lt(),jf=Qt(),IT=Yr(),Vf=ot(),PT=Ff(),Xt=W(),qf="/__zuplo/dev-portal",AT="dev-portal-id",RT="dev-portal-host",OT="zp-account",NT="zp-project",xT="dev-portal-build",CT=`
|
|
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=Xt.Environment.instance.deploymentName,i=Xt.Environment.instance.devPortalBaseUrl,o=s(async(u,l)=>{if(Xt.Environment.instance.isLocalDevelopment)return new Response(CT,{headers:{"content-type":"text/html"}});if(!n)return il.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 Xt.Environment.instance.build.ACCOUNT_NAME&&h.set(OT,Xt.Environment.instance.build.ACCOUNT_NAME),Xt.Environment.instance.build.PROJECT_NAME&&h.set(NT,Xt.Environment.instance.build.PROJECT_NAME),h.set(AT,n),h.set(RT,d.host),h.set(xT,Xt.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:h,method:g,body:_,redirect:"manual"})},"devPortalRoute"),a=new $f.Pipeline({processors:[jf.metricsProcessor,IT.policyProcessor],handler:o,gateway:t}),c=new Vf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:il.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Xr.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 $f.Pipeline({processors:[jf.metricsProcessor],handler:n,gateway:t}),o=new Vf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${qf}(.*)`,systemRouteName:il.SystemRouteName.DeveloperPortalLegacy});e.addRoute(o,i.execute)},"registerDevPortalLegacyRedirectRoute");Xr.registerDevPortalLegacyRedirectRoute=DT});var ol=y(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.API_KEY=en.SYSTEM_LOGGER=void 0;en.SYSTEM_LOGGER="system-logger";en.API_KEY="api-key"});var Bf=y(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.CoreLogger=void 0;var sl=0,al=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){sl>=Number.MAX_SAFE_INTEGER&&(sl=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:sl++};this.#t[t](c,a)}};Bo.CoreLogger=al});var Ut=y(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.LogPlugin=void 0;var UT=yt(),cl=class extends UT.RuntimePlugin{static{s(this,"LogPlugin")}};Ko.LogPlugin=cl});var Kf=y(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.LoggingContext=void 0;var ul=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)}};Jo.LoggingContext=ul});var Jf=y(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.RequestLogger=void 0;var ll=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=ll});var Cr=y(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.cleanStack=er.serializeError=er.NonError=void 0;var zf=gt(),kT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),MT=new Map(kT),dl=class e extends Error{static{s(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};er.NonError=dl;var HT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],pl=Symbol(".toJSON was called"),FT=s(e=>{e[pl]=!0;let t=e.toJSON();return delete e[pl],t},"toJSON"),qT=s(e=>MT.get(e)??Error,"getErrorConstructor"),Wf=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,zf.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[pl]!==!0)return FT(e);let u=s(l=>Wf({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,zf.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?Wf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}s($T,"serializeError");er.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");er.cleanStack=BT});var Qf=y(fl=>{"use strict";Object.defineProperty(fl,"__esModule",{value:!0});var hl=gt();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
|
-
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,
|
|
55
|
-
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}s(
|
|
56
|
-
`)}s(jT,"messagesToMultilineText");Fe.messagesToMultilineText=jT;function Zf(e){return typeof e=="string"?e:JSON.stringify(e)}s(Zf,"stringifyNonString");Fe.stringifyNonString=Zf;function Xf(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,Yf.toString)(e):"unknown"}s(Xf,"stringifyNonStringToText");Fe.stringifyNonStringToText=Xf});var D,ae,Se=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var VT,zo,fl=I(()=>{Se();VT=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),zo=VT});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 em(e,t){return Te(Z.encode(e),new Uint8Array([0]),t)}function ml(e,t,r){if(t<0||t>=Qo)throw new RangeError(`value must be >= 0 and <= ${Qo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Yo(e){let t=Math.floor(e/Qo),r=e%Qo,n=new Uint8Array(8);return ml(n,t,0),ml(n,r,4),n}function Zo(e){let t=new Uint8Array(4);return ml(t,e),t}function Xo(e){return Te(Zo(e.length),e)}async function tm(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(Zo(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await zo("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,Qo,ge=I(()=>{fl();Z=new TextEncoder,ue=new TextDecoder,Qo=2**32;s(Te,"concat");s(em,"p2s");s(ml,"writeUInt32BE");s(Yo,"uint64be");s(Zo,"uint32be");s(Xo,"lengthAndInput");s(tm,"concatKdf")});var es,X,yl,re,Ie=I(()=>{ge();es=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=>es(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),yl=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 yl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var gl={};io(gl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>k,JWEDecryptionFailed:()=>kt,JWEInvalid:()=>R,JWKInvalid:()=>ci,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>ui,JWKSNoMatchingKey:()=>Lr,JWKSTimeout:()=>li,JWSInvalid:()=>W,JWSSignatureVerificationFailed:()=>Dr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>tn,JWTInvalid:()=>le});var he,be,tn,tr,k,kt,R,W,le,ci,rr,Lr,ui,li,Dr,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}},tn=class extends he{static{s(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},tr=class extends he{static{s(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},k=class extends he{static{s(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},kt=class extends he{static{s(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},R=class extends he{static{s(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},W=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"}},ci=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Lr=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"}},ui=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"}},li=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"}},Dr=class extends he{static{s(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var nr,di=I(()=>{Se();nr=D.getRandomValues.bind(D)});function bl(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var ts,rs=I(()=>{j();di();s(bl,"bitLength");ts=s(e=>nr(new Uint8Array(bl(e)>>3)),"default")});var GT,ns,_l=I(()=>{j();rs();GT=s((e,t)=>{if(t.length<<3!==bl(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),ns=GT});var BT,rn,El=I(()=>{j();BT=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"),rn=BT});var KT,nm,im=I(()=>{KT=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"),nm=KT});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ir(e,t){return e.name===t}function is(e){return parseInt(e.name.slice(4),10)}function JT(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function om(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 sm(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ir(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(is(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ir(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(is(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ir(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(is(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!ir(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=JT(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}om(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ir(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!ir(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ir(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ir(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(is(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}om(e,r)}var or=I(()=>{s(Pe,"unusable");s(ir,"isAlgorithm");s(is,"getHashLength");s(JT,"getNamedCurve");s(om,"checkUsage");s(sm,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function am(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 wl(e,t,...r){return am(`Key for the ${e} algorithm must be `,t,...r)}var oe,at=I(()=>{s(am,"message");oe=s((e,...t)=>am("Key must be ",e,...t),"default");s(wl,"withAlg")});var vl,Q,ct=I(()=>{Se();vl=s(e=>ae(e),"default"),Q=["CryptoKey"]});async function WT(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,Yo(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=nm(i,d)}catch{}if(!p)throw new kt;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new kt;return m}async function zT(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 kt}}var QT,os,Sl=I(()=>{ge();_l();El();im();j();Se();or();at();ct();s(WT,"cbcDecrypt");s(zT,"gcmDecrypt");QT=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(ns(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&rn(t,parseInt(e.slice(-3),10)),WT(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&rn(t,parseInt(e.slice(1,4),10)),zT(e,t,r,n,i,o);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),os=QT});var cm,um,Tl=I(()=>{j();cm=s(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),um=s(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var YT,Et,nn=I(()=>{YT=s((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let o of i){if(r.has(o))return!1;r.add(o)}}return!0},"isDisjoint"),Et=YT});function ZT(e){return typeof e=="object"&&e!==null}function Y(e){if(!ZT(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(ZT,"isObjectLike");s(Y,"isObject")});var XT,on,Il=I(()=>{XT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],on=XT});function lm(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function dm(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 pi,hi,ss=I(()=>{Il();Se();or();at();ct();s(lm,"checkKeySize");s(dm,"getCryptoKey");pi=s(async(e,t,r)=>{let n=await dm(t,e,"wrapKey");lm(n,e);let i=await D.subtle.importKey("raw",r,...on);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),hi=s(async(e,t,r)=>{let n=await dm(t,e,"unwrapKey");lm(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...on);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function as(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(Xo(Z.encode(r)),Xo(i),Xo(o),Zo(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 tm(u,n,a)}async function pm(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function cs(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 Pl=I(()=>{ge();Se();or();at();ct();s(as,"deriveKey");s(pm,"generateEpk");s(cs,"ecdhAllowed")});function Al(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var fm=I(()=>{j();s(Al,"checkP2s")});function eI(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 mm(e,t,r,n){Al(e);let i=em(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 eI(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 ym,gm,Rl=I(()=>{di();ge();Ie();ss();fm();Se();or();at();ct();s(eI,"getCryptoKey");s(mm,"deriveKey");ym=s(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let o=await mm(i,e,n,t);return{encryptedKey:await pi(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),gm=s(async(e,t,r,n,i)=>{let o=await mm(i,e,n,t);return hi(e.slice(-6),o,r)},"decrypt")});function sn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var bm=I(()=>{j();s(sn,"subtleRsaEs")});var Ur,us=I(()=>{Ur=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 _m,Em,Ol=I(()=>{bm();Il();Se();or();us();at();ct();_m=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Ur(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(sn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...on);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,sn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Em=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Ur(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(sn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,sn(e),...on);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 fi(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var wt,mi=I(()=>{j();di();s(fi,"bitLength");wt=s(e=>nr(new Uint8Array(fi(e)>>3)),"default")});var Nl,wm=I(()=>{Nl=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
54
|
+
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,hl.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,hl.isObject)(a)){let h=(0,hl.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,H=typeof _=="symbol",K=!H&&/^[a-z$_][$\w]*$/i.test(_),L=H||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(KT,"stringifyObject");fl.default=KT});var _t=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 ml=Cr(),Yf=JT(Qf()),Zf=gt();function zT(e){return e.map(t=>(0,ml.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:Xf((0,ml.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,Zf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,Yf.default)((0,ml.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,Yf.default)(r);t.push(n)}else{let n=em(r);t.push(n)}}),t.join(`
|
|
56
|
+
`)}s(QT,"messagesToMultilineText");Fe.messagesToMultilineText=QT;function Xf(e){return typeof e=="string"?e:JSON.stringify(e)}s(Xf,"stringifyNonString");Fe.stringifyNonString=Xf;function em(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,Zf.toString)(e):"unknown"}s(em,"stringifyNonStringToText");Fe.stringifyNonStringToText=em});var D,ae,Se=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var YT,Wo,yl=I(()=>{Se();YT=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Wo=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 tm(e,t){return Te(Z.encode(e),new Uint8Array([0]),t)}function gl(e,t,r){if(t<0||t>=Qo)throw new RangeError(`value must be >= 0 and <= ${Qo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Yo(e){let t=Math.floor(e/Qo),r=e%Qo,n=new Uint8Array(8);return gl(n,t,0),gl(n,r,4),n}function Zo(e){let t=new Uint8Array(4);return gl(t,e),t}function Xo(e){return Te(Zo(e.length),e)}async function rm(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(Zo(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Wo("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,Qo,ge=I(()=>{yl();Z=new TextEncoder,ue=new TextDecoder,Qo=2**32;s(Te,"concat");s(tm,"p2s");s(gl,"writeUInt32BE");s(Yo,"uint64be");s(Zo,"uint32be");s(Xo,"lengthAndInput");s(rm,"concatKdf")});var es,X,bl,re,Ie=I(()=>{ge();es=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=>es(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),bl=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 bl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var _l={};io(_l,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>k,JWEDecryptionFailed:()=>kt,JWEInvalid:()=>R,JWKInvalid:()=>ui,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>li,JWKSNoMatchingKey:()=>Lr,JWKSTimeout:()=>di,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Dr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>tn,JWTInvalid:()=>le});var he,be,tn,tr,k,kt,R,z,le,ui,rr,Lr,li,di,Dr,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}},tn=class extends he{static{s(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},tr=class extends he{static{s(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},k=class extends he{static{s(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},kt=class extends he{static{s(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},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"}},rr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Lr=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"}},Dr=class extends he{static{s(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var nr,pi=I(()=>{Se();nr=D.getRandomValues.bind(D)});function El(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new k(`Unsupported JWE Algorithm: ${e}`)}}var ts,rs=I(()=>{j();pi();s(El,"bitLength");ts=s(e=>nr(new Uint8Array(El(e)>>3)),"default")});var ZT,ns,wl=I(()=>{j();rs();ZT=s((e,t)=>{if(t.length<<3!==El(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),ns=ZT});var XT,rn,vl=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"),rn=XT});var eI,im,om=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"),im=eI});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ir(e,t){return e.name===t}function is(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 sm(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 am(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ir(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(is(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ir(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(is(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ir(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(is(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!ir(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=tI(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}sm(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ir(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!ir(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ir(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ir(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(is(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}sm(e,r)}var or=I(()=>{s(Pe,"unusable");s(ir,"isAlgorithm");s(is,"getHashLength");s(tI,"getNamedCurve");s(sm,"checkUsage");s(am,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function cm(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 Sl(e,t,...r){return cm(`Key for the ${e} algorithm must be `,t,...r)}var oe,at=I(()=>{s(cm,"message");oe=s((e,...t)=>cm("Key must be ",e,...t),"default");s(Sl,"withAlg")});var Tl,Q,ct=I(()=>{Se();Tl=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,Yo(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=im(i,d)}catch{}if(!p)throw new kt;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new kt;return m}async function 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 kt}}var iI,os,Il=I(()=>{ge();wl();vl();om();j();Se();or();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(ns(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&rn(t,parseInt(e.slice(-3),10)),rI(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&rn(t,parseInt(e.slice(1,4),10)),nI(e,t,r,n,i,o);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),os=iI});var um,lm,Pl=I(()=>{j();um=s(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),lm=s(async()=>{throw new k('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var oI,Et,nn=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"),Et=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,on,Al=I(()=>{aI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],on=aI});function dm(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function pm(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,ss=I(()=>{Al();Se();or();at();ct();s(dm,"checkKeySize");s(pm,"getCryptoKey");hi=s(async(e,t,r)=>{let n=await pm(t,e,"wrapKey");dm(n,e);let i=await D.subtle.importKey("raw",r,...on);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),fi=s(async(e,t,r)=>{let n=await pm(t,e,"unwrapKey");dm(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...on);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function as(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(Xo(Z.encode(r)),Xo(i),Xo(o),Zo(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return rm(u,n,a)}async function hm(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function cs(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 Rl=I(()=>{ge();Se();or();at();ct();s(as,"deriveKey");s(hm,"generateEpk");s(cs,"ecdhAllowed")});function Ol(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var mm=I(()=>{j();s(Ol,"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 ym(e,t,r,n){Ol(e);let i=tm(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 gm,bm,Nl=I(()=>{pi();ge();Ie();ss();mm();Se();or();at();ct();s(cI,"getCryptoKey");s(ym,"deriveKey");gm=s(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let o=await ym(i,e,n,t);return{encryptedKey:await hi(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),bm=s(async(e,t,r,n,i)=>{let o=await ym(i,e,n,t);return fi(e.slice(-6),o,r)},"decrypt")});function sn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var _m=I(()=>{j();s(sn,"subtleRsaEs")});var Ur,us=I(()=>{Ur=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 Em,wm,xl=I(()=>{_m();Al();Se();or();us();at();ct();Em=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Ur(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(sn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...on);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,sn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),wm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Ur(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(sn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,sn(e),...on);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 k(`Unsupported JWE Algorithm: ${e}`)}}var wt,yi=I(()=>{j();pi();s(mi,"bitLength");wt=s(e=>nr(new Uint8Array(mi(e)>>3)),"default")});var Cl,vm=I(()=>{Cl=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
57
57
|
`);return`-----BEGIN ${t}-----
|
|
58
58
|
${r}
|
|
59
|
-
-----END ${t}-----`},"default")});function Sm(e){let t=[],r=0;for(;r<e.length;){let n=Om(e.subarray(r));t.push(n),r+=n.byteLength}return t}function Om(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 tI(e){let t=Sm(Sm(Om(e).contents)[0].contents);return es(t[t[0].raw[0]===160?6:5].raw)}function rI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=yl(t);return Nl(tI(r),"PUBLIC KEY")}var Tm,Im,Pm,sr,vm,Am,Rm,xl,Nm,ls=I(()=>{Se();at();Ie();wm();j();ct();Tm=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 Nl(es(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Im=s(e=>Tm("public","spki",e),"toSPKI"),Pm=s(e=>Tm("private","pkcs8",e),"toPKCS8"),sr=s((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((o,a)=>o===t[a])||sr(e,t,n+1)},"findOid"),vm=s(e=>{switch(!0){case sr(e,[42,134,72,206,61,3,1,7]):return"P-256";case sr(e,[43,129,4,0,34]):return"P-384";case sr(e,[43,129,4,0,35]):return"P-521";case sr(e,[43,101,110]):return"X25519";case sr(e,[43,101,111]):return"X448";case sr(e,[43,101,112]):return"Ed25519";case sr(e,[43,101,113]):return"Ed448";default:throw new k("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Am=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=vm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:vm(u)},c=l?["verify"]:["sign"];break;default:throw new k('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(o=i?.extractable)!==null&&o!==void 0?o:!1,c)},"genericImport"),Rm=s((e,t,r)=>Am(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),xl=s((e,t,r)=>Am(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(Sm,"getElement");s(Om,"parseElement");s(tI,"spkiFromX509");s(rI,"getSPKI");Nm=s((e,t,r)=>{let n;try{n=rI(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return xl(n,t,r)},"fromX509")});function nI(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new k(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new k('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var iI,Cl,xm=I(()=>{Se();j();Ie();s(nI,"subtleMapping");iI=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}=nI(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"),Cl=iI});async function Cm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return xl(e,t,r)}async function Lm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Nm(e,t,r)}async function Dm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Rm(e,t,r)}async function ar(e,t,r){var n;if(!Y(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?Cl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(e.k);case"RSA":if(e.oth!==void 0)throw new k('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Cl({...e,alg:t});default:throw new k('Unsupported "kty" (Key Type) Parameter value')}}var yi=I(()=>{Ie();ls();xm();j();$e();s(Cm,"importSPKI");s(Lm,"importX509");s(Dm,"importPKCS8");s(ar,"importJWK")});var oI,sI,aI,cr,gi=I(()=>{at();ct();oI=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!vl(t))throw new TypeError(wl(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),sI=s((e,t,r)=>{if(!vl(t))throw new TypeError(wl(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"),aI=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?oI(e,t):sI(e,t,r)},"checkKeyType"),cr=aI});async function cI(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,Yo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function uI(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 lI,bi,Ll=I(()=>{ge();_l();El();Se();or();at();j();ct();s(cI,"cbcEncrypt");s(uI,"gcmEncrypt");lI=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(ns(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&rn(r,parseInt(e.slice(-3),10)),cI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&rn(r,parseInt(e.slice(1,4),10)),uI(e,t,r,n,i);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),bi=lI});async function Um(e,t,r,n){let i=e.slice(0,7);n||(n=ts(i));let{ciphertext:o,tag:a}=await bi(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function km(e,t,r,n,i){let o=e.slice(0,7);return os(o,t,r,n,i,new Uint8Array(0))}var Dl=I(()=>{Ll();Sl();rs();Ie();s(Um,"wrap");s(km,"unwrap")});async function dI(e,t,r,n,i){switch(cr(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(!cs(t))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new 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 as(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?fi(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 hi(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 Em(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 gm(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return hi(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 km(e,t,r,o,a)}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Mm,Hm=I(()=>{ss();Pl();Rl();Ol();Ie();j();mi();yi();gi();$e();Dl();s(dI,"decryptKeyManagement");Mm=dI});function pI(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let o;r!==void 0?o=new Map([...Object.entries(r),...t.entries()]):o=t;for(let a of n.crit){if(!o.has(a))throw new k(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(o.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var vt,an=I(()=>{j();s(pI,"validateCrit");vt=pI});var hI,_i,Ul=I(()=>{hI=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"),_i=hI});async function cn(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(!Et(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let o={...i,...e.header,...e.unprotected};if(vt(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 k('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&&_i("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&_i("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new tr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await Mm(a,t,d,o,r)}catch(K){if(K instanceof TypeError||K instanceof R||K instanceof k)throw K;m=wt(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 os(c,m,re(e.ciphertext),h,g,S);o.zip==="DEF"&&(T=await(r?.inflateRaw||cm)(T));let H={plaintext:T};return e.protected!==void 0&&(H.protectedHeader=i),e.aad!==void 0&&(H.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(H.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(H.unprotectedHeader=e.header),p?{...H,key:t}:H}var ds=I(()=>{Ie();Sl();Tl();j();nn();$e();Hm();ge();mi();an();Ul();s(cn,"flattenedDecrypt")});async function ps(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 cn({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 kl=I(()=>{ds();j();ge();s(ps,"compactDecrypt")});async function Fm(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 cn({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new kt}var qm=I(()=>{ds();j();$e();s(Fm,"generalDecrypt")});var fI,$m,jm=I(()=>{Se();at();Ie();ct();fI=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"),$m=fI});async function Vm(e){return Im(e)}async function Gm(e){return Pm(e)}async function hs(e){return $m(e)}var Ml=I(()=>{ls();ls();jm();s(Vm,"exportSPKI");s(Gm,"exportPKCS8");s(hs,"exportJWK")});async function mI(e,t,r,n,i={}){let o,a,c;switch(cr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!cs(r))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await pm(r)).privateKey);let{x:p,y:m,crv:h,kty:g}=await hs(d),_=await as(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?fi(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||wt(t);let S=e.slice(-6);o=await pi(S,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||wt(t),o=await _m(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||wt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await ym(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||wt(t),o=await pi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||wt(t);let{iv:u}=i;({encryptedKey:o,...a}=await Um(e,r,c,u));break}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:o,parameters:a}}var fs,Hl=I(()=>{ss();Pl();Rl();Ol();Ie();mi();j();Ml();gi();Dl();s(mI,"encryptKeyManagement");fs=mI});var Fl,Mt,ms=I(()=>{Ie();Ll();Tl();rs();Hl();j();nn();ge();an();Fl=Symbol(),Mt=class{static{s(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Et(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(vt(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 k('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 fs(i,o,t,this._cek,this._keyManagementParameters)),g&&(r&&Fl 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=ts(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||um)(this._plaintext);({ciphertext:p,tag:m}=await bi(o,g,c,this._iv,u))}else({ciphertext:p,tag:m}=await bi(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 ql,ys,Bm=I(()=>{ms();j();mi();nn();Hl();Ie();an();ql=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}},ys=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new ql(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 Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!Et(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new 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(vt(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=wt(o),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[Fl]:!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 fs(((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 Ei(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var $l=I(()=>{j();s(Ei,"subtleDsa")});function wi(e,t,r){if(ae(t))return sm(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 jl=I(()=>{Se();or();at();ct();s(wi,"getCryptoKey")});var yI,Km,Jm=I(()=>{$l();Se();us();jl();yI=s(async(e,t,r,n)=>{let i=await wi(e,t,"verify");Ur(e,i);let o=Ei(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),Km=yI});async function un(e,t,r){var n;if(!Y(e))throw new W("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new W('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new W("JWS Protected Header incorrect type");if(e.payload===void 0)throw new W("JWS Payload missing");if(typeof e.signature!="string")throw new W("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new W("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 W("JWS Protected Header is invalid")}if(!Et(i,e.header))throw new W("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=vt(W,new Map([["b64",!0]]),r?.crit,i,o),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new W('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=o;if(typeof u!="string"||!u)throw new W('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&_i("algorithms",r.algorithms);if(l&&!l.has(u))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new W("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new W("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),cr(u,t,"verify");let p=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 Km(u,t,m,p))throw new Dr;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 gs=I(()=>{Ie();Jm();j();ge();nn();$e();gi();an();Ul();s(un,"flattenedVerify")});async function bs(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new W("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:o,length:a}=e.split(".");if(a!==3)throw new W("Invalid Compact JWS");let c=await un({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 Vl=I(()=>{gs();j();ge();s(bs,"compactVerify")});async function Wm(e,t,r){if(!Y(e))throw new W("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Y))throw new W("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await un({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Dr}var zm=I(()=>{gs();j();$e();s(Wm,"generalVerify")});var ln,Gl=I(()=>{ln=s(e=>Math.floor(e.getTime()/1e3),"default")});var gI,dn,Bl=I(()=>{gI=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,dn=s(e=>{let t=gI.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var Qm,bI,pn,_s=I(()=>{j();ge();Gl();Bl();$e();Qm=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),bI=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),pn=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Qm(e.typ)!==Qm(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&&!bI(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=dn(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=ln(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 tn('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,g=typeof l=="number"?l:dn(l);if(h-d>g)throw new tn('"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 Ym(e,t,r){var n;let i=await bs(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:pn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Zm=I(()=>{Vl();_s();j();s(Ym,"jwtVerify")});async function Xm(e,t,r){let n=await ps(e,t,r),i=pn(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 ey=I(()=>{kl();_s();j();s(Xm,"jwtDecrypt")});var hn,Kl=I(()=>{ms();hn=class{static{s(this,"CompactEncrypt")}constructor(t){this._flattened=new Mt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var _I,ty,ry=I(()=>{$l();Se();us();jl();_I=s(async(e,t,r)=>{let n=await wi(e,t,"sign");Ur(e,n);let i=await D.subtle.sign(Ei(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),ty=_I});var ur,Es=I(()=>{Ie();ry();nn();j();ge();gi();an();ur=class{static{s(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new W("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Et(this._protectedHeader,this._unprotectedHeader))throw new W("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=vt(W,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="boolean"))throw new W('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new W('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Te(u,Z.encode("."),c),d=await ty(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 fn,Jl=I(()=>{Es();fn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new ur(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var Wl,ws,ny=I(()=>{Es();j();Wl=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}},ws=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Wl(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new W("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new ur(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new W("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,vs=I(()=>{Gl();$e();Bl();lr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Y(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:ln(new Date)+dn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:ln(new Date)+dn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:ln(new Date)}:this._payload={...this._payload,iat:t},this}}});var Ss,iy=I(()=>{Jl();j();ge();vs();Ss=class extends lr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new fn(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 Ts,oy=I(()=>{Kl();ge();vs();Ts=class extends lr{static{s(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new hn(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 zl(e,t){if(!Y(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":dr(e.crv,'"crv" (Curve) Parameter'),dr(e.x,'"x" (X Coordinate) Parameter'),dr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":dr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),dr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":dr(e.e,'"e" (Exponent) Parameter'),dr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":dr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new k('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await zo(t,n))}async function sy(e,t){t??(t="sha256");let r=await zl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,ay=I(()=>{fl();Ie();j();ge();$e();dr=s((e,t)=>{if(typeof e!="string"||!e)throw new ci(`${t} missing or invalid`)},"check");s(zl,"calculateJwkThumbprint");s(sy,"calculateJwkThumbprintUri")});async function cy(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new W('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ar({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new W('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var uy=I(()=>{yi();$e();j();s(cy,"EmbeddedJWK")});function EI(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new k('Unsupported "alg" value for a JSON Web Key Set')}}function Ql(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(wI)}function wI(e){return Y(e)}function vI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function ly(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ar({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new rr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function dy(e){let t=new vi(e);return async function(r,n){return t.getKey(r,n)}}var vi,Yl=I(()=>{yi();j();$e();s(EI,"getKtyFromAlg");s(Ql,"isJWKSLike");s(wI,"isJWKLike");s(vI,"clone");vi=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Ql(t))throw new rr("JSON Web Key Set malformed");this._jwks=vI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=EI(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 Lr;if(u!==1){let l=new ui,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await ly(d,p,n)}catch{continue}},l}return ly(this._cached,c,n)}};s(ly,"importWithAlgCache");s(dy,"createLocalJWKSet")});var SI,py,hy=I(()=>{j();SI=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 li: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"),py=SI});function TI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function fy(e,t){let r=new Zl(e,t);return async function(n,i){return r.getKey(n,i)}}var Zl,my=I(()=>{hy();j();Yl();s(TI,"isCloudflareWorkers");Zl=class extends vi{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 Lr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&TI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=py(this._url,this._timeoutDuration,this._options).then(t=>{if(!Ql(t))throw new rr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};s(fy,"createRemoteJWKSet")});var Is,yy=I(()=>{Ie();ge();j();_s();vs();Is=class extends lr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:pn(c,re(i),r),header:c}}}});var Xl={};io(Xl,{decode:()=>Si,encode:()=>II});var II,Si,Ps=I(()=>{Ie();II=X,Si=re});function gy(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(Si(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var by=I(()=>{Ps();ge();$e();s(gy,"decodeProtectedHeader")});function _y(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=Si(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 Ey=I(()=>{Ps();ge();$e();j();s(_y,"decodeJwt")});async function wy(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),nr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},o=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},o=["encrypt","decrypt"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,o)}function ed(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new k("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function vy(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:ed(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:ed(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:ed(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":o={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":o={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":o={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":o={name:c};break;default:throw new k("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{o={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":o={name:u};break;default:throw new k("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(o,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var td=I(()=>{Se();j();di();s(wy,"generateSecret");s(ed,"getModulusLengthOption");s(vy,"generateKeyPair")});async function Sy(e,t){return vy(e,t)}var Ty=I(()=>{td();s(Sy,"generateKeyPair")});async function Iy(e,t){return wy(e,t)}var Py=I(()=>{td();s(Iy,"generateSecret")});var As={};io(As,{CompactEncrypt:()=>hn,CompactSign:()=>fn,EmbeddedJWK:()=>cy,EncryptJWT:()=>Ts,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>ur,GeneralEncrypt:()=>ys,GeneralSign:()=>ws,SignJWT:()=>Ss,UnsecuredJWT:()=>Is,base64url:()=>Xl,calculateJwkThumbprint:()=>zl,calculateJwkThumbprintUri:()=>sy,compactDecrypt:()=>ps,compactVerify:()=>bs,createLocalJWKSet:()=>dy,createRemoteJWKSet:()=>fy,decodeJwt:()=>_y,decodeProtectedHeader:()=>gy,errors:()=>gl,exportJWK:()=>hs,exportPKCS8:()=>Gm,exportSPKI:()=>Vm,flattenedDecrypt:()=>cn,flattenedVerify:()=>un,generalDecrypt:()=>Fm,generalVerify:()=>Wm,generateKeyPair:()=>Sy,generateSecret:()=>Iy,importJWK:()=>ar,importPKCS8:()=>Dm,importSPKI:()=>Cm,importX509:()=>Lm,jwtDecrypt:()=>Xm,jwtVerify:()=>Ym});var Rs=I(()=>{kl();ds();qm();Bm();Vl();gs();zm();Zm();ey();Kl();ms();Jl();Es();ny();iy();oy();ay();uy();Yl();my();yy();Ml();yi();by();Ey();j();Ty();Py();Ps()});var mn=y(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.fetchRetry=void 0;var PI=A();async function AI(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let o=await i;if(o.status<500&&o.status!==429)return o;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:o.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new PI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(AI,"fetchRetry");Os.fetchRetry=AI});var yn=y(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Ay=(Rs(),oo(As)),RI=A(),OI=mn();async function NI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new Ay.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(NI,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=NI;async function xI(e,t,r){return nd(e,{token:t,returnSecureToken:!0},r)}s(xI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=xI;async function CI(e,t,r){return nd(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(CI,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=CI;async function nd(e,t,r){let n=await(0,OI.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 RI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(nd,"fetchToken");Ze.fetchToken=nd;var rd=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,Ay.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=rd});var xs=y(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var LI=A(),DI=ve(),id=z(),od=yn(),UI=Ut(),Ry=_t(),sd=class extends UI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ns(this.options)}};Ht.GoogleCloudLoggingPlugin=sd;var kI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ns=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=id.Environment.instance.loggingEnvironmentType,this.#o=id.Environment.instance.loggingEnvironmentStage,this.#n=id.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await od.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new LI.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,Ry.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ht.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(o.labels.rayId=t.rayId);let a=(0,Ry.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 od.GcpServiceAccount.init(this.#e));let r=await(0,od.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(kI,{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 DI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=Ns});var ad=y(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.gcpLogFormat=gn.GCP_LOG_FORMAT=void 0;var Oy=_t(),MI=xs();gn.GCP_LOG_FORMAT="gcp";function HI(e){let t={allMessages:(0,Oy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,Oy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:MI.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(HI,"gcpLogFormat");gn.gcpLogFormat=HI});var xy=y(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.ConsoleTransport=void 0;var Ny=ad(),cd=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===Ny.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Ny.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}])}};Cs.ConsoleTransport=cd});var fd=y(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.DataDogTransport=bn.DataDogLoggingPlugin=void 0;var FI=ve(),ud=z(),qI=Ut(),Cy=_t(),hd=class extends qI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ls(this.options)}};bn.DataDogLoggingPlugin=hd;var ld="__ddtags",dd="__ddattr",pd=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),$I=s(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(pd(n)):r.push(`${pd(n)}:${pd(i.toString())}`)}),r.join(",")},"formatTags"),Ls=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=ud.Environment.instance.loggingEnvironmentType,this.#i=ud.Environment.instance.loggingEnvironmentStage,this.#r=ud.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[ld];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[ld]!==void 0);a>-1&&(Object.assign(n,o[a][ld]),o.splice(a,1));let c={},u=r.custom[dd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[dd]!==void 0);l>-1&&(Object.assign(c,o[l][dd]),o.splice(l,1));let d=(0,Cy.makeErrorsSerializable)(o),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Cy.extractBestMessage)(d),service:t.loggingId,ddtags:$I(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 FI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};bn.DataDogTransport=Ls});var Dy=y(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.ProcessTransport=void 0;var Ly=ad(),md=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===Ly.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Ly.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}])}};Ds.ProcessTransport=md});var ky=y(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.RemoteLogTransport=void 0;var jI=ve(),Uy=z(),VI=_t(),GI=s(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let o;if(n===!0?o=i.filter(a=>a.level==="error"):o=i,o.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:o.map(a=>({...a,messages:(0,VI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Uy.Environment.instance.systemUserAgent,"zp-dn":Uy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Us,yd=class{static{s(this,"RemoteLogTransport")}constructor(t){Us||(Us=new jI.BatchDispatch("remote-log-transport",1,GI(t)))}log(t,r){Us.enqueue(t),r.waitUntil(Us.waitUntilFlushed())}};ks.RemoteLogTransport=yd});var My=y(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.unifiedFormatter=kr.SeverityNumberOpenTelemetryMap=void 0;kr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var BI=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:kr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");kr.unifiedFormatter=BI});var Fy=y(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.UnifiedLogTransport=void 0;var KI=ve(),Hy=z(),JI=My(),WI=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,JI.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":Hy.Environment.instance.systemUserAgent,"zp-dn":Hy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Ms,gd=class{static{s(this,"UnifiedLogTransport")}constructor(t){Ms||(Ms=new KI.BatchDispatch("unified-log-transport",1,WI(t)))}async log(t,r){Ms.enqueue(t),r.waitUntil(Ms.waitUntilFlushed())}};Hs.UnifiedLogTransport=gd});var Ky=y(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.LogInitializer=void 0;var zI=Ir(),QI=yt(),qy=nl(),$y=z(),jy=Gf(),YI=Ut(),ZI=Bf(),Vy=Kf(),Gy=xy(),XI=fd(),eP=xs(),By=Dy(),tP=ky(),rP=Fy(),bd=(0,zI.debug)("zuplo:logging"),_d=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($y.Environment.instance,t),n=await e.setupUserCoreLogger($y.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;bd("Gateway.setupSystemCoreLogger");let i=[],o=r.getService(qy.SYSTEM_LOGGER);return o?i.push(new By.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&i.push(new Gy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new rP.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new jy.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){bd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:o}=t,a=r.getService(qy.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new By.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new Gy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new tP.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 eP.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 XI.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return QI.plugins.forEach(c=>{c instanceof YI.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new jy.CoreLogger(t.userLogLevel,"user",t.loggingId,o.BUILD_ID,n)}createRequestLoggers(t,r,n,i,o){bd("Gateway.createRequestLoggers");let a=new ZI.LoggingContext(n,i,o),c=new Vy.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Vy.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Fs.LogInitializer=_d});var wd=y(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.UserRouteConfiguration=void 0;var Ed=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};qs.UserRouteConfiguration=Ed});var Sd=y(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.Router=St.RouterError=St.LookupResult=St.RouterEntry=void 0;var Jy=A(),nP=ot(),iP=wd(),$s=class{static{s(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};St.RouterEntry=$s;var Ti=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};St.LookupResult=Ti;var js=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};St.RouterError=js;var vd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof iP.UserRouteConfiguration||t instanceof nP.SystemRouteConfiguration))throw new Jy.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 $s(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new js(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new Jy.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let o=n[i],c=o.urlPattern.exec({pathname:r});if(c!==null)return new Ti(o.config,o.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new Ti(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};St.Router=vd});var Pr=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.Gateway=void 0;var oP=Ir(),Wy=_f(),zy=Af(),sP=Rf(),Qy=Of(),Yy=Lf(),Ft=oi(),Vs=Ar(),Zy=Vf(),It=A(),Ii=yt(),aP=Ky(),cP=Lt(),uP=te(),lP=tl(),dP=Qt(),pP=Yr(),hP=Me(),fP=Sd(),Td=ot(),Xy=wd(),mP=He(),yP=Ho(),Id=z(),eg=Cr(),tg=Uu(),Tt=(0,oP.debug)("zuplo:runtime"),gP=s(e=>{let t=e.findIndex(r=>r.name===Td.systemNoVersion.name);return t>-1?[...e.splice(t),Td.systemNoVersion]:[...e,Td.systemNoVersion]},"setupSystemNoVersion"),Pd=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,Tt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,o){if(Tt("Gateway.initialize"),!e.#e){await(0,Ii.initializeRuntime)(o);let a=await aP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,yP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){Tt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new It.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[pP.policyProcessor,lP.corsProcessor,dP.metricsProcessor];#i;setupRoutes=()=>{Tt("Gateway.setupRoutes");let t=this.routeData,r=gP(t.versions),n=new fP.Router(r);if(t.routes.length===0)return(0,Wy.registerBuildRoute)(n,this),(0,Yy.registerPingRoute)(n,this),(0,zy.registerCorsRoute)(n,this),(0,sP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Zy.registerDevPortalLegacyRedirectRoute)(n,this),(0,Zy.registerDevPortalV3Route)(n,this)),(0,Wy.registerBuildRoute)(n,this),(0,Yy.registerPingRoute)(n,this),(0,zy.registerCorsRoute)(n,this);for(let o of Ii.plugins)o instanceof Ii.SystemRuntimePlugin&&o.registerRoutes(n,this);return t.routes.forEach(o=>{let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new It.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new cP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Xy.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,Qy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new It.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return Tt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){Tt("Gateway.internalErrorResponse");let i={};if(Id.Environment.instance.isDeno){if(n instanceof It.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,eg.serializeError)(n.cause);"stack"in o&&(o.stack=(0,eg.cleanStack)(o.stack)),i={cause:o}}}return uP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ft.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Id.Environment.instance.isDeno&&Ft.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ft.REQUEST_ID_HEADER)??t.headers.get(Ft.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ft.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set(Ft.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(Ft.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 It.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Vs.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new hP.ZuploRequest(m,{params:d.params}),g=new Vs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),_=Vs.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===Qy.notFoundRouteConfiguration&&Ii.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof Xy.UserRouteConfiguration)}try{if(mP.SystemLogMap.addLogger(g,c),Id.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,tg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let H=await(0,Ii.invokeOnRequestExtensions)(h,g);if(H instanceof Response)return H;{let K=Vs.ZuploContextExtensions.getContextExtensions(g);h=H,K.latestRequest=h}}(0,tg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;bP(S,d,t),Tt("Gateway.handleRequest - call user handler");let T=await S(h,g);if(Tt("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new It.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new It.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get(Ft.REQUEST_ID_HEADER)===null&&!T.webSocket){let H=new Headers(T.headers);return H.set(Ft.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:H,cf:T.cf})}else return T}catch(S){return Tt("Gateway - error executing handler",S),S instanceof It.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};Gs.Gateway=Pd;function bP(e,t,r){if(Tt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new It.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new It.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(bP,"checkHandler")});var rg=y(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.invokeInboundPolicy=void 0;var _P=A(),EP=Pr(),wP=Yr(),vP=s(async(e,t,r)=>{let n=EP.Gateway.instance.routeData.policies,i=(0,wP.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new _P.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");Bs.invokeInboundPolicy=vP});var Ar=y(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=oi(),SP=A(),TP=rg(),Ad=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=Ad;var Rd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Rd;var Od=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Od;var Pi=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 SP.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=Pi;var Nd=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,TP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Pi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Pi.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=Nd});var Js=y(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.ContextData=void 0;var xd=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)}};Ks.ContextData=xd});var _n=y(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var IP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function ng(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!IP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(ng,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=ng;function ig(e){return!!e.startsWith("ZUPLO_")}s(ig,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=ig;var PP=new Proxy({},{get(e,t){if(ng(String(t))&&!ig(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=PP});var Cd=y(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.externalServiceHandler=En.externalServiceTunnelConfig=void 0;var AP=Ir(),Mr=A(),RP=Ld(),Ai=z(),ut=(0,AP.debug)("zuplo:runtime:external-service");function sg(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Ai.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(sg,"getServiceAuth");async function OP(e){let t=sg();if(!t)throw ut("There is no external service auth configured for this zup."),new Mr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new Mr.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(Ai.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=Ai.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await ag(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Mr.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(OP,"externalServiceTunnelConfig");En.externalServiceTunnelConfig=OP;async function NP(e,t){let r=sg();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(Ai.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=Ai.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await ag(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Mr.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,RP.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 Mr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new Mr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new Mr.RuntimeError("There are no external services configured for this zup.")}s(NP,"externalServiceHandler");En.externalServiceHandler=NP;async function ag(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=xP(n);ut(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await og(`${o}-${i}`),l=await og(`${o}-${a}-${c}`);return`${u}.${l}`}s(ag,"hashServiceName");async function og(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(og,"hashSegment");function xP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(xP,"sanitizeEnvironmentType")});var Ld=y(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.originalFetch=void 0;var CP=Cd(),cg=new Map;cg.set("service:",CP.externalServiceHandler);wn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=LP(t);if(typeof e=="string"){let n=new URL(e),i=cg.get(n.protocol);return i?i(e,r):(0,wn.originalFetch)(e,r)}else return(0,wn.originalFetch)(e,r)};var LP=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 dg=y(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.Handler=vn.purgeGatewayCache=void 0;var DP=A(),lg=Pr(),ug=z(),UP=s(()=>{lg.Gateway.purgeGatewayCache()},"purgeGatewayCache");vn.purgeGatewayCache=UP;var Dd=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)=>{ug.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await lg.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 DP.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:ug.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)}};vn.Handler=Dd});var mg=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 kP(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(kP,"lexer");function Ud(e,t){t===void 0&&(t={});for(var r=kP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(Sn(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,M=Be.index;throw new TypeError("Unexpected ".concat(w," at ").concat(M,", 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 H=d("OPEN");if(H){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(Ud,"parse");Re.parse=Ud;function MP(e,t){return pg(Ud(e,t),t)}s(MP,"compile");Re.compile=MP;function pg(e,t){t===void 0&&(t={});var r=kd(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(pg,"tokensToFunction");Re.tokensToFunction=pg;function HP(e,t){var r=[],n=Md(e,r,t);return hg(n,r,t)}s(HP,"match");Re.match=HP;function hg(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(hg,"regexpToFunction");Re.regexpToFunction=hg;function Sn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(Sn,"escapeString");function kd(e){return e&&e.sensitive?"":"i"}s(kd,"flags");function FP(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(FP,"regexpToRegexp");function qP(e,t,r){var n=e.map(function(i){return Md(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),kd(r))}s(qP,"arrayToRegexp");function $P(e,t,r){return fg(Ud(e,r),t,r)}s($P,"stringToRegexp");function fg(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(M){return M}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(Sn(g),"]|$"),S="[".concat(Sn(m),"]"),T=a?"^":"",H=0,K=e;H<K.length;H++){var L=K[H];if(typeof L=="string")T+=Sn(d(L));else{var ne=Sn(d(L.prefix)),ie=Sn(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,kd(r))}s(fg,"tokensToRegexp");Re.tokensToRegexp=fg;function Md(e,t,r){return e instanceof RegExp?FP(e,t):Array.isArray(e)?qP(e,t,r):$P(e,t,r)}s(Md,"pathToRegexp");Re.pathToRegexp=Md});var $d=y(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.AwsV4Signer=Tn.AwsClient=void 0;var jP=Ir(),_g=A(),VP=(0,jP.debug)("zuplo:runtime"),Fd=new TextEncoder,yg={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},GP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],qd=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 Ws(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){VP("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 _g.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};Tn.AwsClient=qd;var Ws=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]=BP(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 H=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"),H.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&H.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>g||!GP.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"&&!H.has("X-Amz-Expires")&&H.set("X-Amz-Expires","86400"),H.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),H.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),H.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=
|
|
59
|
+
-----END ${t}-----`},"default")});function Tm(e){let t=[],r=0;for(;r<e.length;){let n=Nm(e.subarray(r));t.push(n),r+=n.byteLength}return t}function Nm(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=Tm(Tm(Nm(e).contents)[0].contents);return es(t[t[0].raw[0]===160?6:5].raw)}function lI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=bl(t);return Cl(uI(r),"PUBLIC KEY")}var Im,Pm,Am,sr,Sm,Rm,Om,Ll,xm,ls=I(()=>{Se();at();Ie();vm();j();ct();Im=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 Cl(es(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Pm=s(e=>Im("public","spki",e),"toSPKI"),Am=s(e=>Im("private","pkcs8",e),"toPKCS8"),sr=s((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((o,a)=>o===t[a])||sr(e,t,n+1)},"findOid"),Sm=s(e=>{switch(!0){case sr(e,[42,134,72,206,61,3,1,7]):return"P-256";case sr(e,[43,129,4,0,34]):return"P-384";case sr(e,[43,129,4,0,35]):return"P-521";case sr(e,[43,101,110]):return"X25519";case sr(e,[43,101,111]):return"X448";case sr(e,[43,101,112]):return"Ed25519";case sr(e,[43,101,113]):return"Ed448";default:throw new k("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Rm=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=Sm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Sm(u)},c=l?["verify"]:["sign"];break;default:throw new k('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(o=i?.extractable)!==null&&o!==void 0?o:!1,c)},"genericImport"),Om=s((e,t,r)=>Rm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Ll=s((e,t,r)=>Rm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(Tm,"getElement");s(Nm,"parseElement");s(uI,"spkiFromX509");s(lI,"getSPKI");xm=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 Ll(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 k(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new k('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var pI,Dl,Cm=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"),Dl=pI});async function Lm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Ll(e,t,r)}async function Dm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return xm(e,t,r)}async function Um(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Om(e,t,r)}async function ar(e,t,r){var n;if(!Y(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?Dl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(e.k);case"RSA":if(e.oth!==void 0)throw new k('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Dl({...e,alg:t});default:throw new k('Unsupported "kty" (Key Type) Parameter value')}}var gi=I(()=>{Ie();ls();Cm();j();$e();s(Lm,"importSPKI");s(Dm,"importX509");s(Um,"importPKCS8");s(ar,"importJWK")});var hI,fI,mI,cr,bi=I(()=>{at();ct();hI=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!Tl(t))throw new TypeError(Sl(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(!Tl(t))throw new TypeError(Sl(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"),cr=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,Yo(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,Ul=I(()=>{ge();wl();vl();Se();or();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(ns(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&rn(r,parseInt(e.slice(-3),10)),yI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&rn(r,parseInt(e.slice(1,4),10)),gI(e,t,r,n,i);default:throw new k("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),_i=bI});async function km(e,t,r,n){let i=e.slice(0,7);n||(n=ts(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 Mm(e,t,r,n,i){let o=e.slice(0,7);return os(o,t,r,n,i,new Uint8Array(0))}var kl=I(()=>{Ul();Il();rs();Ie();s(km,"wrap");s(Mm,"unwrap")});async function _I(e,t,r,n,i){switch(cr(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(!cs(t))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new 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 as(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 wm(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 bm(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 Mm(e,t,r,o,a)}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Hm,Fm=I(()=>{ss();Rl();Nl();xl();Ie();j();yi();gi();bi();$e();kl();s(_I,"decryptKeyManagement");Hm=_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 k(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(o.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var vt,an=I(()=>{j();s(EI,"validateCrit");vt=EI});var wI,Ei,Ml=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 cn(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(!Et(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let o={...i,...e.header,...e.unprotected};if(vt(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 k('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 tr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new tr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await Hm(a,t,d,o,r)}catch(K){if(K instanceof TypeError||K instanceof R||K instanceof k)throw K;m=wt(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 os(c,m,re(e.ciphertext),h,g,S);o.zip==="DEF"&&(T=await(r?.inflateRaw||um)(T));let H={plaintext:T};return e.protected!==void 0&&(H.protectedHeader=i),e.aad!==void 0&&(H.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(H.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(H.unprotectedHeader=e.header),p?{...H,key:t}:H}var ds=I(()=>{Ie();Il();Pl();j();nn();$e();Fm();ge();yi();an();Ml();s(cn,"flattenedDecrypt")});async function ps(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 cn({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 Hl=I(()=>{ds();j();ge();s(ps,"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 cn({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new kt}var $m=I(()=>{ds();j();$e();s(qm,"generalDecrypt")});var vI,jm,Vm=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"),jm=vI});async function Gm(e){return Pm(e)}async function Bm(e){return Am(e)}async function hs(e){return jm(e)}var Fl=I(()=>{ls();ls();Vm();s(Gm,"exportSPKI");s(Bm,"exportPKCS8");s(hs,"exportJWK")});async function SI(e,t,r,n,i={}){let o,a,c;switch(cr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!cs(r))throw new k("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await hm(r)).privateKey);let{x:p,y:m,crv:h,kty:g}=await hs(d),_=await as(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||wt(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||wt(t),o=await Em(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||wt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await gm(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||wt(t),o=await hi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||wt(t);let{iv:u}=i;({encryptedKey:o,...a}=await km(e,r,c,u));break}default:throw new k('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:o,parameters:a}}var fs,ql=I(()=>{ss();Rl();Nl();xl();Ie();yi();j();Fl();bi();kl();s(SI,"encryptKeyManagement");fs=SI});var $l,Mt,ms=I(()=>{Ie();Ul();Pl();rs();ql();j();nn();ge();an();$l=Symbol(),Mt=class{static{s(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Et(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(vt(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 k('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 fs(i,o,t,this._cek,this._keyManagementParameters)),g&&(r&&$l 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=ts(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||lm)(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 jl,ys,Km=I(()=>{ms();j();yi();nn();ql();Ie();an();jl=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}},ys=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new jl(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 Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!Et(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new 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(vt(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=wt(o),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[$l]:!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 fs(((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 k(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Vl=I(()=>{j();s(wi,"subtleDsa")});function vi(e,t,r){if(ae(t))return am(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 Gl=I(()=>{Se();or();at();ct();s(vi,"getCryptoKey")});var TI,Jm,zm=I(()=>{Vl();Se();us();Gl();TI=s(async(e,t,r,n)=>{let i=await vi(e,t,"verify");Ur(e,i);let o=wi(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),Jm=TI});async function un(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(!Et(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=vt(z,new Map([["b64",!0]]),r?.crit,i,o),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=o;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&Ei("algorithms",r.algorithms);if(l&&!l.has(u))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),cr(u,t,"verify");let p=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 Jm(u,t,m,p))throw new Dr;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 gs=I(()=>{Ie();zm();j();ge();nn();$e();bi();an();Ml();s(un,"flattenedVerify")});async function bs(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 un({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 Bl=I(()=>{gs();j();ge();s(bs,"compactVerify")});async function Wm(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 un({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Dr}var Qm=I(()=>{gs();j();$e();s(Wm,"generalVerify")});var ln,Kl=I(()=>{ln=s(e=>Math.floor(e.getTime()/1e3),"default")});var II,dn,Jl=I(()=>{II=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,dn=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 Ym,PI,pn,_s=I(()=>{j();ge();Kl();Jl();$e();Ym=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"),pn=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Ym(e.typ)!==Ym(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=dn(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=ln(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 tn('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,g=typeof l=="number"?l:dn(l);if(h-d>g)throw new tn('"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 Zm(e,t,r){var n;let i=await bs(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:pn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Xm=I(()=>{Bl();_s();j();s(Zm,"jwtVerify")});async function ey(e,t,r){let n=await ps(e,t,r),i=pn(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 ty=I(()=>{Hl();_s();j();s(ey,"jwtDecrypt")});var hn,zl=I(()=>{ms();hn=class{static{s(this,"CompactEncrypt")}constructor(t){this._flattened=new Mt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var AI,ry,ny=I(()=>{Vl();Se();us();Gl();AI=s(async(e,t,r)=>{let n=await vi(e,t,"sign");Ur(e,n);let i=await D.subtle.sign(wi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),ry=AI});var ur,Es=I(()=>{Ie();ny();nn();j();ge();bi();an();ur=class{static{s(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Et(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=vt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Te(u,Z.encode("."),c),d=await ry(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 fn,Wl=I(()=>{Es();fn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new ur(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var Ql,ws,iy=I(()=>{Es();j();Ql=class{static{s(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},ws=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Ql(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new ur(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,vs=I(()=>{Kl();$e();Jl();lr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Y(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:ln(new Date)+dn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:ln(new Date)+dn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:ln(new Date)}:this._payload={...this._payload,iat:t},this}}});var Ss,oy=I(()=>{Wl();j();ge();vs();Ss=class extends lr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new fn(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 Ts,sy=I(()=>{zl();ge();vs();Ts=class extends lr{static{s(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new hn(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 Yl(e,t){if(!Y(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":dr(e.crv,'"crv" (Curve) Parameter'),dr(e.x,'"x" (X Coordinate) Parameter'),dr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":dr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),dr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":dr(e.e,'"e" (Exponent) Parameter'),dr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":dr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new k('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await Wo(t,n))}async function ay(e,t){t??(t="sha256");let r=await Yl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,cy=I(()=>{yl();Ie();j();ge();$e();dr=s((e,t)=>{if(typeof e!="string"||!e)throw new ui(`${t} missing or invalid`)},"check");s(Yl,"calculateJwkThumbprint");s(ay,"calculateJwkThumbprintUri")});async function uy(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ar({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var ly=I(()=>{gi();$e();j();s(uy,"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 k('Unsupported "alg" value for a JSON Web Key Set')}}function Zl(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 dy(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ar({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new rr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function py(e){let t=new Si(e);return async function(r,n){return t.getKey(r,n)}}var Si,Xl=I(()=>{gi();j();$e();s(RI,"getKtyFromAlg");s(Zl,"isJWKSLike");s(OI,"isJWKLike");s(NI,"clone");Si=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Zl(t))throw new rr("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 Lr;if(u!==1){let l=new li,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await dy(d,p,n)}catch{continue}},l}return dy(this._cached,c,n)}};s(dy,"importWithAlgCache");s(py,"createLocalJWKSet")});var xI,hy,fy=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 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"),hy=xI});function CI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function my(e,t){let r=new ed(e,t);return async function(n,i){return r.getKey(n,i)}}var ed,yy=I(()=>{fy();j();Xl();s(CI,"isCloudflareWorkers");ed=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 Lr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&CI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=hy(this._url,this._timeoutDuration,this._options).then(t=>{if(!Zl(t))throw new rr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};s(my,"createRemoteJWKSet")});var Is,gy=I(()=>{Ie();ge();j();_s();vs();Is=class extends lr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:pn(c,re(i),r),header:c}}}});var td={};io(td,{decode:()=>Ti,encode:()=>LI});var LI,Ti,Ps=I(()=>{Ie();LI=X,Ti=re});function by(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 _y=I(()=>{Ps();ge();$e();s(by,"decodeProtectedHeader")});function Ey(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 wy=I(()=>{Ps();ge();$e();j();s(Ey,"decodeJwt")});async function vy(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),nr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},o=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},o=["encrypt","decrypt"];break;default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,o)}function rd(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new k("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Sy(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:rd(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:rd(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:rd(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":o={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":o={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":o={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":o={name:c};break;default:throw new k("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{o={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":o={name:u};break;default:throw new k("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new k('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(o,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var nd=I(()=>{Se();j();pi();s(vy,"generateSecret");s(rd,"getModulusLengthOption");s(Sy,"generateKeyPair")});async function Ty(e,t){return Sy(e,t)}var Iy=I(()=>{nd();s(Ty,"generateKeyPair")});async function Py(e,t){return vy(e,t)}var Ay=I(()=>{nd();s(Py,"generateSecret")});var As={};io(As,{CompactEncrypt:()=>hn,CompactSign:()=>fn,EmbeddedJWK:()=>uy,EncryptJWT:()=>Ts,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>ur,GeneralEncrypt:()=>ys,GeneralSign:()=>ws,SignJWT:()=>Ss,UnsecuredJWT:()=>Is,base64url:()=>td,calculateJwkThumbprint:()=>Yl,calculateJwkThumbprintUri:()=>ay,compactDecrypt:()=>ps,compactVerify:()=>bs,createLocalJWKSet:()=>py,createRemoteJWKSet:()=>my,decodeJwt:()=>Ey,decodeProtectedHeader:()=>by,errors:()=>_l,exportJWK:()=>hs,exportPKCS8:()=>Bm,exportSPKI:()=>Gm,flattenedDecrypt:()=>cn,flattenedVerify:()=>un,generalDecrypt:()=>qm,generalVerify:()=>Wm,generateKeyPair:()=>Ty,generateSecret:()=>Py,importJWK:()=>ar,importPKCS8:()=>Um,importSPKI:()=>Lm,importX509:()=>Dm,jwtDecrypt:()=>ey,jwtVerify:()=>Zm});var Rs=I(()=>{Hl();ds();$m();Km();Bl();gs();Qm();Xm();ty();zl();ms();Wl();Es();iy();oy();sy();cy();ly();Xl();yy();gy();Fl();gi();_y();wy();j();Iy();Ay();Ps()});var mn=y(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.fetchRetry=void 0;var DI=A();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");Os.fetchRetry=UI});var yn=y(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Ry=(Rs(),oo(As)),kI=A(),MI=mn();async function HI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new Ry.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 od(e,{token:t,returnSecureToken:!0},r)}s(FI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=FI;async function qI(e,t,r){return od(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(qI,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=qI;async function od(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(od,"fetchToken");Ze.fetchToken=od;var id=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,Ry.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=id});var xs=y(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var $I=A(),jI=ve(),sd=W(),ad=yn(),VI=Ut(),Oy=_t(),cd=class extends VI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ns(this.options)}};Ht.GoogleCloudLoggingPlugin=cd;var GI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Ns=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=sd.Environment.instance.loggingEnvironmentType,this.#o=sd.Environment.instance.loggingEnvironmentStage,this.#n=sd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await ad.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,Oy.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ht.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(o.labels.rayId=t.rayId);let a=(0,Oy.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 ad.GcpServiceAccount.init(this.#e));let r=await(0,ad.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)};Ht.GoogleLogTransport=Ns});var ud=y(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.gcpLogFormat=gn.GCP_LOG_FORMAT=void 0;var Ny=_t(),BI=xs();gn.GCP_LOG_FORMAT="gcp";function KI(e){let t={allMessages:(0,Ny.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,Ny.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");gn.gcpLogFormat=KI});var Cy=y(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.ConsoleTransport=void 0;var xy=ud(),ld=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===xy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,xy.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}])}};Cs.ConsoleTransport=ld});var yd=y(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.DataDogTransport=bn.DataDogLoggingPlugin=void 0;var JI=ve(),dd=W(),zI=Ut(),Ly=_t(),md=class extends zI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ls(this.options)}};bn.DataDogLoggingPlugin=md;var pd="__ddtags",hd="__ddattr",fd=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(fd(n)):r.push(`${fd(n)}:${fd(i.toString())}`)}),r.join(",")},"formatTags"),Ls=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=dd.Environment.instance.loggingEnvironmentType,this.#i=dd.Environment.instance.loggingEnvironmentStage,this.#r=dd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[pd];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[pd]!==void 0);a>-1&&(Object.assign(n,o[a][pd]),o.splice(a,1));let c={},u=r.custom[hd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[hd]!==void 0);l>-1&&(Object.assign(c,o[l][hd]),o.splice(l,1));let d=(0,Ly.makeErrorsSerializable)(o),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Ly.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)};bn.DataDogTransport=Ls});var Uy=y(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.ProcessTransport=void 0;var Dy=ud(),gd=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===Dy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Dy.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}])}};Ds.ProcessTransport=gd});var My=y(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.RemoteLogTransport=void 0;var QI=ve(),ky=W(),YI=_t(),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"),Us,bd=class{static{s(this,"RemoteLogTransport")}constructor(t){Us||(Us=new QI.BatchDispatch("remote-log-transport",1,ZI(t)))}log(t,r){Us.enqueue(t),r.waitUntil(Us.waitUntilFlushed())}};ks.RemoteLogTransport=bd});var Hy=y(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.unifiedFormatter=kr.SeverityNumberOpenTelemetryMap=void 0;kr.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:kr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");kr.unifiedFormatter=XI});var qy=y(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.UnifiedLogTransport=void 0;var eP=ve(),Fy=W(),tP=Hy(),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":Fy.Environment.instance.systemUserAgent,"zp-dn":Fy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Ms,_d=class{static{s(this,"UnifiedLogTransport")}constructor(t){Ms||(Ms=new eP.BatchDispatch("unified-log-transport",1,rP(t)))}async log(t,r){Ms.enqueue(t),r.waitUntil(Ms.waitUntilFlushed())}};Hs.UnifiedLogTransport=_d});var Jy=y(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.LogInitializer=void 0;var nP=Ir(),iP=yt(),$y=ol(),jy=W(),Vy=Bf(),oP=Ut(),sP=Kf(),Gy=Jf(),By=Cy(),aP=yd(),cP=xs(),Ky=Uy(),uP=My(),lP=qy(),Ed=(0,nP.debug)("zuplo:logging"),wd=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(jy.Environment.instance,t),n=await e.setupUserCoreLogger(jy.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;Ed("Gateway.setupSystemCoreLogger");let i=[],o=r.getService($y.SYSTEM_LOGGER);return o?i.push(new Ky.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&i.push(new By.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 Vy.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){Ed("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:o}=t,a=r.getService($y.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new Ky.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new By.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 Vy.CoreLogger(t.userLogLevel,"user",t.loggingId,o.BUILD_ID,n)}createRequestLoggers(t,r,n,i,o){Ed("Gateway.createRequestLoggers");let a=new sP.LoggingContext(n,i,o),c=new Gy.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Gy.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Fs.LogInitializer=wd});var Sd=y(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.UserRouteConfiguration=void 0;var vd=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};qs.UserRouteConfiguration=vd});var Id=y(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.Router=St.RouterError=St.LookupResult=St.RouterEntry=void 0;var zy=A(),dP=ot(),pP=Sd(),$s=class{static{s(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};St.RouterEntry=$s;var Ii=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};St.LookupResult=Ii;var js=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};St.RouterError=js;var Td=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 zy.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 $s(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new js(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new zy.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}};St.Router=Td});var Pr=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.Gateway=void 0;var hP=Ir(),Wy=Ef(),Qy=Rf(),fP=Of(),Yy=Nf(),Zy=Df(),Ft=si(),Vs=Ar(),Xy=Gf(),It=A(),Pi=yt(),mP=Jy(),yP=Lt(),gP=te(),bP=nl(),_P=Qt(),EP=Yr(),wP=Me(),vP=Id(),Pd=ot(),eg=Sd(),SP=He(),TP=Ho(),Ad=W(),tg=Cr(),rg=Mu(),Tt=(0,hP.debug)("zuplo:runtime"),IP=s(e=>{let t=e.findIndex(r=>r.name===Pd.systemNoVersion.name);return t>-1?[...e.splice(t),Pd.systemNoVersion]:[...e,Pd.systemNoVersion]},"setupSystemNoVersion"),Rd=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,Tt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,o){if(Tt("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(){Tt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new It.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[EP.policyProcessor,bP.corsProcessor,_P.metricsProcessor];#i;setupRoutes=()=>{Tt("Gateway.setupRoutes");let t=this.routeData,r=IP(t.versions),n=new vP.Router(r);if(t.routes.length===0)return(0,Wy.registerBuildRoute)(n,this),(0,Zy.registerPingRoute)(n,this),(0,Qy.registerCorsRoute)(n,this),(0,fP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Xy.registerDevPortalLegacyRedirectRoute)(n,this),(0,Xy.registerDevPortalV3Route)(n,this)),(0,Wy.registerBuildRoute)(n,this),(0,Zy.registerPingRoute)(n,this),(0,Qy.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 It.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 eg.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,Yy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new It.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return Tt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){Tt("Gateway.internalErrorResponse");let i={};if(Ad.Environment.instance.isDeno){if(n instanceof It.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,tg.serializeError)(n.cause);"stack"in o&&(o.stack=(0,tg.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 Ft.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Ad.Environment.instance.isDeno&&Ft.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ft.REQUEST_ID_HEADER)??t.headers.get(Ft.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ft.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set(Ft.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(Ft.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 It.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Vs.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new wP.ZuploRequest(m,{params:d.params}),g=new Vs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),_=Vs.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===Yy.notFoundRouteConfiguration&&Pi.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof eg.UserRouteConfiguration)}try{if(SP.SystemLogMap.addLogger(g,c),Ad.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,rg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let H=await(0,Pi.invokeOnRequestExtensions)(h,g);if(H instanceof Response)return H;{let K=Vs.ZuploContextExtensions.getContextExtensions(g);h=H,K.latestRequest=h}}(0,rg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;PP(S,d,t),Tt("Gateway.handleRequest - call user handler");let T=await S(h,g);if(Tt("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new It.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new It.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get(Ft.REQUEST_ID_HEADER)===null&&!T.webSocket){let H=new Headers(T.headers);return H.set(Ft.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:H,cf:T.cf})}else return T}catch(S){return Tt("Gateway - error executing handler",S),S instanceof It.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};Gs.Gateway=Rd;function PP(e,t,r){if(Tt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new It.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new It.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(PP,"checkHandler")});var ng=y(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.invokeInboundPolicy=void 0;var AP=A(),RP=Pr(),OP=Yr(),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");Bs.invokeInboundPolicy=NP});var Ar=y(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=si(),xP=A(),CP=ng(),Od=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=Od;var Nd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Nd;var xd=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=xd;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 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=Ai;var Cd=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,CP.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=Cd});var Js=y(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.ContextData=void 0;var Ld=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)}};Ks.ContextData=Ld});var _n=y(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.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 ig(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!LP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(ig,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=ig;function og(e){return!!e.startsWith("ZUPLO_")}s(og,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=og;var DP=new Proxy({},{get(e,t){if(ig(String(t))&&!og(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=DP});var Dd=y(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.externalServiceHandler=En.externalServiceTunnelConfig=void 0;var UP=Ir(),Mr=A(),kP=Ud(),Ri=W(),ut=(0,UP.debug)("zuplo:runtime:external-service");function ag(){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(ag,"getServiceAuth");async function MP(e){let t=ag();if(!t)throw ut("There is no external service auth configured for this zup."),new Mr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new Mr.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 cg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Mr.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(MP,"externalServiceTunnelConfig");En.externalServiceTunnelConfig=MP;async function HP(e,t){let r=ag();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 cg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Mr.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 Mr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new Mr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new Mr.RuntimeError("There are no external services configured for this zup.")}s(HP,"externalServiceHandler");En.externalServiceHandler=HP;async function cg(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 sg(`${o}-${i}`),l=await sg(`${o}-${a}-${c}`);return`${u}.${l}`}s(cg,"hashServiceName");async function sg(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(sg,"hashSegment");function FP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(FP,"sanitizeEnvironmentType")});var Ud=y(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.originalFetch=void 0;var qP=Dd(),ug=new Map;ug.set("service:",qP.externalServiceHandler);wn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=$P(t);if(typeof e=="string"){let n=new URL(e),i=ug.get(n.protocol);return i?i(e,r):(0,wn.originalFetch)(e,r)}else return(0,wn.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 pg=y(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.Handler=vn.purgeGatewayCache=void 0;var jP=A(),dg=Pr(),lg=W(),VP=s(()=>{dg.Gateway.purgeGatewayCache()},"purgeGatewayCache");vn.purgeGatewayCache=VP;var kd=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)=>{lg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await dg.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:lg.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)}};vn.Handler=kd});var yg=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 Md(e,t){t===void 0&&(t={});for(var r=GP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(Sn(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,M=Be.index;throw new TypeError("Unexpected ".concat(w," at ").concat(M,", 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 H=d("OPEN");if(H){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(Md,"parse");Re.parse=Md;function BP(e,t){return hg(Md(e,t),t)}s(BP,"compile");Re.compile=BP;function hg(e,t){t===void 0&&(t={});var r=Hd(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(hg,"tokensToFunction");Re.tokensToFunction=hg;function KP(e,t){var r=[],n=Fd(e,r,t);return fg(n,r,t)}s(KP,"match");Re.match=KP;function fg(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(fg,"regexpToFunction");Re.regexpToFunction=fg;function Sn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(Sn,"escapeString");function Hd(e){return e&&e.sensitive?"":"i"}s(Hd,"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 Fd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Hd(r))}s(zP,"arrayToRegexp");function WP(e,t,r){return mg(Md(e,r),t,r)}s(WP,"stringToRegexp");function mg(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(M){return M}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(Sn(g),"]|$"),S="[".concat(Sn(m),"]"),T=a?"^":"",H=0,K=e;H<K.length;H++){var L=K[H];if(typeof L=="string")T+=Sn(d(L));else{var ne=Sn(d(L.prefix)),ie=Sn(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,Hd(r))}s(mg,"tokensToRegexp");Re.tokensToRegexp=mg;function Fd(e,t,r){return e instanceof RegExp?JP(e,t):Array.isArray(e)?zP(e,t,r):WP(e,t,r)}s(Fd,"pathToRegexp");Re.pathToRegexp=Fd});var Vd=y(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.AwsV4Signer=Tn.AwsClient=void 0;var QP=Ir(),Eg=A(),YP=(0,QP.debug)("zuplo:runtime"),$d=new TextEncoder,gg={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"],jd=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 Eg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};Tn.AwsClient=jd;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 H=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"),H.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&H.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"&&!H.has("X-Amz-Expires")&&H.set("X-Amz-Expires","86400"),H.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),H.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),H.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=_g(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=>_g(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 qd(await Oi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,qd(await bg(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 _g.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=Hd(await gg(this.body||""))}return t}};Tn.AwsV4Signer=Ws;async function Ri(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Fd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Fd.encode(t))}s(Ri,"hmac");async function gg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Fd.encode(e):e)}s(gg,"hash");function Hd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(Hd,"buf2hex");function bg(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(bg,"encodeRfc3986");function BP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[o,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",o="s3";else if(o==="iot")r.startsWith("iot.")?o="execute-api":r.startsWith("data.jobs.iot.")?o="iot-jobs-data":o=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?o="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(o="autoscaling-plans")}else a==null&&o.startsWith("s3-")?(a=o.slice(3).replace(/^fips-|^external-1/,""),o="s3"):o.endsWith("-fips")?o=o.slice(0,-5):a&&/-\d$/.test(o)&&!/-\d$/.test(a)&&([o,a]=[a,o]);return o in yg?[yg[o],a]:[o,a]}s(BP,"guessServiceRegion")});var Eg=y(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.convertStringToUtf8Array=Pt.convertUtf8ArrayToString=Pt.base64Encode=Pt.base64Decode=void 0;function KP(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(KP,"b64ToUint6");function JP(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|=KP(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(JP,"base64Decode");Pt.base64Decode=JP;function zs(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(zs,"uint6ToB64");function WP(e){let t=2,r="",n=e.length,i=0;for(let o=0;o<n;o++)t=o%3,i|=e[o]<<(16>>>t&24),(t===2||e.length-o===1)&&(r+=String.fromCodePoint(zs(i>>>18&63),zs(i>>>12&63),zs(i>>>6&63),zs(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(WP,"base64Encode");Pt.base64Encode=WP;function zP(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(zP,"convertUtf8ArrayToString");Pt.convertUtf8ArrayToString=zP;function QP(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(QP,"convertStringToUtf8Array");Pt.convertStringToUtf8Array=QP});var wg=y(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.toCLFDate=void 0;function In(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(In,"numberToString");function YP(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=In(Math.floor(r/60)),o=In(r%60);return`${n}${i}${o}`}s(YP,"getCLFOffset");function ZP(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=In(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=In(e.getHours()),a=In(e.getMinutes()),c=In(e.getSeconds()),u=YP(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(ZP,"toCLFDate");Qs.toCLFDate=ZP});var Rg=y(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var XP=Ir(),vg=mg(),Oi=A(),eA=Dt(),tA=$d(),Tg=Eg(),Ig=wg(),Sg=(0,XP.debug)("zuplo:runtime"),rA="X-Amzn-Trace-Id",nA="x-amzn-errortype",Pg=[],iA=s(async(e,t,r)=>{let n=r;for await(let i of Pg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Oi.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(rA)??void 0,this.errorType=r.get(nA)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Pg.push(e)}};async function oA(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 Oi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Oi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Oi.ConfigurationError("region is not set in the handler options");if(!o)throw new Oi.ConfigurationError("functionName is not set in the handler options");let l=new tA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(Sg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await cA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=aA(e,t):g=await sA(e,t,{useAwsResourcePathStyle:c}),Sg("Calling onSendingAwsLambdaEvent hook");let _=await iA(e,t,g);_.body=p,_.isBase64Encoded=m;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return Ag(S)}catch(T){if(T instanceof Ke){let H=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&T.traceId?{AMZN_TRACE_ID_HEADER:T.traceId}:void 0;return eA.HttpProblems.internalServerError(e,t,void 0,H)}throw T}}s(oA,"awsLambdaHandler");hr.awsLambdaHandler=oA;async function Ag(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,Tg.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(Ag,"getResponse");hr.getResponse=Ag;async function sA(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,Ig.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:lA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(sA,"buildEventVersion1");function aA(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,Ig.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(aA,"buildEventVersion2");async function cA(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&uA(t,i)){let o=await e.arrayBuffer();r=(0,Tg.base64Encode)(new Uint8Array(o)),n=!0}else r=await e.clone().text();return[r,n]}s(cA,"getBodyResult");function uA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(uA,"matchesContentType");function lA(e,t=!1){if(!t)return e;let r=(0,vg.parse)(e),n=(0,vg.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(lA,"getResourcePath")});var An=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.getHandlerUserLogFunction=Pn.logBadGatewayResponses=void 0;var dA=He(),pA=z(),hA=[502,503,504];async function fA(e,t){if(hA.includes(e.status)){let r=dA.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(fA,"logBadGatewayResponses");Pn.logBadGatewayResponses=fA;var jd;function mA(e){if(jd===void 0){let r=pA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),jd=r}return e.log[jd]}s(mA,"getHandlerUserLogFunction");Pn.getHandlerUserLogFunction=mA});var Ng=y(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.openApiSpecHandler=void 0;var Og=A(),yA=te(),Vd=z(),gA=An();async function bA(e,t){let r=Vd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Vd.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new Og.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=_A(o);if(!a.isValid)throw new Og.ConfigurationError(a.error);let c;Vd.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 yA.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,gA.logBadGatewayResponses)(l,t),l}s(bA,"openApiSpecHandler");Ys.openApiSpecHandler=bA;var _A=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 xg=y(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.redirectHandler=void 0;var EA=A();async function wA(e,t){let r=t.route.handler.options;if(!r.location)throw new EA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(wA,"redirectHandler");Zs.redirectHandler=wA});var Lg=y(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.urlForwardHandler=void 0;var vA=A(),Cg=An();function SA(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(SA,"join");async function TA(e,t){let r=(0,Cg.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 vA.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=SA(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,Cg.logBadGatewayResponses)(p,t),p}s(TA,"urlForwardHandler");Xs.urlForwardHandler=TA});var Ug=y(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.urlRewriteHandler=void 0;var IA=A(),Dg=An(),PA=s((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,o]of n.searchParams.entries())r.searchParams.append(i,o);return r.toString()},"addQuery");async function AA(e,t){let r=(0,Dg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new IA.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?PA(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,Dg.logBadGatewayResponses)(d,t),d}s(AA,"urlRewriteHandler");ea.urlRewriteHandler=AA});var Mg=y(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.webSocketHandler=void 0;var kg=A(),RA=Cd(),OA=Dt(),NA=z(),xA=An();async function CA(e,t){let r=NA.Environment.instance,n=t.route.handler.options,i=(0,xA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new kg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return OA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new kg.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,RA.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(CA,"webSocketHandler");ta.webSocketHandler=CA});var Hg=y(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.webSocketPolicyProcessor=Rn.getWebSocketPolicyFunctions=void 0;var LA=A(),DA=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 LA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");Rn.getWebSocketPolicyFunctions=DA;var UA=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");Rn.webSocketPolicyProcessor=UA});var qg=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.webSocketPipelineHandler=void 0;var Gd=A(),kA=Dt(),MA=z(),HA=An(),Bd=Hg();function Fg(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,Bd.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(Fg,"wireUpListeners");async function FA(e,t){let r=MA.Environment.instance,n=t.route.handler.options,i=(0,HA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Gd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return kA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Gd.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new Gd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let T=await l.text(),H=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(H)}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,Bd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,Bd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Fg(m,g,e,t,_),Fg(g,m,e,t,S),new Response(null,{status:101,webSocket:p})}s(FA,"webSocketPipelineHandler");ra.webSocketPipelineHandler=FA});var $g=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.DynaTraceLoggingPlugin=void 0;var qA=ve(),Kd=z(),$A=Cr(),jA=Ut(),VA=_t(),Jd=class extends jA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Wd(this.options)}};na.DynaTraceLoggingPlugin=Jd;var Wd=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Kd.Environment.instance.loggingEnvironmentType,this.#i=Kd.Environment.instance.loggingEnvironmentStage,this.#r=Kd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,VA.stringifyNonString)((0,$A.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 qA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var jg=y(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.LokiLoggingPlugin=void 0;var GA=ve(),zd=z(),BA=Cr(),KA=Ut(),JA=_t(),Qd=class extends KA.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Zd(this.options)}};ia.LokiLoggingPlugin=Qd;var Yd=class{static{s(this,"LokiStream")}constructor(t,r,n,i,o){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=o}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function WA(e,t){return btoa(`${e}:${t}`)}s(WA,"createBasicDigest");var Zd=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=WA(t.username,t.password),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){let n=new Yd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,JA.stringifyNonString)((0,BA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(o)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(o=>o.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new GA.BatchDispatch("loki-log-transport",10,this.#s)}});var Vg=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.SumoLogicLoggingPlugin=void 0;var zA=ve(),Xd=z(),QA=Cr(),YA=Ut(),ZA=_t(),ep=class extends YA.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new tp(this.options)}};oa.SumoLogicLoggingPlugin=ep;var tp=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Xd.Environment.instance.loggingEnvironmentType,this.#n=Xd.Environment.instance.loggingEnvironmentStage,this.#t=Xd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,ZA.stringifyNonString)((0,QA.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 da(await n.text())}};mr.DynaTraceMetricsTransport=la;var da=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=da});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 Eg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=qd(await bg(this.body||""))}return t}};Tn.AwsV4Signer=zs;async function Oi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?$d.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,$d.encode(t))}s(Oi,"hmac");async function bg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?$d.encode(e):e)}s(bg,"hash");function qd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(qd,"buf2hex");function _g(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(_g,"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 gg?[gg[o],a]:[o,a]}s(XP,"guessServiceRegion")});var wg=y(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.convertStringToUtf8Array=Pt.convertUtf8ArrayToString=Pt.base64Encode=Pt.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");Pt.base64Decode=tA;function Ws(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Ws,"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(Ws(i>>>18&63),Ws(i>>>12&63),Ws(i>>>6&63),Ws(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(rA,"base64Encode");Pt.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");Pt.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");Pt.convertStringToUtf8Array=iA});var vg=y(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.toCLFDate=void 0;function In(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(In,"numberToString");function oA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=In(Math.floor(r/60)),o=In(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=In(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=In(e.getHours()),a=In(e.getMinutes()),c=In(e.getSeconds()),u=oA(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(sA,"toCLFDate");Qs.toCLFDate=sA});var Og=y(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var aA=Ir(),Sg=yg(),Ni=A(),cA=Dt(),uA=Vd(),Ig=wg(),Pg=vg(),Tg=(0,aA.debug)("zuplo:runtime"),lA="X-Amzn-Trace-Id",dA="x-amzn-errortype",Ag=[],pA=s(async(e,t,r)=>{let n=r;for await(let i of Ag)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}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Ag.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(Tg(`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}),Tg("Calling onSendingAwsLambdaEvent hook");let _=await pA(e,t,g);_.body=p,_.isBase64Encoded=m;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return Rg(S)}catch(T){if(T instanceof Ke){let H=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,H)}throw T}}s(hA,"awsLambdaHandler");hr.awsLambdaHandler=hA;async function Rg(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,Ig.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(Rg,"getResponse");hr.getResponse=Rg;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,Pg.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,Pg.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,Ig.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,Sg.parse)(e),n=(0,Sg.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(bA,"getResourcePath")});var An=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.getHandlerUserLogFunction=Pn.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");Pn.logBadGatewayResponses=vA;var Gd;function SA(e){if(Gd===void 0){let r=EA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Gd=r}return e.log[Gd]}s(SA,"getHandlerUserLogFunction");Pn.getHandlerUserLogFunction=SA});var xg=y(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.openApiSpecHandler=void 0;var Ng=A(),TA=te(),Bd=W(),IA=An();async function PA(e,t){let r=Bd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Bd.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new Ng.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=AA(o);if(!a.isValid)throw new Ng.ConfigurationError(a.error);let c;Bd.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");Ys.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 Cg=y(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.redirectHandler=void 0;var RA=A();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");Zs.redirectHandler=OA});var Dg=y(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.urlForwardHandler=void 0;var NA=A(),Lg=An();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 CA(e,t){let r=(0,Lg.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=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,Lg.logBadGatewayResponses)(p,t),p}s(CA,"urlForwardHandler");Xs.urlForwardHandler=CA});var kg=y(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.urlRewriteHandler=void 0;var LA=A(),Ug=An(),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,Ug.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,Ug.logBadGatewayResponses)(d,t),d}s(UA,"urlRewriteHandler");ea.urlRewriteHandler=UA});var Hg=y(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.webSocketHandler=void 0;var Mg=A(),kA=Dd(),MA=Dt(),HA=W(),FA=An();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 Mg.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 Mg.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");ta.webSocketHandler=qA});var Fg=y(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.webSocketPolicyProcessor=Rn.getWebSocketPolicyFunctions=void 0;var $A=A(),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");Rn.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");Rn.webSocketPolicyProcessor=VA});var $g=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.webSocketPipelineHandler=void 0;var Kd=A(),GA=Dt(),BA=W(),KA=An(),Jd=Fg();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,Jd.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 Kd.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 Kd.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new Kd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let T=await l.text(),H=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(H)}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,Jd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,Jd.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");ra.webSocketPipelineHandler=JA});var jg=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.DynaTraceLoggingPlugin=void 0;var zA=ve(),zd=W(),WA=Cr(),QA=Ut(),YA=_t(),Wd=class extends QA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Qd(this.options)}};na.DynaTraceLoggingPlugin=Wd;var Qd=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 Vg=y(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.LokiLoggingPlugin=void 0;var ZA=ve(),Yd=W(),XA=Cr(),eR=Ut(),tR=_t(),Zd=class extends eR.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ep(this.options)}};ia.LokiLoggingPlugin=Zd;var Xd=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 ep=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=rR(t.username,t.password),this.#n=Yd.Environment.instance.loggingEnvironmentType,this.#i=Yd.Environment.instance.loggingEnvironmentStage,this.#r=Yd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new Xd(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 Gg=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.SumoLogicLoggingPlugin=void 0;var nR=ve(),tp=W(),iR=Cr(),oR=Ut(),sR=_t(),rp=class extends oR.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new np(this.options)}};oa.SumoLogicLoggingPlugin=rp;var np=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=tp.Environment.instance.loggingEnvironmentType,this.#n=tp.Environment.instance.loggingEnvironmentStage,this.#t=tp.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 Kg=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.VMWareLogInsightTransport=On.VMWareLogInsightLoggingPlugin=void 0;var aR=A(),cR=ve(),ip=W(),uR=Ut(),Bg=_t(),lR="d3a5b78f-8236-48f5-b1df-4fe269d41172",op=class extends uR.LogPlugin{static{s(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new sa(this.options)}};On.VMWareLogInsightLoggingPlugin=op;var sa=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=ip.Environment.instance.loggingEnvironmentType,this.#n=ip.Environment.instance.loggingEnvironmentStage,this.#t=ip.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,Bg.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,Bg.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)};On.VMWareLogInsightTransport=sa});var zg=y(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.AWSLogTransport=Nn.AWSLoggingPlugin=void 0;var dR=Vd(),pR=ve(),Jg=W(),hR=Cr(),fR=Ut(),mR=_t(),sp=class extends fR.LogPlugin{static{s(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new aa(this.options)}};Nn.AWSLoggingPlugin=sp;var aa=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=Jg.Environment.instance.loggingEnvironmentType,this.environment=Jg.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())}};Nn.AWSLogTransport=aa});var Wg=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=yd();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return yR.DataDogLoggingPlugin}});var gR=jg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return gR.DynaTraceLoggingPlugin}});var bR=xs();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return bR.GoogleCloudLoggingPlugin}});var _R=Vg();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return _R.LokiLoggingPlugin}});var ER=Gg();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return ER.SumoLogicLoggingPlugin}});var wR=Kg();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return wR.VMWareLogInsightLoggingPlugin}});var vR=zg();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return vR.AWSLoggingPlugin}})});var Qg=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.DataDogMetricsError=fr.DataDogMetricsTransport=fr.DataDogMetricsPlugin=void 0;var SR=He(),TR=ve(),IR=Ro(),ap=new WeakMap,PR={tags:[]},cp=class extends IR.MetricsPlugin{static{s(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ca(this.options)}static setContext(t,r){let n=ap.get(t);n||(n=PR);let i=Object.assign({...n},r);ap.set(t,i)}};fr.DataDogMetricsPlugin=cp;var ca=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(ap.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 ua(await n.text())}};fr.DataDogMetricsTransport=ca;var ua=class e extends Error{static{s(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};fr.DataDogMetricsError=ua});var Yg=y(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DynaTraceMetricsError=mr.DynaTraceMetricsTransport=mr.DynatraceMetricsPlugin=void 0;var AR=He(),RR=ve(),OR=Ro(),up=new WeakMap,NR={dimensions:[]},lp=class extends OR.MetricsPlugin{static{s(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new la(this.options)}static setContext(t,r){let n=up.get(t);n||(n=NR);let i=Object.assign({...n},r);up.set(t,i)}};mr.DynatraceMetricsPlugin=lp;var la=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(up.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 da(await n.text())}};mr.DynaTraceMetricsTransport=la;var da=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=da});var Zg=y(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.DynatraceMetricsPlugin=xn.DataDogMetricsPlugin=void 0;var xR=Qg();Object.defineProperty(xn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return xR.DataDogMetricsPlugin}});var CR=Yg();Object.defineProperty(xn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return CR.DynatraceMetricsPlugin}})});var Xg=y(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.AuditLogDataStaxProvider=void 0;var dp=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)})}))}};pa.AuditLogDataStaxProvider=dp});var tb=y(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.AuditLogPlugin=void 0;var LR=yt(),DR=ve(),pp=class extends LR.SystemRuntimePlugin{static{s(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new hp(t,this.#e,this.#t)}};ha.AuditLogPlugin=pp;var eb=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}}},hp=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?eb(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?eb(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 rb=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.StripeSignatureVerificationError=Cn.StripeError=void 0;var fa=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}};Cn.StripeError=fa;var fp=class extends fa{static{s(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Cn.StripeSignatureVerificationError=fp});var ib=y(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.computeHMACSignatureAsync=Ln.constructEventAsync=void 0;var Hr=rb(),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");Ln.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 nb(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 Hr.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 Hr.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 Hr.StripeSignatureVerificationError(a,o,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new Hr.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 Hr.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 Hr.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 Hr.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}s(DR,"validateComputedSignature");function UR(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(UR,"parseHeader");function kR(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(kR,"secureCompare");async function rb(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]=hp[o[c]];return a.join("")}s(rb,"computeHMACSignatureAsync");Ln.computeHMACSignatureAsync=rb;var hp=new Array(256);for(let e=0;e<hp.length;e++)hp[e]=e.toString(16).padStart(2,"0")});var qt=y(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.optionValidator=void 0;var Ni=A();function MR(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new Ni.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 Ni.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ni.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 Ni.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 Ni.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(MR,"optionValidator");ma.optionValidator=MR});var fp=y(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.StripeWebhookVerificationInboundPolicy=void 0;var HR=te(),FR=nb(),qR=qt(),$R=s(async(e,t,r,n)=>{(0,qR.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,FR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),HR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");ya.StripeWebhookVerificationInboundPolicy=$R});var ob=y(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.isStripeWebhookEvent=void 0;var ib=gt();function jR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,ib.isString)(e.id)&&"type"in e&&(0,ib.isString)(e.type)}s(jR,"isStripeWebhookEvent");ga.isStripeWebhookEvent=jR});var sb=y(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.MeteringPlugin=void 0;var VR=yt(),mp=class extends VR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};ba.MeteringPlugin=mp});var cb=y(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});var ab=A(),GR={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 ab.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 ab.RuntimeError(o)}return i}};yp.default=GR});var _a=y(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.getSubscription=gr.updateSubscription=gr.createSubscription=void 0;var yr=A(),gp=He(),bp=z(),_p=mn(),Ep=gt();async function BR({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}=bp.Environment.instance;if(!(0,Ep.isNonEmptyString)(l))throw new yr.SystemError("No Zuplo JWT token set.");let p=await(0,_p.fetchRetry)({retryDelayMs:5,retries:2,logger:gp.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 yr.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}s(BR,"createSubscription");gr.createSubscription=BR;async function KR({context:e,meteringSubscriptionId:t,meteringBucketId:r,newStatus:n}){let{authApiJWT:i,meteringServiceUrl:o}=bp.Environment.instance;if(!(0,Ep.isNonEmptyString)(i))throw new yr.SystemError("No Zuplo JWT token set.");let a={status:n},c=await(0,_p.fetchRetry)({retryDelayMs:5,retries:2,logger:gp.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(a)});if(!c.ok){let u=`Error updating metering subscription to '${n}'.`,l;try{l=await c.json()}catch{l={status:c.status,statusText:c.statusText}}throw e.log.error(u,l),new yr.RuntimeError(u)}e.log.info(`Successfully update metering subscription to '${n}'.`)}s(KR,"updateSubscription");gr.updateSubscription=KR;async function JR({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:o}=bp.Environment.instance;if(!(0,Ep.isNonEmptyString)(i))throw new yr.SystemError("No Zuplo JWT token set.");let a=await(0,_p.fetchRetry)({retryDelayMs:5,retries:2,logger:gp.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 yr.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 yr.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 yr.RuntimeError(u)}return c.data[0]}s(JR,"getSubscription");gr.getSubscription=JR});var wp=y(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.stripeStatusToMeteringStatus=void 0;function WR(e){return e.replaceAll("_","-")}s(WR,"stripeStatusToMeteringStatus");Ea.stripeStatusToMeteringStatus=WR});var ub=y(Ci=>{"use strict";var zR=Ci&&Ci.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ci,"__esModule",{value:!0});var xi=A(),vp=te(),QR=He(),YR=z(),ZR=mn(),XR=zR(cb()),e0=_a(),t0=wp();async function r0(e,t,r,n){let i=r.data.object.id;if(!i)throw new xi.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data.object.plan;if(!o||!o.product)throw new xi.RuntimeError("Invalid Stripe API result. Expected event to have a plan data.");let a=r.data.object.customer;if(!a)throw new xi.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer' to be provided");let c=await XR.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!c.email)throw new xi.RuntimeError("Invalid Stripe API result. Expected customer to contain email address.");let u=o.product,l=await n0({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:u,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:c.email,context:t});if(!l)return vp.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let d=(0,t0.stripeStatusToMeteringStatus)(r.data.object.status);await(0,e0.createSubscription)({context:t,stripeProductId:u,stripeSubscriptionId:i,customerKey:l,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:d})}catch(d){return vp.HttpProblems.internalServerError(e,t,{detail:d.message})}return vp.HttpProblems.ok(e,t)}s(r0,"onCustomerSubscriptionCreated");Ci.default=r0;async function n0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:o}){let{authApiJWT:a}=YR.Environment.instance,c="https://api-key-management-service-eq7z4lly2a-ue.a.run.app",u=new URL(`/v1/buckets/${e}/consumers`,c);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:[i]},p=await(0,ZR.fetchRetry)({retryDelayMs:5,retries:2,logger:QR.SystemLogMap.getLogger(o)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(d)}),m=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw o.log.error(h,m),new xi.RuntimeError(h)}return o.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}s(n0,"createConsumerInvite")});var pb=y(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});var lb=A(),i0=te(),db=_a();async function o0(e,t,r,n){let i=r.data.object.id;if(!i)throw new lb.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data.object.customer;if(!o)throw new lb.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer' to be provided");let a=await(0,db.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId});return await(0,db.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,newStatus:"canceled"}),i0.HttpProblems.ok(e,t)}s(o0,"onCustomerSubscriptionDeleted");Sp.default=o0});var yb=y(Tp=>{"use strict";Object.defineProperty(Tp,"__esModule",{value:!0});var hb=A(),fb=te(),mb=_a(),s0=wp();async function a0(e,t,r,n){let i=r.data.object.id;if(!i)throw new hb.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data.object.customer;if(!o)throw new hb.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer' to be provided");if(r.data.previous_attributes&&r.data.previous_attributes.status&&r.data.previous_attributes.status!==r.data.object.status){let a=await(0,mb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId}),c=(0,s0.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,mb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,newStatus:c}),fb.HttpProblems.ok(e,t)}return fb.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}s(a0,"onCustomerSubscriptionUpdated");Tp.default=a0});var bb=y(Dn=>{"use strict";var Pp=Dn&&Dn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Dn,"__esModule",{value:!0});Dn.StripeMeteringPlugin=void 0;var wa=_n(),va=A(),c0=Lt(),u0=fp(),gb=te(),l0=Qt(),d0=Yr(),p0=Vu(),h0=ot(),f0=z(),m0=ob(),y0=sb(),g0=Pp(ub()),b0=Pp(pb()),_0=Pp(yb()),Ip=class extends y0.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(wa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=wa.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new va.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(wa.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=wa.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new va.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!f0.Environment.instance.build.ACCOUNT_NAME)throw new va.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!E0(p))throw new va.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,m0.isStripeWebhookEvent)(m))return gb.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,g0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,_0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,b0.default)(c,u,m,{meteringBucketId:l});default:return gb.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,d0.createInternalPolicyProcessor)({inboundPolicies:[{handler:u0.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new c0.Pipeline({processors:[l0.metricsProcessor,i],handler:n,gateway:r}),a=new h0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:p0.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};Dn.StripeMeteringPlugin=Ip;function E0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(E0,"isMetricsRegion")});var Sb=y(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.AmberfloMeteringInboundPolicy=Un.AmberfloMeteringPolicy=void 0;var _b=A(),w0=ve(),Eb=zr(),vb=new WeakMap,wb={},Ap=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){vb.set(t,r)}};Un.AmberfloMeteringPolicy=Ap;async function v0(e,t,r,n){if(!r.statusCodes)throw new _b.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Eb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async o=>{if(i.includes(o.status)){let a=vb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new _b.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Eb.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=wb[r.apiKey];if(!m){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";m=new w0.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}}),wb[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}s(v0,"AmberfloMeteringInboundPolicy");Un.AmberfloMeteringInboundPolicy=v0});var Rp=y(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.sha256=void 0;async function S0(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(S0,"sha256");Sa.sha256=S0});var $t=y(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.getPolicyCacheName=void 0;var T0=Rp(),Tb=new Map;async function I0(e,t){let r,n=Tb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,T0.sha256)(JSON.stringify({policyName:e,options:t}))}`,Tb.set(e,r)),r}s(I0,"getPolicyCacheName");Ta.getPolicyCacheName=I0});var xp=y(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.ApiKeyInboundPolicy=void 0;var P0=$t(),A0=Kt(),Ib=_n(),Op=A(),R0=Dt(),Pb=He(),Np=z(),O0=mn(),Ab="key-metadata-cache-type";function N0(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(N0,"getKeyValue");async function x0(e,t,r,n){if(!r.bucketName)if(Ib.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Ib.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Op.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 Op.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(S=>i.allowUnauthenticatedRequests?e:R0.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=N0(a,i);if(!c||c==="")return o("No key present");let u=await C0(c),l=await(0,P0.getPolicyCacheName)(n,i),d=new A0.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!==Ab&&Pb.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let m={key:c},h=await(0,O0.fetchRetry)({retryDelayMs:5,retries:2,logger:Pb.SystemLogMap.getLogger(t)},`${Np.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":Np.Environment.instance.deploymentName??"unknown","User-Agent":Np.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 Op.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:Ab,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}s(x0,"ApiKeyInboundPolicy");Ia.ApiKeyInboundPolicy=x0;async function C0(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(C0,"hashValue")});var Rb=y(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ApiAuthKeyInboundPolicy=void 0;var L0=xp();Pa.ApiAuthKeyInboundPolicy=L0.ApiKeyInboundPolicy});var jt=y(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.OpenIdJwtInboundPolicy=void 0;var Lp=(Rs(),oo(As)),Dp=A(),D0=te(),Cp={},U0=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Dp.ConfigurationError("Invalid State - jwkUrl not set");Cp[t.jwkUrl]||(Cp[t.jwkUrl]=(0,Lp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Lp.jwtVerify)(e,Cp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),k0=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,Lp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),M0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(m=>D0.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Dp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Dp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?U0:k0,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");Aa.OpenIdJwtInboundPolicy=M0});var Ob=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.Auth0JwtInboundPolicy=void 0;var H0=jt(),F0=s(async(e,t,r,n)=>(0,H0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Ra.Auth0JwtInboundPolicy=F0});var Nb=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.BasicAuthInboundPolicy=void 0;var q0=te(),$0=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>q0.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");Oa.BasicAuthInboundPolicy=$0});var xb=y(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.CachingInboundPolicy=void 0;var j0=$t(),V0=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function G0(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(G0,"digestMessage");var B0=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 G0(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 K0(e,t,r,n){let i=await(0,j0.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await B0(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);V0.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(K0,"CachingInboundPolicy");Na.CachingInboundPolicy=K0});var Cb=y(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.ChangeMethodInboundPolicy=void 0;var J0=A(),W0=Me(),z0=s(async(e,t,r,n)=>{if(!r.method)throw new J0.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new W0.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");xa.ChangeMethodInboundPolicy=z0});var Lb=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.ClearHeadersInboundPolicy=void 0;var Q0=Me(),Y0=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 Q0.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ca.ClearHeadersInboundPolicy=Y0});var Db=y(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.ClearHeadersOutboundPolicy=void 0;var Z0=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");La.ClearHeadersOutboundPolicy=Z0});var Ub=y(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ClerkJwtInboundPolicy=void 0;var X0=jt(),eO=s(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),o=new URL(i);return o.pathname="/.well-known/jwks.json",(0,X0.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Da.ClerkJwtInboundPolicy=eO});var Mb=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.CognitoJwtInboundPolicy=void 0;var kb=A(),tO=jt(),rO=s(async(e,t,r,n)=>{if(!r.userPoolId)throw new kb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new kb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,tO.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");Ua.CognitoJwtInboundPolicy=rO});var Fb=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.CompositeInboundPolicy=void 0;var nO=A(),iO=Pr(),Hb=Yr(),oO=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new nO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=iO.Gateway.instance,o=(0,Hb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Hb.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");ka.CompositeInboundPolicy=oO});var qb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.CurityPhantomTokenInboundPolicy=void 0;var sO=$t(),aO=Kt(),Ma=te(),cO=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Ma.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=uO(i);if(!o)return Ma.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,sO.getPolicyCacheName)(n,r),c=new aO.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}'`),Ma.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Ma.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Ha.CurityPhantomTokenInboundPolicy=cO;function uO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(uO,"getToken")});var $b=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.FirebaseJwtInboundPolicy=void 0;var lO=qt(),dO=jt(),pO=s(async(e,t,r,n)=>((0,lO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,dO.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");Fa.FirebaseJwtInboundPolicy=pO});var jb=y(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.FormDataToJsonInboundPolicy=void 0;var hO=Me(),fO=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 hO.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");qa.FormDataToJsonInboundPolicy=fO});var Vb=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.GeoFilterInboundPolicy=void 0;var mO=A(),yO=te(),kn="__unknown__",gO=s(async(e,t,r,n)=>{let i={allow:{countries:Hn(r.allow?.countries,"allow.countries",n),regionCodes:Hn(r.allow?.regionCodes,"allow.regionCode",n),asns:Hn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Hn(r.block?.countries,"block.countries",n),regionCodes:Hn(r.block?.regionCodes,"block.regionCode",n),asns:Hn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??kn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??kn,c=t.incomingRequestProperties.asn?.toString()??kn,u=i.ignoreUnknown&&o===kn,l=i.ignoreUnknown&&a===kn,d=i.ignoreUnknown&&c===kn,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 Mn(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?Mn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");$a.GeoFilterInboundPolicy=gO;function Mn(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),yO.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(Mn,"blockedResponse");function Hn(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 mO.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s(Hn,"toLowerStringArray")});var Gb=y(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.JWTScopeValidationInboundPolicy=void 0;var bO=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=bO});var Jb=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.LoadSubscriptionInboundPolicy=void 0;var _O=ii(),EO=Js(),Bb=_n(),wO=A(),Up=te(),Kb=He(),vO=z(),SO=s(async(e,t,r,n)=>{let i=Kb.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=e.user;if(!a)return o?e:Up.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(Bb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=Bb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new wO.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:c,meteringServiceUrl:u}=vO.Environment.instance,{sub:l}=a,d;try{let m=`${r.bucketId}-${l}`,h=new _O.ZoneCache(m,{logger:Kb.SystemLogMap.getLogger(t)}),g=await h.get(m);if(g)d=g;else{let _=await fetch(`${u}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${l}&status=active`,{headers:{Authorization:`Bearer ${c}`,"zp-rid":t.requestId},method:"GET"});if(!_.ok)return t.log.error(await _.text()),Up.HttpProblems.forbidden(e,t);d=await _.json(),h.put(m,d,15).catch(S=>{throw i.error(S),S})}}catch(m){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,m)}if((!d||!d.data||d.data.length===0)&&!o)return Up.HttpProblems.unauthorized(e,t,{detail:"No valid, active subscription found"});if((!d||!d.data||d.data.length===0)&&o)return e;let p=d&&d.data?d.data[0]:void 0;return EO.ContextData.set(t,"subscription",p),e},"LoadSubscriptionInboundPolicy");Va.LoadSubscriptionInboundPolicy=SO});var Qb=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.MeteringInboundPolicy=void 0;var Wb=Js(),zb=_n(),Ga=A(),TO=te(),IO=He(),PO=z(),AO=s(async(e,t,r,n)=>{let i=IO.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,m)=>{let h=Wb.ContextData.get(m,"subscription");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;if(!r.bucketId)if(zb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=zb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ga.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:_,meteringServiceUrl:S}=PO.Environment.instance;if(d.ok&&h&&r.meters)try{let T=await fetch(`${S}/internal/v1/metering/${r.bucketId}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${_}`,"zp-rid":m.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});T.ok||(m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${T.status} - ${T.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${T.status} - ${T.statusText}`))}catch(T){m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,T)}});let o=Wb.ContextData.get(t,"subscription"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!o){if(a)return e;throw new Ga.ConfigurationError("Subscription is not available for user")}if(o&&Object.keys(o.quotas).length===0)throw new Ga.ConfigurationError("Quota is not set up for the user's subscription");let l=Object.keys(r.meters).filter(d=>!Object.keys(o.quotas).includes(d));if(l.length>0)throw new Ga.ConfigurationError(`The following policy meters are not present in the subscription: ${l.join(", ")}`);for(let d of Object.keys(o.quotas))if(o.quotas[d]<=0&&!c)return TO.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");Ba.MeteringInboundPolicy=AO});var Zb=y(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.MockApiInboundPolicy=void 0;var RO=te(),OO=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return kp(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 kp(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 Yb(a[c])}else return a.length>0?Yb(a[0]):kp(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");Ka.MockApiInboundPolicy=OO;function Yb(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(Yb,"generateResponse");var kp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return RO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var n_=y(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.MoesifInboundPolicy=Fn.setMoesifContext=void 0;var NO=A(),xO=ve(),CO="Incoming",LO={logRequestBody:!0,logResponseBody:!0};function Xb(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(Xb,"headersToObject");function e_(){return new Date().toISOString()}s(e_,"timestamp");var Mp=new WeakMap,DO={};function UO(e,t){let r=Mp.get(e);r||(r=DO);let n=Object.assign({...r},t);Mp.set(e,n)}s(UO,"setMoesifContext");Fn.setMoesifContext=UO;async function t_(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}s(t_,"readBody");var kO={},Hp;function r_(){if(!Hp)throw new NO.RuntimeError("Invalid State - no _lastLogger");return Hp}s(r_,"getLastLogger");function MO(e){let t=kO[e];return t||(t=new xO.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);r_().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||r_().error({status:i.status,body:await i.text()})})),t}s(MO,"getDispatcher");async function HO(e,t,r,n){Hp=t.log;let i=e_(),o=Object.assign(LO,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await t_(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=MO(o.applicationId),d=e.headers.get("true-client-ip"),p=Mp.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Xb(e.headers)},h=o.logResponseBody?await t_(c,t):void 0,g={time:e_(),status:c.status,headers:Xb(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:CO};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}s(HO,"MoesifInboundPolicy");Fn.MoesifInboundPolicy=HO});var i_=y(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.OktaJwtInboundPolicy=void 0;var FO=jt(),qO=s(async(e,t,r,n)=>(0,FO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Ja.OktaJwtInboundPolicy=qO});var o_=y(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.PropelAuthJwtInboundPolicy=void 0;var $O=(Rs(),oo(As)),jO=jt(),Fp,VO=s(async(e,t,r,n)=>{if(!Fp)try{Fp=await(0,$O.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,jO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Fp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Wa.PropelAuthJwtInboundPolicy=VO});var s_=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=gt(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=et;var Li=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=Li;var Di=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=Di;function GO(e,t){if((0,je.isUndefined)(e))throw new Li(t)}s(GO,"throwIfUndefined");V.throwIfUndefined=GO;function qp(e,t){if((0,je.isUndefinedOrNull)(e))throw new Li(t)}s(qp,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=qp;function BO(e,t){if(qp(e,t),!(0,je.isString)(e))throw new Di(t,"string")}s(BO,"throwIfNotString");V.throwIfNotString=BO;function KO(e,t){if(qp(e,t),!(0,je.isNumber)(e))throw new Di(t,"number")}s(KO,"throwIfNotNumber");V.throwIfNotNumber=KO;var Ui=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=Ui;var qn=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=qn;function JO(e,t,r,n){if((0,je.isUndefined)(n))throw new Ui(e,t,r)}s(JO,"throwIfOptionUndefined");V.throwIfOptionUndefined=JO;function za(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Ui(e,t,r)}s(za,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=za;function WO(e,t,r,n){if(za(e,t,r,n),!(0,je.isString)(n))throw new qn(e,t,r,"string")}s(WO,"throwIfOptionNotString");V.throwIfOptionNotString=WO;function zO(e,t,r,n){if(za(e,t,r,n),!(0,je.isNumber)(n))throw new qn(e,t,r,"number")}s(zO,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=zO;function QO(e,t,r,n){if(za(e,t,r,n),!(0,je.isObject)(n))throw new qn(e,t,r,"object")}s(QO,"throwIfOptionNotObject");V.throwIfOptionNotObject=QO;function YO(e,t){if((0,je.isUndefined)(e))throw new et(t)}s(YO,"throwIfStateUndefined");V.throwIfStateUndefined=YO;function Qa(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(Qa,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=Qa;function ZO(e,t){if(Qa(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(ZO,"throwIfStateNotString");V.throwIfStateNotString=ZO;function XO(e,t){if(Qa(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(XO,"throwIfStateNotNumber");V.throwIfStateNotNumber=XO;function eN(e,t){if(Qa(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(eN,"throwIfStateNotObject");V.throwIfStateNotObject=eN});var a_=y($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.InMemoryRedisClient=$n.StandardRedisClient=void 0;var $p=A(),Ya=s_(),jp=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,Ya.throwIfNotString)(t,"redisClientUrl"),(0,Ya.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,Ya.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 $p.SystemError("Redis client failed with 401: Unauthorized"):new $p.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};$n.StandardRedisClient=jp;var Vp=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Ya.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 $p.SystemError("The in-memory redis client only supports /rate-limit calls")}};$n.InMemoryRedisClient=Vp});var p_=y(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.RateLimitInboundPolicy=void 0;var tN=Ir(),rN=$t(),nN=ii(),At=A(),iN=te(),c_=He(),ki=z(),u_=a_(),l_=gt(),Za=(0,tN.debug)("zuplo:policies:RateLimitInboundPolicy"),oN="strict",sN=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"),aN=s(async e=>({key:`ip-${sN(e)}`}),"getIP"),cN=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),uN=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Xa;function lN(e,t){let r;if(Xa)return Xa;if(ki.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new u_.InMemoryRedisClient,Xa=r,r;let{authApiJWT:n,redisURL:i}=ki.Environment.instance;if(!(0,l_.isString)(i))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,l_.isString)(n))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=u_.StandardRedisClient.initialize(i,n,ki.Environment.instance.deploymentName??"unknown",ki.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new At.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Xa=r,r}s(lN,"getRedisClient");async function d_(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(d_,"getCountAndUpdateExpiry");function dN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return s(async(i,o,a)=>{let c=await r(i,o,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw o.log.error(u),new At.RuntimeError(u)}return c},"outerFunction")}s(dN,"wrapUserFunction");var pN="Retry-After",hN=s(async(e,t,r,n)=>{let i=Date.now(),o=c_.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new At.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[pN]=l.toString()),iN.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:dN(r,n),user:cN,ip:aN,all:uN}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=lN(n,o),T=`bucket/${ki.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??oN)==="async"){let L=await(0,rN.getPolicyCacheName)(n,r),ne=new nN.ZoneCache(L,{logger:c_.SystemLogMap.getLogger(t)}),ie=d_(T,h,_,o,t.requestId),me=await ne.get(T);if(me!==void 0&&me<=Date.now()){Za(`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,M=w.mutableResponse;w.mutableResponse=(async()=>{let Ce=await ie;if(Ce.count>m){let pu=Date.now()+Ce.ttlSeconds*1e3,zE=ne.put(T,pu,Ce.ttlSeconds).catch(Nh=>{throw o.error(new At.SystemError("Error caching rate limit result.",{cause:Nh})),Nh});return t.waitUntil(zE),Za(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,Ce.ttlSeconds)}return M})()}catch(w){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let K=await d_(T,h,_,o,t.requestId);return K.count>m?(Za(`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;Za(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");ec.RateLimitInboundPolicy=hN});var y_=y(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.ReadmeMetricsInboundPolicy=void 0;var fN=ve(),Gp=z(),h_=zr(),Bp;function f_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(f_,"headersToNameValuePairs");function mN(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(mN,"queryToNameValueParis");function yN(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(yN,"parseIntOrUndefined");var m_={};async function gN(e,t,r,n){let i=new Date,o=Date.now();return Bp||(Bp={name:"zuplo",version:Gp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Gp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,h_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,h_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Gp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Bp,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:f_(e.headers),queryString:mN(e.query)},response:{status:a.status,statusText:a.statusText,headers:f_(a.headers),content:{size:yN(e.headers.get("content-length"))}}}]}}},d=m_[r.apiKey];if(!d){let p=r.apiKey;d=new fN.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),m_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(gN,"ReadmeMetricsInboundPolicy");tc.ReadmeMetricsInboundPolicy=gN});var g_=y(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.RemoveHeadersInboundPolicy=void 0;var bN=A(),_N=Me(),EN=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new bN.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 _N.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");rc.RemoveHeadersInboundPolicy=EN});var b_=y(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.RemoveHeadersOutboundPolicy=void 0;var wN=A(),vN=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new wN.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");nc.RemoveHeadersOutboundPolicy=vN});var __=y(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.RemoveQueryParamsInboundPolicy=void 0;var SN=A(),TN=Me(),IN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new SN.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 TN.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");ic.RemoveQueryParamsInboundPolicy=IN});var E_=y(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.ReplaceStringOutboundPolicy=void 0;var PN=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");oc.ReplaceStringOutboundPolicy=PN});var v_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.RequestSizeLimitInboundPolicy=void 0;var w_=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),AN=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?w_():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?w_():e},"RequestSizeLimitInboundPolicy");sc.RequestSizeLimitInboundPolicy=AN});var ac=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function RN(e,t,r){return`_${Fr(e+"_"+t+"_"+r)}`}s(RN,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=RN;function ON(e,t,r,n){return`_${Fr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(ON,"getIdForParameterSchema");tt.getIdForParameterSchema=ON;function NN(e,t,r){return`_${Fr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Fr(r.toLowerCase())}`}s(NN,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=NN;function xN(e,t){return`_${Fr(e)}__${Fr(t)}`}s(xN,"getIdForRefSchema");tt.getIdForRefSchema=xN;function Fr(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(Fr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Fr});var Mi=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 CN=Pr(),LN=ac(),DN=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=DN;var UN=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,LN.getIdForParameterSchema)(r,n,i,u.name),p=CN.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=UN;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 MN=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=MN;var HN=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=HN;var FN=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=FN});var S_=y(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.handleBodyValidation=void 0;var qN=Pr(),cc=te(),$N=ac(),Je=Mi();async function jN(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")}`,_=cc.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=cc.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,$N.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=cc.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=cc.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(jN,"handleBodyValidation");uc.handleBodyValidation=jN});var T_=y(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.handleHeadersValidation=void 0;var VN=te(),Hi=Mi();function GN(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Hi.getParametersForOperation)(e),o=(0,Hi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=VN.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,Hi.shouldLog)(r.validateHeaders)&&(0,Hi.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,Hi.shouldReject)(r.validateHeaders))return c}}s(GN,"handleHeadersValidation");lc.handleHeadersValidation=GN});var I_=y(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.handlePathParameterValidation=void 0;var BN=te(),Fi=Mi();function KN(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Fi.getParametersForOperation)(e),i=(0,Fi.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=BN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Fi.shouldLog)(r.validatePathParameters)&&(0,Fi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Fi.shouldReject)(r.validatePathParameters))return a}}s(KN,"handlePathParameterValidation");dc.handlePathParameterValidation=KN});var P_=y(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.handleQueryParameterValidation=void 0;var JN=te(),qi=Mi();function WN(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,qi.getParametersForOperation)(e),i=(0,qi.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=JN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,qi.shouldLog)(r.validateQueryParameters)&&(0,qi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,qi.shouldReject)(r.validateQueryParameters))return a}}s(WN,"handleQueryParameterValidation");pc.handleQueryParameterValidation=WN});var A_=y(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.SchemaBasedRequestValidation=qr.RequestValidationInboundPolicy=void 0;var zN=S_(),QN=T_(),YN=I_(),ZN=P_(),XN=s(async(e,t,r)=>{let n=(0,ZN.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,YN.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,QN.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,zN.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");qr.RequestValidationInboundPolicy=XN;qr.SchemaBasedRequestValidation=qr.RequestValidationInboundPolicy});var R_=y(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.RequireOriginInboundPolicy=void 0;var ex=A(),tx=te(),rx=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new ex.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 tx.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");hc.RequireOriginInboundPolicy=rx});var O_=y(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.SetBodyInboundPolicy=void 0;var nx=Me(),ix=s(async(e,t,r)=>new nx.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");fc.SetBodyInboundPolicy=ix});var x_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.SetHeadersInboundPolicy=void 0;var N_=A(),ox=Me(),sx=s(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new N_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let o=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new N_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.has(c.name)||u)&&o.set(c.name,c.value)}),new ox.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");mc.SetHeadersInboundPolicy=sx});var L_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.SetHeadersOutboundPolicy=void 0;var C_=A(),ax=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new C_.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 C_.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");yc.SetHeadersOutboundPolicy=ax});var U_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.SetQueryParamsInboundPolicy=void 0;var D_=A(),cx=Me(),ux=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new D_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let o=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new D_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.searchParams.has(c.name)||u)&&o.searchParams.set(c.name,c.value)}),new cx.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");gc.SetQueryParamsInboundPolicy=ux});var k_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.SetStatusOutboundPolicy=void 0;var lx=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");bc.SetStatusOutboundPolicy=lx});var M_=y(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.SleepInboundPolicy=void 0;var dx=A(),px=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),hx=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new dx.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await px(r.sleepInMs),e},"SleepInboundPolicy");_c.SleepInboundPolicy=hx});var F_=y(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.SupabaseJwtInboundPolicy=void 0;var H_=A(),fx=te(),mx=Me(),yx=qt(),gx=jt(),bx=s(async(e,t,r,n)=>{(0,yx.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,gx.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof mx.ZuploRequest))throw new H_.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 H_.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?fx.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");Ec.SupabaseJwtInboundPolicy=bx});var $_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var _x=$t(),Ex=Kt(),q_=A(),wx=mn(),vx=qt(),Sx=s(async(e,t,r,n)=>{(0,vx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,_x.getPolicyCacheName)(n,r),o=new Ex.MemoryZoneReadThroughCache(i,t),a=await o.get(n);if(!a){let c=await Tx(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");wc.UpstreamAzureAdServiceAuthInboundPolicy=Sx;async function Tx(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,wx.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 q_.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 q_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(Tx,"getAccessToken")});var V_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var Ix=$t(),Px=Kt(),Ax=A(),Kp=yn(),Rx=qt(),j_="https://accounts.google.com/o/oauth2/token",Jp,Ox=s(async(e,t,r,n)=>{(0,Rx.optionValidator)(r,n).required("serviceAccountJson","string"),Jp||(Jp=await Kp.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,Ix.getPolicyCacheName)(n,r),a=new Px.MemoryZoneReadThroughCache(o,t),c=await a.get(n);if(!c){let u=await(0,Kp.getTokenFromGcpServiceAccount)({serviceAccount:Jp,audience:j_,payload:i}),l=await(0,Kp.exchangeGgpJwtForIdToken)(j_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new Ax.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");vc.UpstreamFirebaseAdminAuthInboundPolicy=Ox});var G_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var Nx=$t(),xx=Kt(),jn=A(),Cx=Rp(),Wp=yn(),Lx=zr(),Dx=qt(),Ux="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",kx=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],zp,Mx=s(async(e,t,r,n)=>{if((0,Dx.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new jn.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(kx.indexOf(p)!==-1)throw new jn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}zp||(zp=await Wp.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new jn.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 jn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,Lx.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new jn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,Nx.getPolicyCacheName)(n,r),c=new xx.MemoryZoneReadThroughCache(a,t),u={uid:o,claims:i},l=await(0,Cx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Wp.getTokenFromGcpServiceAccount)({serviceAccount:zp,audience:Ux,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Wp.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new jn.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");Sc.UpstreamFirebaseUserAuthInboundPolicy=Mx});var K_=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.UpstreamGcpJwtInboundPolicy=void 0;var B_=yn(),Hx=qt(),Qp,Fx=s(async(e,t,r,n)=>{(0,Hx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Qp||(Qp=await B_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,B_.getTokenFromGcpServiceAccount)({serviceAccount:Qp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Tc.UpstreamGcpJwtInboundPolicy=Fx});var W_=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.UpstreamGcpServiceAuthInboundPolicy=void 0;var qx=$t(),$x=_u(),jx=Kt(),$i=A(),Yp=yn(),Vx=zr(),Gx=qt(),J_="https://www.googleapis.com/oauth2/v4/token",Zp,Bx=s(async(e,t,r,n)=>{(0,Gx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Zp||(Zp=await Yp.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new $i.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,Vx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof $i.ConfigurationError?new $i.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let o=await(0,qx.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new $x.MemoryCache(o):a=new jx.MemoryZoneReadThroughCache(o,t);let c=await a.get(n);if(!c){let u=await(0,Yp.getTokenFromGcpServiceAccount)({serviceAccount:Zp,audience:J_,payload:i}),l=await(0,Yp.exchangeGgpJwtForIdToken)(J_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new $i.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new $i.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");Ic.UpstreamGcpServiceAuthInboundPolicy=Bx});var Q_=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.ValidateJsonSchemaInbound=void 0;var Kx=A(),z_=te(),Jx=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return z_.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 Kx.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 z_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Pc.ValidateJsonSchemaInbound=Jx});var Y_=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.ServiceProviderImpl=void 0;var Wx=A(),Xp=class{static{s(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new Wx.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)}};Ac.ServiceProviderImpl=Xp});var uE=y(f=>{"use strict";var zx=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]}),eh=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&zx(t,e,r)},Qx=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;kh();var Yx=Kt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return Yx.MemoryZoneReadThroughCache}});var Zx=ii();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return Zx.ZoneCache}});var Z_=Ar();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return Z_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return Z_.ResponseSentEvent}});var Xx=Js();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return Xx.ContextData}});var th=_n();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return th.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return th.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return th.isZuploReadableEnvVariableName}});var X_=A();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return X_.ConfigurationError}});Object.defineProperty(f,"RuntimeError",{enumerable:!0,get:function(){return X_.RuntimeError}});var eC=Ld();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return eC.originalFetch}});var eE=dg();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return eE.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return eE.purgeGatewayCache}});var tE=Rg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return tE.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return tE.awsLambdaHandler}});var tC=Ng();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return tC.openApiSpecHandler}});var rC=xg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return rC.redirectHandler}});var nC=Lg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return nC.urlForwardHandler}});var iC=Ug();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return iC.urlRewriteHandler}});var oC=Mg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return oC.webSocketHandler}});var sC=qg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return sC.webSocketPipelineHandler}});var aC=Gu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return aC.HttpStatusCode}});eh(Wg(),f);eh(Yg(),f);var cC=Zg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return cC.AuditLogDataStaxProvider}});var uC=eb();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return uC.AuditLogPlugin}});eh(bb(),f);var rE=Sb();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return rE.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return rE.AmberfloMeteringPolicy}});var lC=Rb();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return lC.ApiAuthKeyInboundPolicy}});var dC=xp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return dC.ApiKeyInboundPolicy}});var pC=Ob();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return pC.Auth0JwtInboundPolicy}});var hC=Nb();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return hC.BasicAuthInboundPolicy}});var fC=xb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return fC.CachingInboundPolicy}});var mC=Cb();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return mC.ChangeMethodInboundPolicy}});var yC=Lb();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return yC.ClearHeadersInboundPolicy}});var gC=Db();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return gC.ClearHeadersOutboundPolicy}});var bC=Ub();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return bC.ClerkJwtInboundPolicy}});var _C=Mb();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return _C.CognitoJwtInboundPolicy}});var EC=Fb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return EC.CompositeInboundPolicy}});var wC=qb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return wC.CurityPhantomTokenInboundPolicy}});var vC=$b();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return vC.FirebaseJwtInboundPolicy}});var SC=jb();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return SC.FormDataToJsonInboundPolicy}});var TC=Vb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return TC.GeoFilterInboundPolicy}});var IC=Gb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return IC.JWTScopeValidationInboundPolicy}});var PC=Jb();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return PC.LoadSubscriptionInboundPolicy}});var AC=Qb();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return AC.MeteringInboundPolicy}});var RC=Zb();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return RC.MockApiInboundPolicy}});var nE=n_();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return nE.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return nE.setMoesifContext}});var OC=i_();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return OC.OktaJwtInboundPolicy}});var NC=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return NC.OpenIdJwtInboundPolicy}});var xC=o_();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return xC.PropelAuthJwtInboundPolicy}});var iE=p_();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return iE.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return iE.RateLimitInboundPolicy}});var CC=y_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return CC.ReadmeMetricsInboundPolicy}});var LC=g_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return LC.RemoveHeadersInboundPolicy}});var DC=b_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return DC.RemoveHeadersOutboundPolicy}});var UC=__();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return UC.RemoveQueryParamsInboundPolicy}});var kC=E_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return kC.ReplaceStringOutboundPolicy}});var MC=v_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return MC.RequestSizeLimitInboundPolicy}});var oE=A_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return oE.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return oE.SchemaBasedRequestValidation}});var HC=R_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return HC.RequireOriginInboundPolicy}});var FC=O_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return FC.SetBodyInboundPolicy}});var qC=x_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return qC.SetHeadersInboundPolicy}});var $C=L_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return $C.SetHeadersOutboundPolicy}});var jC=U_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return jC.SetQueryParamsInboundPolicy}});var VC=k_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return VC.SetStatusOutboundPolicy}});var GC=M_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return GC.SleepInboundPolicy}});var BC=fp();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return BC.StripeWebhookVerificationInboundPolicy}});var KC=F_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return KC.SupabaseJwtInboundPolicy}});var JC=$_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return JC.UpstreamAzureAdServiceAuthInboundPolicy}});var WC=V_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return WC.UpstreamFirebaseAdminAuthInboundPolicy}});var zC=G_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return zC.UpstreamFirebaseUserAuthInboundPolicy}});var QC=K_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return QC.UpstreamGcpJwtInboundPolicy}});var YC=W_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return YC.UpstreamGcpServiceAuthInboundPolicy}});var ZC=Q_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return ZC.ValidateJsonSchemaInbound}});var XC=te();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return XC.HttpProblems}});var eL=_o();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return eL.ProblemResponseFormatter}});var tL=Me();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return tL.ZuploRequest}});var rL=Or();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return rL.SystemRouteName}});var sE=Sd();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return sE.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return sE.Router}});var aE=Du();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return aE.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return aE.serialize}});var nL=Y_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return nL.ServiceProviderImpl}});var cE=nl();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return cE.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return cE.SYSTEM_LOGGER}});var iL=Ku();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return Qx(iL).default}});var oL=He();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return oL.SystemLogMap}});var ji=ac();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return ji.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return ji.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return ji.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return ji.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return ji.sanitizedIdentifierName}})});var lE=y(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.BaseCryptoBeta=Vn.supportedDigests=void 0;Vn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var rh=class{static{s(this,"BaseCryptoBeta")}};Vn.BaseCryptoBeta=rh});var dE=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.WorkerCryptoBeta=void 0;var nh=lE(),sL=A(),ih=class extends nh.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!nh.supportedDigests.includes(t.toLowerCase()))throw new sL.RuntimeError(`Algorithm ${t} is not supported. Try using ${nh.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};Rc.WorkerCryptoBeta=ih});var pE=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.BaseKeyValueStore=void 0;var oh=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Oc.BaseKeyValueStore=oh});var fE=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.WorkerKeyValueStore=void 0;var hE=A(),aL=pE(),sh=class extends aL.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new hE.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new hE.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};Nc.WorkerKeyValueStore=sh});var Dt=y(lt=>{"use strict";var cL=lt&<.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),uL=lt&<.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&cL(t,e,r)};Object.defineProperty(lt,"__esModule",{value:!0});lt.KeyValueStore=lt.CryptoBeta=void 0;uL(uE(),lt);var lL=dE();Object.defineProperty(lt,"CryptoBeta",{enumerable:!0,get:function(){return lL.WorkerCryptoBeta}});var dL=fE();Object.defineProperty(lt,"KeyValueStore",{enumerable:!0,get:function(){return dL.WorkerKeyValueStore}})});var bD={};io(bD,{GraphQLComplexityLimitInboundPolicy:()=>KE,GraphQLDisableIntrospectionInboundPolicy:()=>WE});module.exports=oo(bD);var ti=Ch(Dt());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 Rt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(Rt,"invariant");var pL=/\r\n|[\n\r]/g;function Gn(e,t){let r=0,n=1;for(let i of e.body.matchAll(pL)){if(typeof i.index=="number"||Rt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s(Gn,"getLocation");function ah(e){return xc(e.source,Gn(e.source,e.start))}s(ah,"printLocation");function xc(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 Hr.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 nb(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]=mp[o[c]];return a.join("")}s(nb,"computeHMACSignatureAsync");Ln.computeHMACSignatureAsync=nb;var mp=new Array(256);for(let e=0;e<mp.length;e++)mp[e]=e.toString(16).padStart(2,"0")});var qt=y(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.optionValidator=void 0;var xi=A();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 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(BR,"optionValidator");ma.optionValidator=BR});var yp=y(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.StripeWebhookVerificationInboundPolicy=void 0;var KR=te(),JR=ib(),zR=qt(),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");ya.StripeWebhookVerificationInboundPolicy=WR});var sb=y(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.isStripeWebhookEvent=void 0;var ob=gt();function QR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,ob.isString)(e.id)&&"type"in e&&(0,ob.isString)(e.type)}s(QR,"isStripeWebhookEvent");ga.isStripeWebhookEvent=QR});var ab=y(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.MeteringPlugin=void 0;var YR=yt(),gp=class extends YR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};ba.MeteringPlugin=gp});var ub=y(bp=>{"use strict";Object.defineProperty(bp,"__esModule",{value:!0});var cb=A(),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 cb.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 cb.RuntimeError(o)}return i}};bp.default=ZR});var mb=y(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.createConsumerInvite=Dn.createConsumer=void 0;var lb=A(),db=He(),pb=W(),hb=mn(),fb="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}=pb.Environment.instance,u=new URL(`/v1/buckets/${e}/consumers`,fb);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,hb.fetchRetry)({retryDelayMs:5,retries:2,logger:db.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 lb.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}s(XR,"createConsumer");Dn.createConsumer=XR;async function e0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:o}){let{authApiJWT:a}=pb.Environment.instance,c=new URL(`/v1/buckets/${e}/consumers`,fb);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,hb.fetchRetry)({retryDelayMs:5,retries:2,logger:db.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 lb.RuntimeError(m)}return o.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:t,stripeProductId:r}),u}s(e0,"createConsumerInvite");Dn.createConsumerInvite=e0});var _a=y(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.getSubscription=gr.updateSubscription=gr.createSubscription=void 0;var yr=A(),_p=He(),Ep=W(),wp=mn(),vp=gt();async function t0({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}=Ep.Environment.instance;if(!(0,vp.isNonEmptyString)(l))throw new yr.SystemError("No Zuplo JWT token set.");let p=await(0,wp.fetchRetry)({retryDelayMs:5,retries:2,logger:_p.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 yr.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}s(t0,"createSubscription");gr.createSubscription=t0;async function r0({context:e,meteringSubscriptionId:t,meteringBucketId:r,newStatus:n}){let{authApiJWT:i,meteringServiceUrl:o}=Ep.Environment.instance;if(!(0,vp.isNonEmptyString)(i))throw new yr.SystemError("No Zuplo JWT token set.");let a={status:n},c=await(0,wp.fetchRetry)({retryDelayMs:5,retries:2,logger:_p.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(a)});if(!c.ok){let u=`Error updating metering subscription to '${n}'.`,l;try{l=await c.json()}catch{l={status:c.status,statusText:c.statusText}}throw e.log.error(u,l),new yr.RuntimeError(u)}e.log.info(`Successfully update metering subscription to '${n}'.`)}s(r0,"updateSubscription");gr.updateSubscription=r0;async function n0({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:o}=Ep.Environment.instance;if(!(0,vp.isNonEmptyString)(i))throw new yr.SystemError("No Zuplo JWT token set.");let a=await(0,wp.fetchRetry)({retryDelayMs:5,retries:2,logger:_p.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 yr.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 yr.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 yr.RuntimeError(u)}return c.data[0]}s(n0,"getSubscription");gr.getSubscription=n0});var Sp=y(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.stripeStatusToMeteringStatus=void 0;function i0(e){return e.replaceAll("_","-")}s(i0,"stripeStatusToMeteringStatus");Ea.stripeStatusToMeteringStatus=i0});var gb=y(Ci=>{"use strict";var o0=Ci&&Ci.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ci,"__esModule",{value:!0});var wa=A(),Tp=te(),s0=o0(ub()),yb=mb(),a0=_a(),c0=Sp();async function u0(e,t,r,n){let i=r.data.object.id;if(!i)throw new wa.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data.object.plan;if(!o||!o.product)throw new wa.RuntimeError("Invalid Stripe API result. Expected event to have a plan data.");let a=r.data.object.customer;if(!a)throw new wa.RuntimeError("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,yb.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 s0.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)throw new wa.RuntimeError("Invalid Stripe API result. Expected customer to contain email address.");u=await(0,yb.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:t})}if(!u)return Tp.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,c0.stripeStatusToMeteringStatus)(r.data.object.status);await(0,a0.createSubscription)({context:t,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return Tp.HttpProblems.internalServerError(e,t,{detail:l.message})}return Tp.HttpProblems.ok(e,t)}s(u0,"onCustomerSubscriptionCreated");Ci.default=u0});var Eb=y(Ip=>{"use strict";Object.defineProperty(Ip,"__esModule",{value:!0});var bb=A(),l0=te(),_b=_a();async function d0(e,t,r,n){let i=r.data.object.id;if(!i)throw new bb.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data.object.customer;if(!o)throw new bb.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer' to be provided");let a=await(0,_b.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId});return await(0,_b.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,newStatus:"canceled"}),l0.HttpProblems.ok(e,t)}s(d0,"onCustomerSubscriptionDeleted");Ip.default=d0});var Tb=y(Pp=>{"use strict";Object.defineProperty(Pp,"__esModule",{value:!0});var wb=A(),vb=te(),Sb=_a(),p0=Sp();async function h0(e,t,r,n){let i=r.data.object.id;if(!i)throw new wb.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID.");let o=r.data.object.customer;if(!o)throw new wb.RuntimeError("Invalid Stripe webhook event. Expected '.data.object.customer' to be provided");if(r.data.previous_attributes&&r.data.previous_attributes.status&&r.data.previous_attributes.status!==r.data.object.status){let a=await(0,Sb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId}),c=(0,p0.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,Sb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,newStatus:c}),vb.HttpProblems.ok(e,t)}return vb.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}s(h0,"onCustomerSubscriptionUpdated");Pp.default=h0});var Pb=y(Un=>{"use strict";var Rp=Un&&Un.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Un,"__esModule",{value:!0});Un.StripeMeteringPlugin=void 0;var va=_n(),Sa=A(),f0=Lt(),m0=yp(),Ib=te(),y0=Qt(),g0=Yr(),b0=Bu(),_0=ot(),E0=W(),w0=sb(),v0=ab(),S0=Rp(gb()),T0=Rp(Eb()),I0=Rp(Tb()),Ap=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(va.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=va.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Sa.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(va.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=va.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Sa.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!E0.Environment.instance.build.ACCOUNT_NAME)throw new Sa.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 Sa.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)}};Un.StripeMeteringPlugin=Ap;function P0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(P0,"isMetricsRegion")});var xb=y(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.AmberfloMeteringInboundPolicy=kn.AmberfloMeteringPolicy=void 0;var Ab=A(),A0=ve(),Rb=Wr(),Nb=new WeakMap,Ob={},Op=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Nb.set(t,r)}};kn.AmberfloMeteringPolicy=Op;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");kn.AmberfloMeteringInboundPolicy=R0});var Np=y(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.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");Ta.sha256=O0});var $t=y(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.getPolicyCacheName=void 0;var N0=Np(),Cb=new Map;async function x0(e,t){let r,n=Cb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,N0.sha256)(JSON.stringify({policyName:e,options:t}))}`,Cb.set(e,r)),r}s(x0,"getPolicyCacheName");Ia.getPolicyCacheName=x0});var Lp=y(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ApiKeyInboundPolicy=void 0;var C0=$t(),L0=Kt(),Lb=_n(),xp=A(),D0=Dt(),Db=He(),Cp=W(),U0=mn(),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 xp.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 xp.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,C0.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)},`${Cp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":Cp.Environment.instance.deploymentName??"unknown","User-Agent":Cp.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 xp.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");Pa.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(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.ApiAuthKeyInboundPolicy=void 0;var F0=Lp();Aa.ApiAuthKeyInboundPolicy=F0.ApiKeyInboundPolicy});var jt=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.OpenIdJwtInboundPolicy=void 0;var Up=(Rs(),oo(As)),kp=A(),q0=te(),Dp={},$0=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new kp.ConfigurationError("Invalid State - jwkUrl not set");Dp[t.jwkUrl]||(Dp[t.jwkUrl]=(0,Up.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Up.jwtVerify)(e,Dp[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,Up.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");Ra.OpenIdJwtInboundPolicy=V0});var Mb=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.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");Oa.Auth0JwtInboundPolicy=B0});var Hb=y(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.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");Na.BasicAuthInboundPolicy=J0});var Fb=y(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.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");xa.CachingInboundPolicy=Z0});var qb=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.ChangeMethodInboundPolicy=void 0;var X0=A(),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");Ca.ChangeMethodInboundPolicy=tO});var $b=y(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.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");La.ClearHeadersInboundPolicy=nO});var jb=y(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.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");Da.ClearHeadersOutboundPolicy=iO});var Vb=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.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");Ua.ClerkJwtInboundPolicy=sO});var Bb=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.CognitoJwtInboundPolicy=void 0;var Gb=A(),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");ka.CognitoJwtInboundPolicy=cO});var Jb=y(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.CompositeInboundPolicy=void 0;var uO=A(),lO=Pr(),Kb=Yr(),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");Ma.CompositeInboundPolicy=dO});var zb=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.CurityPhantomTokenInboundPolicy=void 0;var pO=$t(),hO=Kt(),Ha=te(),fO=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Ha.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=mO(i);if(!o)return Ha.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}'`),Ha.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Ha.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Fa.CurityPhantomTokenInboundPolicy=fO;function mO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(mO,"getToken")});var Wb=y(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.FirebaseJwtInboundPolicy=void 0;var yO=qt(),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");qa.FirebaseJwtInboundPolicy=bO});var Qb=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.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");$a.FormDataToJsonInboundPolicy=EO});var Yb=y(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.GeoFilterInboundPolicy=void 0;var wO=A(),vO=te(),Mn="__unknown__",SO=s(async(e,t,r,n)=>{let i={allow:{countries:Fn(r.allow?.countries,"allow.countries",n),regionCodes:Fn(r.allow?.regionCodes,"allow.regionCode",n),asns:Fn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Fn(r.block?.countries,"block.countries",n),regionCodes:Fn(r.block?.regionCodes,"block.regionCode",n),asns:Fn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Mn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Mn,c=t.incomingRequestProperties.asn?.toString()??Mn,u=i.ignoreUnknown&&o===Mn,l=i.ignoreUnknown&&a===Mn,d=i.ignoreUnknown&&c===Mn,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 Hn(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?Hn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");ja.GeoFilterInboundPolicy=SO;function Hn(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(Hn,"blockedResponse");function Fn(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(Fn,"toLowerStringArray")});var Zb=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.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");Va.JWTScopeValidationInboundPolicy=TO});var t_=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.LoadSubscriptionInboundPolicy=void 0;var IO=oi(),PO=Js(),Xb=_n(),AO=A(),Ga=te(),e_=He(),RO=W(),OO=s(async(e,t,r,n)=>{let i=e_.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=r.allowedSubscriptionStatuses&&r.allowedSubscriptionStatuses.length>0?r.allowedSubscriptionStatuses:["active","incomplete","trialing"],c=e.user;if(!c)return o?e:Ga.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 AO.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:u,meteringServiceUrl:l}=RO.Environment.instance,{sub:d}=c,p;try{let h=`${r.bucketId}-${d}`,g=new IO.ZoneCache(h,{logger:e_.SystemLogMap.getLogger(t)}),_=await g.get(h);if(_)p=_;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()),Ga.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?Ga.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"}):(a.includes(m.status)&&PO.ContextData.set(t,"zuplo_meters",m),e):o?e:Ga.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"})},"LoadSubscriptionInboundPolicy");Ba.LoadSubscriptionInboundPolicy=OO});var i_=y(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.MeteringInboundPolicy=void 0;var r_=Js(),n_=_n(),Ka=A(),NO=te(),xO=He(),CO=W(),LO=s(async(e,t,r,n)=>{let i=xO.SystemLogMap.getLogger(t);t.addResponseSendingFinalHook(async(d,p,m)=>{let h=r_.ContextData.get(m,"zuplo_meters");if((r.allowRequestsWithoutSubscription??!1)&&!h)return;if(!r.bucketId)if(n_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=n_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ka.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:_,meteringServiceUrl:S}=CO.Environment.instance;if(d.ok&&h&&r.meters)try{let T=await fetch(`${S}/internal/v1/metering/${r.bucketId}/subscriptions/${h.id}/quotas/consume`,{headers:{Authorization:`Bearer ${_}`,"zp-rid":m.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});T.ok||(m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${T.status} - ${T.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${T.status} - ${T.statusText}`))}catch(T){m.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,T)}});let o=r_.ContextData.get(t,"zuplo_meters"),a=r.allowRequestsWithoutSubscription??!1,c=r.allowRequestsOverQuota??!1;if(!o){if(a)return e;throw new Ka.ConfigurationError("Subscription is not available for user")}if(o&&Object.keys(o.quotas).length===0)throw new Ka.ConfigurationError("Quota is not set up for the user's subscription");let l=Object.keys(r.meters).filter(d=>!Object.keys(o.quotas).includes(d));if(l.length>0)throw new Ka.ConfigurationError(`The following policy meters are not present in the subscription: ${l.join(", ")}`);for(let d of Object.keys(o.quotas))if(o.quotas[d]<=0&&!c)return NO.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${d}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");Ja.MeteringInboundPolicy=LO});var s_=y(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.MockApiInboundPolicy=void 0;var DO=te(),UO=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Mp(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 Mp(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]):Mp(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=UO;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 Mp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return DO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var d_=y(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.MoesifInboundPolicy=qn.setMoesifContext=void 0;var kO=A(),MO=ve(),HO="Incoming",FO={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 Hp=new WeakMap,qO={};function $O(e,t){let r=Hp.get(e);r||(r=qO);let n=Object.assign({...r},t);Hp.set(e,n)}s($O,"setMoesifContext");qn.setMoesifContext=$O;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 jO={},Fp;function l_(){if(!Fp)throw new kO.RuntimeError("Invalid State - no _lastLogger");return Fp}s(l_,"getLastLogger");function VO(e){let t=jO[e];return t||(t=new MO.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(VO,"getDispatcher");async function GO(e,t,r,n){Fp=t.log;let i=c_(),o=Object.assign(FO,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=VO(o.applicationId),d=e.headers.get("true-client-ip"),p=Hp.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:HO};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}s(GO,"MoesifInboundPolicy");qn.MoesifInboundPolicy=GO});var p_=y(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.OktaJwtInboundPolicy=void 0;var BO=jt(),KO=s(async(e,t,r,n)=>(0,BO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Wa.OktaJwtInboundPolicy=KO});var h_=y(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.PropelAuthJwtInboundPolicy=void 0;var JO=(Rs(),oo(As)),zO=jt(),qp,WO=s(async(e,t,r,n)=>{if(!qp)try{qp=await(0,JO.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");Qa.PropelAuthJwtInboundPolicy=WO});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=gt(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=et;var Li=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=Li;var Di=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=Di;function QO(e,t){if((0,je.isUndefined)(e))throw new Li(t)}s(QO,"throwIfUndefined");V.throwIfUndefined=QO;function $p(e,t){if((0,je.isUndefinedOrNull)(e))throw new Li(t)}s($p,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=$p;function YO(e,t){if($p(e,t),!(0,je.isString)(e))throw new Di(t,"string")}s(YO,"throwIfNotString");V.throwIfNotString=YO;function ZO(e,t){if($p(e,t),!(0,je.isNumber)(e))throw new Di(t,"number")}s(ZO,"throwIfNotNumber");V.throwIfNotNumber=ZO;var Ui=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=Ui;var $n=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=$n;function XO(e,t,r,n){if((0,je.isUndefined)(n))throw new Ui(e,t,r)}s(XO,"throwIfOptionUndefined");V.throwIfOptionUndefined=XO;function Ya(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Ui(e,t,r)}s(Ya,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=Ya;function eN(e,t,r,n){if(Ya(e,t,r,n),!(0,je.isString)(n))throw new $n(e,t,r,"string")}s(eN,"throwIfOptionNotString");V.throwIfOptionNotString=eN;function tN(e,t,r,n){if(Ya(e,t,r,n),!(0,je.isNumber)(n))throw new $n(e,t,r,"number")}s(tN,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=tN;function rN(e,t,r,n){if(Ya(e,t,r,n),!(0,je.isObject)(n))throw new $n(e,t,r,"object")}s(rN,"throwIfOptionNotObject");V.throwIfOptionNotObject=rN;function nN(e,t){if((0,je.isUndefined)(e))throw new et(t)}s(nN,"throwIfStateUndefined");V.throwIfStateUndefined=nN;function Za(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(Za,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=Za;function iN(e,t){if(Za(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(iN,"throwIfStateNotString");V.throwIfStateNotString=iN;function oN(e,t){if(Za(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(oN,"throwIfStateNotNumber");V.throwIfStateNotNumber=oN;function sN(e,t){if(Za(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(sN,"throwIfStateNotObject");V.throwIfStateNotObject=sN});var m_=y(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.InMemoryRedisClient=jn.StandardRedisClient=void 0;var jp=A(),Xa=f_(),Vp=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,Xa.throwIfNotString)(t,"redisClientUrl"),(0,Xa.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,Xa.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 jp.SystemError("Redis client failed with 401: Unauthorized"):new jp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};jn.StandardRedisClient=Vp;var Gp=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Xa.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 jp.SystemError("The in-memory redis client only supports /rate-limit calls")}};jn.InMemoryRedisClient=Gp});var E_=y(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.RateLimitInboundPolicy=void 0;var aN=Ir(),cN=$t(),uN=oi(),At=A(),lN=te(),y_=He(),ki=W(),g_=m_(),b_=gt(),ec=(0,aN.debug)("zuplo:policies:RateLimitInboundPolicy"),dN="strict",pN=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"),hN=s(async e=>({key:`ip-${pN(e)}`}),"getIP"),fN=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),mN=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),tc;function yN(e,t){let r;if(tc)return tc;if(ki.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new g_.InMemoryRedisClient,tc=r,r;let{authApiJWT:n,redisURL:i}=ki.Environment.instance;if(!(0,b_.isString)(i))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,b_.isString)(n))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=g_.StandardRedisClient.initialize(i,n,ki.Environment.instance.deploymentName??"unknown",ki.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new At.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return tc=r,r}s(yN,"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 gN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return s(async(i,o,a)=>{let c=await r(i,o,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw o.log.error(u),new At.RuntimeError(u)}return c},"outerFunction")}s(gN,"wrapUserFunction");var bN="Retry-After",_N=s(async(e,t,r,n)=>{let i=Date.now(),o=y_.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new At.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[bN]=l.toString()),lN.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:gN(r,n),user:fN,ip:hN,all:mN}[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",_=yN(n,o),T=`bucket/${ki.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??dN)==="async"){let L=await(0,cN.getPolicyCacheName)(n,r),ne=new uN.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()){ec(`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,M=w.mutableResponse;w.mutableResponse=(async()=>{let Ce=await ie;if(Ce.count>m){let fu=Date.now()+Ce.ttlSeconds*1e3,nw=ne.put(T,fu,Ce.ttlSeconds).catch(xh=>{throw o.error(new At.SystemError("Error caching rate limit result.",{cause:xh})),xh});return t.waitUntil(nw),ec(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,Ce.ttlSeconds)}return M})()}catch(w){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let K=await __(T,h,_,o,t.requestId);return K.count>m?(ec(`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;ec(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");rc.RateLimitInboundPolicy=_N});var T_=y(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.ReadmeMetricsInboundPolicy=void 0;var EN=ve(),Bp=W(),w_=Wr(),Kp;function v_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(v_,"headersToNameValuePairs");function wN(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(wN,"queryToNameValueParis");function vN(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(vN,"parseIntOrUndefined");var S_={};async function SN(e,t,r,n){let i=new Date,o=Date.now();return Kp||(Kp={name:"zuplo",version:Bp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Bp.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:Bp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Kp,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:wN(e.query)},response:{status:a.status,statusText:a.statusText,headers:v_(a.headers),content:{size:vN(e.headers.get("content-length"))}}}]}}},d=S_[r.apiKey];if(!d){let p=r.apiKey;d=new EN.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(SN,"ReadmeMetricsInboundPolicy");nc.ReadmeMetricsInboundPolicy=SN});var I_=y(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.RemoveHeadersInboundPolicy=void 0;var TN=A(),IN=Me(),PN=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new TN.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 IN.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");ic.RemoveHeadersInboundPolicy=PN});var P_=y(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.RemoveHeadersOutboundPolicy=void 0;var AN=A(),RN=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new AN.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");oc.RemoveHeadersOutboundPolicy=RN});var A_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.RemoveQueryParamsInboundPolicy=void 0;var ON=A(),NN=Me(),xN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new ON.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 NN.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");sc.RemoveQueryParamsInboundPolicy=xN});var R_=y(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.ReplaceStringOutboundPolicy=void 0;var CN=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");ac.ReplaceStringOutboundPolicy=CN});var N_=y(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.RequestSizeLimitInboundPolicy=void 0;var O_=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),LN=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");cc.RequestSizeLimitInboundPolicy=LN});var uc=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function DN(e,t,r){return`_${Fr(e+"_"+t+"_"+r)}`}s(DN,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=DN;function UN(e,t,r,n){return`_${Fr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(UN,"getIdForParameterSchema");tt.getIdForParameterSchema=UN;function kN(e,t,r){return`_${Fr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Fr(r.toLowerCase())}`}s(kN,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=kN;function MN(e,t){return`_${Fr(e)}__${Fr(t)}`}s(MN,"getIdForRefSchema");tt.getIdForRefSchema=MN;function Fr(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(Fr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Fr});var Mi=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 HN=Pr(),FN=uc(),qN=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=qN;var $N=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,FN.getIdForParameterSchema)(r,n,i,u.name),p=HN.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=$N;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 VN=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=VN;var GN=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=GN;var BN=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=BN});var x_=y(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.handleBodyValidation=void 0;var KN=Pr(),lc=te(),JN=uc(),Je=Mi();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")}`,_=lc.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=lc.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,JN.getIdForRequestBodySchema)(e.route.path,t.method,i),c=KN.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=lc.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=lc.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");dc.handleBodyValidation=zN});var C_=y(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.handleHeadersValidation=void 0;var WN=te(),Hi=Mi();function QN(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Hi.getParametersForOperation)(e),o=(0,Hi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=WN.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,Hi.shouldLog)(r.validateHeaders)&&(0,Hi.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,Hi.shouldReject)(r.validateHeaders))return c}}s(QN,"handleHeadersValidation");pc.handleHeadersValidation=QN});var L_=y(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.handlePathParameterValidation=void 0;var YN=te(),Fi=Mi();function ZN(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Fi.getParametersForOperation)(e),i=(0,Fi.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=YN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,Fi.shouldLog)(r.validatePathParameters)&&(0,Fi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,Fi.shouldReject)(r.validatePathParameters))return a}}s(ZN,"handlePathParameterValidation");hc.handlePathParameterValidation=ZN});var D_=y(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.handleQueryParameterValidation=void 0;var XN=te(),qi=Mi();function ex(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,qi.getParametersForOperation)(e),i=(0,qi.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=XN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,qi.shouldLog)(r.validateQueryParameters)&&(0,qi.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,qi.shouldReject)(r.validateQueryParameters))return a}}s(ex,"handleQueryParameterValidation");fc.handleQueryParameterValidation=ex});var U_=y(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.SchemaBasedRequestValidation=qr.RequestValidationInboundPolicy=void 0;var tx=x_(),rx=C_(),nx=L_(),ix=D_(),ox=s(async(e,t,r)=>{let n=(0,ix.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,nx.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,rx.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,tx.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");qr.RequestValidationInboundPolicy=ox;qr.SchemaBasedRequestValidation=qr.RequestValidationInboundPolicy});var k_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.RequireOriginInboundPolicy=void 0;var sx=A(),ax=te(),cx=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new sx.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 ax.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");mc.RequireOriginInboundPolicy=cx});var M_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.SetBodyInboundPolicy=void 0;var ux=Me(),lx=s(async(e,t,r)=>new ux.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");yc.SetBodyInboundPolicy=lx});var F_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.SetHeadersInboundPolicy=void 0;var H_=A(),dx=Me(),px=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 dx.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");gc.SetHeadersInboundPolicy=px});var $_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.SetHeadersOutboundPolicy=void 0;var q_=A(),hx=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");bc.SetHeadersOutboundPolicy=hx});var V_=y(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.SetQueryParamsInboundPolicy=void 0;var j_=A(),fx=Me(),mx=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 fx.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");_c.SetQueryParamsInboundPolicy=mx});var G_=y(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.SetStatusOutboundPolicy=void 0;var yx=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");Ec.SetStatusOutboundPolicy=yx});var B_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.SleepInboundPolicy=void 0;var gx=A(),bx=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),_x=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new gx.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await bx(r.sleepInMs),e},"SleepInboundPolicy");wc.SleepInboundPolicy=_x});var J_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.SupabaseJwtInboundPolicy=void 0;var K_=A(),Ex=te(),wx=Me(),vx=qt(),Sx=jt(),Tx=s(async(e,t,r,n)=>{(0,vx.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,Sx.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof wx.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?Ex.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");vc.SupabaseJwtInboundPolicy=Tx});var W_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var Ix=$t(),Px=Kt(),z_=A(),Ax=mn(),Rx=qt(),Ox=s(async(e,t,r,n)=>{(0,Rx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,Ix.getPolicyCacheName)(n,r),o=new Px.MemoryZoneReadThroughCache(i,t),a=await o.get(n);if(!a){let c=await Nx(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");Sc.UpstreamAzureAdServiceAuthInboundPolicy=Ox;async function Nx(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,Ax.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(Nx,"getAccessToken")});var Y_=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var xx=$t(),Cx=Kt(),Lx=A(),Jp=yn(),Dx=qt(),Q_="https://accounts.google.com/o/oauth2/token",zp,Ux=s(async(e,t,r,n)=>{(0,Dx.optionValidator)(r,n).required("serviceAccountJson","string"),zp||(zp=await Jp.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,xx.getPolicyCacheName)(n,r),a=new Cx.MemoryZoneReadThroughCache(o,t),c=await a.get(n);if(!c){let u=await(0,Jp.getTokenFromGcpServiceAccount)({serviceAccount:zp,audience:Q_,payload:i}),l=await(0,Jp.exchangeGgpJwtForIdToken)(Q_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new Lx.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");Tc.UpstreamFirebaseAdminAuthInboundPolicy=Ux});var Z_=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.UpstreamFirebaseUserAuthInboundPolicy=void 0;var kx=$t(),Mx=Kt(),Vn=A(),Hx=Np(),Wp=yn(),Fx=Wr(),qx=qt(),$x="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",jx=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Qp,Vx=s(async(e,t,r,n)=>{if((0,qx.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Vn.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(jx.indexOf(p)!==-1)throw new Vn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Qp||(Qp=await Wp.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new Vn.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 Vn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,Fx.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new Vn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,kx.getPolicyCacheName)(n,r),c=new Mx.MemoryZoneReadThroughCache(a,t),u={uid:o,claims:i},l=await(0,Hx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Wp.getTokenFromGcpServiceAccount)({serviceAccount:Qp,audience:$x,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Wp.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Vn.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");Ic.UpstreamFirebaseUserAuthInboundPolicy=Vx});var eE=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.UpstreamGcpJwtInboundPolicy=void 0;var X_=yn(),Gx=qt(),Yp,Bx=s(async(e,t,r,n)=>{(0,Gx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Yp||(Yp=await X_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,X_.getTokenFromGcpServiceAccount)({serviceAccount:Yp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Pc.UpstreamGcpJwtInboundPolicy=Bx});var rE=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.UpstreamGcpServiceAuthInboundPolicy=void 0;var Kx=$t(),Jx=wu(),zx=Kt(),$i=A(),Zp=yn(),Wx=Wr(),Qx=qt(),tE="https://www.googleapis.com/oauth2/v4/token",Xp,Yx=s(async(e,t,r,n)=>{(0,Qx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Xp||(Xp=await Zp.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new $i.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,Wx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof $i.ConfigurationError?new $i.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let o=await(0,Kx.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new Jx.MemoryCache(o):a=new zx.MemoryZoneReadThroughCache(o,t);let c=await a.get(n);if(!c){let u=await(0,Zp.getTokenFromGcpServiceAccount)({serviceAccount:Xp,audience:tE,payload:i}),l=await(0,Zp.exchangeGgpJwtForIdToken)(tE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new $i.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new $i.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");Ac.UpstreamGcpServiceAuthInboundPolicy=Yx});var iE=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.ValidateJsonSchemaInbound=void 0;var Zx=A(),nE=te(),Xx=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 Zx.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");Rc.ValidateJsonSchemaInbound=Xx});var oE=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.ServiceProviderImpl=void 0;var eC=A(),eh=class{static{s(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new eC.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)}};Oc.ServiceProviderImpl=eh});var gE=y(f=>{"use strict";var tC=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]}),th=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&tC(t,e,r)},rC=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;Mh();var nC=Kt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return nC.MemoryZoneReadThroughCache}});var iC=oi();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return iC.ZoneCache}});var sE=Ar();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return sE.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return sE.ResponseSentEvent}});var oC=Js();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return oC.ContextData}});var rh=_n();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return rh.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return rh.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return rh.isZuploReadableEnvVariableName}});var aE=A();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return aE.ConfigurationError}});Object.defineProperty(f,"RuntimeError",{enumerable:!0,get:function(){return aE.RuntimeError}});var sC=Ud();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return sC.originalFetch}});var cE=pg();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return cE.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return cE.purgeGatewayCache}});var uE=Og();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return uE.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return uE.awsLambdaHandler}});var aC=xg();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return aC.openApiSpecHandler}});var cC=Cg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return cC.redirectHandler}});var uC=Dg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return uC.urlForwardHandler}});var lC=kg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return lC.urlRewriteHandler}});var dC=Hg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return dC.webSocketHandler}});var pC=$g();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return pC.webSocketPipelineHandler}});var hC=Ku();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return hC.HttpStatusCode}});th(Wg(),f);th(Zg(),f);var fC=Xg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return fC.AuditLogDataStaxProvider}});var mC=tb();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return mC.AuditLogPlugin}});th(Pb(),f);var lE=xb();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return lE.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return lE.AmberfloMeteringPolicy}});var yC=kb();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return yC.ApiAuthKeyInboundPolicy}});var gC=Lp();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return gC.ApiKeyInboundPolicy}});var bC=Mb();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return bC.Auth0JwtInboundPolicy}});var _C=Hb();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return _C.BasicAuthInboundPolicy}});var EC=Fb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return EC.CachingInboundPolicy}});var wC=qb();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return wC.ChangeMethodInboundPolicy}});var vC=$b();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return vC.ClearHeadersInboundPolicy}});var SC=jb();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return SC.ClearHeadersOutboundPolicy}});var TC=Vb();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return TC.ClerkJwtInboundPolicy}});var IC=Bb();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return IC.CognitoJwtInboundPolicy}});var PC=Jb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return PC.CompositeInboundPolicy}});var AC=zb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return AC.CurityPhantomTokenInboundPolicy}});var RC=Wb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return RC.FirebaseJwtInboundPolicy}});var OC=Qb();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return OC.FormDataToJsonInboundPolicy}});var NC=Yb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return NC.GeoFilterInboundPolicy}});var xC=Zb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return xC.JWTScopeValidationInboundPolicy}});var CC=t_();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return CC.LoadSubscriptionInboundPolicy}});var LC=i_();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return LC.MeteringInboundPolicy}});var DC=s_();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return DC.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 UC=p_();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return UC.OktaJwtInboundPolicy}});var kC=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return kC.OpenIdJwtInboundPolicy}});var MC=h_();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return MC.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 HC=T_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return HC.ReadmeMetricsInboundPolicy}});var FC=I_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return FC.RemoveHeadersInboundPolicy}});var qC=P_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return qC.RemoveHeadersOutboundPolicy}});var $C=A_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return $C.RemoveQueryParamsInboundPolicy}});var jC=R_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return jC.ReplaceStringOutboundPolicy}});var VC=N_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return VC.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 GC=k_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return GC.RequireOriginInboundPolicy}});var BC=M_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return BC.SetBodyInboundPolicy}});var KC=F_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return KC.SetHeadersInboundPolicy}});var JC=$_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return JC.SetHeadersOutboundPolicy}});var zC=V_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return zC.SetQueryParamsInboundPolicy}});var WC=G_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return WC.SetStatusOutboundPolicy}});var QC=B_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return QC.SleepInboundPolicy}});var YC=yp();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return YC.StripeWebhookVerificationInboundPolicy}});var ZC=J_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return ZC.SupabaseJwtInboundPolicy}});var XC=W_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return XC.UpstreamAzureAdServiceAuthInboundPolicy}});var eL=Y_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return eL.UpstreamFirebaseAdminAuthInboundPolicy}});var tL=Z_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return tL.UpstreamFirebaseUserAuthInboundPolicy}});var rL=eE();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return rL.UpstreamGcpJwtInboundPolicy}});var nL=rE();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return nL.UpstreamGcpServiceAuthInboundPolicy}});var iL=iE();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return iL.ValidateJsonSchemaInbound}});var oL=te();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return oL.HttpProblems}});var sL=_o();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return sL.ProblemResponseFormatter}});var aL=Me();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return aL.ZuploRequest}});var cL=Or();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return cL.SystemRouteName}});var fE=Id();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return fE.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return fE.Router}});var mE=ku();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return mE.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return mE.serialize}});var uL=oE();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return uL.ServiceProviderImpl}});var yE=ol();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 lL=zu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return rC(lL).default}});var dL=He();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return dL.SystemLogMap}});var ji=uc();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return ji.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return ji.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return ji.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return ji.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return ji.sanitizedIdentifierName}})});var bE=y(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.BaseCryptoBeta=Gn.supportedDigests=void 0;Gn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var nh=class{static{s(this,"BaseCryptoBeta")}};Gn.BaseCryptoBeta=nh});var _E=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.WorkerCryptoBeta=void 0;var ih=bE(),pL=A(),oh=class extends ih.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!ih.supportedDigests.includes(t.toLowerCase()))throw new pL.RuntimeError(`Algorithm ${t} is not supported. Try using ${ih.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("")}};Nc.WorkerCryptoBeta=oh});var EE=y(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.BaseKeyValueStore=void 0;var sh=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};xc.BaseKeyValueStore=sh});var vE=y(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.WorkerKeyValueStore=void 0;var wE=A(),hL=EE(),ah=class extends hL.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)}};Cc.WorkerKeyValueStore=ah});var Dt=y(lt=>{"use strict";var fL=lt&<.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),mL=lt&<.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&fL(t,e,r)};Object.defineProperty(lt,"__esModule",{value:!0});lt.KeyValueStore=lt.CryptoBeta=void 0;mL(gE(),lt);var yL=_E();Object.defineProperty(lt,"CryptoBeta",{enumerable:!0,get:function(){return yL.WorkerCryptoBeta}});var gL=vE();Object.defineProperty(lt,"KeyValueStore",{enumerable:!0,get:function(){return gL.WorkerKeyValueStore}})});var TD={};io(TD,{GraphQLComplexityLimitInboundPolicy:()=>ew,GraphQLDisableIntrospectionInboundPolicy:()=>rw});module.exports=oo(TD);var ri=Lh(Dt());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 Rt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(Rt,"invariant");var bL=/\r\n|[\n\r]/g;function Bn(e,t){let r=0,n=1;for(let i of e.body.matchAll(bL)){if(typeof i.index=="number"||Rt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s(Bn,"getLocation");function ch(e){return Lc(e.source,Bn(e.source,e.start))}s(ch,"printLocation");function Lc(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(Lc,"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 _L(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(_L,"toNormalizedOptions");var C=class e extends Error{static{s(this,"GraphQLError")}constructor(t,...r){var n,i,o;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=_L(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=>Bn(c,g)):m?.map(g=>Bn(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
|
+
`+ch(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
|
|
79
79
|
|
|
80
|
-
`+
|
|
80
|
+
`+Lc(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 C(`Syntax Error: ${r}`,{source:e,positions:[t]})}s(de,"syntaxError");var Vi=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}}},Kn=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}}},uh={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},EL=new Set(Object.keys(uh));function Gi(e){let t=e?.kind;return typeof t=="string"&&EL.has(t)}s(Gi,"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 Dc(e){return e===9||e===32}s(Dc,"isWhiteSpace");function Jn(e){return e>=48&&e<=57}s(Jn,"isDigit");function IE(e){return e>=97&&e<=122||e>=65&&e<=90}s(IE,"isLetter");function Bi(e){return IE(e)||e===95}s(Bi,"isNameStart");function Uc(e){return IE(e)||Jn(e)||e===95}s(Uc,"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=wL(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 wL(e){let t=0;for(;t<e.length&&Dc(e.charCodeAt(t));)++t;return t}s(wL,"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||Dc(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&&Dc(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(
|
|
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 Ji=class{static{s(this,"Lexer")}constructor(t){let r=new Kn(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=vL(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 zn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}s(zn,"isUnicodeScalarValue");function kc(e,t){return NE(e.charCodeAt(t))&&xE(e.charCodeAt(t+1))}s(kc,"isSupplementaryCodePoint");function NE(e){return e>=55296&&e<=56319}s(NE,"isLeadingSurrogate");function xE(e){return e>=56320&&e<=57343}s(xE,"isTrailingSurrogate");function $r(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($r,"printCodePointAt");function fe(e,t,r,n,i){let o=e.line,a=1+r-e.lineStart;return new Kn(t,r,n,o,a,i)}s(fe,"createToken");function vL(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 SL(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?OL(e,i):IL(e,i)}if(Jn(o)||o===45)return TL(e,i,o);if(Bi(o))return NL(e,i);throw de(e.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:zn(o)||kc(r,i)?`Unexpected character: ${$r(e,i)}.`:`Invalid character: ${$r(e,i)}.`)}return fe(e,E.EOF,n,n)}s(vL,"readNextToken");function SL(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(zn(o))++i;else if(kc(r,i))i+=2;else break}return fe(e,E.COMMENT,t,i,r.slice(t+1,i))}s(SL,"readComment");function TL(e,t,r){let n=e.source.body,i=t,o=r,a=!1;if(o===45&&(o=n.charCodeAt(++i)),o===48){if(o=n.charCodeAt(++i),Jn(o))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${$r(e,i)}.`)}else i=lh(e,i,o),o=n.charCodeAt(i);if(o===46&&(a=!0,o=n.charCodeAt(++i),i=lh(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=lh(e,i,o),o=n.charCodeAt(i)),o===46||Bi(o))throw de(e.source,i,`Invalid number, expected digit but got: ${$r(e,i)}.`);return fe(e,a?E.FLOAT:E.INT,t,i,n.slice(t,i))}s(TL,"readNumber");function lh(e,t,r){if(!Jn(r))throw de(e.source,t,`Invalid number, expected digit but got: ${$r(e,t)}.`);let n=e.source.body,i=t+1;for(;Jn(n.charCodeAt(i));)++i;return i}s(lh,"readDigits");function IL(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?PL(e,i):AL(e,i):RL(e,i);a+=u.value,i+=u.size,o=i;continue}if(c===10||c===13)break;if(zn(c))++i;else if(kc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${$r(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}s(IL,"readString");function PL(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||!zn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Ki(o),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}s(PL,"readEscapedUnicodeVariableWidth");function AL(e,t){let r=e.source.body,n=RE(r,t+2);if(zn(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(xE(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}s(AL,"readEscapedUnicodeFixedWidth");function RE(e,t){return Ki(e.charCodeAt(t))<<12|Ki(e.charCodeAt(t+1))<<8|Ki(e.charCodeAt(t+2))<<4|Ki(e.charCodeAt(t+3))}s(RE,"read16BitHexCode");function Ki(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}s(Ki,"readHexDigit");function RL(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(RL,"readEscapedCharacter");function OL(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(zn(l))++o;else if(kc(r,o))o+=2;else throw de(e.source,o,`Invalid character within String: ${$r(e,o)}.`)}throw de(e.source,o,"Unterminated string.")}s(OL,"readBlockString");function NL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(Uc(o))++i;else break}return fe(e,E.NAME,t,i,r.slice(t,i))}s(NL,"readName");function P(e){return Mc(e,[])}s(P,"inspect");function Mc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return xL(e,t);default:return String(e)}}s(Mc,"formatValue");function xL(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(CL(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:Mc(n,r)}else if(Array.isArray(e))return DL(e,r);return LL(e,r)}s(xL,"formatObjectValue");function CL(e){return typeof e.toJSON=="function"}s(CL,"isJSONable");function LL(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+UL(e)+"]":"{ "+r.map(([i,o])=>i+": "+Mc(o,t)).join(", ")+" }"}s(LL,"formatObject");function DL(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let o=0;o<r;++o)i.push(Mc(e[o],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}s(DL,"formatArray");function UL(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(UL,"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,17 +92,17 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
|
|
|
92
92
|
Duplicate "graphql" modules cannot be used at the same time since different
|
|
93
93
|
versions may have different capabilities and behavior. The data from one
|
|
94
94
|
version used in the function from another could produce confusing and
|
|
95
|
-
spurious results.`)}}return!1},"instanceOf");var Wn=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 TE(e){return We(e,Wn)}s(TE,"isSource");function Hc(e,t){return new Mc(e,t).parseDocument()}s(Hc,"parse");function Fc(e,t){let r=new Mc(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}s(Fc,"parseValue");var Mc=class{static{s(this,"Parser")}constructor(t,r={}){let n=TE(t)?t:new Wn(t);this._lexer=new Ji(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,`${kc(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 Vi(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 ${IE(t)}, found ${kc(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 ${kc(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 ${kc(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 kc(e){let t=e.value;return IE(e.kind)+(t!=null?` "${t}"`:"")}s(kc,"getTokenDesc");function IE(e){return wE(e)?`"${e}"`:e}s(IE,"getTokenKindDesc");function qc(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(qc,"didYouMean");function lh(e){return e}s(lh,"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 Ot(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Ot,"keyValMap");function Wi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(Wi,"mapValue");function PE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if($c(i)&&$c(o)){let a=0;do++r,a=a*10+i-dh,i=e.charCodeAt(r);while($c(i)&&a>0);let c=0;do++n,c=c*10+o-dh,o=t.charCodeAt(n);while($c(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(PE,"naturalCompare");var dh=48,NL=57;function $c(e){return!isNaN(e)&&dh<=e&&e<=NL}s($c,"isDigit");function jc(e,t){let r=Object.create(null),n=new ph(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:PE(o,a)})}s(jc,"suggestionList");var ph=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=AE(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=AE(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 AE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(AE,"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 RE(e){return`"${e.replace(xL,CL)}"`}s(RE,"printString");var xL=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function CL(e){return LL[e.charCodeAt(0)]}s(CL,"escapedReplacer");var LL=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var hh=Object.freeze({});function br(e,t,r=ch){let n=new Map;for(let T of Object.values(b))n.set(T,Qn(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,H=T&&u.length!==0;if(T){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),H)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,_;Gi(l)||G(!1,`Invalid AST Node: ${P(l)}.`);let L=T?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(K=L?.call(t,l,d,p,m,h),K===hh)break;if(K===!1){if(!T){m.pop();continue}}else if(K!==void 0&&(u.push([d,K]),!T))if(Gi(K))l=K;else{m.pop();continue}}if(K===void 0&&H&&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(br,"visit");function Qn(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(Qn,"getEnterLeaveForKind");function Ue(e){return br(e,UL)}s(Ue,"print");var DL=80,UL={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
|
|
95
|
+
spurious results.`)}}return!1},"instanceOf");var Wn=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 CE(e){return ze(e,Wn)}s(CE,"isSource");function qc(e,t){return new Fc(e,t).parseDocument()}s(qc,"parse");function $c(e,t){let r=new Fc(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}s($c,"parseValue");var Fc=class{static{s(this,"Parser")}constructor(t,r={}){let n=CE(t)?t:new Wn(t);this._lexer=new Ji(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,`${Hc(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 Vi(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 ${Hc(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 ${Hc(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 ${Hc(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 Hc(e){let t=e.value;return LE(e.kind)+(t!=null?` "${t}"`:"")}s(Hc,"getTokenDesc");function LE(e){return OE(e)?`"${e}"`:e}s(LE,"getTokenKindDesc");function jc(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(jc,"didYouMean");function dh(e){return e}s(dh,"identityFunc");function Qn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Qn,"keyMap");function Ot(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Ot,"keyValMap");function 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 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(Vc(i)&&Vc(o)){let a=0;do++r,a=a*10+i-ph,i=e.charCodeAt(r);while(Vc(i)&&a>0);let c=0;do++n,c=c*10+o-ph,o=t.charCodeAt(n);while(Vc(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 ph=48,kL=57;function Vc(e){return!isNaN(e)&&ph<=e&&e<=kL}s(Vc,"isDigit");function Gc(e,t){let r=Object.create(null),n=new hh(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(Gc,"suggestionList");var hh=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(ML,HL)}"`}s(kE,"printString");var ML=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function HL(e){return FL[e.charCodeAt(0)]}s(HL,"escapedReplacer");var FL=["\\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 fh=Object.freeze({});function br(e,t,r=uh){let n=new Map;for(let T of Object.values(b))n.set(T,Yn(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,H=T&&u.length!==0;if(T){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),H)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,_;Gi(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===fh)break;if(K===!1){if(!T){m.pop();continue}}else if(K!==void 0&&(u.push([d,K]),!T))if(Gi(K))l=K;else{m.pop();continue}}if(K===void 0&&H&&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(br,"visit");function Yn(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(Yn,"getEnterLeaveForKind");function Ue(e){return br(e,$L)}s(Ue,"print");var qL=80,$L={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
|
|
96
96
|
|
|
97
|
-
`)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>dt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let o=J("",e,": ")+t,a=o+J("(",x(r,", "),")");return a.length>
|
|
98
|
-
`,
|
|
97
|
+
`)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>dt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let o=J("",e,": ")+t,a=o+J("(",x(r,", "),")");return a.length>qL&&(a=o+J(`(
|
|
98
|
+
`,Bc(x(r,`
|
|
99
99
|
`)),`
|
|
100
|
-
)`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?
|
|
100
|
+
)`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?AE(e):kE(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+x(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+x(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",x(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
|
|
101
101
|
`)+x(["schema",x(t," "),dt(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
102
102
|
`)+x(["scalar",t,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
103
103
|
`)+x(["type",t,J("implements ",x(r," & ")),x(n," "),dt(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
|
|
104
|
-
`)+t+(
|
|
105
|
-
`,
|
|
104
|
+
`)+t+(ME(r)?J(`(
|
|
105
|
+
`,Bc(x(r,`
|
|
106
106
|
`)),`
|
|
107
107
|
)`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
|
|
108
108
|
`)+x([t+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
|
|
@@ -111,17 +111,17 @@ spurious results.`)}}return!1},"instanceOf");var Wn=class{static{s(this,"Source"
|
|
|
111
111
|
`)+x(["enum",t,x(r," "),dt(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
|
|
112
112
|
`)+x([t,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
|
|
113
113
|
`)+x(["input",t,x(r," "),dt(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
|
|
114
|
-
`)+"directive @"+t+(
|
|
115
|
-
`,
|
|
114
|
+
`)+"directive @"+t+(ME(r)?J(`(
|
|
115
|
+
`,Bc(x(r,`
|
|
116
116
|
`)),`
|
|
117
117
|
)`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),dt(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>x(["extend scalar",e,x(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend type",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>x(["extend union",e,x(t," "),J("= ",x(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>x(["extend enum",e,x(t," "),dt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),dt(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}s(x,"join");function dt(e){return J(`{
|
|
118
|
-
`,
|
|
118
|
+
`,Bc(x(e,`
|
|
119
119
|
`)),`
|
|
120
|
-
}`)}s(dt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}s(J,"wrap");function
|
|
121
|
-
`))}s(
|
|
122
|
-
`)))!==null&&t!==void 0?t:!1}s(OE,"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 Ot(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 C("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Lc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Bi(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function fh(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return Ve(e)}s(fh,"assertEnumValueName");function Bc(e){return _r(e)||xe(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s(Bc,"isType");function _r(e){return We(e,ze)}s(_r,"isScalarType");function xe(e){return We(e,Ne)}s(xe,"isObjectType");function Kc(e){if(!xe(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(Kc,"assertObjectType");function we(e){return We(e,Vt)}s(we,"isInterfaceType");function Jc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Jc,"assertInterfaceType");function nt(e){return We(e,jr)}s(nt,"isUnionType");function Qe(e){return We(e,Nt)}s(Qe,"isEnumType");function Ae(e){return We(e,Vr)}s(Ae,"isInputObjectType");function Ge(e){return We(e,pe)}s(Ge,"isListType");function ce(e){return We(e,$)}s(ce,"isNonNullType");function Ye(e){return _r(e)||Qe(e)||Ae(e)||Qi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Gt(e){return _r(e)||xe(e)||we(e)||nt(e)||Qe(e)||Qi(e)&&Gt(e.ofType)}s(Gt,"isOutputType");function Er(e){return _r(e)||Qe(e)}s(Er,"isLeafType");function xt(e){return xe(e)||we(e)||nt(e)}s(xt,"isCompositeType");function wr(e){return we(e)||nt(e)}s(wr,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){Bc(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){Wc(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 Qi(e){return Ge(e)||ce(e)}s(Qi,"isWrappingType");function Wc(e){return Bc(e)&&!ce(e)}s(Wc,"isNullableType");function zc(e){if(!Wc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(zc,"assertNullableType");function Qc(e){if(e)return ce(e)?e.ofType:e}s(Qc,"getNullableType");function pt(e){if(e){let t=e;for(;Qi(t);)t=t.ofType;return t}}s(pt,"getNamedType");function Yc(e){return typeof e=="function"?e():e}s(Yc,"resolveReadonlyArrayThunk");function Zc(e){return typeof e=="function"?e():e}s(Zc,"resolveObjMapThunk");var ze=class{static{s(this,"GraphQLScalarType")}constructor(t){var r,n,i,o;let a=(r=t.parseValue)!==null&&r!==void 0?r:lh;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:lh,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=()=>xE(t),this._interfaces=()=>NE(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:CE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function NE(e){var t;let r=Yc((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(NE,"defineInterfaces");function xE(e){let t=Zc(e.fields);return Yn(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Wi(t,(r,n)=>{var i;Yn(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 Yn(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:mh(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}s(xE,"defineFieldMap");function mh(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(mh,"defineArguments");function Yn(e){return Ee(e)&&!Array.isArray(e)}s(Yn,"isPlainObj");function CE(e){return Wi(e,t=>({description:t.description,type:t.type,args:yh(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(CE,"fieldsToFieldsConfig");function yh(e){return Ot(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(yh,"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=xE.bind(void 0,t),this._interfaces=NE.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:CE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},jr=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=Yc(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 Nt=class{static{s(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=ML(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 C(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Gc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+Gc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Ue(t);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Gc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+Gc(this,i),{nodes:t})}return n.value}toConfig(){let t=Ot(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Gc(e,t){let r=e.getValues().map(i=>i.name),n=jc(t,r);return qc("the enum value",n)}s(Gc,"didYouMeanEnumValue");function ML(e,t){return Yn(t)||G(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Yn(n)||G(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:fh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}s(ML,"defineEnumValues");var Vr=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=HL.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Wi(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 HL(e){let t=Zc(e.fields);return Yn(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Wi(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(HL,"defineInputFieldMap");var Xc=2147483647,eu=-2147483648,gh=new ze({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=Yi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${P(t)}`);if(r>Xc||r<eu)throw new C("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new C(`Int cannot represent non-integer value: ${P(e)}`);if(e>Xc||e<eu)throw new C(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new C(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Xc||t<eu)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),LE=new ze({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=Yi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new C(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new C(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),se=new ze({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=Yi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new C(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new C(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new C(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),ke=new ze({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Yi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new C(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),tu=new ze({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=Yi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new C(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new C(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new C("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),bh=Object.freeze([se,gh,LE,ke,tu]);function Yi(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(Yi,"serializeObject");function _h(e){return We(e,ht)}s(_h,"isDirective");var ht=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=mh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:yh(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},DE=new ht({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."}}}),UE=new ht({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."}}}),kE="No longer supported",ME=new ht({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:kE}}}),HE=new ht({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."}}}),Eh=Object.freeze([DE,UE,ME,HE]);function ru(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(ru,"isIterableObject");function Gr(e,t){if(ce(t)){let r=Gr(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(ru(e)){let n=[];for(let i of e){let o=Gr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return Gr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=Gr(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(Er(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 FE.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===tu&&FE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Rt(!1,"Unexpected input type: "+P(t))}s(Gr,"astFromValue");var FE=/^-?(?:0|[1-9][0-9]*)$/;var Zi=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 $(wh))),resolve:e=>e.getDirectives()}})}),wh=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
120
|
+
}`)}s(dt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}s(J,"wrap");function Bc(e){return J(" ",e.replace(/\n/g,`
|
|
121
|
+
`))}s(Bc,"indent");function ME(e){var t;return(t=e?.some(r=>r.includes(`
|
|
122
|
+
`)))!==null&&t!==void 0?t:!1}s(ME,"hasMultilineItems");function Wi(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=>Wi(r,t));case b.OBJECT:return Ot(e.fields,r=>r.name.value,r=>Wi(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Wi,"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 C("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Uc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Bi(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function mh(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return Ve(e)}s(mh,"assertEnumValueName");function Jc(e){return _r(e)||xe(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s(Jc,"isType");function _r(e){return ze(e,We)}s(_r,"isScalarType");function xe(e){return ze(e,Ne)}s(xe,"isObjectType");function zc(e){if(!xe(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 Wc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Wc,"assertInterfaceType");function nt(e){return ze(e,jr)}s(nt,"isUnionType");function Qe(e){return ze(e,Nt)}s(Qe,"isEnumType");function Ae(e){return ze(e,Vr)}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 _r(e)||Qe(e)||Ae(e)||Qi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Gt(e){return _r(e)||xe(e)||we(e)||nt(e)||Qe(e)||Qi(e)&&Gt(e.ofType)}s(Gt,"isOutputType");function Er(e){return _r(e)||Qe(e)}s(Er,"isLeafType");function xt(e){return xe(e)||we(e)||nt(e)}s(xt,"isCompositeType");function wr(e){return we(e)||nt(e)}s(wr,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){Jc(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){Qc(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 Qi(e){return Ge(e)||ce(e)}s(Qi,"isWrappingType");function Qc(e){return Jc(e)&&!ce(e)}s(Qc,"isNullableType");function Yc(e){if(!Qc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(Yc,"assertNullableType");function Zc(e){if(e)return ce(e)?e.ofType:e}s(Zc,"getNullableType");function pt(e){if(e){let t=e;for(;Qi(t);)t=t.ofType;return t}}s(pt,"getNamedType");function Xc(e){return typeof e=="function"?e():e}s(Xc,"resolveReadonlyArrayThunk");function eu(e){return typeof e=="function"?e():e}s(eu,"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:dh;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:dh,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Wi(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=Xc((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=eu(e.fields);return Zn(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;Zn(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 Zn(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:yh(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}s(FE,"defineFieldMap");function yh(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(yh,"defineArguments");function Zn(e){return Ee(e)&&!Array.isArray(e)}s(Zn,"isPlainObj");function qE(e){return zi(e,t=>({description:t.description,type:t.type,args:gh(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(qE,"fieldsToFieldsConfig");function gh(e){return Ot(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(gh,"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()}},jr=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=Xc(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 Nt=class{static{s(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=VL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Qn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Kc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+Kc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Ue(t);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Kc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+Kc(this,i),{nodes:t})}return n.value}toConfig(){let t=Ot(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Kc(e,t){let r=e.getValues().map(i=>i.name),n=Gc(t,r);return jc("the enum value",n)}s(Kc,"didYouMeanEnumValue");function VL(e,t){return Zn(t)||G(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(Zn(n)||G(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:mh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}s(VL,"defineEnumValues");var Vr=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=GL.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 GL(e){let t=eu(e.fields);return Zn(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(GL,"defineInputFieldMap");var tu=2147483647,ru=-2147483648,bh=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=Yi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${P(t)}`);if(r>tu||r<ru)throw new C("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new C(`Int cannot represent non-integer value: ${P(e)}`);if(e>tu||e<ru)throw new C(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new C(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>tu||t<ru)throw new C(`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=Yi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new C(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new C(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),se=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Yi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new C(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new C(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new C(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),ke=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Yi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new C(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),nu=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=Yi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new C(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new C(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new C("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),_h=Object.freeze([se,bh,$E,ke,nu]);function Yi(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(Yi,"serializeObject");function Eh(e){return ze(e,ht)}s(Eh,"isDirective");var ht=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=yh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:gh(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},jE=new ht({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 ht({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 ht({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 ht({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."}}}),wh=Object.freeze([jE,VE,BE,KE]);function iu(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(iu,"isIterableObject");function Gr(e,t){if(ce(t)){let r=Gr(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(iu(e)){let n=[];for(let i of e){let o=Gr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return Gr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=Gr(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(Er(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===nu&&JE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Rt(!1,"Unexpected input type: "+P(t))}s(Gr,"astFromValue");var JE=/^-?(?:0|[1-9][0-9]*)$/;var Zi=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 $(vh))),resolve:e=>e.getDirectives()}})}),vh=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 $(vh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(Xi))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),vh=new Nt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value: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 $(Ih),resolve(e){if(_r(e))return ee.SCALAR;if(xe(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Rt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(Sh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(xe(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(xe(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(wr(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Th)),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 $(Xi)),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}})}),Sh=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 $(Xi))),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}})}),Xi=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=Gr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Th=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 Ih=new Nt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),nu={name:"__schema",type:new $(Zi),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},iu={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},ou={name:"__typename",type:new $(se),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Ph=Object.freeze([Zi,wh,vh,it,Sh,Xi,Th,Ih]);var eo=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:Eh;let i=new Set(t.types);if(t.types!=null)for(let o of t.types)i.delete(o),ft(o,i);this._queryType!=null&&ft(this._queryType,i),this._mutationType!=null&&ft(this._mutationType,i),this._subscriptionType!=null&&ft(this._subscriptionType,i);for(let o of this._directives)if(_h(o))for(let a of o.args)ft(a.type,i);ft(Zi,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(xe(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function ft(e,t){let r=pt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())ft(n,t);else if(xe(r)||we(r)){for(let n of r.getInterfaces())ft(n,t);for(let n of Object.values(r.getFields())){ft(n.type,t);for(let i of n.args)ft(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))ft(n.type,t)}return t}s(ft,"collectReferencedTypes");function vr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=vr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=vr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(vr,"typeFromAST");var Sr=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??FL,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=pt(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(xe(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?vr(r,i):pt(this.getType());this._typeStack.push(Gt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=vr(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=Qc(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=pt(this.getInputType()),o,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.ENUM:{let i=pt(this.getInputType()),o;Qe(i)&&(o=i.getValue(t.value)),this._enumValue=o;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function FL(e,t,r){let n=r.name.value;if(n===nu.name&&e.getQueryType()===t)return nu;if(n===iu.name&&e.getQueryType()===t)return iu;if(n===ou.name&&xt(t))return ou;if(xe(t)||we(t))return t.getFields()[n]}s(FL,"getFieldDef");function Zn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Qn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),Gi(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=Qn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(Zn,"visitWithTypeInfo");function su(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(su,"printPathArray");function Ah(e,t,r){return{prev:e,key:t,typename:r}}s(Ah,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Bt,"pathToArray");function Rh(e,t,r=qL){return to(e,t,r,void 0)}s(Rh,"coerceInputValue");function qL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${su(e)}"`),r.message=n+": "+r.message,r}s(qL,"defaultOnError");function to(e,t,r,n){if(ce(t)){if(e!=null)return to(e,t.ofType,r,n);r(Bt(n),e,new C(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return ru(e)?Array.from(e,(o,a)=>{let c=Ah(n,a,void 0);return to(o,i,r,c)}):[to(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new C(`Expected type "${t.name}" to be an object.`));return}let i={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Bt(n),e,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=to(c,a.type,r,Ah(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=jc(a,Object.keys(t.getFields()));r(Bt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+qc(c)))}return i}if(Er(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof C?r(Bt(n),e,o):r(Bt(n),e,new C(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Bt(n),e,new C(`Expected type "${t.name}".`)),i}Rt(!1,"Unexpected input type: "+P(t))}s(to,"coerceInputValueImpl");function Ct(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Ct(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let o=[];for(let a of e.values)if(qE(a,r)){if(ce(n))return;o.push(null)}else{let c=Ct(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=Ct(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=zn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||qE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ce(o.type))return;continue}let c=Ct(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(Er(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Rt(!1,"Unexpected input type: "+P(t))}}s(Ct,"valueFromAST");function qE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(qE,"isMissingVariable");function au(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=$L(e,t,r,c=>{if(o!=null&&i.length>=o)throw new C("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}s(au,"getVariableValues");function $L(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=vr(e,o.type);if(!Ye(c)){let l=Ue(o.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!$E(r,a)){if(o.defaultValue)i[a]=Ct(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=Rh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${su(l)}"`),n(new C(m+"; "+p.message,{nodes:o,originalError:p}))})}return i}s($L,"coerceVariableValues");function ro(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 C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!$E(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}m=r[g]==null}if(m&&ce(l))throw new C(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Ct(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}s(ro,"getArgumentValues");function no(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 ro(e,i,r)}s(no,"getDirectiveValues");function $E(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s($E,"hasOwnProperty");var cu=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}},jE=class extends cu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Xn=class extends cu{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 Sr(this._schema);br(t,Zn(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 uu(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 $(Sh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(Xi))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Sh=new Nt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value: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 $(Ph),resolve(e){if(_r(e))return ee.SCALAR;if(xe(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Rt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(Th)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(xe(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(xe(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(wr(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Ih)),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 $(Xi)),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}})}),Th=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 $(Xi))),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}})}),Xi=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=Gr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Ih=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 Ph=new Nt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),ou={name:"__schema",type:new $(Zi),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},su={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},au={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},Ah=Object.freeze([Zi,vh,Sh,it,Th,Xi,Ih,Ph]);var eo=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:wh;let i=new Set(t.types);if(t.types!=null)for(let o of t.types)i.delete(o),ft(o,i);this._queryType!=null&&ft(this._queryType,i),this._mutationType!=null&&ft(this._mutationType,i),this._subscriptionType!=null&&ft(this._subscriptionType,i);for(let o of this._directives)if(Eh(o))for(let a of o.args)ft(a.type,i);ft(Zi,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(xe(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function ft(e,t){let r=pt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())ft(n,t);else if(xe(r)||we(r)){for(let n of r.getInterfaces())ft(n,t);for(let n of Object.values(r.getFields())){ft(n.type,t);for(let i of n.args)ft(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))ft(n.type,t)}return t}s(ft,"collectReferencedTypes");function vr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=vr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=vr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(vr,"typeFromAST");var Sr=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??BL,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=pt(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(xe(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?vr(r,i):pt(this.getType());this._typeStack.push(Gt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=vr(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=Zc(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=pt(this.getInputType()),o,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.ENUM:{let i=pt(this.getInputType()),o;Qe(i)&&(o=i.getValue(t.value)),this._enumValue=o;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function BL(e,t,r){let n=r.name.value;if(n===ou.name&&e.getQueryType()===t)return ou;if(n===su.name&&e.getQueryType()===t)return su;if(n===au.name&&xt(t))return au;if(xe(t)||we(t))return t.getFields()[n]}s(BL,"getFieldDef");function Xn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Yn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),Gi(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=Yn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(Xn,"visitWithTypeInfo");function cu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(cu,"printPathArray");function Rh(e,t,r){return{prev:e,key:t,typename:r}}s(Rh,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Bt,"pathToArray");function Oh(e,t,r=KL){return to(e,t,r,void 0)}s(Oh,"coerceInputValue");function KL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${cu(e)}"`),r.message=n+": "+r.message,r}s(KL,"defaultOnError");function to(e,t,r,n){if(ce(t)){if(e!=null)return to(e,t.ofType,r,n);r(Bt(n),e,new C(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return iu(e)?Array.from(e,(o,a)=>{let c=Rh(n,a,void 0);return to(o,i,r,c)}):[to(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new C(`Expected type "${t.name}" to be an object.`));return}let i={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Bt(n),e,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=to(c,a.type,r,Rh(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=Gc(a,Object.keys(t.getFields()));r(Bt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+jc(c)))}return i}if(Er(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof C?r(Bt(n),e,o):r(Bt(n),e,new C(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Bt(n),e,new C(`Expected type "${t.name}".`)),i}Rt(!1,"Unexpected input type: "+P(t))}s(to,"coerceInputValueImpl");function Ct(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Ct(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let o=[];for(let a of e.values)if(zE(a,r)){if(ce(n))return;o.push(null)}else{let c=Ct(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=Ct(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Qn(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=Ct(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(Er(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Rt(!1,"Unexpected input type: "+P(t))}}s(Ct,"valueFromAST");function zE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(zE,"isMissingVariable");function uu(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=JL(e,t,r,c=>{if(o!=null&&i.length>=o)throw new C("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}s(uu,"getVariableValues");function JL(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=vr(e,o.type);if(!Ye(c)){let l=Ue(o.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!WE(r,a)){if(o.defaultValue)i[a]=Ct(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=Oh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${cu(l)}"`),n(new C(m+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(JL,"coerceVariableValues");function ro(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Qn(o,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let 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 C(`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 C(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Ct(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}s(ro,"getArgumentValues");function no(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 ro(e,i,r)}s(no,"getDirectiveValues");function WE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(WE,"hasOwnProperty");var lu=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 lu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},ei=class extends lu{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 Sr(this._schema);br(t,Xn(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 du(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(uu,"getIntrospectionQuery");function lu(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=Ot(r.types,w=>w.name,w=>m(w));for(let w of[...bh,...Ph])n[w.name]&&(n[w.name]=w);let i=r.queryType?d(r.queryType):null,o=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Be):[];return new eo({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 M=w.ofType;if(!M)throw new Error("Decorated type deeper than introspection query.");return new pe(u(M))}if(w.kind===ee.NON_NULL){let M=w.ofType;if(!M)throw new Error("Decorated type deeper than introspection query.");let Ce=u(M);return new $(zc(Ce))}return l(w)}function l(w){let M=w.name;if(!M)throw new Error(`Unknown type reference: ${P(w)}.`);let Ce=n[M];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${M}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(w){return Kc(l(w))}function p(w){return Jc(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 H(w);case ee.INPUT_OBJECT:return K(w)}let M=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: ${M}.`)}function h(w){return new ze({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 M=P(w);throw new Error(`Introspection result missing interfaces: ${M}.`)}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 M=P(w);throw new Error(`Introspection result missing possibleTypes: ${M}.`)}return new jr({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function H(w){if(!w.enumValues){let M=P(w);throw new Error(`Introspection result missing enumValues: ${M}.`)}return new Nt({name:w.name,description:w.description,values:Ot(w.enumValues,M=>M.name,M=>({description:M.description,deprecationReason:M.deprecationReason}))})}function K(w){if(!w.inputFields){let M=P(w);throw new Error(`Introspection result missing inputFields: ${M}.`)}return new Vr({name:w.name,description:w.description,fields:()=>ie(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Ot(w.fields,M=>M.name,ne)}function ne(w){let M=u(w.type);if(!Gt(M)){let Ce=P(M);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!w.args){let Ce=P(w);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:M,args:ie(w.args)}}function ie(w){return Ot(w,M=>M.name,me)}function me(w){let M=u(w.type);if(!Ye(M)){let pu=P(M);throw new Error(`Introspection must provide input type for arguments, but received: ${pu}.`)}let Ce=w.defaultValue!=null?Ct(Fc(w.defaultValue),M):void 0;return{description:w.description,type:M,defaultValue:Ce,deprecationReason:w.deprecationReason}}function Be(w){if(!w.args){let M=P(w);throw new Error(`Introspection result missing directive args: ${M}.`)}if(!w.locations){let M=P(w);throw new Error(`Introspection result missing directive locations: ${M}.`)}return new ht({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ie(w.args)})}}s(lu,"buildClientSchema");function dD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(dD,"queryComplexityMessage");function VE(e){let t=new Sr(e.schema),r=[],n=new Xn(e.schema,e.query,t,o=>r.push(o)),i=new Oh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(br(e.query,Zn(t,i)),r.length)throw r.pop();return i.complexity}s(VE,"getComplexity");var Oh=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}=au(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;wr(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&&no(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&no(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=pt(p.type),h;try{h=ro(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 H=T(_);return typeof H=="number"&&!isNaN(H)?(u=ei(H,a,i),!0):!1}))return this.context.reportError(new C(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(m))break;let h=this.nodeComplexity(p,m);wr(m)?u=ei(h,a,this.context.getSchema().getPossibleTypes(m).map(g=>g.name)):u=ei(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);wr(p)?u=ei(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=ei(m,a,[p.name]);break}default:{u=ei(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(dD(this.options.maximumComplexity,this.complexity))}};function ei(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(ei,"addComplexities");function GE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(GE,"simpleEstimator");var BE=s((e,t,r={})=>{let{definitions:n}=e,i=pD(n),o=hD(n);return Object.entries(o).map(([a,c])=>du(c,i,0,t,a,r))},"depthLimit");function pD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(pD,"getFragments");function hD(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(hD,"getQueriesAndMutations");function du(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return fD(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>du(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return du(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=>du(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(du,"determineDepth");var fD=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var mD=s(async(e,t)=>{if(!t.complexityLimit)throw new ti.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new ti.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=uu(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new C("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=lu(c,{assumeValid:!0}),l=VE({estimators:[GE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new C(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),yD=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new ti.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...BE(e,r))},"applyDepthLimitPolicy"),KE=s(async(e,t,r)=>{let n=ti.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=Hc(o.query);r.useDepthLimit&&await yD(a,r.useDepthLimit),r.useComplexityLimit&&await mD(a,r.useComplexityLimit)}catch(i){if(i instanceof C)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var JE=Ch(Dt());function gD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(gD,"isIntrospectionQuery");var WE=s(async(e,t)=>{let n=await e.clone().json();return gD(n.query)?JE.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
229
|
+
`}s(du,"getIntrospectionQuery");function pu(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=Ot(r.types,w=>w.name,w=>m(w));for(let w of[..._h,...Ah])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 eo({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 M=w.ofType;if(!M)throw new Error("Decorated type deeper than introspection query.");return new pe(u(M))}if(w.kind===ee.NON_NULL){let M=w.ofType;if(!M)throw new Error("Decorated type deeper than introspection query.");let Ce=u(M);return new $(Yc(Ce))}return l(w)}function l(w){let M=w.name;if(!M)throw new Error(`Unknown type reference: ${P(w)}.`);let Ce=n[M];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${M}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(w){return zc(l(w))}function p(w){return Wc(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 H(w);case ee.INPUT_OBJECT:return K(w)}let M=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: ${M}.`)}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 M=P(w);throw new Error(`Introspection result missing interfaces: ${M}.`)}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 M=P(w);throw new Error(`Introspection result missing possibleTypes: ${M}.`)}return new jr({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function H(w){if(!w.enumValues){let M=P(w);throw new Error(`Introspection result missing enumValues: ${M}.`)}return new Nt({name:w.name,description:w.description,values:Ot(w.enumValues,M=>M.name,M=>({description:M.description,deprecationReason:M.deprecationReason}))})}function K(w){if(!w.inputFields){let M=P(w);throw new Error(`Introspection result missing inputFields: ${M}.`)}return new Vr({name:w.name,description:w.description,fields:()=>ie(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Ot(w.fields,M=>M.name,ne)}function ne(w){let M=u(w.type);if(!Gt(M)){let Ce=P(M);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!w.args){let Ce=P(w);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:M,args:ie(w.args)}}function ie(w){return Ot(w,M=>M.name,me)}function me(w){let M=u(w.type);if(!Ye(M)){let fu=P(M);throw new Error(`Introspection must provide input type for arguments, but received: ${fu}.`)}let Ce=w.defaultValue!=null?Ct($c(w.defaultValue),M):void 0;return{description:w.description,type:M,defaultValue:Ce,deprecationReason:w.deprecationReason}}function Be(w){if(!w.args){let M=P(w);throw new Error(`Introspection result missing directive args: ${M}.`)}if(!w.locations){let M=P(w);throw new Error(`Introspection result missing directive locations: ${M}.`)}return new ht({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ie(w.args)})}}s(pu,"buildClientSchema");function gD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(gD,"queryComplexityMessage");function YE(e){let t=new Sr(e.schema),r=[],n=new ei(e.schema,e.query,t,o=>r.push(o)),i=new Nh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(br(e.query,Xn(t,i)),r.length)throw r.pop();return i.complexity}s(YE,"getComplexity");var Nh=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}=uu(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;wr(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&&no(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&no(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=pt(p.type),h;try{h=ro(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 H=T(_);return typeof H=="number"&&!isNaN(H)?(u=ti(H,a,i),!0):!1}))return this.context.reportError(new C(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(m))break;let h=this.nodeComplexity(p,m);wr(m)?u=ti(h,a,this.context.getSchema().getPossibleTypes(m).map(g=>g.name)):u=ti(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);wr(p)?u=ti(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=ti(m,a,[p.name]);break}default:{u=ti(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(gD(this.options.maximumComplexity,this.complexity))}};function ti(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(ti,"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=bD(n),o=_D(n);return Object.entries(o).map(([a,c])=>hu(c,i,0,t,a,r))},"depthLimit");function bD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(bD,"getFragments");function _D(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(_D,"getQueriesAndMutations");function hu(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return ED(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>hu(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return hu(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=>hu(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(hu,"determineDepth");var ED=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var wD=s(async(e,t)=>{if(!t.complexityLimit)throw new ri.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new ri.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=du(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new C("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=pu(c,{assumeValid:!0}),l=YE({estimators:[ZE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new C(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),vD=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new ri.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=ri.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=qc(o.query);r.useDepthLimit&&await vD(a,r.useDepthLimit),r.useComplexityLimit&&await wD(a,r.useComplexityLimit)}catch(i){if(i instanceof C)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var tw=Lh(Dt());function SD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(SD,"isIntrospectionQuery");var rw=s(async(e,t)=>{let n=await e.clone().json();return SD(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 */
|