@zuplo/graphql 5.1807.0 → 5.1809.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 +54 -51
- package/index.minified.js.LEGAL.txt +1 -0
- 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 ww=Object.create;var pi=Object.defineProperty;var vw=Object.getOwnPropertyDescriptor;var Sw=Object.getOwnPropertyNames;var Tw=Object.getPrototypeOf,Iw=Object.prototype.hasOwnProperty;var o=(e,t)=>pi(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fo=(e,t)=>{for(var r in t)pi(e,r,{get:t[r],enumerable:!0})},of=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Sw(t))!Iw.call(e,i)&&i!==r&&pi(e,i,{get:()=>t[i],enumerable:!(n=vw(t,i))||n.enumerable});return e};var sf=(e,t,r)=>(r=e!=null?ww(Tw(e)):{},of(t||!e||!e.__esModule?pi(r,"default",{value:e,enumerable:!0}):r,e)),mo=e=>of(pi({},"__esModule",{value:!0}),e);var O=y(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.FeatureNotEnabledError=gt.ConfigurationError=gt.RuntimeError=gt.SystemError=void 0;var Iu=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};gt.SystemError=Iu;var hi=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};gt.RuntimeError=hi;var Pu=class extends hi{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};gt.ConfigurationError=Pu;var Au=class extends hi{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};gt.FeatureNotEnabledError=Au});var W=y(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.Environment=void 0;var Pw=O(),Ru=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new Pw.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};yo.Environment=Ru});var lf=y(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});var af=W();Function.prototype.toString=function(){return"[native code]"};var go=globalThis,cf=go.caches;if(cf){let e=cf.open;go.caches.open=function(t){let r=af.Environment.instance.deploymentName??af.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete go.caches.default,Object.freeze(go.caches)}});var Cu=y(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.MemoryCache=void 0;var Aw=1e4,Rw=1e3,df=new Map,Ou=class{static{o(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,s)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+Aw*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},Nu=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:Rw}){this.name=t;let n=df.get(t);n||(n=new Ou(r),df.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};bo.MemoryCache=Nu});var Eo=y(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.ZoneCache=void 0;var xu="__zuplo-expiry-header",Lu=class{static{o(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let s=i.headers.get(xu);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(xu,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(xu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};_o.ZoneCache=Lu});var Jt=y(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.MemoryZoneReadThroughCache=void 0;var Ow=Cu(),Nw=Eo(),Du=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new Ow.MemoryCache(n),this.#r=new Nw.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3},s=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};wo.MemoryZoneReadThroughCache=Du});var Xr=y(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.DYNAMIC_METERS_CONTEXT_DATA=P.METERING_SUBSCRIPTION_CONTEXT_DATA=P.INTERNAL_HEADERS_TO_REMOVE=P.DISPATCH_HEADERS_TO_REMOVE=P.ZP_TIMEZONE_HEADER=P.ZP_REGION_CODE_HEADER=P.ZP_REGION_HEADER=P.ZP_METRO_CODE_HEADER=P.ZP_POSTAL_CODE_HEADER=P.ZP_COLO_HEADER=P.ZP_AS_ORG_HEADER=P.ZP_ASN_HEADER=P.TRUE_CLIENT_IP=P.ZP_IP_LATITUDE_HEADER=P.ZP_IP_LONGITUDE_HEADER=P.ZP_IP_COUNTRY_HEADER=P.ZP_IP_CONTINENT_HEADER=P.ZP_IP_CITY_HEADER=P.CF_IP_LATITUDE_HEADER=P.CF_IP_LONGITUDE_HEADER=P.CF_IP_COUNTRY_HEADER=P.CF_IP_CONTINENT_HEADER=P.CF_IP_CITY_HEADER=P.RAY_ID_HEADER=P.BODY_REMOVED_HEADER=P.REQUEST_ID_HEADER=P.LEGACY_REQUEST_ID_HEADER=void 0;P.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";P.REQUEST_ID_HEADER="zp-rid";P.BODY_REMOVED_HEADER="zp-body-removed";P.RAY_ID_HEADER="cf-ray";P.CF_IP_CITY_HEADER="cf-ipcity";P.CF_IP_CONTINENT_HEADER="cf-ipcontinent";P.CF_IP_COUNTRY_HEADER="cf-ipcountry";P.CF_IP_LONGITUDE_HEADER="cf-iplongitude";P.CF_IP_LATITUDE_HEADER="cf-iplatitude";P.ZP_IP_CITY_HEADER="zp-ipcity";P.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";P.ZP_IP_COUNTRY_HEADER="zp-ipcountry";P.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";P.ZP_IP_LATITUDE_HEADER="zp-iplatitude";P.TRUE_CLIENT_IP="true-client-ip";P.ZP_ASN_HEADER="zp-asn";P.ZP_AS_ORG_HEADER="zp-asorg";P.ZP_COLO_HEADER="zp-colo";P.ZP_POSTAL_CODE_HEADER="zp-postalcode";P.ZP_METRO_CODE_HEADER="zp-metrocode";P.ZP_REGION_HEADER="zp-region";P.ZP_REGION_CODE_HEADER="zp-regioncode";P.ZP_TIMEZONE_HEADER="zp-timezone";P.DISPATCH_HEADERS_TO_REMOVE=[P.CF_IP_CITY_HEADER,P.CF_IP_CONTINENT_HEADER,P.CF_IP_COUNTRY_HEADER,P.CF_IP_LONGITUDE_HEADER,P.CF_IP_LATITUDE_HEADER,P.ZP_ASN_HEADER,P.ZP_AS_ORG_HEADER,P.ZP_COLO_HEADER,P.ZP_POSTAL_CODE_HEADER,P.ZP_METRO_CODE_HEADER,P.ZP_REGION_HEADER,P.ZP_REGION_CODE_HEADER,P.ZP_TIMEZONE_HEADER];P.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"];P.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49";P.DYNAMIC_METERS_CONTEXT_DATA="zuplo_dynamic_meters_0c8cdc26-2514-4756-8adb-474a6e103d91"});var Ef=y(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var pf=!0,Uu=!pf;function Cw(e){pf||(Uu=e)}o(Cw,"setColorEnabled");v.setColorEnabled=Cw;function xw(){return Uu}o(xw,"getColorEnabled");v.getColorEnabled=xw;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(F,"code");function q(e,t){return Uu?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function Lw(e){return q(e,F([0],0))}o(Lw,"reset");v.reset=Lw;function Dw(e){return q(e,F([1],22))}o(Dw,"bold");v.bold=Dw;function Uw(e){return q(e,F([2],22))}o(Uw,"dim");v.dim=Uw;function Mw(e){return q(e,F([3],23))}o(Mw,"italic");v.italic=Mw;function kw(e){return q(e,F([4],24))}o(kw,"underline");v.underline=kw;function Hw(e){return q(e,F([7],27))}o(Hw,"inverse");v.inverse=Hw;function Fw(e){return q(e,F([8],28))}o(Fw,"hidden");v.hidden=Fw;function qw(e){return q(e,F([9],29))}o(qw,"strikethrough");v.strikethrough=qw;function $w(e){return q(e,F([30],39))}o($w,"black");v.black=$w;function hf(e){return q(e,F([31],39))}o(hf,"red");v.red=hf;function ff(e){return q(e,F([32],39))}o(ff,"green");v.green=ff;function mf(e){return q(e,F([33],39))}o(mf,"yellow");v.yellow=mf;function yf(e){return q(e,F([34],39))}o(yf,"blue");v.blue=yf;function gf(e){return q(e,F([35],39))}o(gf,"magenta");v.magenta=gf;function bf(e){return q(e,F([36],39))}o(bf,"cyan");v.cyan=bf;function jw(e){return q(e,F([37],39))}o(jw,"white");v.white=jw;function Vw(e){return _f(e)}o(Vw,"gray");v.gray=Vw;function _f(e){return q(e,F([90],39))}o(_f,"brightBlack");v.brightBlack=_f;function Gw(e){return q(e,F([91],39))}o(Gw,"brightRed");v.brightRed=Gw;function Bw(e){return q(e,F([92],39))}o(Bw,"brightGreen");v.brightGreen=Bw;function Kw(e){return q(e,F([93],39))}o(Kw,"brightYellow");v.brightYellow=Kw;function Jw(e){return q(e,F([94],39))}o(Jw,"brightBlue");v.brightBlue=Jw;function zw(e){return q(e,F([95],39))}o(zw,"brightMagenta");v.brightMagenta=zw;function Ww(e){return q(e,F([96],39))}o(Ww,"brightCyan");v.brightCyan=Ww;function Qw(e){return q(e,F([97],39))}o(Qw,"brightWhite");v.brightWhite=Qw;function Yw(e){return q(e,F([40],49))}o(Yw,"bgBlack");v.bgBlack=Yw;function Zw(e){return q(e,F([41],49))}o(Zw,"bgRed");v.bgRed=Zw;function Xw(e){return q(e,F([42],49))}o(Xw,"bgGreen");v.bgGreen=Xw;function ev(e){return q(e,F([43],49))}o(ev,"bgYellow");v.bgYellow=ev;function tv(e){return q(e,F([44],49))}o(tv,"bgBlue");v.bgBlue=tv;function rv(e){return q(e,F([45],49))}o(rv,"bgMagenta");v.bgMagenta=rv;function nv(e){return q(e,F([46],49))}o(nv,"bgCyan");v.bgCyan=nv;function iv(e){return q(e,F([47],49))}o(iv,"bgWhite");v.bgWhite=iv;function ov(e){return q(e,F([100],49))}o(ov,"bgBrightBlack");v.bgBrightBlack=ov;function sv(e){return q(e,F([101],49))}o(sv,"bgBrightRed");v.bgBrightRed=sv;function av(e){return q(e,F([102],49))}o(av,"bgBrightGreen");v.bgBrightGreen=av;function cv(e){return q(e,F([103],49))}o(cv,"bgBrightYellow");v.bgBrightYellow=cv;function uv(e){return q(e,F([104],49))}o(uv,"bgBrightBlue");v.bgBrightBlue=uv;function lv(e){return q(e,F([105],49))}o(lv,"bgBrightMagenta");v.bgBrightMagenta=lv;function dv(e){return q(e,F([106],49))}o(dv,"bgBrightCyan");v.bgBrightCyan=dv;function pv(e){return q(e,F([107],49))}o(pv,"bgBrightWhite");v.bgBrightWhite=pv;function zt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(zt,"clampAndTruncate");function hv(e,t){return q(e,F([38,5,zt(t)],39))}o(hv,"rgb8");v.rgb8=hv;function fv(e,t){return q(e,F([48,5,zt(t)],49))}o(fv,"bgRgb8");v.bgRgb8=fv;function mv(e,t){return typeof t=="number"?q(e,F([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,F([38,2,zt(t.r),zt(t.g),zt(t.b)],39))}o(mv,"rgb24");v.rgb24=mv;function yv(e,t){return typeof t=="number"?q(e,F([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,F([48,2,zt(t.r),zt(t.g),zt(t.b)],49))}o(yv,"bgRgb24");v.bgRgb24=yv;var gv=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function bv(e){return e.replace(gv,"")}o(bv,"stripColor");v.stripColor=bv;v.colorFunctions=[hf,ff,mf,yf,gf,bf];function _v(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}o(_v,"hashCode");function Ev(e){let t=Math.abs(_v(e));return v.colorFunctions[t%v.colorFunctions.length]}o(Ev,"generateColor");v.generateColor=Ev});var wf=y(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.format=void 0;function wv(e,t,...r){let n=0,i=r.length,s=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
|
|
26
|
-
`).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+e(a);return s}o(
|
|
25
|
+
"use strict";var Mw=Object.create;var vi=Object.defineProperty;var Uw=Object.getOwnPropertyDescriptor;var kw=Object.getOwnPropertyNames;var Fw=Object.getPrototypeOf,Hw=Object.prototype.hasOwnProperty;var o=(e,t)=>vi(e,"name",{value:t,configurable:!0});var L=(e,t)=>()=>(e&&(t=e(e=0)),t);var b=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),So=(e,t)=>{for(var r in t)vi(e,r,{get:t[r],enumerable:!0})},gf=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of kw(t))!Hw.call(e,i)&&i!==r&&vi(e,i,{get:()=>t[i],enumerable:!(n=Uw(t,i))||n.enumerable});return e};var bf=(e,t,r)=>(r=e!=null?Mw(Fw(e)):{},gf(t||!e||!e.__esModule?vi(r,"default",{value:e,enumerable:!0}):r,e)),Io=e=>gf(vi({},"__esModule",{value:!0}),e);var k=b(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.FeatureNotEnabledError=St.ConfigurationError=St.RuntimeError=St.SystemError=void 0;var Uu=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};St.SystemError=Uu;var Ti=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};St.RuntimeError=Ti;var ku=class extends Ti{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};St.ConfigurationError=ku;var Fu=class extends Ti{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};St.FeatureNotEnabledError=Fu});var oe=b(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.Environment=void 0;var qw=k(),Hu=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new qw.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"}};Po.Environment=Hu});var vf=b(wf=>{"use strict";Object.defineProperty(wf,"__esModule",{value:!0});var _f=oe();Function.prototype.toString=function(){return"[native code]"};var Ao=globalThis,Ef=Ao.caches;if(Ef){let e=Ef.open;Ao.caches.open=function(t){let r=_f.Environment.instance.deploymentName??_f.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete Ao.caches.default,Object.freeze(Ao.caches)}});var ju=b(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.MemoryCache=void 0;var $w=1e4,jw=1e3,Tf=new Map,qu=class{static{o(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,s)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+$w*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},$u=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:jw}){this.name=t;let n=Tf.get(t);n||(n=new qu(r),Tf.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()}};Ro.MemoryCache=$u});var No=b(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.ZoneCache=void 0;var Vu="__zuplo-expiry-header",Gu=class{static{o(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let s=i.headers.get(Vu);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Vu,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Vu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};Oo.ZoneCache=Gu});var er=b(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.MemoryZoneReadThroughCache=void 0;var Vw=ju(),Gw=No(),Bu=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new Vw.MemoryCache(n),this.#r=new Gw.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3},s=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};xo.MemoryZoneReadThroughCache=Bu});var un=b(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.DYNAMIC_METERS_CONTEXT_DATA=M.METERING_SUBSCRIPTION_CONTEXT_DATA=M.INTERNAL_HEADERS_TO_REMOVE=M.DISPATCH_HEADERS_TO_REMOVE=M.ZP_TIMEZONE_HEADER=M.ZP_REGION_CODE_HEADER=M.ZP_REGION_HEADER=M.ZP_METRO_CODE_HEADER=M.ZP_POSTAL_CODE_HEADER=M.ZP_COLO_HEADER=M.ZP_AS_ORG_HEADER=M.ZP_ASN_HEADER=M.TRUE_CLIENT_IP=M.ZP_IP_LATITUDE_HEADER=M.ZP_IP_LONGITUDE_HEADER=M.ZP_IP_COUNTRY_HEADER=M.ZP_IP_CONTINENT_HEADER=M.ZP_IP_CITY_HEADER=M.CF_IP_LATITUDE_HEADER=M.CF_IP_LONGITUDE_HEADER=M.CF_IP_COUNTRY_HEADER=M.CF_IP_CONTINENT_HEADER=M.CF_IP_CITY_HEADER=M.RAY_ID_HEADER=M.BODY_REMOVED_HEADER=M.REQUEST_ID_HEADER=M.LEGACY_REQUEST_ID_HEADER=void 0;M.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";M.REQUEST_ID_HEADER="zp-rid";M.BODY_REMOVED_HEADER="zp-body-removed";M.RAY_ID_HEADER="cf-ray";M.CF_IP_CITY_HEADER="cf-ipcity";M.CF_IP_CONTINENT_HEADER="cf-ipcontinent";M.CF_IP_COUNTRY_HEADER="cf-ipcountry";M.CF_IP_LONGITUDE_HEADER="cf-iplongitude";M.CF_IP_LATITUDE_HEADER="cf-iplatitude";M.ZP_IP_CITY_HEADER="zp-ipcity";M.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";M.ZP_IP_COUNTRY_HEADER="zp-ipcountry";M.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";M.ZP_IP_LATITUDE_HEADER="zp-iplatitude";M.TRUE_CLIENT_IP="true-client-ip";M.ZP_ASN_HEADER="zp-asn";M.ZP_AS_ORG_HEADER="zp-asorg";M.ZP_COLO_HEADER="zp-colo";M.ZP_POSTAL_CODE_HEADER="zp-postalcode";M.ZP_METRO_CODE_HEADER="zp-metrocode";M.ZP_REGION_HEADER="zp-region";M.ZP_REGION_CODE_HEADER="zp-regioncode";M.ZP_TIMEZONE_HEADER="zp-timezone";M.DISPATCH_HEADERS_TO_REMOVE=[M.CF_IP_CITY_HEADER,M.CF_IP_CONTINENT_HEADER,M.CF_IP_COUNTRY_HEADER,M.CF_IP_LONGITUDE_HEADER,M.CF_IP_LATITUDE_HEADER,M.ZP_ASN_HEADER,M.ZP_AS_ORG_HEADER,M.ZP_COLO_HEADER,M.ZP_POSTAL_CODE_HEADER,M.ZP_METRO_CODE_HEADER,M.ZP_REGION_HEADER,M.ZP_REGION_CODE_HEADER,M.ZP_TIMEZONE_HEADER];M.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"];M.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49";M.DYNAMIC_METERS_CONTEXT_DATA="zuplo_dynamic_meters_0c8cdc26-2514-4756-8adb-474a6e103d91"});var Cf=b(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.generateColor=N.colorFunctions=N.stripColor=N.bgRgb24=N.rgb24=N.bgRgb8=N.rgb8=N.bgBrightWhite=N.bgBrightCyan=N.bgBrightMagenta=N.bgBrightBlue=N.bgBrightYellow=N.bgBrightGreen=N.bgBrightRed=N.bgBrightBlack=N.bgWhite=N.bgCyan=N.bgMagenta=N.bgBlue=N.bgYellow=N.bgGreen=N.bgRed=N.bgBlack=N.brightWhite=N.brightCyan=N.brightMagenta=N.brightBlue=N.brightYellow=N.brightGreen=N.brightRed=N.brightBlack=N.gray=N.white=N.cyan=N.magenta=N.blue=N.yellow=N.green=N.red=N.black=N.strikethrough=N.hidden=N.inverse=N.underline=N.italic=N.dim=N.bold=N.reset=N.getColorEnabled=N.setColorEnabled=void 0;var Sf=!0,Ku=!Sf;function Bw(e){Sf||(Ku=e)}o(Bw,"setColorEnabled");N.setColorEnabled=Bw;function Kw(){return Ku}o(Kw,"getColorEnabled");N.getColorEnabled=Kw;function z(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(z,"code");function W(e,t){return Ku?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(W,"run");function Jw(e){return W(e,z([0],0))}o(Jw,"reset");N.reset=Jw;function zw(e){return W(e,z([1],22))}o(zw,"bold");N.bold=zw;function Ww(e){return W(e,z([2],22))}o(Ww,"dim");N.dim=Ww;function Qw(e){return W(e,z([3],23))}o(Qw,"italic");N.italic=Qw;function Yw(e){return W(e,z([4],24))}o(Yw,"underline");N.underline=Yw;function Zw(e){return W(e,z([7],27))}o(Zw,"inverse");N.inverse=Zw;function Xw(e){return W(e,z([8],28))}o(Xw,"hidden");N.hidden=Xw;function ev(e){return W(e,z([9],29))}o(ev,"strikethrough");N.strikethrough=ev;function tv(e){return W(e,z([30],39))}o(tv,"black");N.black=tv;function If(e){return W(e,z([31],39))}o(If,"red");N.red=If;function Pf(e){return W(e,z([32],39))}o(Pf,"green");N.green=Pf;function Af(e){return W(e,z([33],39))}o(Af,"yellow");N.yellow=Af;function Rf(e){return W(e,z([34],39))}o(Rf,"blue");N.blue=Rf;function Of(e){return W(e,z([35],39))}o(Of,"magenta");N.magenta=Of;function Nf(e){return W(e,z([36],39))}o(Nf,"cyan");N.cyan=Nf;function rv(e){return W(e,z([37],39))}o(rv,"white");N.white=rv;function nv(e){return xf(e)}o(nv,"gray");N.gray=nv;function xf(e){return W(e,z([90],39))}o(xf,"brightBlack");N.brightBlack=xf;function iv(e){return W(e,z([91],39))}o(iv,"brightRed");N.brightRed=iv;function ov(e){return W(e,z([92],39))}o(ov,"brightGreen");N.brightGreen=ov;function sv(e){return W(e,z([93],39))}o(sv,"brightYellow");N.brightYellow=sv;function av(e){return W(e,z([94],39))}o(av,"brightBlue");N.brightBlue=av;function cv(e){return W(e,z([95],39))}o(cv,"brightMagenta");N.brightMagenta=cv;function uv(e){return W(e,z([96],39))}o(uv,"brightCyan");N.brightCyan=uv;function lv(e){return W(e,z([97],39))}o(lv,"brightWhite");N.brightWhite=lv;function dv(e){return W(e,z([40],49))}o(dv,"bgBlack");N.bgBlack=dv;function pv(e){return W(e,z([41],49))}o(pv,"bgRed");N.bgRed=pv;function hv(e){return W(e,z([42],49))}o(hv,"bgGreen");N.bgGreen=hv;function fv(e){return W(e,z([43],49))}o(fv,"bgYellow");N.bgYellow=fv;function mv(e){return W(e,z([44],49))}o(mv,"bgBlue");N.bgBlue=mv;function yv(e){return W(e,z([45],49))}o(yv,"bgMagenta");N.bgMagenta=yv;function gv(e){return W(e,z([46],49))}o(gv,"bgCyan");N.bgCyan=gv;function bv(e){return W(e,z([47],49))}o(bv,"bgWhite");N.bgWhite=bv;function _v(e){return W(e,z([100],49))}o(_v,"bgBrightBlack");N.bgBrightBlack=_v;function Ev(e){return W(e,z([101],49))}o(Ev,"bgBrightRed");N.bgBrightRed=Ev;function wv(e){return W(e,z([102],49))}o(wv,"bgBrightGreen");N.bgBrightGreen=wv;function vv(e){return W(e,z([103],49))}o(vv,"bgBrightYellow");N.bgBrightYellow=vv;function Tv(e){return W(e,z([104],49))}o(Tv,"bgBrightBlue");N.bgBrightBlue=Tv;function Sv(e){return W(e,z([105],49))}o(Sv,"bgBrightMagenta");N.bgBrightMagenta=Sv;function Iv(e){return W(e,z([106],49))}o(Iv,"bgBrightCyan");N.bgBrightCyan=Iv;function Pv(e){return W(e,z([107],49))}o(Pv,"bgBrightWhite");N.bgBrightWhite=Pv;function tr(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(tr,"clampAndTruncate");function Av(e,t){return W(e,z([38,5,tr(t)],39))}o(Av,"rgb8");N.rgb8=Av;function Rv(e,t){return W(e,z([48,5,tr(t)],49))}o(Rv,"bgRgb8");N.bgRgb8=Rv;function Ov(e,t){return typeof t=="number"?W(e,z([38,2,t>>16&255,t>>8&255,t&255],39)):W(e,z([38,2,tr(t.r),tr(t.g),tr(t.b)],39))}o(Ov,"rgb24");N.rgb24=Ov;function Nv(e,t){return typeof t=="number"?W(e,z([48,2,t>>16&255,t>>8&255,t&255],49)):W(e,z([48,2,tr(t.r),tr(t.g),tr(t.b)],49))}o(Nv,"bgRgb24");N.bgRgb24=Nv;var xv=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 Cv(e){return e.replace(xv,"")}o(Cv,"stripColor");N.stripColor=Cv;N.colorFunctions=[If,Pf,Af,Rf,Of,Nf];function Dv(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}o(Dv,"hashCode");function Lv(e){let t=Math.abs(Dv(e));return N.colorFunctions[t%N.colorFunctions.length]}o(Lv,"generateColor");N.generateColor=Lv});var Df=b(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.format=void 0;function Mv(e,t,...r){let n=0,i=r.length,s=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
|
|
26
|
+
`).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+e(a);return s}o(Mv,"format");Co.format=Mv});var Hf=b(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.inspect=void 0;function Mr(e,t,r,n){let i={seen:[],stylize:Uv,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=Fv),Do(i,e,i.depth)}o(Mr,"inspect");Lo.inspect=Mr;Mr.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]};Mr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function Uv(e,t){return e}o(Uv,"stylizeNoColor");function kv(e){return typeof e=="boolean"}o(kv,"isBoolean");function Mf(e){return e===void 0}o(Mf,"isUndefined");function Fv(e,t){let r=Mr.styles[t];return r?"\x1B["+Mr.colors[r][0]+"m"+e+"\x1B["+Mr.colors[r][1]+"m":e}o(Fv,"stylizeWithColor");function Ju(e){return typeof e=="function"}o(Ju,"isFunction");function Uf(e){return typeof e=="string"}o(Uf,"isString");function Hv(e){return typeof e=="number"}o(Hv,"isNumber");function kf(e){return e===null}o(kf,"isNull");function Ff(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(Ff,"hasOwn");function zu(e){return Zu(e)&&Xu(e)==="[object RegExp]"}o(zu,"isRegExp");function Zu(e){return typeof e=="object"&&e!==null}o(Zu,"isObject");function Wu(e){return Zu(e)&&(Xu(e)==="[object Error]"||e instanceof Error)}o(Wu,"isError");function Lf(e){return Zu(e)&&Xu(e)==="[object Date]"}o(Lf,"isDate");function Xu(e){return Object.prototype.toString.call(e)}o(Xu,"objectToString");function qv(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(qv,"arrayToHash");function $v(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)Ff(t,String(a))?s.push(Yu(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(Yu(e,t,r,n,a,!0))}),s}o($v,"formatArray");function Qu(e){return"["+Error.prototype.toString.call(e)+"]"}o(Qu,"formatError");function Do(e,t,r){if(e.customInspect&&t&&Ju(t.inspect)&&t.inspect!==Mr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Uf(d)||(d=Do(e,d,r)),d}let n=jv(e,t);if(n)return n;let i=Object.keys(t),s=qv(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(Wu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Qu(t);if(i.length===0){if(Ju(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(zu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Lf(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Wu(t))return Qu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Ju(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),zu(t)&&(a=" "+RegExp.prototype.toString.call(t)),Lf(t)&&(a=" "+Date.prototype.toUTCString.call(t)),Wu(t)&&(a=" "+Qu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return zu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=$v(e,t,r,s,i):l=i.map(function(d){return Yu(e,t,r,s,d,c)}),e.seen.pop(),Vv(l,a,u)}o(Do,"formatValue");function Yu(e,t,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),Ff(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(kf(r)?c=Do(e,u.value,null):c=Do(e,u.value,r-1),c.indexOf(`
|
|
27
27
|
`)>-1&&(s?c=c.split(`
|
|
28
28
|
`).map(function(l){return" "+l}).join(`
|
|
29
29
|
`).substr(2):c=`
|
|
30
30
|
`+c.split(`
|
|
31
31
|
`).map(function(l){return" "+l}).join(`
|
|
32
|
-
`))):c=e.stylize("[Circular]","special")),
|
|
32
|
+
`))):c=e.stylize("[Circular]","special")),Mf(a)){if(s&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}o(Yu,"formatProperty");function jv(e,t){if(Mf(t))return e.stylize("undefined","undefined");if(Uf(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(Hv(t))return e.stylize(""+t,"number");if(kv(t))return e.stylize(""+t,"boolean");if(kf(t))return e.stylize("null","null")}o(jv,"formatPrimitive");function Vv(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
|
|
33
33
|
`)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
|
|
34
34
|
`)+" "+e.join(`,
|
|
35
|
-
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(Ov,"reduceToSingleString")});var Rf=y(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.format=void 0;var Nv=wf(),Cv=Af(),xv=o((e,...t)=>(0,Nv.format)(Cv.inspect,e,t),"format");Io.format=xv});var Rr=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.debug=Wt.withoutEnv=Wt.Debugger=void 0;var Lv=Ef(),Dv=Rf(),Po=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,Lv.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,Dv.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Wt.Debugger=Po;var Ao=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function Of(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(Of,"extract");var fi;function Uv(e){e||(e=[]),typeof e=="string"&&(e=Of(e)),fi=new Ao(e)}o(Uv,"withoutEnv");Wt.withoutEnv=Uv;function Mv(e){let t=globalThis.DEBUG;fi||(fi=new Ao(Of(t)));let r=new Po(fi,e);return fi.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(Mv,"debug");Wt.debug=Mv});var Oo=y(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.ProblemResponseFormatter=en.InternalProblemResponseFormatter=void 0;var kv=O(),Ro=class e{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(s){throw new kv.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};en.InternalProblemResponseFormatter=Ro;var Vu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await Ro.problemResponseFormat(t,r,n)}};en.ProblemResponseFormatter=Vu});var Cf=y(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.deepFreeze=void 0;function Nf(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&Nf(r)}return Object.freeze(e)}o(Nf,"deepFreeze");No.deepFreeze=Nf});var He=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.ZuploRequest=void 0;var xf=Cf(),Gu=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,xf.deepFreeze)(this.#e)}get params(){return(0,xf.deepFreeze)(this.#t)}user};Co.ZuploRequest=Gu});var bt=y(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var Lf=O(),Hv=Oo(),Fv=He(),Lo=class{static{o(this,"RuntimePlugin")}};ye.RuntimePlugin=Lo;var Do=class extends Lo{static{o(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=Do;ye.runtimeExtensions={};var Bu=[];ye.plugins=Bu;var Df=[],Uf=[],Mf=[],xo={addPlugin(e){Bu.push(e)},addRequestHook(e){Df.push(e)},addResponseSendingHook(e){Uf.push(e)},addResponseSendingFinalHook(e){Mf.push(e)}},qv=o(async(e,t)=>{let r=e;for(let n of Df){let i=await n(r,t);if(i instanceof Fv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Lf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=qv;var $v=o(async(e,t,r)=>{let n=e;for(let i of Uf){let s=await i(e,t,r);if(s instanceof Response)n=s;else throw new Lf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=$v;var jv=o(async(e,t,r)=>{for(let n of Mf)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=jv;async function Vv(e=()=>Promise.resolve()){await e(xo),ye.runtimeExtensions.value=xo;for(let t of Bu)t instanceof Do&&await t.initialize(xo);Hv.InternalProblemResponseFormatter.setProblemResponseFormat(xo.problemResponseFormat)}o(Vv,"initializeRuntime");ye.initializeRuntime=Vv});var Ku=y(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.serialize=Qt.ContentTypes=void 0;Qt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Gv(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Qt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(Gv,"serialize");Qt.serialize=Gv});var Ju=y(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.isSystemRoute=void 0;var kf=Or();function Bv(e){return kf.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(kf.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}o(Bv,"isSystemRoute");Uo.isSystemRoute=Bv});var Ut=y(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.Pipeline=void 0;var zu=Nr(),Hf=bt(),Kv=Ku(),Jv=W(),zv=Ju(),Wu=class{static{o(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=({processors:t,gateway:r,handler:n})=>async(i,s)=>{let a=[...t],c=o(async _=>{let S=a.pop();return S?S(i,s,r,c):await this.#e(async k=>{let G=await n(k,s);return Wv(G)},r)(_,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,zv.isSystemRoute)(d)&&Jv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new zu.ResponseSendingEvent(i,l);s.dispatchEvent(p);let m=zu.ZuploContextExtensions.getContextExtensions(s),h=m.latestRequest,g;try{g=await p.mutableResponse}catch(_){return s.log.error(_),r.errorHandler(i,s,_)}try{g=await m.onResponseSending(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}try{g=await(0,Hf.invokeOnResponseSendingExtensions)(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}s.dispatchEvent(new zu.ResponseSentEvent(i,g));try{await m.onResponseSendingFinal(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,Hf.invokeOnResponseSendingFinalExtensions)(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Mo.Pipeline=Wu;function Wv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Kv.serialize)(e),{headers:{"content-type":"application/json"}})}o(Wv,"resultToResponse")});var Ho=y(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.MetricsPlugin=void 0;var Qv=bt(),Qu=class extends Qv.RuntimePlugin{static{o(this,"MetricsPlugin")}};ko.MetricsPlugin=Qu});var Ke=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.SystemLogMap=void 0;var Yv=O(),Yu=class e{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new Yv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Fo.SystemLogMap=Yu});var ve=y(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.BatchDispatch=void 0;var Zu=class{static{o(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};qo.BatchDispatch=Zu});var qf=y(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.EllieMetricsTransport=void 0;var Ff=Ke(),Zv=ve(),$o=W(),Xu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=$o.Environment.instance.loggingId,this.#e=t,this.#t=new Zv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Ff.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=$o.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":$o.Environment.instance.deploymentName??"unknown","user-agent":$o.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Ff.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};jo.EllieMetricsTransport=Xu});var at=y(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.systemNoVersion=Cr.SystemRouteConfiguration=void 0;var el=class{static{o(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Cr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Cr.SystemRouteConfiguration=el;Cr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Yt=y(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.metricsProcessor=void 0;var $f=Xr(),Xv=Nr(),eS=bt(),tS=Ho(),rS=qf(),nS=at(),iS=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get($f.RAY_ID_HEADER)??void 0,u=e.headers.get($f.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof nS.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=Xv.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new rS.EllieMetricsTransport(t)),eS.plugins.forEach(g=>{if(g instanceof tS.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(m,t)}),a},"metricsProcessor");Vo.metricsProcessor=iS});var tl=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.SystemRouteName=void 0;var jf;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(jf||(Go.SystemRouteName=jf={}))});var Gf=y(Vf=>{"use strict";Object.defineProperty(Vf,"__esModule",{value:!0})});var xr=y(Zt=>{"use strict";var oS=Zt&&Zt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Bf=Zt&&Zt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&oS(t,e,r)};Object.defineProperty(Zt,"__esModule",{value:!0});Bf(tl(),Zt);Bf(Gf(),Zt)});var Kf=y(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.registerBuildRoute=void 0;var sS=Mt(),aS=Ut(),cS=Yt(),uS=xr(),lS=at(),dS=Ke(),pS=W(),hS=o((e,t)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return sS.HttpProblems.notFound(s,a);let l=pS.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&dS.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new aS.Pipeline({processors:[cS.metricsProcessor],handler:r,gateway:t}),i=new lS.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:uS.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Bo.registerBuildRoute=hS});var rl=y(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.HTTP_STATUS_TITLES=tn.HttpStatusCode=void 0;var Jf;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Jf||(tn.HttpStatusCode=Jf={}));tn.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var il=y(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});var fS={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};nl.default=fS});var ie=y(rn=>{"use strict";var mS=rn&&rn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rn,"__esModule",{value:!0});rn.HttpProblems=void 0;var yS=Xr(),N=rl(),gS=mS(il()),bS=W(),ol=Oo();function _S(e){return`${new URL(e.url).pathname}`}o(_S,"instance");function ES(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:bS.Environment.instance.build.BUILD_ID},n=e.headers.get(yS.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(ES,"trace");var wS=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:_S(t),trace:ES(t,r),...n},additionalHeaders:i,statusText:gS.default[e.status]}),"merge"),sl=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?ol.ProblemResponseFormatter.format(t,r,n):ol.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},al=class extends sl{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=wS(this.getProblemFromStatus(t),r,n,i,s);return ol.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};rn.HttpProblems=al});var Xe=y(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:vS}=Object.prototype,{propertyIsEnumerable:SS}=Object.prototype;function zf(e){return vS.call(e)}o(zf,"toString");U.toString=zf;function Ko(e){return typeof e=="string"}o(Ko,"isString");U.isString=Ko;function TS(e){return Ko(e)&&e!==""}o(TS,"isNonEmptyString");U.isNonEmptyString=TS;function IS(e){return Array.isArray(e)&&e.every(t=>Ko(t))}o(IS,"isStringArray");U.isStringArray=IS;function PS(e){return zf(e)==="[object RegExp]"}o(PS,"isRegexp");U.isRegexp=PS;function AS(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>SS.call(e,t))]}o(AS,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=AS;function cl(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(cl,"isObject");U.isObject=cl;function RS(e){return cl(e)&&Array.isArray(e)}o(RS,"isArray");U.isArray=RS;function OS(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(OS,"isTypedArray");U.isTypedArray=OS;function NS(e){return typeof e=="number"&&!isNaN(e)}o(NS,"isNumber");U.isNumber=NS;function CS(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(CS,"isIterable");U.isIterable=CS;function xS(e){return e===!0||e===!1}o(xS,"isBoolean");U.isBoolean=xS;function Wf(e){return typeof e>"u"}o(Wf,"isUndefined");U.isUndefined=Wf;function LS(e){return!mi(e)}o(LS,"isDefined");U.isDefined=LS;function mi(e){return Wf(e)||e===null}o(mi,"isUndefinedOrNull");U.isUndefinedOrNull=mi;function DS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(DS,"assertType");U.assertType=DS;function US(e){if(mi(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(US,"assertIsDefined");U.assertIsDefined=US;function MS(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(mi(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(MS,"assertAllDefined");U.assertAllDefined=MS;var kS=Object.prototype.hasOwnProperty;function HS(e){if(!cl(e))return!1;for(let t in e)if(kS.call(e,t))return!1;return!0}o(HS,"isEmptyObject");U.isEmptyObject=HS;function ul(e){return typeof e=="function"}o(ul,"isFunction");U.isFunction=ul;function FS(...e){return e.length>0&&e.every(ul)}o(FS,"areFunctions");U.areFunctions=FS;function qS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Qf(e[n],t[n])}o(qS,"validateConstraints");U.validateConstraints=qS;function Qf(e,t){if(Ko(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(ul(t)){try{if(e instanceof t)return}catch{}if(!mi(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Qf,"validateConstraint");U.validateConstraint=Qf;function $S(e){return e===null?void 0:e}o($S,"withNullAsUndefined");U.withNullAsUndefined=$S;function jS(e){return typeof e>"u"?null:e}o(jS,"withUndefinedAsNull");U.withUndefinedAsNull=jS;function VS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(VS,"isErrorLike");U.isErrorLike=VS});var Xt=y(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.parseValueToBoolean=_t.parseValueToStringArray=_t.getValueFromRequestUser=_t.statusCodesStringToNumberArray=void 0;var nn=O(),ll=Xe(),Yf=new Map;function GS(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=Yf.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return Yf.set(e,n),n}o(GS,"statusCodesStringToNumberArray");_t.statusCodesStringToNumberArray=GS;function BS(e,t,r){if(!t.startsWith("."))throw new nn.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(s=>{if(i===void 0)throw new nn.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(BS,"getValueFromRequestUser");_t.getValueFromRequestUser=BS;function KS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new nn.ConfigurationError("Received an array that contains non-string values.");return e}if((0,ll.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new nn.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(KS,"parseValueToStringArray");_t.parseValueToStringArray=KS;function JS(e){if((0,ll.isBoolean)(e))return e;if((0,ll.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new nn.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new nn.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(JS,"parseValueToBoolean");_t.parseValueToBoolean=JS});var zo=y(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.generateCorsHeaders=er.findMatchingOrigin=er.parseCorsPolicies=void 0;var Lr=O(),Zf=Xt(),Jo=Xe();function zS(e){if(e==null)return[];if(!Array.isArray(e))throw new Lr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Jo.isObject)(r))throw new Lr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Jo.isNonEmptyString)(r.name))throw new Lr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Jo.isNumber)(r.maxAge))throw new Lr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,Jo.isBoolean)(r.allowCredentials))throw new Lr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=dl(r,"allowedHeaders"),i=dl(r,"allowedMethods"),s=dl(r,"exposeHeaders"),a;try{a=(0,Zf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Lr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(zS,"parseCorsPolicies");er.parseCorsPolicies=zS;function dl(e,t){let r;if(e[t]!==void 0)try{r=(0,Zf.parseValueToStringArray)(e[t])}catch(n){throw new Lr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(dl,"parseOptionalProperty");var WS=o((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");er.findMatchingOrigin=WS;var QS=o((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");er.generateCorsHeaders=QS});var em=y(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.registerCorsRoute=void 0;var YS=O(),ZS=Ut(),pl=ie(),XS=Yt(),eT=xr(),tT=at(),Xf=zo(),rT=o((e,t)=>{let r=t.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return pl.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return pl.HttpProblems.notFound(a,c);let h=m.routeConfiguration,g=nT(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),pl.HttpProblems.notFound(a,c))},"optionsHandler"),i=new ZS.Pipeline({processors:[XS.metricsProcessor],handler:n,gateway:t}),s=new tT.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:eT.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");Wo.registerCorsRoute=rT;var nT=o((e,t,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...s,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new YS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Xf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Xf.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var tm=y(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.registerNoRoutes=void 0;var iT=Ut(),oT=Yt(),sT=xr(),aT=at(),cT=o((e,t)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new iT.Pipeline({processors:[oT.metricsProcessor],handler:r,gateway:t}),i=new aT.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:sT.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");Qo.registerNoRoutes=cT});var rm=y(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.registerNotMatchedHandler=Dr.notFoundRouteConfiguration=void 0;var uT=Nr(),lT=bt(),dT=Ut(),pT=ie(),hT=Yt(),fT=xr(),mT=at();Dr.notFoundRouteConfiguration=new mT.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:fT.SystemRouteName.UnmatchedPath});var yT=o((e,t)=>{let r=o(async(i,s)=>{let a=lT.runtimeExtensions.value?.notFoundHandler;if(a){let c=uT.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return pT.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new dT.Pipeline({processors:[hT.metricsProcessor],handler:r,gateway:t});e.addRoute(Dr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Dr.registerNotMatchedHandler=yT});var hl=y(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.corsProcessor=void 0;var om=O(),nm=zo(),gT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],im=o(e=>{gT.forEach(t=>e.delete(t))},"stripCorsHeaders"),bT=o(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return im(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(e);if(!(s instanceof Response))throw new om.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=_T(i,r.routeData.corsPolicies),c=ET(e,a),u=new Headers(s.headers);return im(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");Yo.corsProcessor=bT;var _T=o((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new om.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),ET=o((e,t)=>{let r=(0,nm.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,nm.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var sm=y(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.registerPingRoute=void 0;var wT=Ut(),vT=hl(),ST=xr(),TT=at(),IT=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new wT.Pipeline({processors:[vT.corsProcessor],handler:r,gateway:t}),i=new TT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:ST.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Zo.registerPingRoute=IT});var yi=y(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.OutboundPolicy=on.InboundPolicy=void 0;var PT=O(),AT=Xe(),Xo=class{static{o(this,"PolicyBase")}options;policyName;constructor(t,r){if(!(0,AT.isString)(r))throw new PT.RuntimeError(`The name of a policy must be a string. Received '${r}' of type '${typeof r}'`);this.options=t,this.policyName=r}},fl=class extends Xo{static{o(this,"InboundPolicy")}};on.InboundPolicy=fl;var ml=class extends Xo{static{o(this,"OutboundPolicy")}};on.OutboundPolicy=ml});var sn=y(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.createInternalPolicyProcessor=ct.policyProcessor=ct.toStackedInboundHandler=ct.getInboundPolicyInstances=void 0;var RT=Nr(),Le=O(),es=yi(),am=He(),OT=W(),bl=class extends es.InboundPolicy{static{o(this,"InboundFunctionOnlyPolicy")}#e;constructor(t,r,n){super(r,n),this.#e=t}handler(t,r){return this.#e(t,r,this.options,this.policyName)}},_l=class extends es.OutboundPolicy{static{o(this,"OutboundFunctionOnlyPolicy")}#e;constructor(t,r,n){super(r,n),this.#e=t}handler(t,r,n){return this.#e(t,r,n,this.options,this.policyName)}},yl=new Map;function cm(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.filter(s=>!yl.has(s)).forEach(s=>{let a=t?.find(l=>l.name===s);if(!a)throw new Le.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);if(typeof a.handler?.module!="object")throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof a.handler?.module}')`);let c=a.handler?.module[a.handler.export];if(typeof c!="function")throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);let u;if(typeof c!="function")throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);if(c.prototype instanceof es.InboundPolicy)u=new c(a.handler.options,a.name);else if(typeof c=="function")u=new bl(c,a.handler.options,a.name);else throw new Le.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof c}')`);if(typeof u.handler!="function")throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${s}' on route '${n}' (typeof handler '${typeof u.handler}')`);yl.set(a.name,u)}),r.map(s=>{let a=yl.get(s);if(a===void 0)throw new Le.RuntimeError("Internal error. Policy not found in cache.");return a})}o(cm,"getInboundPolicyInstances");ct.getInboundPolicyInstances=cm;var gl=new Map;function NT(e,t){let r=e.policies?.outbound??[];return r.filter(i=>!gl.has(i)).forEach(i=>{let s=t?.find(u=>u.name===i);if(!s)throw new Le.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);if(typeof s.handler?.module!="object")throw new Le.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof policy '${typeof s.handler?.module}')`);let a=s.handler?.module[s.handler.export],c;if(typeof a!="function")throw new Le.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof module '${typeof a}')`);if(a.prototype instanceof es.OutboundPolicy)c=new a(s.handler.options,s.name);else if(typeof a=="function")c=new _l(a,s.handler.options,s.name);else throw new Le.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof policy '${typeof a}')`);if(typeof c.handler!="function")throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);gl.set(s.name,c)}),r.map(i=>{let s=gl.get(i);if(s===void 0)throw new Le.RuntimeError("Internal error. Policy not found in cache.");return s})}o(NT,"getOutboundPolicyInstances");var CT=o(e=>async(t,r)=>{let n=RT.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r);if(c instanceof am.ZuploRequest)s=c;else if(c instanceof Request)s=new am.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${r.route.path}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");ct.toStackedInboundHandler=CT;var xT=o(e=>async(t,r,n)=>{let i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n);if(!(c instanceof Response))throw new Le.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${n.route.path}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),LT=o(async(e,t,r,n)=>{let i=cm(t.route,r.routeData.policies),s=NT(t.route,r.routeData.policies);return um({request:e,context:t,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");ct.policyProcessor=LT;function DT({inboundPolicies:e=[],outboundPolicies:t=[]}){return o(async(n,i,s,a)=>um({request:n,context:i,inboundPolicies:e,outboundPolicies:t,gateway:s,next:a}),"policyProcessor")}o(DT,"createInternalPolicyProcessor");ct.createInternalPolicyProcessor=DT;async function um({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,ct.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await s(c),l=xT(n),d;return OT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}o(um,"executePolicyProcessor")});var lm=y(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.serialize=an.parse=void 0;var UT=Object.prototype.toString,ts=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function MT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||HT,s=0;for(;s<e.length;){let a=e.indexOf("=",s);if(a===-1)break;let c=e.indexOf(";",s);if(c===-1)c=e.length;else if(c<a){s=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(s,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=$T(l,i)}s=c+1}return r}o(MT,"parse");an.parse=MT;function kT(e,t,r){let n=r||{},i=n.encode||FT;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ts.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!ts.test(s))throw new TypeError("argument val is invalid");let a=e+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!ts.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!ts.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!qT(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(kT,"serialize");an.serialize=kT;function HT(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(HT,"decode");function FT(e){return encodeURIComponent(e)}o(FT,"encode");function qT(e){return UT.call(e)==="[object Date]"||e instanceof Date}o(qT,"isDate");function $T(e,t){try{return t(e)}catch{return e}}o($T,"tryDecode")});var dm=y(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.devPortalBaseURL=void 0;var jT=lm();function VT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,jT.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(VT,"devPortalBaseURL");rs.devPortalBaseURL=VT});var ym=y(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.registerDevPortalLegacyRedirectRoute=cn.registerDevPortalV3Route=void 0;var El=Mt(),hm=Ut(),fm=Yt(),GT=sn(),mm=at(),BT=dm(),tr=W(),pm="/__zuplo/dev-portal",KT="dev-portal-id",JT="dev-portal-host",zT="zp-account",WT="zp-project",QT="dev-portal-build",YT=`
|
|
35
|
+
`)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(Vv,"reduceToSingleString")});var qf=b(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.format=void 0;var Gv=Df(),Bv=Hf(),Kv=o((e,...t)=>(0,Gv.format)(Bv.inspect,e,t),"format");Mo.format=Kv});var Ur=b(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.debug=rr.withoutEnv=rr.Debugger=void 0;var Jv=Cf(),zv=qf(),Uo=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,Jv.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,zv.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};rr.Debugger=Uo;var ko=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function $f(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o($f,"extract");var Si;function Wv(e){e||(e=[]),typeof e=="string"&&(e=$f(e)),Si=new ko(e)}o(Wv,"withoutEnv");rr.withoutEnv=Wv;function Qv(e){let t=globalThis.DEBUG;Si||(Si=new ko($f(t)));let r=new Uo(Si,e);return Si.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(Qv,"debug");rr.debug=Qv});var Ho=b(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.ProblemResponseFormatter=ln.InternalProblemResponseFormatter=void 0;var Yv=k(),Fo=class e{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(s){throw new Yv.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};ln.InternalProblemResponseFormatter=Fo;var el=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await Fo.problemResponseFormat(t,r,n)}};ln.ProblemResponseFormatter=el});var Vf=b(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.deepFreeze=void 0;function jf(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&jf(r)}return Object.freeze(e)}o(jf,"deepFreeze");qo.deepFreeze=jf});var Be=b($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.ZuploRequest=void 0;var Gf=Vf(),tl=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,Gf.deepFreeze)(this.#e)}get params(){return(0,Gf.deepFreeze)(this.#t)}user};$o.ZuploRequest=tl});var It=b(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.initializeRuntime=Te.invokeOnResponseSendingFinalExtensions=Te.invokeOnResponseSendingExtensions=Te.invokeOnRequestExtensions=Te.plugins=Te.runtimeExtensions=Te.SystemRuntimePlugin=Te.RuntimePlugin=void 0;var Bf=k(),Zv=Ho(),Xv=Be(),Vo=class{static{o(this,"RuntimePlugin")}};Te.RuntimePlugin=Vo;var Go=class extends Vo{static{o(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};Te.SystemRuntimePlugin=Go;Te.runtimeExtensions={};var rl=[];Te.plugins=rl;var Kf=[],Jf=[],zf=[],jo={addPlugin(e){rl.push(e)},addRequestHook(e){Kf.push(e)},addResponseSendingHook(e){Jf.push(e)},addResponseSendingFinalHook(e){zf.push(e)}},eT=o(async(e,t)=>{let r=e;for(let n of Kf){let i=await n(r,t);if(i instanceof Xv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new Bf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");Te.invokeOnRequestExtensions=eT;var tT=o(async(e,t,r)=>{let n=e;for(let i of Jf){let s=await i(e,t,r);if(s instanceof Response)n=s;else throw new Bf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");Te.invokeOnResponseSendingExtensions=tT;var rT=o(async(e,t,r)=>{for(let n of zf)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");Te.invokeOnResponseSendingFinalExtensions=rT;async function nT(e=()=>Promise.resolve()){await e(jo),Te.runtimeExtensions.value=jo;for(let t of rl)t instanceof Go&&await t.initialize(jo);Zv.InternalProblemResponseFormatter.setProblemResponseFormat(jo.problemResponseFormat)}o(nT,"initializeRuntime");Te.initializeRuntime=nT});var nl=b(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.serialize=nr.ContentTypes=void 0;nr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function iT(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(nr.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(nr.ContentTypes.Json)||!t?JSON.stringify(e):e}o(iT,"serialize");nr.serialize=iT});var il=b(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.isSystemRoute=void 0;var Wf=kr();function oT(e){return Wf.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(Wf.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}o(oT,"isSystemRoute");Bo.isSystemRoute=oT});var jt=b(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.Pipeline=void 0;var ol=Fr(),Qf=It(),sT=nl(),aT=oe(),cT=il(),sl=class{static{o(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=({processors:t,gateway:r,handler:n})=>async(i,s)=>{let a=[...t],c=o(async _=>{let I=a.pop();return I?I(i,s,r,c):await this.#e(async g=>{let v=await n(g,s);return uT(v)},r)(_,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,cT.isSystemRoute)(d)&&aT.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new ol.ResponseSendingEvent(i,l);s.dispatchEvent(p);let h=ol.ZuploContextExtensions.getContextExtensions(s),f=h.latestRequest,y;try{y=await p.mutableResponse}catch(_){return s.log.error(_),r.errorHandler(i,s,_)}try{y=await h.onResponseSending(y,f,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}try{y=await(0,Qf.invokeOnResponseSendingExtensions)(y,f,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}s.dispatchEvent(new ol.ResponseSentEvent(i,y));try{await h.onResponseSendingFinal(l,f,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,Qf.invokeOnResponseSendingFinalExtensions)(l,f,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return y}};Ko.Pipeline=sl;function uT(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,sT.serialize)(e),{headers:{"content-type":"application/json"}})}o(uT,"resultToResponse")});var zo=b(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.MetricsPlugin=void 0;var lT=It(),al=class extends lT.RuntimePlugin{static{o(this,"MetricsPlugin")}};Jo.MetricsPlugin=al});var Ze=b(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.SystemLogMap=void 0;var dT=k(),cl=class e{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new dT.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Wo.SystemLogMap=cl});var Oe=b(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.BatchDispatch=void 0;var ul=class{static{o(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};Qo.BatchDispatch=ul});var Zf=b(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.EllieMetricsTransport=void 0;var Yf=Ze(),pT=Oe(),Yo=oe(),ll=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Yo.Environment.instance.loggingId,this.#e=t,this.#t=new pT.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,Yf.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=Yo.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":Yo.Environment.instance.deploymentName??"unknown","user-agent":Yo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();Yf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Zo.EllieMetricsTransport=ll});var ft=b(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.systemNoVersion=Hr.SystemRouteConfiguration=void 0;var dl=class{static{o(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Hr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Hr.SystemRouteConfiguration=dl;Hr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var ir=b(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.metricsProcessor=void 0;var Xf=un(),hT=Fr(),fT=It(),mT=zo(),yT=Zf(),gT=ft(),bT=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(Xf.RAY_ID_HEADER)??void 0,u=e.headers.get(Xf.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof gT.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=hT.ZuploContextExtensions.getContextExtensions(t).latestRequest,h={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},f=[];return f.push(new yT.EllieMetricsTransport(t)),fT.plugins.forEach(y=>{if(y instanceof mT.MetricsPlugin){let _=y.getTransport();f.push(_)}}),f.forEach(y=>{y.pushMetrics(h,t)}),a},"metricsProcessor");Xo.metricsProcessor=bT});var pl=b(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.SystemRouteName=void 0;var em;(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"})(em||(es.SystemRouteName=em={}))});var rm=b(tm=>{"use strict";Object.defineProperty(tm,"__esModule",{value:!0})});var qr=b(or=>{"use strict";var _T=or&&or.__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]}),nm=or&&or.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&_T(t,e,r)};Object.defineProperty(or,"__esModule",{value:!0});nm(pl(),or);nm(rm(),or)});var im=b(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.registerBuildRoute=void 0;var ET=Vt(),wT=jt(),vT=ir(),TT=qr(),ST=ft(),IT=Ze(),PT=oe(),AT=o((e,t)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return ET.HttpProblems.notFound(s,a);let l=PT.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&IT.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 wT.Pipeline({processors:[vT.metricsProcessor],handler:r,gateway:t}),i=new ST.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:TT.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");ts.registerBuildRoute=AT});var hl=b(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.HTTP_STATUS_TITLES=dn.HttpStatusCode=void 0;var om;(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"})(om||(dn.HttpStatusCode=om={}));dn.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 ml=b(fl=>{"use strict";Object.defineProperty(fl,"__esModule",{value:!0});var RT={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"};fl.default=RT});var pe=b(pn=>{"use strict";var OT=pn&&pn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(pn,"__esModule",{value:!0});pn.HttpProblems=void 0;var NT=un(),q=hl(),xT=OT(ml()),CT=oe(),yl=Ho();function DT(e){return`${new URL(e.url).pathname}`}o(DT,"instance");function LT(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:CT.Environment.instance.build.BUILD_ID},n=e.headers.get(NT.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(LT,"trace");var MT=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:DT(t),trace:LT(t,r),...n},additionalHeaders:i,statusText:xT.default[e.status]}),"merge"),gl=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?yl.ProblemResponseFormatter.format(t,r,n):yl.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:q.HTTP_STATUS_TITLES[t],...r}}},bl=class extends gl{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=MT(this.getProblemFromStatus(t),r,n,i,s);return yl.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(q.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(q.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(q.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(q.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(q.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(q.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(q.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(q.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(q.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(q.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(q.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(q.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(q.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(q.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(q.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(q.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(q.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(q.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(q.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(q.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(q.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(q.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(q.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(q.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(q.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(q.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(q.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(q.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(q.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(q.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(q.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(q.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(q.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(q.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(q.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(q.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(q.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(q.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(q.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(q.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(q.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(q.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(q.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(q.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(q.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(q.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(q.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(q.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(q.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(q.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(q.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(q.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(q.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(q.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(q.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(q.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(q.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(q.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(q.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(q.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(q.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(q.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(q.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};pn.HttpProblems=bl});var st=b(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.isErrorLike=G.withUndefinedAsNull=G.withNullAsUndefined=G.validateConstraint=G.validateConstraints=G.areFunctions=G.isFunction=G.isEmptyObject=G.assertAllDefined=G.assertIsDefined=G.assertType=G.isUndefinedOrNull=G.isDefined=G.isUndefined=G.isBoolean=G.isIterable=G.isNumber=G.isTypedArray=G.isArray=G.isObject=G.getOwnEnumerableKeys=G.isRegexp=G.isStringArray=G.isNonEmptyString=G.isString=G.toString=void 0;var{toString:UT}=Object.prototype,{propertyIsEnumerable:kT}=Object.prototype;function sm(e){return UT.call(e)}o(sm,"toString");G.toString=sm;function rs(e){return typeof e=="string"}o(rs,"isString");G.isString=rs;function FT(e){return rs(e)&&e!==""}o(FT,"isNonEmptyString");G.isNonEmptyString=FT;function HT(e){return Array.isArray(e)&&e.every(t=>rs(t))}o(HT,"isStringArray");G.isStringArray=HT;function qT(e){return sm(e)==="[object RegExp]"}o(qT,"isRegexp");G.isRegexp=qT;function $T(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>kT.call(e,t))]}o($T,"getOwnEnumerableKeys");G.getOwnEnumerableKeys=$T;function _l(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(_l,"isObject");G.isObject=_l;function jT(e){return _l(e)&&Array.isArray(e)}o(jT,"isArray");G.isArray=jT;function VT(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(VT,"isTypedArray");G.isTypedArray=VT;function GT(e){return typeof e=="number"&&!isNaN(e)}o(GT,"isNumber");G.isNumber=GT;function BT(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(BT,"isIterable");G.isIterable=BT;function KT(e){return e===!0||e===!1}o(KT,"isBoolean");G.isBoolean=KT;function am(e){return typeof e>"u"}o(am,"isUndefined");G.isUndefined=am;function JT(e){return!Ii(e)}o(JT,"isDefined");G.isDefined=JT;function Ii(e){return am(e)||e===null}o(Ii,"isUndefinedOrNull");G.isUndefinedOrNull=Ii;function zT(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(zT,"assertType");G.assertType=zT;function WT(e){if(Ii(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(WT,"assertIsDefined");G.assertIsDefined=WT;function QT(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(Ii(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(QT,"assertAllDefined");G.assertAllDefined=QT;var YT=Object.prototype.hasOwnProperty;function ZT(e){if(!_l(e))return!1;for(let t in e)if(YT.call(e,t))return!1;return!0}o(ZT,"isEmptyObject");G.isEmptyObject=ZT;function El(e){return typeof e=="function"}o(El,"isFunction");G.isFunction=El;function XT(...e){return e.length>0&&e.every(El)}o(XT,"areFunctions");G.areFunctions=XT;function eS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)cm(e[n],t[n])}o(eS,"validateConstraints");G.validateConstraints=eS;function cm(e,t){if(rs(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(El(t)){try{if(e instanceof t)return}catch{}if(!Ii(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(cm,"validateConstraint");G.validateConstraint=cm;function tS(e){return e===null?void 0:e}o(tS,"withNullAsUndefined");G.withNullAsUndefined=tS;function rS(e){return typeof e>"u"?null:e}o(rS,"withUndefinedAsNull");G.withUndefinedAsNull=rS;function nS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(nS,"isErrorLike");G.isErrorLike=nS});var sr=b(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.parseValueToBoolean=Pt.parseValueToStringArray=Pt.getValueFromRequestUser=Pt.statusCodesStringToNumberArray=void 0;var hn=k(),wl=st(),um=new Map;function iS(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=um.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return um.set(e,n),n}o(iS,"statusCodesStringToNumberArray");Pt.statusCodesStringToNumberArray=iS;function oS(e,t,r){if(!t.startsWith("."))throw new hn.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(s=>{if(i===void 0)throw new hn.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(oS,"getValueFromRequestUser");Pt.getValueFromRequestUser=oS;function sS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new hn.ConfigurationError("Received an array that contains non-string values.");return e}if((0,wl.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new hn.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(sS,"parseValueToStringArray");Pt.parseValueToStringArray=sS;function aS(e){if((0,wl.isBoolean)(e))return e;if((0,wl.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new hn.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new hn.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(aS,"parseValueToBoolean");Pt.parseValueToBoolean=aS});var is=b(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.generateCorsHeaders=ar.findMatchingOrigin=ar.parseCorsPolicies=void 0;var $r=k(),lm=sr(),ns=st();function cS(e){if(e==null)return[];if(!Array.isArray(e))throw new $r.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,ns.isObject)(r))throw new $r.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,ns.isNonEmptyString)(r.name))throw new $r.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,ns.isNumber)(r.maxAge))throw new $r.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,ns.isBoolean)(r.allowCredentials))throw new $r.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=vl(r,"allowedHeaders"),i=vl(r,"allowedMethods"),s=vl(r,"exposeHeaders"),a;try{a=(0,lm.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new $r.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(cS,"parseCorsPolicies");ar.parseCorsPolicies=cS;function vl(e,t){let r;if(e[t]!==void 0)try{r=(0,lm.parseValueToStringArray)(e[t])}catch(n){throw new $r.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(vl,"parseOptionalProperty");var uS=o((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");ar.findMatchingOrigin=uS;var lS=o((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");ar.generateCorsHeaders=lS});var pm=b(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.registerCorsRoute=void 0;var dS=k(),pS=jt(),Tl=pe(),hS=ir(),fS=qr(),mS=ft(),dm=is(),yS=o((e,t)=>{let r=t.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return Tl.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let h=e.lookup(l,u);if(!h)return Tl.HttpProblems.notFound(a,c);let f=h.routeConfiguration,y=gS(l,d,p,f,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):(y.error&&c.log.warn(y.error),Tl.HttpProblems.notFound(a,c))},"optionsHandler"),i=new pS.Pipeline({processors:[hS.metricsProcessor],handler:n,gateway:t}),s=new mS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:fS.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");os.registerCorsRoute=yS;var gS=o((e,t,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...s,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new dS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,dm.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,dm.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var hm=b(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.registerNoRoutes=void 0;var bS=jt(),_S=ir(),ES=qr(),wS=ft(),vS=o((e,t)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new bS.Pipeline({processors:[_S.metricsProcessor],handler:r,gateway:t}),i=new wS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:ES.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");ss.registerNoRoutes=vS});var fm=b(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.registerNotMatchedHandler=jr.notFoundRouteConfiguration=void 0;var TS=Fr(),SS=It(),IS=jt(),PS=pe(),AS=ir(),RS=qr(),OS=ft();jr.notFoundRouteConfiguration=new OS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:RS.SystemRouteName.UnmatchedPath});var NS=o((e,t)=>{let r=o(async(i,s)=>{let a=SS.runtimeExtensions.value?.notFoundHandler;if(a){let c=TS.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return PS.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new IS.Pipeline({processors:[AS.metricsProcessor],handler:r,gateway:t});e.addRoute(jr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");jr.registerNotMatchedHandler=NS});var Sl=b(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.corsProcessor=void 0;var gm=k(),mm=is(),xS=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],ym=o(e=>{xS.forEach(t=>e.delete(t))},"stripCorsHeaders"),CS=o(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return ym(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(e);if(!(s instanceof Response))throw new gm.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=DS(i,r.routeData.corsPolicies),c=LS(e,a),u=new Headers(s.headers);return ym(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");as.corsProcessor=CS;var DS=o((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new gm.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),LS=o((e,t)=>{let r=(0,mm.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,mm.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var bm=b(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.registerPingRoute=void 0;var MS=jt(),US=Sl(),kS=qr(),FS=ft(),HS=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new MS.Pipeline({processors:[US.corsProcessor],handler:r,gateway:t}),i=new FS.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:kS.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");cs.registerPingRoute=HS});var Pi=b(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.OutboundPolicy=fn.InboundPolicy=void 0;var qS=k(),$S=st(),us=class{static{o(this,"PolicyBase")}options;policyName;constructor(t,r){if(!(0,$S.isString)(r))throw new qS.RuntimeError(`The name of a policy must be a string. Received '${r}' of type '${typeof r}'`);this.options=t,this.policyName=r}},Il=class extends us{static{o(this,"InboundPolicy")}};fn.InboundPolicy=Il;var Pl=class extends us{static{o(this,"OutboundPolicy")}};fn.OutboundPolicy=Pl});var mn=b(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.createInternalPolicyProcessor=mt.policyProcessor=mt.toStackedInboundHandler=mt.getInboundPolicyInstances=void 0;var jS=Fr(),He=k(),ls=Pi(),_m=Be(),VS=oe(),Ol=class extends ls.InboundPolicy{static{o(this,"InboundFunctionOnlyPolicy")}#e;constructor(t,r,n){super(r,n),this.#e=t}handler(t,r){return this.#e(t,r,this.options,this.policyName)}},Nl=class extends ls.OutboundPolicy{static{o(this,"OutboundFunctionOnlyPolicy")}#e;constructor(t,r,n){super(r,n),this.#e=t}handler(t,r,n){return this.#e(t,r,n,this.options,this.policyName)}},Al=new Map;function Em(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.filter(s=>!Al.has(s)).forEach(s=>{let a=t?.find(l=>l.name===s);if(!a)throw new He.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);if(typeof a.handler?.module!="object")throw new He.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof a.handler?.module}')`);let c=a.handler?.module[a.handler.export];if(typeof c!="function")throw new He.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);let u;if(typeof c!="function")throw new He.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);if(c.prototype instanceof ls.InboundPolicy)u=new c(a.handler.options,a.name);else if(typeof c=="function")u=new Ol(c,a.handler.options,a.name);else throw new He.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof c}')`);if(typeof u.handler!="function")throw new He.ConfigurationError(`Invalid state - invalid handler on policy '${s}' on route '${n}' (typeof handler '${typeof u.handler}')`);Al.set(a.name,u)}),r.map(s=>{let a=Al.get(s);if(a===void 0)throw new He.RuntimeError("Internal error. Policy not found in cache.");return a})}o(Em,"getInboundPolicyInstances");mt.getInboundPolicyInstances=Em;var Rl=new Map;function GS(e,t){let r=e.policies?.outbound??[];return r.filter(i=>!Rl.has(i)).forEach(i=>{let s=t?.find(u=>u.name===i);if(!s)throw new He.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);if(typeof s.handler?.module!="object")throw new He.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof policy '${typeof s.handler?.module}')`);let a=s.handler?.module[s.handler.export],c;if(typeof a!="function")throw new He.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof module '${typeof a}')`);if(a.prototype instanceof ls.OutboundPolicy)c=new a(s.handler.options,s.name);else if(typeof a=="function")c=new Nl(a,s.handler.options,s.name);else throw new He.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${e.path}' (typeof policy '${typeof a}')`);if(typeof c.handler!="function")throw new He.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);Rl.set(s.name,c)}),r.map(i=>{let s=Rl.get(i);if(s===void 0)throw new He.RuntimeError("Internal error. Policy not found in cache.");return s})}o(GS,"getOutboundPolicyInstances");var BS=o(e=>async(t,r)=>{let n=jS.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r);if(c instanceof _m.ZuploRequest)s=c;else if(c instanceof Request)s=new _m.ZuploRequest(c);else{if(c instanceof Response)return c;throw new He.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${r.route.path}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");mt.toStackedInboundHandler=BS;var KS=o(e=>async(t,r,n)=>{let i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n);if(!(c instanceof Response))throw new He.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${n.route.path}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),JS=o(async(e,t,r,n)=>{let i=Em(t.route,r.routeData.policies),s=GS(t.route,r.routeData.policies);return wm({request:e,context:t,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");mt.policyProcessor=JS;function zS({inboundPolicies:e=[],outboundPolicies:t=[]}){return o(async(n,i,s,a)=>wm({request:n,context:i,inboundPolicies:e,outboundPolicies:t,gateway:s,next:a}),"policyProcessor")}o(zS,"createInternalPolicyProcessor");mt.createInternalPolicyProcessor=zS;async function wm({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,mt.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await s(c),l=KS(n),d;return VS.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}o(wm,"executePolicyProcessor")});var vm=b(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.serialize=yn.parse=void 0;var WS=Object.prototype.toString,ds=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function QS(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||ZS,s=0;for(;s<e.length;){let a=e.indexOf("=",s);if(a===-1)break;let c=e.indexOf(";",s);if(c===-1)c=e.length;else if(c<a){s=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(s,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=tI(l,i)}s=c+1}return r}o(QS,"parse");yn.parse=QS;function YS(e,t,r){let n=r||{},i=n.encode||XS;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ds.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!ds.test(s))throw new TypeError("argument val is invalid");let a=e+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!ds.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!ds.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!eI(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(YS,"serialize");yn.serialize=YS;function ZS(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(ZS,"decode");function XS(e){return encodeURIComponent(e)}o(XS,"encode");function eI(e){return WS.call(e)==="[object Date]"||e instanceof Date}o(eI,"isDate");function tI(e,t){try{return t(e)}catch{return e}}o(tI,"tryDecode")});var Tm=b(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.devPortalBaseURL=void 0;var rI=vm();function nI(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,rI.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(nI,"devPortalBaseURL");ps.devPortalBaseURL=nI});var Rm=b(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.registerDevPortalLegacyRedirectRoute=gn.registerDevPortalV3Route=void 0;var xl=Vt(),Im=jt(),Pm=ir(),iI=mn(),Am=ft(),oI=Tm(),cr=oe(),Sm="/__zuplo/dev-portal",sI="dev-portal-id",aI="dev-portal-host",cI="zp-account",uI="zp-project",lI="dev-portal-build",dI=`
|
|
36
36
|
<!DOCTYPE html>
|
|
37
37
|
<html lang="en">
|
|
38
38
|
<head>
|
|
@@ -46,42 +46,45 @@
|
|
|
46
46
|
<p>For more information, see <a href="https://zuplo.com/docs/articles/developer-portal">https://zuplo.com/docs/articles/developer-portal</a>.</p>
|
|
47
47
|
</body>
|
|
48
48
|
</html>
|
|
49
|
-
`,
|
|
50
|
-
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(
|
|
51
|
-
`)}o(
|
|
49
|
+
`,pI=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=cr.Environment.instance.deploymentName,i=cr.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(cr.Environment.instance.isLocalDevelopment)return new Response(dI,{headers:{"content-type":"text/html"}});if(!n)return xl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,oI.devPortalBaseURL)(i,u.headers),h=new URL(`${d.pathname}${d.search}`,p),{headers:f,method:y,body:_}=u;return cr.Environment.instance.build.ACCOUNT_NAME&&f.set(cI,cr.Environment.instance.build.ACCOUNT_NAME),cr.Environment.instance.build.PROJECT_NAME&&f.set(uI,cr.Environment.instance.build.PROJECT_NAME),f.set(sI,n),f.set(aI,d.host),f.set(lI,cr.Environment.instance.build.BUILD_ID),await fetch(h.toString(),{headers:f,method:y,body:_,redirect:"manual"})},"devPortalRoute"),a=new Im.Pipeline({processors:[Pm.metricsProcessor,iI.policyProcessor],handler:s,gateway:t}),c=new Am.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:xl.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");gn.registerDevPortalV3Route=pI;var hI=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(Sm.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Im.Pipeline({processors:[Pm.metricsProcessor],handler:n,gateway:t}),s=new Am.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Sm}(.*)`,systemRouteName:xl.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");gn.registerDevPortalLegacyRedirectRoute=hI});var Cl=b(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.API_KEY=bn.SYSTEM_LOGGER=void 0;bn.SYSTEM_LOGGER="system-logger";bn.API_KEY="api-key"});var Om=b(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.CoreLogger=void 0;var Dl=0,Ll=class{static{o(this,"CoreLogger")}constructor(t,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=o(()=>{},"emptyFunction"),s=o((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:s,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,s,a){Dl>=Number.MAX_SAFE_INTEGER&&(Dl=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Dl++};this.#t[t](c,a)}};hs.CoreLogger=Ll});var Gt=b(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.LogPlugin=void 0;var fI=It(),Ml=class extends fI.RuntimePlugin{static{o(this,"LogPlugin")}};fs.LogPlugin=Ml});var Nm=b(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.LoggingContext=void 0;var Ul=class{static{o(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};ms.LoggingContext=Ul});var xm=b(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.RequestLogger=void 0;var kl=class{static{o(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};ys.RequestLogger=kl});var Vr=b(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.cleanStack=ur.serializeError=ur.NonError=void 0;var Cm=st(),mI=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),yI=new Map(mI),Fl=class e extends Error{static{o(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};ur.NonError=Fl;var gI=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Hl=Symbol(".toJSON was called"),bI=o(e=>{e[Hl]=!0;let t=e.toJSON();return delete e[Hl],t},"toJSON"),_I=o(e=>yI.get(e)??Error,"getErrorConstructor"),Dm=o(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,Cm.isErrorLike)(e)){let l=_I(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[Hl]!==!0)return bI(e);let u=o(l=>Dm({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){s++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of gI)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,Cm.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function EI(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?Dm({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o(EI,"serializeError");ur.serializeError=EI;var wI=/file:\/\/\/(.*?)\/dist\//g,vI=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,TI="at async Event.respondWith";function SI(e){return typeof e!="string"?e:e.split(`
|
|
50
|
+
`).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(wI,"").replaceAll(vI,"").replaceAll(TI,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
|
|
51
|
+
`)}o(SI,"cleanStack");ur.cleanStack=SI});var Lm=b($l=>{"use strict";Object.defineProperty($l,"__esModule",{value:!0});var ql=st();function II(e,t,r=""){let n=[],i=t?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
|
|
52
52
|
`,newlineOrSpace:`
|
|
53
|
-
`,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let
|
|
54
|
-
`).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,
|
|
55
|
-
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(
|
|
56
|
-
`)}o(mI,"messagesToMultilineText");Fe.messagesToMultilineText=mI;function Im(e){return typeof e=="string"?e:JSON.stringify(e)}o(Im,"stringifyNonString");Fe.stringifyNonString=Im;function Pm(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,Tm.toString)(e):"unknown"}o(Pm,"stringifyNonStringToText");Fe.stringifyNonStringToText=Pm});var D,ae,Se=I(()=>{D=crypto,ae=o(e=>e instanceof CryptoKey,"isCryptoKey")});var yI,as,xl=I(()=>{Se();yI=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),as=yI});function Te(...e){let t=e.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function Am(e,t){return Te(X.encode(e),new Uint8Array([0]),t)}function Ll(e,t,r){if(t<0||t>=cs)throw new RangeError(`value must be >= 0 and <= ${cs-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function us(e){let t=Math.floor(e/cs),r=e%cs,n=new Uint8Array(8);return Ll(n,t,0),Ll(n,r,4),n}function ls(e){let t=new Uint8Array(4);return Ll(t,e),t}function ds(e){return Te(ls(e.length),e)}async function Rm(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+e.length+r.length);a.set(ls(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await as("sha256",a),s*32)}return i.slice(0,t>>3)}var X,ue,cs,ge=I(()=>{xl();X=new TextEncoder,ue=new TextDecoder,cs=2**32;o(Te,"concat");o(Am,"p2s");o(Ll,"writeUInt32BE");o(us,"uint64be");o(ls,"uint32be");o(ds,"lengthAndInput");o(Rm,"concatKdf")});var ps,ee,Dl,re,Ie=I(()=>{ge();ps=o(e=>{let t=e;typeof t=="string"&&(t=X.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),ee=o(e=>ps(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Dl=o(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),re=o(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Dl(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Ul={};fo(Ul,{JOSEAlgNotAllowed:()=>nr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Ht,JWEInvalid:()=>R,JWKInvalid:()=>gi,JWKSInvalid:()=>ir,JWKSMultipleMatchingKeys:()=>bi,JWKSNoMatchingKey:()=>Mr,JWKSTimeout:()=>_i,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>kr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>ln,JWTInvalid:()=>le});var he,be,ln,nr,M,Ht,R,z,le,gi,ir,Mr,bi,_i,kr,j=I(()=>{he=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},ln=class extends he{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},nr=class extends he{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends he{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Ht=class extends he{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},R=class extends he{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},gi=class extends he{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},ir=class extends he{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Mr=class extends he{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},bi=class extends he{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},_i=class extends he{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},kr=class extends he{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var or,Ei=I(()=>{Se();or=D.getRandomValues.bind(D)});function Ml(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var hs,fs=I(()=>{j();Ei();o(Ml,"bitLength");hs=o(e=>or(new Uint8Array(Ml(e)>>3)),"default")});var gI,ms,kl=I(()=>{j();fs();gI=o((e,t)=>{if(t.length<<3!==Ml(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),ms=gI});var bI,dn,Hl=I(()=>{j();bI=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new R(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),dn=bI});var _I,Nm,Cm=I(()=>{_I=o((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),Nm=_I});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function sr(e,t){return e.name===t}function ys(e){return parseInt(e.name.slice(4),10)}function EI(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function xm(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function Lm(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!sr(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(ys(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!sr(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(ys(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!sr(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(ys(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!sr(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=EI(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}xm(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!sr(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!sr(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!sr(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!sr(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(ys(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}xm(e,r)}var ar=I(()=>{o(Pe,"unusable");o(sr,"isAlgorithm");o(ys,"getHashLength");o(EI,"getNamedCurve");o(xm,"checkUsage");o(Lm,"checkSigCryptoKey");o(qe,"checkEncCryptoKey")});function Dm(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function Fl(e,t,...r){return Dm(`Key for the ${e} algorithm must be `,t,...r)}var oe,ut=I(()=>{o(Dm,"message");oe=o((e,...t)=>Dm("Key must be ",e,...t),"default");o(Fl,"withAlg")});var ql,Q,lt=I(()=>{Se();ql=o(e=>ae(e),"default"),Q=["CryptoKey"]});async function wI(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(oe(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Te(s,n,r,us(s.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Nm(i,d)}catch{}if(!p)throw new Ht;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Ht;return m}async function vI(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Te(r,i)))}catch{throw new Ht}}var SI,gs,$l=I(()=>{ge();kl();Hl();Cm();j();Se();ar();ut();lt();o(wI,"cbcDecrypt");o(vI,"gcmDecrypt");SI=o(async(e,t,r,n,i,s)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(ms(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&dn(t,parseInt(e.slice(-3),10)),wI(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&dn(t,parseInt(e.slice(1,4),10)),vI(e,t,r,n,i,s);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),gs=SI});var Um,Mm,jl=I(()=>{j();Um=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),Mm=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var TI,wt,pn=I(()=>{TI=o((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),wt=TI});function II(e){return typeof e=="object"&&e!==null}function Y(e){if(!II(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var $e=I(()=>{o(II,"isObjectLike");o(Y,"isObject")});var PI,hn,Vl=I(()=>{PI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],hn=PI});function km(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Hm(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(oe(e,...Q,"Uint8Array"))}var wi,vi,bs=I(()=>{Vl();Se();ar();ut();lt();o(km,"checkKeySize");o(Hm,"getCryptoKey");wi=o(async(e,t,r)=>{let n=await Hm(t,e,"wrapKey");km(n,e);let i=await D.subtle.importKey("raw",r,...hn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),vi=o(async(e,t,r)=>{let n=await Hm(t,e,"unwrapKey");km(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...hn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function _s(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Te(ds(X.encode(r)),ds(i),ds(s),ls(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return Rm(u,n,a)}async function Fm(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function Es(e){if(!ae(e))throw new TypeError(oe(e,...Q));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var Gl=I(()=>{ge();Se();ar();ut();lt();o(_s,"deriveKey");o(Fm,"generateEpk");o(Es,"ecdhAllowed")});function Bl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var $m=I(()=>{j();o(Bl,"checkP2s")});function AI(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function jm(e,t,r,n){Bl(e);let i=Am(t,e),s=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await AI(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Vm,Gm,Kl=I(()=>{Ei();ge();Ie();bs();$m();Se();ar();ut();lt();o(AI,"getCryptoKey");o(jm,"deriveKey");Vm=o(async(e,t,r,n=2048,i=or(new Uint8Array(16)))=>{let s=await jm(i,e,n,t);return{encryptedKey:await wi(e.slice(-6),s,r),p2c:n,p2s:ee(i)}},"encrypt"),Gm=o(async(e,t,r,n,i)=>{let s=await jm(i,e,n,t);return vi(e.slice(-6),s,r)},"decrypt")});function fn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Bm=I(()=>{j();o(fn,"subtleRsaEs")});var Hr,ws=I(()=>{Hr=o((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Km,Jm,Jl=I(()=>{Bm();Vl();Se();ar();ws();ut();lt();Km=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Hr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(fn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...hn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,fn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Jm=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Hr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(fn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,fn(e),...hn);return new Uint8Array(await D.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function Si(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var vt,Ti=I(()=>{j();Ei();o(Si,"bitLength");vt=o(e=>or(new Uint8Array(Si(e)>>3)),"default")});var zl,zm=I(()=>{zl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
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 h=o(f=>{if(c.inlineCharacterLimit===void 0)return f;let y=f.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return y.length<=c.inlineCharacterLimit?y:f.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,ql.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 f="["+p.newline+a.map((y,_)=>{let I=a.length-1===_?p.newline:","+p.newlineOrSpace,O=s(y,c,u+d,l+1);return c.transform&&(O=c.transform(a,_,O)),p.indent+O+I}).join("")+p.pad+"]";return n.pop(),h(f)}if((0,ql.isObject)(a)){let f=(0,ql.getOwnEnumerableKeys)(a);if(c.filter&&(f=f.filter(_=>c.filter?.(a,_))),f.length===0)return"{}";n.push(a);let y="{"+p.newline+f.map((_,I)=>{let O=f.length-1===I?p.newline:","+p.newlineOrSpace,g=typeof _=="symbol",v=!g&&/^[a-z$_][$\w]*$/i.test(_),R=g||v?_:s(_,c,"",l+1),K=s(a[_],c,u+d,l+1);return c.transform&&(K=c.transform(a,_,K)),p.indent+String(R)+": "+K+O}).join("")+p.pad+"}";return n.pop(),h(y)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,f=>f===`
|
|
55
|
+
`?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(II,"stringifyObject");$l.default=II});var At=b(Ke=>{"use strict";var PI=Ke&&Ke.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.stringifyNonStringToText=Ke.stringifyNonString=Ke.messagesToMultilineText=Ke.extractBestMessage=Ke.makeErrorsSerializable=void 0;var jl=Vr(),Mm=PI(Lm()),Um=st();function AI(e){return e.map(t=>(0,jl.serializeError)(t))}o(AI,"makeErrorsSerializable");Ke.makeErrorsSerializable=AI;function RI(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:km((0,jl.serializeError)(t))}o(RI,"extractBestMessage");Ke.extractBestMessage=RI;function OI(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,Um.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,Mm.default)((0,jl.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,Mm.default)(r);t.push(n)}else{let n=Fm(r);t.push(n)}}),t.join(`
|
|
56
|
+
`)}o(OI,"messagesToMultilineText");Ke.messagesToMultilineText=OI;function km(e){return typeof e=="string"?e:JSON.stringify(e)}o(km,"stringifyNonString");Ke.stringifyNonString=km;function Fm(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,Um.toString)(e):"unknown"}o(Fm,"stringifyNonStringToText");Ke.stringifyNonStringToText=Fm});var V,me,Ne=L(()=>{V=crypto,me=o(e=>e instanceof CryptoKey,"isCryptoKey")});var NI,gs,Vl=L(()=>{Ne();NI=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await V.subtle.digest(r,t))},"digest"),gs=NI});function xe(...e){let t=e.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function Hm(e,t){return xe(ce.encode(e),new Uint8Array([0]),t)}function Gl(e,t,r){if(t<0||t>=bs)throw new RangeError(`value must be >= 0 and <= ${bs-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function _s(e){let t=Math.floor(e/bs),r=e%bs,n=new Uint8Array(8);return Gl(n,t,0),Gl(n,r,4),n}function Es(e){let t=new Uint8Array(4);return Gl(t,e),t}function ws(e){return xe(Es(e.length),e)}async function qm(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+e.length+r.length);a.set(Es(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await gs("sha256",a),s*32)}return i.slice(0,t>>3)}var ce,ge,bs,Se=L(()=>{Vl();ce=new TextEncoder,ge=new TextDecoder,bs=2**32;o(xe,"concat");o(Hm,"p2s");o(Gl,"writeUInt32BE");o(_s,"uint64be");o(Es,"uint32be");o(ws,"lengthAndInput");o(qm,"concatKdf")});var vs,ue,Bl,de,Ce=L(()=>{Se();vs=o(e=>{let t=e;typeof t=="string"&&(t=ce.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"),ue=o(e=>vs(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Bl=o(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),de=o(e=>{let t=e;t instanceof Uint8Array&&(t=ge.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 Kl={};So(Kl,{JOSEAlgNotAllowed:()=>lr,JOSEError:()=>we,JOSENotSupported:()=>B,JWEDecryptionFailed:()=>Bt,JWEInvalid:()=>F,JWKInvalid:()=>Ai,JWKSInvalid:()=>dr,JWKSMultipleMatchingKeys:()=>Ri,JWKSNoMatchingKey:()=>Gr,JWKSTimeout:()=>Oi,JWSInvalid:()=>ne,JWSSignatureVerificationFailed:()=>Br,JWTClaimValidationFailed:()=>Ie,JWTExpired:()=>_n,JWTInvalid:()=>be});var we,Ie,_n,lr,B,Bt,F,ne,be,Ai,dr,Gr,Ri,Oi,Br,Y=L(()=>{we=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},Ie=class extends we{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},_n=class extends we{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},lr=class extends we{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},B=class extends we{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Bt=class extends we{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},F=class extends we{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},ne=class extends we{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},be=class extends we{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Ai=class extends we{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},dr=class extends we{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Gr=class extends we{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},Ri=class extends we{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},Oi=class extends we{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Br=class extends we{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var pr,Ni=L(()=>{Ne();pr=V.getRandomValues.bind(V)});function Jl(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 B(`Unsupported JWE Algorithm: ${e}`)}}var Ts,Ss=L(()=>{Y();Ni();o(Jl,"bitLength");Ts=o(e=>pr(new Uint8Array(Jl(e)>>3)),"default")});var xI,Is,zl=L(()=>{Y();Ss();xI=o((e,t)=>{if(t.length<<3!==Jl(e))throw new F("Invalid Initialization Vector length")},"checkIvLength"),Is=xI});var CI,En,Wl=L(()=>{Y();CI=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new F(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),En=CI});var DI,jm,Vm=L(()=>{DI=o((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),jm=DI});function De(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function hr(e,t){return e.name===t}function Ps(e){return parseInt(e.name.slice(4),10)}function LI(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Gm(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 Bm(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!hr(e.algorithm,"HMAC"))throw De("HMAC");let n=parseInt(t.slice(2),10);if(Ps(e.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!hr(e.algorithm,"RSASSA-PKCS1-v1_5"))throw De("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Ps(e.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!hr(e.algorithm,"RSA-PSS"))throw De("RSA-PSS");let n=parseInt(t.slice(2),10);if(Ps(e.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw De("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!hr(e.algorithm,"ECDSA"))throw De("ECDSA");let n=LI(t);if(e.algorithm.namedCurve!==n)throw De(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Gm(e,r)}function Je(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!hr(e.algorithm,"AES-GCM"))throw De("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw De(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!hr(e.algorithm,"AES-KW"))throw De("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw De(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw De("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!hr(e.algorithm,"PBKDF2"))throw De("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!hr(e.algorithm,"RSA-OAEP"))throw De("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Ps(e.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Gm(e,r)}var fr=L(()=>{o(De,"unusable");o(hr,"isAlgorithm");o(Ps,"getHashLength");o(LI,"getNamedCurve");o(Gm,"checkUsage");o(Bm,"checkSigCryptoKey");o(Je,"checkEncCryptoKey")});function Km(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 Ql(e,t,...r){return Km(`Key for the ${e} algorithm must be `,t,...r)}var he,yt=L(()=>{o(Km,"message");he=o((e,...t)=>Km("Key must be ",e,...t),"default");o(Ql,"withAlg")});var Yl,se,gt=L(()=>{Ne();Yl=o(e=>me(e),"default"),se=["CryptoKey"]});async function MI(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(he(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await V.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await V.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=xe(s,n,r,_s(s.length<<3)),d=new Uint8Array((await V.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=jm(i,d)}catch{}if(!p)throw new Bt;let h;try{h=new Uint8Array(await V.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!h)throw new Bt;return h}async function UI(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await V.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(Je(t,e,"decrypt"),a=t);try{return new Uint8Array(await V.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,xe(r,i)))}catch{throw new Bt}}var kI,As,Zl=L(()=>{Se();zl();Wl();Vm();Y();Ne();fr();yt();gt();o(MI,"cbcDecrypt");o(UI,"gcmDecrypt");kI=o(async(e,t,r,n,i,s)=>{if(!me(t)&&!(t instanceof Uint8Array))throw new TypeError(he(t,...se,"Uint8Array"));switch(Is(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&En(t,parseInt(e.slice(-3),10)),MI(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&En(t,parseInt(e.slice(1,4),10)),UI(e,t,r,n,i,s);default:throw new B("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),As=kI});var Jm,zm,Xl=L(()=>{Y();Jm=o(async()=>{throw new B('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"),zm=o(async()=>{throw new B('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 FI,Rt,wn=L(()=>{FI=o((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),Rt=FI});function HI(e){return typeof e=="object"&&e!==null}function ae(e){if(!HI(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 ze=L(()=>{o(HI,"isObjectLike");o(ae,"isObject")});var qI,vn,ed=L(()=>{qI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],vn=qI});function Wm(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Qm(e,t,r){if(me(e))return Je(e,t,r),e;if(e instanceof Uint8Array)return V.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(he(e,...se,"Uint8Array"))}var xi,Ci,Rs=L(()=>{ed();Ne();fr();yt();gt();o(Wm,"checkKeySize");o(Qm,"getCryptoKey");xi=o(async(e,t,r)=>{let n=await Qm(t,e,"wrapKey");Wm(n,e);let i=await V.subtle.importKey("raw",r,...vn);return new Uint8Array(await V.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),Ci=o(async(e,t,r)=>{let n=await Qm(t,e,"unwrapKey");Wm(n,e);let i=await V.subtle.unwrapKey("raw",r,n,"AES-KW",...vn);return new Uint8Array(await V.subtle.exportKey("raw",i))},"unwrap")});async function Os(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!me(e))throw new TypeError(he(e,...se));if(Je(e,"ECDH"),!me(t))throw new TypeError(he(t,...se));Je(t,"ECDH","deriveBits");let a=xe(ws(ce.encode(r)),ws(i),ws(s),Es(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 V.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return qm(u,n,a)}async function Ym(e){if(!me(e))throw new TypeError(he(e,...se));return V.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function Ns(e){if(!me(e))throw new TypeError(he(e,...se));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var td=L(()=>{Se();Ne();fr();yt();gt();o(Os,"deriveKey");o(Ym,"generateEpk");o(Ns,"ecdhAllowed")});function rd(e){if(!(e instanceof Uint8Array)||e.length<8)throw new F("PBES2 Salt Input must be 8 or more octets")}var Xm=L(()=>{Y();o(rd,"checkP2s")});function $I(e,t){if(e instanceof Uint8Array)return V.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(me(e))return Je(e,t,"deriveBits","deriveKey"),e;throw new TypeError(he(e,...se,"Uint8Array"))}async function ey(e,t,r,n){rd(e);let i=Hm(t,e),s=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await $I(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await V.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return V.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var ty,ry,nd=L(()=>{Ni();Se();Ce();Rs();Xm();Ne();fr();yt();gt();o($I,"getCryptoKey");o(ey,"deriveKey");ty=o(async(e,t,r,n=2048,i=pr(new Uint8Array(16)))=>{let s=await ey(i,e,n,t);return{encryptedKey:await xi(e.slice(-6),s,r),p2c:n,p2s:ue(i)}},"encrypt"),ry=o(async(e,t,r,n,i)=>{let s=await ey(i,e,n,t);return Ci(e.slice(-6),s,r)},"decrypt")});function Tn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new B(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var ny=L(()=>{Y();o(Tn,"subtleRsaEs")});var Kr,xs=L(()=>{Kr=o((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var iy,oy,id=L(()=>{ny();ed();Ne();fr();xs();yt();gt();iy=o(async(e,t,r)=>{if(!me(t))throw new TypeError(he(t,...se));if(Je(t,e,"encrypt","wrapKey"),Kr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await V.subtle.encrypt(Tn(e),t,r));if(t.usages.includes("wrapKey")){let n=await V.subtle.importKey("raw",r,...vn);return new Uint8Array(await V.subtle.wrapKey("raw",n,t,Tn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),oy=o(async(e,t,r)=>{if(!me(t))throw new TypeError(he(t,...se));if(Je(t,e,"decrypt","unwrapKey"),Kr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await V.subtle.decrypt(Tn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await V.subtle.unwrapKey("raw",r,t,Tn(e),...vn);return new Uint8Array(await V.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function Di(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 B(`Unsupported JWE Algorithm: ${e}`)}}var Ot,Li=L(()=>{Y();Ni();o(Di,"bitLength");Ot=o(e=>pr(new Uint8Array(Di(e)>>3)),"default")});var od,sy=L(()=>{od=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
|
|
57
57
|
`);return`-----BEGIN ${t}-----
|
|
58
58
|
${r}
|
|
59
|
-
-----END ${t}-----`},"default")});function Qm(e){let t=[],r=0;for(;r<e.length;){let n=ry(e.subarray(r));t.push(n),r+=n.byteLength}return t}function ry(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=t+n+2;return{byteLength:s,contents:e.subarray(t,t+n),raw:e.subarray(0,s)}}else{let s=e[t]&127;t++,n=0;for(let a=0;a<s;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function RI(e){let t=Qm(Qm(ry(e).contents)[0].contents);return ps(t[t[0].raw[0]===160?6:5].raw)}function OI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Dl(t);return zl(RI(r),"PUBLIC KEY")}var Ym,Zm,Xm,cr,Wm,ey,ty,Wl,ny,vs=I(()=>{Se();ut();Ie();zm();j();lt();Ym=o(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(r,...Q));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return zl(ps(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Zm=o(e=>Ym("public","spki",e),"toSPKI"),Xm=o(e=>Ym("private","pkcs8",e),"toPKCS8"),cr=o((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((s,a)=>s===t[a])||cr(e,t,n+1)},"findOid"),Wm=o(e=>{switch(!0){case cr(e,[42,134,72,206,61,3,1,7]):return"P-256";case cr(e,[43,129,4,0,34]):return"P-384";case cr(e,[43,129,4,0,35]):return"P-521";case cr(e,[43,101,110]):return"X25519";case cr(e,[43,101,111]):return"X448";case cr(e,[43,101,112]):return"Ed25519";case cr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),ey=o(async(e,t,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Wm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Wm(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),ty=o((e,t,r)=>ey(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Wl=o((e,t,r)=>ey(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(Qm,"getElement");o(ry,"parseElement");o(RI,"spkiFromX509");o(OI,"getSPKI");ny=o((e,t,r)=>{let n;try{n=OI(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Wl(n,t,r)},"fromX509")});function NI(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new M(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new M('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var CI,Ql,iy=I(()=>{Se();j();Ie();o(NI,"subtleMapping");CI=o(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=NI(e),s=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return D.subtle.importKey("raw",re(e.k),...s);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...s)},"parse"),Ql=CI});async function oy(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Wl(e,t,r)}async function sy(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return ny(e,t,r)}async function ay(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return ty(e,t,r)}async function ur(e,t,r){var n;if(!Y(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?Ql({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Ql({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var Ii=I(()=>{Ie();vs();iy();j();$e();o(oy,"importSPKI");o(sy,"importX509");o(ay,"importPKCS8");o(ur,"importJWK")});var xI,LI,DI,lr,Pi=I(()=>{ut();lt();xI=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!ql(t))throw new TypeError(Fl(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),LI=o((e,t,r)=>{if(!ql(t))throw new TypeError(Fl(e,t,...Q));if(t.type==="secret")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),DI=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?xI(e,t):LI(e,t,r)},"checkKeyType"),lr=DI});async function UI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(r,"Uint8Array"));let s=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Te(i,n,u,us(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function MI(e,t,r,n,i){let s;r instanceof Uint8Array?s=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(r,e,"encrypt"),s=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var kI,Ai,Yl=I(()=>{ge();kl();Hl();Se();ar();ut();j();lt();o(UI,"cbcEncrypt");o(MI,"gcmEncrypt");kI=o(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(ms(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&dn(r,parseInt(e.slice(-3),10)),UI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&dn(r,parseInt(e.slice(1,4),10)),MI(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Ai=kI});async function cy(e,t,r,n){let i=e.slice(0,7);n||(n=hs(i));let{ciphertext:s,tag:a}=await Ai(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:ee(n),tag:ee(a)}}async function uy(e,t,r,n,i){let s=e.slice(0,7);return gs(s,t,r,n,i,new Uint8Array(0))}var Zl=I(()=>{Yl();$l();fs();Ie();o(cy,"wrap");o(uy,"unwrap")});async function HI(e,t,r,n,i){switch(lr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new R('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Es(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await ur(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new R('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new R('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await _s(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?Si(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new R("JWE Encrypted Key missing");return vi(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new R("JWE Encrypted Key missing");return Jm(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new R('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new R('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new R('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Gm(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return vi(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new R('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new R('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=re(n.iv),a=re(n.tag);return uy(e,t,r,s,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var ly,dy=I(()=>{bs();Gl();Kl();Jl();Ie();j();Ti();Ii();Pi();$e();Zl();o(HI,"decryptKeyManagement");ly=HI});function FI(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...t.entries()]):s=t;for(let a of n.crit){if(!s.has(a))throw new M(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var St,mn=I(()=>{j();o(FI,"validateCrit");St=FI});var qI,Ri,Xl=I(()=>{qI=o((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),Ri=qI});async function yn(e,t,r){var n;if(!Y(e))throw new R("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new R("JOSE Header missing");if(typeof e.iv!="string")throw new R("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new R("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new R("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new R("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new R("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new R("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new R("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new R("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let G=re(e.protected);i=JSON.parse(ue.decode(G))}catch{throw new R("JWE Protected Header is invalid")}if(!wt(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(St(R,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new R("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new R("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&Ri("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&Ri("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new nr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new nr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await ly(a,t,d,s,r)}catch(G){if(G instanceof TypeError||G instanceof R||G instanceof M)throw G;m=vt(c)}let h=re(e.iv),g=re(e.tag),_=X.encode((n=e.protected)!==null&&n!==void 0?n:""),S;e.aad!==void 0?S=Te(_,X.encode("."),X.encode(e.aad)):S=_;let T=await gs(c,m,re(e.ciphertext),h,g,S);s.zip==="DEF"&&(T=await(r?.inflateRaw||Um)(T));let k={plaintext:T};return e.protected!==void 0&&(k.protectedHeader=i),e.aad!==void 0&&(k.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(k.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(k.unprotectedHeader=e.header),p?{...k,key:t}:k}var Ss=I(()=>{Ie();$l();jl();j();pn();$e();dy();ge();Ti();mn();Xl();o(yn,"flattenedDecrypt")});async function Ts(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new R("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new R("Invalid Compact JWE");let l=await yn({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var ed=I(()=>{Ss();j();ge();o(Ts,"compactDecrypt")});async function py(e,t,r){if(!Y(e))throw new R("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new R("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new R("JWE Recipients has no members");for(let n of e.recipients)try{return await yn({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new Ht}var hy=I(()=>{Ss();j();$e();o(py,"generalDecrypt")});var $I,fy,my=I(()=>{Se();ut();Ie();lt();$I=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:ee(e)};if(!ae(e))throw new TypeError(oe(e,...Q,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await D.subtle.exportKey("jwk",e);return s},"keyToJWK"),fy=$I});async function yy(e){return Zm(e)}async function gy(e){return Xm(e)}async function Is(e){return fy(e)}var td=I(()=>{vs();vs();my();o(yy,"exportSPKI");o(gy,"exportPKCS8");o(Is,"exportJWK")});async function jI(e,t,r,n,i={}){let s,a,c;switch(lr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Es(r))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await Fm(r)).privateKey);let{x:p,y:m,crv:h,kty:g}=await Is(d),_=await _s(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?Si(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=m),u&&(a.apu=ee(u)),l&&(a.apv=ee(l)),e==="ECDH-ES"){c=_;break}c=n||vt(t);let S=e.slice(-6);s=await wi(S,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||vt(t),s=await Km(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||vt(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Vm(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||vt(t),s=await wi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||vt(t);let{iv:u}=i;({encryptedKey:s,...a}=await cy(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var Ps,rd=I(()=>{bs();Gl();Kl();Jl();Ie();Ti();j();td();Pi();Zl();o(jI,"encryptKeyManagement");Ps=jI});var nd,Ft,As=I(()=>{Ie();Yl();jl();fs();rd();j();pn();ge();mn();nd=Symbol(),Ft=class{static{o(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!wt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(St(R,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let g;({cek:c,encryptedKey:a,parameters:g}=await Ps(i,s,t,this._cek,this._keyManagementParameters)),g&&(r&&nd in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=hs(s));let u,l,d;this._protectedHeader?l=X.encode(ee(JSON.stringify(this._protectedHeader))):l=X.encode(""),this._aad?(d=ee(this._aad),u=Te(l,X.encode("."),X.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let g=await(r?.deflateRaw||Mm)(this._plaintext);({ciphertext:p,tag:m}=await Ai(s,g,c,this._iv,u))}else({ciphertext:p,tag:m}=await Ai(s,this._plaintext,c,this._iv,u));let h={ciphertext:ee(p),iv:ee(this._iv),tag:ee(m)};return a&&(h.encrypted_key=ee(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var id,Rs,by=I(()=>{As();j();Ti();pn();rd();Ie();mn();id=class{static{o(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},Rs=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new id(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new R("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Ft(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!wt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new R('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(St(R,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=vt(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Ft(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[nd]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await Ps(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:m});d.encrypted_key=ee(h),(l.unprotectedHeader||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function Oi(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var od=I(()=>{j();o(Oi,"subtleDsa")});function Ni(e,t,r){if(ae(t))return Lm(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(oe(t,...Q));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(oe(t,...Q,"Uint8Array"))}var sd=I(()=>{Se();ar();ut();lt();o(Ni,"getCryptoKey")});var VI,_y,Ey=I(()=>{od();Se();ws();sd();VI=o(async(e,t,r,n)=>{let i=await Ni(e,t,"verify");Hr(e,i);let s=Oi(e,i.algorithm);try{return await D.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),_y=VI});async function gn(e,t,r){var n;if(!Y(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let S=re(e.protected);i=JSON.parse(ue.decode(S))}catch{throw new z("JWS Protected Header is invalid")}if(!wt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=St(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&Ri("algorithms",r.algorithms);if(l&&!l.has(u))throw new nr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),lr(u,t,"verify");let p=Te(X.encode((n=e.protected)!==null&&n!==void 0?n:""),X.encode("."),typeof e.payload=="string"?X.encode(e.payload):e.payload),m=re(e.signature);if(!await _y(u,t,m,p))throw new kr;let g;c?g=re(e.payload):typeof e.payload=="string"?g=X.encode(e.payload):g=e.payload;let _={payload:g};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var Os=I(()=>{Ie();Ey();j();ge();pn();$e();Pi();mn();Xl();o(gn,"flattenedVerify")});async function Ns(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await gn({payload:i,protected:n,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var ad=I(()=>{Os();j();ge();o(Ns,"compactVerify")});async function wy(e,t,r){if(!Y(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Y))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await gn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new kr}var vy=I(()=>{Os();j();$e();o(wy,"generalVerify")});var bn,cd=I(()=>{bn=o(e=>Math.floor(e.getTime()/1e3),"default")});var GI,_n,ud=I(()=>{GI=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,_n=o(e=>{let t=GI.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var Sy,BI,En,Cs=I(()=>{j();ge();cd();ud();$e();Sy=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),BI=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),En=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Sy(e.typ)!==Sy(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Y(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!BI(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=_n(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=bn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new ln('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,g=typeof l=="number"?l:_n(l);if(h-d>g)throw new ln('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Ty(e,t,r){var n;let i=await Ns(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:En(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var Iy=I(()=>{ad();Cs();j();o(Ty,"jwtVerify")});async function Py(e,t,r){let n=await Ts(e,t,r),i=En(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var Ay=I(()=>{ed();Cs();j();o(Py,"jwtDecrypt")});var wn,ld=I(()=>{As();wn=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Ft(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var KI,Ry,Oy=I(()=>{od();Se();ws();sd();KI=o(async(e,t,r)=>{let n=await Ni(e,t,"sign");Hr(e,n);let i=await D.subtle.sign(Oi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Ry=KI});var dr,xs=I(()=>{Ie();Oy();pn();j();ge();Pi();mn();dr=class{static{o(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!wt(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=St(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');lr(a,t,"sign");let c=this._payload;s&&(c=X.encode(ee(c)));let u;this._protectedHeader?u=X.encode(ee(JSON.stringify(this._protectedHeader))):u=X.encode("");let l=Te(u,X.encode("."),c),d=await Ry(a,t,l),p={signature:ee(d),payload:""};return s&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var vn,dd=I(()=>{xs();vn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new dr(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var pd,Ls,Ny=I(()=>{xs();j();pd=class{static{o(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},Ls=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new pd(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new dr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=s;else if(t.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var pr,Ds=I(()=>{cd();$e();ud();pr=class{static{o(this,"ProduceJWT")}constructor(t){if(!Y(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:bn(new Date)+_n(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:bn(new Date)+_n(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:bn(new Date)}:this._payload={...this._payload,iat:t},this}}});var Us,Cy=I(()=>{dd();j();ge();Ds();Us=class extends pr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new vn(X.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var Ms,xy=I(()=>{ld();ge();Ds();Ms=class extends pr{static{o(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new wn(X.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function hd(e,t){if(!Y(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":hr(e.crv,'"crv" (Curve) Parameter'),hr(e.x,'"x" (X Coordinate) Parameter'),hr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":hr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),hr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":hr(e.e,'"e" (Exponent) Parameter'),hr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":hr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=X.encode(JSON.stringify(r));return ee(await as(t,n))}async function Ly(e,t){t??(t="sha256");let r=await hd(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var hr,Dy=I(()=>{xl();Ie();j();ge();$e();hr=o((e,t)=>{if(typeof e!="string"||!e)throw new gi(`${t} missing or invalid`)},"check");o(hd,"calculateJwkThumbprint");o(Ly,"calculateJwkThumbprintUri")});async function Uy(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ur({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var My=I(()=>{Ii();$e();j();o(Uy,"EmbeddedJWK")});function JI(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new M('Unsupported "alg" value for a JSON Web Key Set')}}function fd(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(zI)}function zI(e){return Y(e)}function WI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function ky(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ur({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new ir("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Hy(e){let t=new Ci(e);return async function(r,n){return t.getKey(r,n)}}var Ci,md=I(()=>{Ii();j();$e();o(JI,"getKtyFromAlg");o(fd,"isJWKSLike");o(zI,"isJWKLike");o(WI,"clone");Ci=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!fd(t))throw new ir("JSON Web Key Set malformed");this._jwks=WI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=JI(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new Mr;if(u!==1){let l=new bi,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await ky(d,p,n)}catch{continue}},l}return ky(this._cached,c,n)}};o(ky,"importWithAlgCache");o(Hy,"createLocalJWKSet")});var QI,Fy,qy=I(()=>{j();QI=o(async(e,t,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new _i:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),Fy=QI});function YI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function $y(e,t){let r=new yd(e,t);return async function(n,i){return r.getKey(n,i)}}var yd,jy=I(()=>{qy();j();md();o(YI,"isCloudflareWorkers");yd=class extends Ci{static{o(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof Mr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&YI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Fy(this._url,this._timeoutDuration,this._options).then(t=>{if(!fd(t))throw new ir("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};o($y,"createRemoteJWKSet")});var ks,Vy=I(()=>{Ie();ge();j();Cs();Ds();ks=class extends pr{static{o(this,"UnsecuredJWT")}encode(){let t=ee(JSON.stringify({alg:"none"})),r=ee(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:En(c,re(i),r),header:c}}}});var gd={};fo(gd,{decode:()=>xi,encode:()=>ZI});var ZI,xi,Hs=I(()=>{Ie();ZI=ee,xi=re});function Gy(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(xi(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var By=I(()=>{Hs();ge();$e();o(Gy,"decodeProtectedHeader")});function Ky(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=xi(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Y(i))throw new le("Invalid JWT Claims Set");return i}var Jy=I(()=>{Hs();ge();$e();j();o(Ky,"decodeJwt")});async function zy(e,t){var r;let n,i,s;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),or(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function bd(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new M("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Wy(e,t){var r,n,i;let s,a;switch(e){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:bd(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:bd(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:bd(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new M("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new M("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var _d=I(()=>{Se();j();Ei();o(zy,"generateSecret");o(bd,"getModulusLengthOption");o(Wy,"generateKeyPair")});async function Qy(e,t){return Wy(e,t)}var Yy=I(()=>{_d();o(Qy,"generateKeyPair")});async function Zy(e,t){return zy(e,t)}var Xy=I(()=>{_d();o(Zy,"generateSecret")});var Fs={};fo(Fs,{CompactEncrypt:()=>wn,CompactSign:()=>vn,EmbeddedJWK:()=>Uy,EncryptJWT:()=>Ms,FlattenedEncrypt:()=>Ft,FlattenedSign:()=>dr,GeneralEncrypt:()=>Rs,GeneralSign:()=>Ls,SignJWT:()=>Us,UnsecuredJWT:()=>ks,base64url:()=>gd,calculateJwkThumbprint:()=>hd,calculateJwkThumbprintUri:()=>Ly,compactDecrypt:()=>Ts,compactVerify:()=>Ns,createLocalJWKSet:()=>Hy,createRemoteJWKSet:()=>$y,decodeJwt:()=>Ky,decodeProtectedHeader:()=>Gy,errors:()=>Ul,exportJWK:()=>Is,exportPKCS8:()=>gy,exportSPKI:()=>yy,flattenedDecrypt:()=>yn,flattenedVerify:()=>gn,generalDecrypt:()=>py,generalVerify:()=>wy,generateKeyPair:()=>Qy,generateSecret:()=>Zy,importJWK:()=>ur,importPKCS8:()=>ay,importSPKI:()=>oy,importX509:()=>sy,jwtDecrypt:()=>Py,jwtVerify:()=>Ty});var qs=I(()=>{ed();Ss();hy();by();ad();Os();vy();Iy();Ay();ld();As();dd();xs();Ny();Cy();xy();Dy();My();md();jy();Vy();td();Ii();By();Jy();j();Yy();Xy();Hs()});var Sn=y($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.fetchRetry=void 0;var XI=O();async function eP(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:s.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new XI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(eP,"fetchRetry");$s.fetchRetry=eP});var Tn=y(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.GcpServiceAccount=et.fetchToken=et.exchangeGgpJwtForIdToken=et.exchangeFirebaseJwtForIdToken=et.getTokenFromGcpServiceAccount=void 0;var eg=(qs(),mo(Fs)),tP=O(),rP=Sn();async function nP({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new eg.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(nP,"getTokenFromGcpServiceAccount");et.getTokenFromGcpServiceAccount=nP;async function iP(e,t,r){return wd(e,{token:t,returnSecureToken:!0},r)}o(iP,"exchangeFirebaseJwtForIdToken");et.exchangeFirebaseJwtForIdToken=iP;async function oP(e,t,r){return wd(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(oP,"exchangeGgpJwtForIdToken");et.exchangeGgpJwtForIdToken=oP;async function wd(e,t,r){let n=await(0,rP.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new tP.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(wd,"fetchToken");et.fetchToken=wd;var Ed=class e{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,eg.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};et.GcpServiceAccount=Ed});var Vs=y(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.GoogleLogTransport=qt.ZuploToGCPMap=qt.GoogleCloudLoggingPlugin=void 0;var sP=O(),aP=ve(),vd=W(),Sd=Tn(),cP=kt(),tg=Et(),Td=class extends cP.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new js(this.options)}};qt.GoogleCloudLoggingPlugin=Td;var uP="https://logging.googleapis.com/v2/entries:write?alt=json";qt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var js=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=vd.Environment.instance.loggingEnvironmentType,this.#o=vd.Environment.instance.loggingEnvironmentStage,this.#n=vd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await Sd.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new sP.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,tg.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:qt.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(s.labels.rayId=t.rayId);let a=(0,tg.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await Sd.GcpServiceAccount.init(this.#e));let r=await(0,Sd.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(uP,{method:"POST",body:JSON.stringify({entries:t}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new aP.BatchDispatch("google-log-transport",1,this.dispatchFunction)};qt.GoogleLogTransport=js});var Id=y(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.gcpLogFormat=In.GCP_LOG_FORMAT=void 0;var rg=Et(),lP=Vs();In.GCP_LOG_FORMAT="gcp";function dP(e){let t={allMessages:(0,rg.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,rg.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:lP.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}o(dP,"gcpLogFormat");In.gcpLogFormat=dP});var ig=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.ConsoleTransport=void 0;var ng=Id(),Pd=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===ng.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,ng.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Gs.ConsoleTransport=Pd});var xd=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.DataDogTransport=Pn.DataDogLoggingPlugin=void 0;var pP=ve(),Ad=W(),hP=kt(),og=Et(),Cd=class extends hP.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Bs(this.options)}};Pn.DataDogLoggingPlugin=Cd;var Rd="__ddtags",Od="__ddattr",Nd=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),fP=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(Nd(n)):r.push(`${Nd(n)}:${Nd(i.toString())}`)}),r.join(",")},"formatTags"),Bs=class{static{o(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Ad.Environment.instance.loggingEnvironmentType,this.#i=Ad.Environment.instance.loggingEnvironmentStage,this.#r=Ad.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[Rd];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[Rd]!==void 0);a>-1&&(Object.assign(n,s[a][Rd]),s.splice(a,1));let c={},u=r.custom[Od];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[Od]!==void 0);l>-1&&(Object.assign(c,s[l][Od]),s.splice(l,1));let d=(0,og.makeErrorsSerializable)(s),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,og.extractBestMessage)(d),service:t.loggingId,ddtags:fP(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new pP.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};Pn.DataDogTransport=Bs});var ag=y(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.ProcessTransport=void 0;var sg=Id(),Ld=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===sg.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,sg.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};Ks.ProcessTransport=Ld});var ug=y(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.RemoteLogTransport=void 0;var mP=ve(),cg=W(),yP=Et(),gP=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,yP.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":cg.Environment.instance.systemUserAgent,"zp-dn":cg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Js,Dd=class{static{o(this,"RemoteLogTransport")}constructor(t){Js||(Js=new mP.BatchDispatch("remote-log-transport",1,gP(t)))}log(t,r){Js.enqueue(t),r.waitUntil(Js.waitUntilFlushed())}};zs.RemoteLogTransport=Dd});var lg=y(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.unifiedFormatter=Fr.SeverityNumberOpenTelemetryMap=void 0;Fr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var bP=o((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Fr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Fr.unifiedFormatter=bP});var pg=y(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.UnifiedLogTransport=void 0;var _P=ve(),dg=W(),EP=lg(),wP=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,EP.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":dg.Environment.instance.systemUserAgent,"zp-dn":dg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Ws,Ud=class{static{o(this,"UnifiedLogTransport")}constructor(t){Ws||(Ws=new _P.BatchDispatch("unified-log-transport",1,wP(t)))}async log(t,r){Ws.enqueue(t),r.waitUntil(Ws.waitUntilFlushed())}};Qs.UnifiedLogTransport=Ud});var _g=y(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.LogInitializer=void 0;var vP=Rr(),SP=bt(),hg=wl(),fg=W(),mg=gm(),TP=kt(),IP=bm(),yg=_m(),gg=ig(),PP=xd(),AP=Vs(),bg=ag(),RP=ug(),OP=pg(),Md=(0,vP.debug)("zuplo:logging"),kd=class e{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(fg.Environment.instance,t),n=await e.setupUserCoreLogger(fg.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;Md("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(hg.SYSTEM_LOGGER);return s?i.push(new bg.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&i.push(new gg.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new OP.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new mg.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){Md("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=t,a=r.getService(hg.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new bg.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new gg.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new RP.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new AP.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new PP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return SP.plugins.forEach(c=>{c instanceof TP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new mg.CoreLogger(t.userLogLevel,"user",t.loggingId,s.BUILD_ID,n)}createRequestLoggers(t,r,n,i,s){Md("Gateway.createRequestLoggers");let a=new IP.LoggingContext(n,i,s),c=new yg.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new yg.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};Ys.LogInitializer=kd});var Fd=y(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.UserRouteConfiguration=void 0;var Hd=class{static{o(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Zs.UserRouteConfiguration=Hd});var $d=y(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Router=Tt.RouterError=Tt.LookupResult=Tt.RouterEntry=void 0;var Eg=O(),NP=at(),CP=Fd(),Xs=class{static{o(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Tt.RouterEntry=Xs;var Li=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Tt.LookupResult=Li;var ea=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};Tt.RouterError=ea;var qd=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof CP.UserRouteConfiguration||t instanceof NP.SystemRouteConfiguration))throw new Eg.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let s=new URLPattern({pathname:i}),a=new Xs(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new ea(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new Eg.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new Li(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new Li(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Tt.Router=qd});var Or=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.Gateway=void 0;var xP=Rr(),wg=Kf(),vg=em(),LP=tm(),Sg=rm(),Tg=sm(),$t=Xr(),ta=Nr(),Ig=ym(),Pt=O(),Di=bt(),DP=_g(),UP=Ut(),MP=ie(),kP=hl(),HP=Yt(),FP=sn(),qP=He(),$P=$d(),jd=at(),Pg=Fd(),jP=Ke(),VP=zo(),Vd=W(),Ag=Ur(),Rg=Ju(),It=(0,xP.debug)("zuplo:runtime"),GP=o(e=>{let t=e.findIndex(r=>r.name===jd.systemNoVersion.name);return t>-1?[...e.splice(t),jd.systemNoVersion]:[...e,jd.systemNoVersion]},"setupSystemNoVersion"),Gd=class e{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,It("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,s){if(It("Gateway.initialize"),!e.#e){await(0,Di.initializeRuntime)(s);let a=await DP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,VP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){It("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new Pt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[FP.policyProcessor,kP.corsProcessor,HP.metricsProcessor];#i;setupRoutes=()=>{It("Gateway.setupRoutes");let t=this.routeData,r=GP(t.versions),n=new $P.Router(r);if(t.routes.length===0)return(0,wg.registerBuildRoute)(n,this),(0,Tg.registerPingRoute)(n,this),(0,vg.registerCorsRoute)(n,this),(0,LP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,Ig.registerDevPortalLegacyRedirectRoute)(n,this),(0,Ig.registerDevPortalV3Route)(n,this)),(0,wg.registerBuildRoute)(n,this),(0,Tg.registerPingRoute)(n,this),(0,vg.registerCorsRoute)(n,this);for(let s of Di.plugins)s instanceof Di.SystemRuntimePlugin&&s.registerRoutes(n,this);return t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Pt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new UP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Pg.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Sg.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new Pt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return It("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){It("Gateway.internalErrorResponse");let i={};if(Vd.Environment.instance.isDeno){if(n instanceof Pt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,Ag.serializeError)(n.cause);"stack"in s&&(s.stack=(0,Ag.cleanStack)(s.stack)),i={cause:s}}}return MP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return $t.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Vd.Environment.instance.isDeno&&$t.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get($t.REQUEST_ID_HEADER)??t.headers.get($t.LEGACY_REQUEST_ID_HEADER),i=t.headers.get($t.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set($t.REQUEST_ID_HEADER,n),t=new Request(t,{headers:S})}if(["GET","HEAD"].includes(t.method)&&t.body){let S=new Headers(t.headers);S.set($t.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:S,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new Pt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new ta.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new qP.ZuploRequest(m,{params:d.params}),g=new ta.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,event:r,custom:s,incomingRequestProperties:p}),_=ta.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===Sg.notFoundRouteConfiguration&&Di.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof Pg.UserRouteConfiguration)}try{if(jP.SystemLogMap.addLogger(g,c),Vd.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,Rg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let k=await(0,Di.invokeOnRequestExtensions)(h,g);if(k instanceof Response)return k;{let G=ta.ZuploContextExtensions.getContextExtensions(g);h=k,G.latestRequest=h}}(0,Rg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;BP(S,d,t),It("Gateway.handleRequest - call user handler");let T=await S(h,g);if(It("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new Pt.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new Pt.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get($t.REQUEST_ID_HEADER)===null&&!T.webSocket){let k=new Headers(T.headers);return k.set($t.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:k,cf:T.cf})}else return T}catch(S){return It("Gateway - error executing handler",S),S instanceof Pt.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};ra.Gateway=Gd;function BP(e,t,r){if(It("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new Pt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Pt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(BP,"checkHandler")});var Og=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.invokeInboundPolicy=void 0;var KP=O(),JP=Or(),zP=sn(),WP=o(async(e,t,r)=>{let n=JP.Gateway.instance.routeData.policies,i=(0,zP.getInboundPolicyInstances)([e],n);if(i.length===0)throw new KP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);return i[0].handler(t,r)},"invokeInboundPolicy");na.invokeInboundPolicy=WP});var Nr=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.SystemZuploContext=tt.ZuploContextExtensions=tt.ResponseSentEvent=tt.ResponseSendingEvent=tt.HeaderIncomingRequestProperties=void 0;var _e=Xr(),QP=O(),YP=Og(),Bd=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};tt.HeaderIncomingRequestProperties=Bd;var Kd=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};tt.ResponseSendingEvent=Kd;var Jd=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};tt.ResponseSentEvent=Jd;var Ui=class e{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new QP.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let s of this.#r)i=await s(t,r,n);return i}};tt.ZuploContextExtensions=Ui;var zd=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,event:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,YP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ui.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ui.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};tt.SystemZuploContext=zd});var Qd=y(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.ContextData=void 0;var Wd=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};ia.ContextData=Wd});var Mi=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.environment=fr.isZuploReadableEnvVariableName=fr.isRestrictedEnvVariableName=void 0;var ZP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Ng(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!ZP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(Ng,"isRestrictedEnvVariableName");fr.isRestrictedEnvVariableName=Ng;function Cg(e){return!!e.startsWith("ZUPLO_")}o(Cg,"isZuploReadableEnvVariableName");fr.isZuploReadableEnvVariableName=Cg;var XP=new Proxy({},{get(e,t){if(Ng(String(t))&&!Cg(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});fr.environment=XP});var Yd=y(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.externalServiceHandler=An.externalServiceTunnelConfig=void 0;var eA=Rr(),qr=O(),tA=Zd(),ki=W(),dt=(0,eA.debug)("zuplo:runtime:external-service");function Lg(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=ki.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(Lg,"getServiceAuth");async function rA(e){let t=Lg();if(!t)throw dt("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw dt("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let s;if(t.customServiceMapping&&t.customServiceMapping[n])s=`https://${t.customServiceMapping[n]}`;else if(ki.Environment.instance.useSha256ServiceRouting){dt("Using sha256 service routing");let a=ki.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await Dg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw dt("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(rA,"externalServiceTunnelConfig");An.externalServiceTunnelConfig=rA;async function nA(e,t){let r=Lg();if(r)if(dt(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,s=t??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(ki.Environment.instance.useSha256ServiceRouting){dt("Using sha256 service routing");let d=ki.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Dg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw dt("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);dt(`Calling external service: ${u.toString()}`);let l=await(0,tA.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new qr.RuntimeError("Could not connect to secure tunnel.");return l}else throw dt("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw dt("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.")}o(nA,"externalServiceHandler");An.externalServiceHandler=nA;async function Dg(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=iA(n);dt(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await xg(`${s}-${i}`),l=await xg(`${s}-${a}-${c}`);return`${u}.${l}`}o(Dg,"hashServiceName");async function xg(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(xg,"hashSegment");function iA(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(iA,"sanitizeEnvironmentType")});var Zd=y(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.originalFetch=void 0;var oA=Yd(),Ug=new Map;Ug.set("service:",oA.externalServiceHandler);Rn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=sA(t);if(typeof e=="string"){let n=new URL(e),i=Ug.get(n.protocol);return i?i(e,r):(0,Rn.originalFetch)(e,r)}else return(0,Rn.originalFetch)(e,r)};var sA=o(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var Hg=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.Handler=On.purgeGatewayCache=void 0;var aA=O(),kg=Or(),Mg=W(),cA=o(()=>{kg.Gateway.purgeGatewayCache()},"purgeGatewayCache");On.purgeGatewayCache=cA;var Xd=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Mg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await kg.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof aA.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Mg.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};On.Handler=Xd});var jg=y(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function uA(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",s=r+1;s<e.length;){var a=e.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(e[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;){if(e[s]==="\\"){u+=e[s++]+e[s++];continue}if(e[s]===")"){if(c--,c===0){s++;break}}else if(e[s]==="("&&(c++,e[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=e[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}o(uA,"lexer");function ep(e,t){t===void 0&&(t={});for(var r=uA(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(Nn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var me=d(ne);if(me!==void 0)return me;var Be=r[u],w=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(w," at ").concat(H,", expected ").concat(ne))},"mustConsume"),m=o(function(){for(var ne="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ne+=me;return ne},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var S=h||"";i.indexOf(S)===-1&&(l+=S,S=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:S,suffix:"",pattern:_||s,modifier:d("MODIFIER")||""});continue}var T=h||d("ESCAPED_CHAR");if(T){l+=T;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var S=m(),G=d("NAME")||"",L=d("PATTERN")||"",Z=m();p("CLOSE"),a.push({name:G||(L?c++:""),pattern:G&&!L?s:L,prefix:S,suffix:Z,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(ep,"parse");Re.parse=ep;function lA(e,t){return Fg(ep(e,t),t)}o(lA,"compile");Re.compile=lA;function Fg(e,t){t===void 0&&(t={});var r=tp(t),n=t.encode,i=n===void 0?function(u){return u}:n,s=t.validate,a=s===void 0?!0:s,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<m.length;_++){var S=i(m[_],p);if(a&&!c[d].test(S))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var S=i(String(m),p);if(a&&!c[d].test(S))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix;continue}if(!h){var T=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(T))}}return l}}o(Fg,"tokensToFunction");Re.tokensToFunction=Fg;function dA(e,t){var r=[],n=rp(e,r,t);return qg(n,r,t)}o(dA,"match");Re.match=dA;function qg(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=e.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(g){return i(g,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(qg,"regexpToFunction");Re.regexpToFunction=qg;function Nn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(Nn,"escapeString");function tp(e){return e&&e.sensitive?"":"i"}o(tp,"flags");function pA(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}o(pA,"regexpToRegexp");function hA(e,t,r){var n=e.map(function(i){return rp(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),tp(r))}o(hA,"arrayToRegexp");function fA(e,t,r){return $g(ep(e,r),t,r)}o(fA,"stringToRegexp");function $g(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(Nn(g),"]|$"),S="[".concat(Nn(m),"]"),T=a?"^":"",k=0,G=e;k<G.length;k++){var L=G[k];if(typeof L=="string")T+=Nn(d(L));else{var Z=Nn(d(L.prefix)),ne=Nn(d(L.suffix));if(L.pattern)if(t&&t.push(L),Z||ne)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";T+="(?:".concat(Z,"((?:").concat(L.pattern,")(?:").concat(ne).concat(Z,"(?:").concat(L.pattern,"))*)").concat(ne,")").concat(me)}else T+="(?:".concat(Z,"(").concat(L.pattern,")").concat(ne,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?T+="((?:".concat(L.pattern,")").concat(L.modifier,")"):T+="(".concat(L.pattern,")").concat(L.modifier);else T+="(?:".concat(Z).concat(ne,")").concat(L.modifier)}}if(u)i||(T+="".concat(S,"?")),T+=r.endsWith?"(?=".concat(_,")"):"$";else{var Be=e[e.length-1],w=typeof Be=="string"?S.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(T+="(?:".concat(S,"(?=").concat(_,"))?")),w||(T+="(?=".concat(S,"|").concat(_,")"))}return new RegExp(T,tp(r))}o($g,"tokensToRegexp");Re.tokensToRegexp=$g;function rp(e,t,r){return e instanceof RegExp?pA(e,t):Array.isArray(e)?hA(e,t,r):fA(e,t,r)}o(rp,"pathToRegexp");Re.pathToRegexp=rp});var sp=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.AwsV4Signer=Cn.AwsClient=void 0;var mA=Rr(),Kg=O(),yA=(0,mA.debug)("zuplo:runtime"),ip=new TextEncoder,Vg={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},gA=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],op=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new oa(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){yA("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(t,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Kg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};Cn.AwsClient=op;var oa=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:h,allHeaders:g,singleEncode:_}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let S,T;(!u||!l)&&([S,T]=bA(this.url,this.headers)),this.service=u||S||"",this.region=l||T||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let k=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),k.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&k.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>g||!gA.includes(L)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(L=>L+":"+(L==="host"?this.url.host:(this.headers.get(L)||"").replace(/\s+/g," "))).join(`
|
|
60
|
-
`),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!
|
|
59
|
+
-----END ${t}-----`},"default")});function cy(e){let t=[],r=0;for(;r<e.length;){let n=fy(e.subarray(r));t.push(n),r+=n.byteLength}return t}function fy(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=t+n+2;return{byteLength:s,contents:e.subarray(t,t+n),raw:e.subarray(0,s)}}else{let s=e[t]&127;t++,n=0;for(let a=0;a<s;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function jI(e){let t=cy(cy(fy(e).contents)[0].contents);return vs(t[t[0].raw[0]===160?6:5].raw)}function VI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Bl(t);return od(jI(r),"PUBLIC KEY")}var uy,ly,dy,mr,ay,py,hy,sd,my,Cs=L(()=>{Ne();yt();Ce();sy();Y();gt();uy=o(async(e,t,r)=>{if(!me(r))throw new TypeError(he(r,...se));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return od(vs(new Uint8Array(await V.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),ly=o(e=>uy("public","spki",e),"toSPKI"),dy=o(e=>uy("private","pkcs8",e),"toPKCS8"),mr=o((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((s,a)=>s===t[a])||mr(e,t,n+1)},"findOid"),ay=o(e=>{switch(!0){case mr(e,[42,134,72,206,61,3,1,7]):return"P-256";case mr(e,[43,129,4,0,34]):return"P-384";case mr(e,[43,129,4,0,35]):return"P-521";case mr(e,[43,101,110]):return"X25519";case mr(e,[43,101,111]):return"X448";case mr(e,[43,101,112]):return"Ed25519";case mr(e,[43,101,113]):return"Ed448";default:throw new B("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),py=o(async(e,t,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=ay(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:ay(u)},c=l?["verify"]:["sign"];break;default:throw new B('Invalid or unsupported "alg" (Algorithm) value')}return V.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),hy=o((e,t,r)=>py(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),sd=o((e,t,r)=>py(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(cy,"getElement");o(fy,"parseElement");o(jI,"spkiFromX509");o(VI,"getSPKI");my=o((e,t,r)=>{let n;try{n=VI(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return sd(n,t,r)},"fromX509")});function GI(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 B(`${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 B('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 B('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 B('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 B('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new B('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var BI,ad,yy=L(()=>{Ne();Y();Ce();o(GI,"subtleMapping");BI=o(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=GI(e),s=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return V.subtle.importKey("raw",de(e.k),...s);let a={...e};return delete a.alg,delete a.use,V.subtle.importKey("jwk",a,...s)},"parse"),ad=BI});async function gy(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return sd(e,t,r)}async function by(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return my(e,t,r)}async function _y(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return hy(e,t,r)}async function yr(e,t,r){var n;if(!ae(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?ad({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):de(e.k);case"RSA":if(e.oth!==void 0)throw new B('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return ad({...e,alg:t});default:throw new B('Unsupported "kty" (Key Type) Parameter value')}}var Mi=L(()=>{Ce();Cs();yy();Y();ze();o(gy,"importSPKI");o(by,"importX509");o(_y,"importPKCS8");o(yr,"importJWK")});var KI,JI,zI,gr,Ui=L(()=>{yt();gt();KI=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!Yl(t))throw new TypeError(Ql(e,t,...se,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${se.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),JI=o((e,t,r)=>{if(!Yl(t))throw new TypeError(Ql(e,t,...se));if(t.type==="secret")throw new TypeError(`${se.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${se.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${se.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${se.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${se.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),zI=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?KI(e,t):JI(e,t,r)},"checkKeyType"),gr=zI});async function WI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(he(r,"Uint8Array"));let s=parseInt(e.slice(1,4),10),a=await V.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await V.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await V.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=xe(i,n,u,_s(i.length<<3)),d=new Uint8Array((await V.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function QI(e,t,r,n,i){let s;r instanceof Uint8Array?s=await V.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Je(r,e,"encrypt"),s=r);let a=new Uint8Array(await V.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var YI,ki,cd=L(()=>{Se();zl();Wl();Ne();fr();yt();Y();gt();o(WI,"cbcEncrypt");o(QI,"gcmEncrypt");YI=o(async(e,t,r,n,i)=>{if(!me(r)&&!(r instanceof Uint8Array))throw new TypeError(he(r,...se,"Uint8Array"));switch(Is(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&En(r,parseInt(e.slice(-3),10)),WI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&En(r,parseInt(e.slice(1,4),10)),QI(e,t,r,n,i);default:throw new B("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),ki=YI});async function Ey(e,t,r,n){let i=e.slice(0,7);n||(n=Ts(i));let{ciphertext:s,tag:a}=await ki(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:ue(n),tag:ue(a)}}async function wy(e,t,r,n,i){let s=e.slice(0,7);return As(s,t,r,n,i,new Uint8Array(0))}var ud=L(()=>{cd();Zl();Ss();Ce();o(Ey,"wrap");o(wy,"unwrap")});async function ZI(e,t,r,n,i){switch(gr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ae(n.epk))throw new F('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Ns(t))throw new B("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await yr(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new F('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=de(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new F('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=de(n.apv)}let u=await Os(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?Di(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new F("JWE Encrypted Key missing");return Ci(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 F("JWE Encrypted Key missing");return oy(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new F('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new F('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new F('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return ry(e,t,r,n.p2c,de(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");return Ci(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new F('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new F('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=de(n.iv),a=de(n.tag);return wy(e,t,r,s,a)}default:throw new B('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var vy,Ty=L(()=>{Rs();td();nd();id();Ce();Y();Li();Mi();Ui();ze();ud();o(ZI,"decryptKeyManagement");vy=ZI});function XI(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...t.entries()]):s=t;for(let a of n.crit){if(!s.has(a))throw new B(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var Nt,Sn=L(()=>{Y();o(XI,"validateCrit");Nt=XI});var eP,Fi,ld=L(()=>{eP=o((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),Fi=eP});async function In(e,t,r){var n;if(!ae(e))throw new F("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new F("JOSE Header missing");if(typeof e.iv!="string")throw new F("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new F("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new F("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new F("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new F("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new F("JWE AAD incorrect type");if(e.header!==void 0&&!ae(e.header))throw new F("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!ae(e.unprotected))throw new F("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let v=de(e.protected);i=JSON.parse(ge.decode(v))}catch{throw new F("JWE Protected Header is invalid")}if(!Rt(i,e.header,e.unprotected))throw new F("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(Nt(F,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new B('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new F("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new F("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&Fi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&Fi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new lr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new lr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=de(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let h;try{h=await vy(a,t,d,s,r)}catch(v){if(v instanceof TypeError||v instanceof F||v instanceof B)throw v;h=Ot(c)}let f=de(e.iv),y=de(e.tag),_=ce.encode((n=e.protected)!==null&&n!==void 0?n:""),I;e.aad!==void 0?I=xe(_,ce.encode("."),ce.encode(e.aad)):I=_;let O=await As(c,h,de(e.ciphertext),f,y,I);s.zip==="DEF"&&(O=await(r?.inflateRaw||Jm)(O));let g={plaintext:O};return e.protected!==void 0&&(g.protectedHeader=i),e.aad!==void 0&&(g.additionalAuthenticatedData=de(e.aad)),e.unprotected!==void 0&&(g.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(g.unprotectedHeader=e.header),p?{...g,key:t}:g}var Ds=L(()=>{Ce();Zl();Xl();Y();wn();ze();Ty();Se();Li();Sn();ld();o(In,"flattenedDecrypt")});async function Ls(e,t,r){if(e instanceof Uint8Array&&(e=ge.decode(e)),typeof e!="string")throw new F("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new F("Invalid Compact JWE");let l=await In({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var dd=L(()=>{Ds();Y();Se();o(Ls,"compactDecrypt")});async function Sy(e,t,r){if(!ae(e))throw new F("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(ae))throw new F("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new F("JWE Recipients has no members");for(let n of e.recipients)try{return await In({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 Bt}var Iy=L(()=>{Ds();Y();ze();o(Sy,"generalDecrypt")});var tP,Py,Ay=L(()=>{Ne();yt();Ce();gt();tP=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:ue(e)};if(!me(e))throw new TypeError(he(e,...se,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await V.subtle.exportKey("jwk",e);return s},"keyToJWK"),Py=tP});async function Ry(e){return ly(e)}async function Oy(e){return dy(e)}async function Ms(e){return Py(e)}var pd=L(()=>{Cs();Cs();Ay();o(Ry,"exportSPKI");o(Oy,"exportPKCS8");o(Ms,"exportJWK")});async function rP(e,t,r,n,i={}){let s,a,c;switch(gr(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(!Ns(r))throw new B("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 Ym(r)).privateKey);let{x:p,y:h,crv:f,kty:y}=await Ms(d),_=await Os(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?Di(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:f,kty:y}},y==="EC"&&(a.epk.y=h),u&&(a.apu=ue(u)),l&&(a.apv=ue(l)),e==="ECDH-ES"){c=_;break}c=n||Ot(t);let I=e.slice(-6);s=await xi(I,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||Ot(t),s=await iy(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||Ot(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await ty(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||Ot(t),s=await xi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||Ot(t);let{iv:u}=i;({encryptedKey:s,...a}=await Ey(e,r,c,u));break}default:throw new B('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var Us,hd=L(()=>{Rs();td();nd();id();Ce();Li();Y();pd();Ui();ud();o(rP,"encryptKeyManagement");Us=rP});var fd,Kt,ks=L(()=>{Ce();cd();Xl();Ss();hd();Y();wn();Se();Sn();fd=Symbol(),Kt=class{static{o(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new F("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Rt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new F("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(Nt(F,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new B('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let y;({cek:c,encryptedKey:a,parameters:y}=await Us(i,s,t,this._cek,this._keyManagementParameters)),y&&(r&&fd in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=Ts(s));let u,l,d;this._protectedHeader?l=ce.encode(ue(JSON.stringify(this._protectedHeader))):l=ce.encode(""),this._aad?(d=ue(this._aad),u=xe(l,ce.encode("."),ce.encode(d))):u=l;let p,h;if(n.zip==="DEF"){let y=await(r?.deflateRaw||zm)(this._plaintext);({ciphertext:p,tag:h}=await ki(s,y,c,this._iv,u))}else({ciphertext:p,tag:h}=await ki(s,this._plaintext,c,this._iv,u));let f={ciphertext:ue(p),iv:ue(this._iv),tag:ue(h)};return a&&(f.encrypted_key=ue(a)),d&&(f.aad=d),this._protectedHeader&&(f.protected=ge.decode(l)),this._sharedUnprotectedHeader&&(f.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(f.header=this._unprotectedHeader),f}}});var md,Fs,Ny=L(()=>{ks();Y();Li();wn();hd();Ce();Sn();md=class{static{o(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},Fs=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new md(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 F("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Kt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!Rt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new F("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 F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new F('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(Nt(F,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=Ot(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let h={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Kt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:h}).encrypt(l.key,{...l.options,...t,[fd]:!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:f,parameters:y}=await Us(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:h});d.encrypted_key=ue(f),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function Hi(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new B(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var yd=L(()=>{Y();o(Hi,"subtleDsa")});function qi(e,t,r){if(me(t))return Bm(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(he(t,...se));return V.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(he(t,...se,"Uint8Array"))}var gd=L(()=>{Ne();fr();yt();gt();o(qi,"getCryptoKey")});var nP,xy,Cy=L(()=>{yd();Ne();xs();gd();nP=o(async(e,t,r,n)=>{let i=await qi(e,t,"verify");Kr(e,i);let s=Hi(e,i.algorithm);try{return await V.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),xy=nP});async function Pn(e,t,r){var n;if(!ae(e))throw new ne("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new ne('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new ne("JWS Protected Header incorrect type");if(e.payload===void 0)throw new ne("JWS Payload missing");if(typeof e.signature!="string")throw new ne("JWS Signature missing or incorrect type");if(e.header!==void 0&&!ae(e.header))throw new ne("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let I=de(e.protected);i=JSON.parse(ge.decode(I))}catch{throw new ne("JWS Protected Header is invalid")}if(!Rt(i,e.header))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=Nt(ne,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&Fi("algorithms",r.algorithms);if(l&&!l.has(u))throw new lr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new ne("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new ne("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),gr(u,t,"verify");let p=xe(ce.encode((n=e.protected)!==null&&n!==void 0?n:""),ce.encode("."),typeof e.payload=="string"?ce.encode(e.payload):e.payload),h=de(e.signature);if(!await xy(u,t,h,p))throw new Br;let y;c?y=de(e.payload):typeof e.payload=="string"?y=ce.encode(e.payload):y=e.payload;let _={payload:y};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var Hs=L(()=>{Ce();Cy();Y();Se();wn();ze();Ui();Sn();ld();o(Pn,"flattenedVerify")});async function qs(e,t,r){if(e instanceof Uint8Array&&(e=ge.decode(e)),typeof e!="string")throw new ne("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new ne("Invalid Compact JWS");let c=await Pn({payload:i,protected:n,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var bd=L(()=>{Hs();Y();Se();o(qs,"compactVerify")});async function Dy(e,t,r){if(!ae(e))throw new ne("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(ae))throw new ne("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await Pn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Br}var Ly=L(()=>{Hs();Y();ze();o(Dy,"generalVerify")});var An,_d=L(()=>{An=o(e=>Math.floor(e.getTime()/1e3),"default")});var iP,Rn,Ed=L(()=>{iP=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,Rn=o(e=>{let t=iP.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 My,oP,On,$s=L(()=>{Y();Se();_d();Ed();ze();My=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),oP=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),On=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||My(e.typ)!==My(n)))throw new Ie('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ge.decode(t))}catch{}if(!ae(i))throw new be("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let f of new Set(s.reverse()))if(!(f in i))throw new Ie(`missing required "${f}" claim`,f,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new Ie('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new Ie('unexpected "sub" claim value',"sub","check_failed");if(u&&!oP(i.aud,typeof u=="string"?[u]:u))throw new Ie('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=Rn(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,h=An(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new Ie('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new Ie('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>h+d)throw new Ie('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new Ie('"exp" claim must be a number',"exp","invalid");if(i.exp<=h-d)throw new _n('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let f=h-i.iat,y=typeof l=="number"?l:Rn(l);if(f-d>y)throw new _n('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(f<0-d)throw new Ie('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Uy(e,t,r){var n;let i=await qs(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new be("JWTs MUST NOT use unencoded payload");let a={payload:On(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var ky=L(()=>{bd();$s();Y();o(Uy,"jwtVerify")});async function Fy(e,t,r){let n=await Ls(e,t,r),i=On(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new Ie('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new Ie('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new Ie('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var Hy=L(()=>{dd();$s();Y();o(Fy,"jwtDecrypt")});var Nn,wd=L(()=>{ks();Nn=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Kt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var sP,qy,$y=L(()=>{yd();Ne();xs();gd();sP=o(async(e,t,r)=>{let n=await qi(e,t,"sign");Kr(e,n);let i=await V.subtle.sign(Hi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),qy=sP});var br,js=L(()=>{Ce();$y();wn();Y();Se();Ui();Sn();br=class{static{o(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new ne("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Rt(this._protectedHeader,this._unprotectedHeader))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=Nt(ne,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');gr(a,t,"sign");let c=this._payload;s&&(c=ce.encode(ue(c)));let u;this._protectedHeader?u=ce.encode(ue(JSON.stringify(this._protectedHeader))):u=ce.encode("");let l=xe(u,ce.encode("."),c),d=await qy(a,t,l),p={signature:ue(d),payload:""};return s&&(p.payload=ge.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ge.decode(u)),p}}});var xn,vd=L(()=>{js();xn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new br(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 Td,Vs,jy=L(()=>{js();Y();Td=class{static{o(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},Vs=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Td(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new ne("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 br(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=s;else if(t.payload!==s)throw new ne("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var _r,Gs=L(()=>{_d();ze();Ed();_r=class{static{o(this,"ProduceJWT")}constructor(t){if(!ae(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:An(new Date)+Rn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:An(new Date)+Rn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:An(new Date)}:this._payload={...this._payload,iat:t},this}}});var Bs,Vy=L(()=>{vd();Y();Se();Gs();Bs=class extends _r{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new xn(ce.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 be("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var Ks,Gy=L(()=>{wd();Se();Gs();Ks=class extends _r{static{o(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new Nn(ce.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 Sd(e,t){if(!ae(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":Er(e.crv,'"crv" (Curve) Parameter'),Er(e.x,'"x" (X Coordinate) Parameter'),Er(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":Er(e.crv,'"crv" (Subtype of Key Pair) Parameter'),Er(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":Er(e.e,'"e" (Exponent) Parameter'),Er(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":Er(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new B('"kty" (Key Type) Parameter missing or unsupported')}let n=ce.encode(JSON.stringify(r));return ue(await gs(t,n))}async function By(e,t){t??(t="sha256");let r=await Sd(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var Er,Ky=L(()=>{Vl();Ce();Y();Se();ze();Er=o((e,t)=>{if(typeof e!="string"||!e)throw new Ai(`${t} missing or invalid`)},"check");o(Sd,"calculateJwkThumbprint");o(By,"calculateJwkThumbprintUri")});async function Jy(e,t){let r={...e,...t?.header};if(!ae(r.jwk))throw new ne('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await yr({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new ne('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var zy=L(()=>{Mi();ze();Y();o(Jy,"EmbeddedJWK")});function aP(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 B('Unsupported "alg" value for a JSON Web Key Set')}}function Id(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(cP)}function cP(e){return ae(e)}function uP(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Wy(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await yr({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new dr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Qy(e){let t=new $i(e);return async function(r,n){return t.getKey(r,n)}}var $i,Pd=L(()=>{Mi();Y();ze();o(aP,"getKtyFromAlg");o(Id,"isJWKSLike");o(cP,"isJWKLike");o(uP,"clone");$i=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Id(t))throw new dr("JSON Web Key Set malformed");this._jwks=uP(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=aP(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new Gr;if(u!==1){let l=new Ri,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Wy(d,p,n)}catch{continue}},l}return Wy(this._cached,c,n)}};o(Wy,"importWithAlgCache");o(Qy,"createLocalJWKSet")});var lP,Yy,Zy=L(()=>{Y();lP=o(async(e,t,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new Oi:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new we("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new we("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),Yy=lP});function dP(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Xy(e,t){let r=new Ad(e,t);return async function(n,i){return r.getKey(n,i)}}var Ad,eg=L(()=>{Zy();Y();Pd();o(dP,"isCloudflareWorkers");Ad=class extends $i{static{o(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof Gr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&dP()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=Yy(this._url,this._timeoutDuration,this._options).then(t=>{if(!Id(t))throw new dr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};o(Xy,"createRemoteJWKSet")});var Js,tg=L(()=>{Ce();Se();Y();$s();Gs();Js=class extends _r{static{o(this,"UnsecuredJWT")}encode(){let t=ue(JSON.stringify({alg:"none"})),r=ue(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new be("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new be("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ge.decode(de(n))),c.alg!=="none")throw new Error}catch{throw new be("Invalid Unsecured JWT")}return{payload:On(c,de(i),r),header:c}}}});var Rd={};So(Rd,{decode:()=>ji,encode:()=>pP});var pP,ji,zs=L(()=>{Ce();pP=ue,ji=de});function rg(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(ge.decode(ji(t)));if(!ae(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var ng=L(()=>{zs();Se();ze();o(rg,"decodeProtectedHeader")});function ig(e){if(typeof e!="string")throw new be("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new be("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new be("Invalid JWT");if(!t)throw new be("JWTs must contain a payload");let n;try{n=ji(t)}catch{throw new be("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ge.decode(n))}catch{throw new be("Failed to parse the decoded payload as JSON")}if(!ae(i))throw new be("Invalid JWT Claims Set");return i}var og=L(()=>{zs();Se();ze();Y();o(ig,"decodeJwt")});async function sg(e,t){var r;let n,i,s;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),pr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new B('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return V.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function Od(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new B("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function ag(e,t){var r,n,i;let s,a;switch(e){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Od(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Od(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Od(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new B("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new B("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new B('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return V.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Nd=L(()=>{Ne();Y();Ni();o(sg,"generateSecret");o(Od,"getModulusLengthOption");o(ag,"generateKeyPair")});async function cg(e,t){return ag(e,t)}var ug=L(()=>{Nd();o(cg,"generateKeyPair")});async function lg(e,t){return sg(e,t)}var dg=L(()=>{Nd();o(lg,"generateSecret")});var Ws={};So(Ws,{CompactEncrypt:()=>Nn,CompactSign:()=>xn,EmbeddedJWK:()=>Jy,EncryptJWT:()=>Ks,FlattenedEncrypt:()=>Kt,FlattenedSign:()=>br,GeneralEncrypt:()=>Fs,GeneralSign:()=>Vs,SignJWT:()=>Bs,UnsecuredJWT:()=>Js,base64url:()=>Rd,calculateJwkThumbprint:()=>Sd,calculateJwkThumbprintUri:()=>By,compactDecrypt:()=>Ls,compactVerify:()=>qs,createLocalJWKSet:()=>Qy,createRemoteJWKSet:()=>Xy,decodeJwt:()=>ig,decodeProtectedHeader:()=>rg,errors:()=>Kl,exportJWK:()=>Ms,exportPKCS8:()=>Oy,exportSPKI:()=>Ry,flattenedDecrypt:()=>In,flattenedVerify:()=>Pn,generalDecrypt:()=>Sy,generalVerify:()=>Dy,generateKeyPair:()=>cg,generateSecret:()=>lg,importJWK:()=>yr,importPKCS8:()=>_y,importSPKI:()=>gy,importX509:()=>by,jwtDecrypt:()=>Fy,jwtVerify:()=>Uy});var Qs=L(()=>{dd();Ds();Iy();Ny();bd();Hs();Ly();ky();Hy();wd();ks();vd();js();jy();Vy();Gy();Ky();zy();Pd();eg();tg();pd();Mi();ng();og();Y();ug();dg();zs()});var Cn=b(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.fetchRetry=void 0;var hP=k();async function fP(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:s.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new hP.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(fP,"fetchRetry");Ys.fetchRetry=fP});var Dn=b(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.GcpServiceAccount=at.fetchToken=at.exchangeGgpJwtForIdToken=at.exchangeFirebaseJwtForIdToken=at.getTokenFromGcpServiceAccount=void 0;var pg=(Qs(),Io(Ws)),mP=k(),yP=Cn();async function gP({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new pg.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(gP,"getTokenFromGcpServiceAccount");at.getTokenFromGcpServiceAccount=gP;async function bP(e,t,r){return Cd(e,{token:t,returnSecureToken:!0},r)}o(bP,"exchangeFirebaseJwtForIdToken");at.exchangeFirebaseJwtForIdToken=bP;async function _P(e,t,r){return Cd(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(_P,"exchangeGgpJwtForIdToken");at.exchangeGgpJwtForIdToken=_P;async function Cd(e,t,r){let n=await(0,yP.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new mP.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Cd,"fetchToken");at.fetchToken=Cd;var xd=class e{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,pg.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}};at.GcpServiceAccount=xd});var Xs=b(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.GoogleLogTransport=Jt.ZuploToGCPMap=Jt.GoogleCloudLoggingPlugin=void 0;var EP=k(),wP=Oe(),Dd=oe(),Ld=Dn(),vP=Gt(),hg=At(),Md=class extends vP.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Zs(this.options)}};Jt.GoogleCloudLoggingPlugin=Md;var TP="https://logging.googleapis.com/v2/entries:write?alt=json";Jt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Zs=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Dd.Environment.instance.loggingEnvironmentType,this.#o=Dd.Environment.instance.loggingEnvironmentStage,this.#n=Dd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await Ld.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new EP.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,hg.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Jt.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(s.labels.rayId=t.rayId);let a=(0,hg.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await Ld.GcpServiceAccount.init(this.#e));let r=await(0,Ld.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(TP,{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 wP.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Jt.GoogleLogTransport=Zs});var Ud=b(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.gcpLogFormat=Ln.GCP_LOG_FORMAT=void 0;var fg=At(),SP=Xs();Ln.GCP_LOG_FORMAT="gcp";function IP(e){let t={allMessages:(0,fg.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,fg.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:SP.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}o(IP,"gcpLogFormat");Ln.gcpLogFormat=IP});var yg=b(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.ConsoleTransport=void 0;var mg=Ud(),kd=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===mg.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,mg.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}])}};ea.ConsoleTransport=kd});var Vd=b(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.DataDogTransport=Mn.DataDogLoggingPlugin=void 0;var PP=Oe(),Fd=oe(),AP=Gt(),gg=At(),jd=class extends AP.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ta(this.options)}};Mn.DataDogLoggingPlugin=jd;var Hd="__ddtags",qd="__ddattr",$d=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),RP=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push($d(n)):r.push(`${$d(n)}:${$d(i.toString())}`)}),r.join(",")},"formatTags"),ta=class{static{o(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Fd.Environment.instance.loggingEnvironmentType,this.#i=Fd.Environment.instance.loggingEnvironmentStage,this.#r=Fd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[Hd];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(f=>f[Hd]!==void 0);a>-1&&(Object.assign(n,s[a][Hd]),s.splice(a,1));let c={},u=r.custom[qd];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(f=>f[qd]!==void 0);l>-1&&(Object.assign(c,s[l][qd]),s.splice(l,1));let d=(0,gg.makeErrorsSerializable)(s),h={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,gg.extractBestMessage)(d),service:t.loggingId,ddtags:RP(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(h,c),this.batcher.enqueue(h),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new PP.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};Mn.DataDogTransport=ta});var _g=b(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.ProcessTransport=void 0;var bg=Ud(),Gd=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===bg.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,bg.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}])}};ra.ProcessTransport=Gd});var wg=b(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.RemoteLogTransport=void 0;var OP=Oe(),Eg=oe(),NP=At(),xP=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,NP.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Eg.Environment.instance.systemUserAgent,"zp-dn":Eg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),na,Bd=class{static{o(this,"RemoteLogTransport")}constructor(t){na||(na=new OP.BatchDispatch("remote-log-transport",1,xP(t)))}log(t,r){na.enqueue(t),r.waitUntil(na.waitUntilFlushed())}};ia.RemoteLogTransport=Bd});var vg=b(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.unifiedFormatter=Jr.SeverityNumberOpenTelemetryMap=void 0;Jr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var CP=o((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Jr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Jr.unifiedFormatter=CP});var Sg=b(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.UnifiedLogTransport=void 0;var DP=Oe(),Tg=oe(),LP=vg(),MP=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,LP.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Tg.Environment.instance.systemUserAgent,"zp-dn":Tg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),oa,Kd=class{static{o(this,"UnifiedLogTransport")}constructor(t){oa||(oa=new DP.BatchDispatch("unified-log-transport",1,MP(t)))}async log(t,r){oa.enqueue(t),r.waitUntil(oa.waitUntilFlushed())}};sa.UnifiedLogTransport=Kd});var xg=b(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.LogInitializer=void 0;var UP=Ur(),kP=It(),Ig=Cl(),Pg=oe(),Ag=Om(),FP=Gt(),HP=Nm(),Rg=xm(),Og=yg(),qP=Vd(),$P=Xs(),Ng=_g(),jP=wg(),VP=Sg(),Jd=(0,UP.debug)("zuplo:logging"),zd=class e{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(Pg.Environment.instance,t),n=await e.setupUserCoreLogger(Pg.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;Jd("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(Ig.SYSTEM_LOGGER);return s?i.push(new Ng.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&i.push(new Og.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new VP.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 Ag.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){Jd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=t,a=r.getService(Ig.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new Ng.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new Og.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new jP.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 $P.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 qP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return kP.plugins.forEach(c=>{c instanceof FP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Ag.CoreLogger(t.userLogLevel,"user",t.loggingId,s.BUILD_ID,n)}createRequestLoggers(t,r,n,i,s){Jd("Gateway.createRequestLoggers");let a=new HP.LoggingContext(n,i,s),c=new Rg.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Rg.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};aa.LogInitializer=zd});var Qd=b(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.UserRouteConfiguration=void 0;var Wd=class{static{o(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};ca.UserRouteConfiguration=Wd});var Zd=b(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.Router=xt.RouterError=xt.LookupResult=xt.RouterEntry=void 0;var Cg=k(),GP=ft(),BP=Qd(),ua=class{static{o(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};xt.RouterEntry=ua;var Vi=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};xt.LookupResult=Vi;var la=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};xt.RouterError=la;var Yd=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof BP.UserRouteConfiguration||t instanceof GP.SystemRouteConfiguration))throw new Cg.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let s=new URLPattern({pathname:i}),a=new ua(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new la(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new Cg.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new Vi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new Vi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};xt.Router=Yd});var kr=b(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.Gateway=void 0;var KP=Ur(),Dg=im(),Lg=pm(),JP=hm(),Mg=fm(),Ug=bm(),zt=un(),da=Fr(),kg=Rm(),Dt=k(),Gi=It(),zP=xg(),WP=jt(),QP=pe(),YP=Sl(),ZP=ir(),XP=mn(),eA=Be(),tA=Zd(),Xd=ft(),Fg=Qd(),rA=Ze(),nA=is(),ep=oe(),Hg=Vr(),qg=il(),Ct=(0,KP.debug)("zuplo:runtime"),iA=o(e=>{let t=e.findIndex(r=>r.name===Xd.systemNoVersion.name);return t>-1?[...e.splice(t),Xd.systemNoVersion]:[...e,Xd.systemNoVersion]},"setupSystemNoVersion"),tp=class e{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,Ct("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,s){if(Ct("Gateway.initialize"),!e.#e){await(0,Gi.initializeRuntime)(s);let a=await zP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,nA.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){Ct("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new Dt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[XP.policyProcessor,YP.corsProcessor,ZP.metricsProcessor];#i;setupRoutes=()=>{Ct("Gateway.setupRoutes");let t=this.routeData,r=iA(t.versions),n=new tA.Router(r);if(t.routes.length===0)return(0,Dg.registerBuildRoute)(n,this),(0,Ug.registerPingRoute)(n,this),(0,Lg.registerCorsRoute)(n,this),(0,JP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,kg.registerDevPortalLegacyRedirectRoute)(n,this),(0,kg.registerDevPortalV3Route)(n,this)),(0,Dg.registerBuildRoute)(n,this),(0,Ug.registerPingRoute)(n,this),(0,Lg.registerCorsRoute)(n,this);for(let s of Gi.plugins)s instanceof Gi.SystemRuntimePlugin&&s.registerRoutes(n,this);return t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Dt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new WP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new Fg.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Mg.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 Dt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return Ct("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){Ct("Gateway.internalErrorResponse");let i={};if(ep.Environment.instance.isDeno){if(n instanceof Dt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,Hg.serializeError)(n.cause);"stack"in s&&(s.stack=(0,Hg.cleanStack)(s.stack)),i={cause:s}}}return QP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return zt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),ep.Environment.instance.isDeno&&zt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(zt.REQUEST_ID_HEADER)??t.headers.get(zt.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(zt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let I=new Headers(t.headers);I.set(zt.REQUEST_ID_HEADER,n),t=new Request(t,{headers:I})}if(["GET","HEAD"].includes(t.method)&&t.body){let I=new Headers(t.headers);I.set(zt.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:I,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new Dt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new da.HeaderIncomingRequestProperties(t.headers),h=this.#s(t),f=new eA.ZuploRequest(h,{params:d.params}),y=new da.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,event:r,custom:s,incomingRequestProperties:p}),_=da.ZuploContextExtensions.initialize(y,f);if(d.routeConfiguration===Mg.notFoundRouteConfiguration&&Gi.runtimeExtensions.value?.notFoundHandler!==void 0){let I=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=I.map(O=>O.routeConfiguration).filter(O=>O instanceof Fg.UserRouteConfiguration)}try{if(rA.SystemLogMap.addLogger(y,c),ep.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,qg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let g=await(0,Gi.invokeOnRequestExtensions)(f,y);if(g instanceof Response)return g;{let v=da.ZuploContextExtensions.getContextExtensions(y);f=g,v.latestRequest=f}}(0,qg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let I=d.executableHandler;oA(I,d,t),Ct("Gateway.handleRequest - call user handler");let O=await I(f,y);if(Ct("Gateway.handleRequest - user handler"),!(O instanceof Response))throw new Dt.RuntimeError(`Invalid Response type from the request handler: ${typeof O}`);if(O.bodyUsed)throw new Dt.RuntimeError("The response object has already been used. Return a new response instead.");if(O.headers.get(zt.REQUEST_ID_HEADER)===null&&!O.webSocket){let g=new Headers(O.headers);return g.set(zt.REQUEST_ID_HEADER,n),new Response(O.body,{status:O.status,statusText:O.statusText,headers:g,cf:O.cf})}else return O}catch(I){return Ct("Gateway - error executing handler",I),I instanceof Dt.RuntimeError?(a.error(I),c.warn(I)):c.error(I),await this.#o(f,y,I)}}};pa.Gateway=tp;function oA(e,t,r){if(Ct("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new Dt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Dt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(oA,"checkHandler")});var $g=b(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.invokeInboundPolicy=void 0;var sA=k(),aA=kr(),cA=mn(),uA=o(async(e,t,r)=>{let n=aA.Gateway.instance.routeData.policies,i=(0,cA.getInboundPolicyInstances)([e],n);if(i.length===0)throw new sA.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);return i[0].handler(t,r)},"invokeInboundPolicy");ha.invokeInboundPolicy=uA});var Fr=b(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.SystemZuploContext=ct.ZuploContextExtensions=ct.ResponseSentEvent=ct.ResponseSendingEvent=ct.HeaderIncomingRequestProperties=void 0;var Pe=un(),lA=k(),dA=$g(),rp=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(Pe.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(Pe.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(Pe.CF_IP_CITY_HEADER)??this.#e.get(Pe.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(Pe.CF_IP_CONTINENT_HEADER)??this.#e.get(Pe.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(Pe.CF_IP_COUNTRY_HEADER)??this.#e.get(Pe.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(Pe.CF_IP_LATITUDE_HEADER)??this.#e.get(Pe.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(Pe.CF_IP_LONGITUDE_HEADER)??this.#e.get(Pe.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(Pe.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(Pe.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(Pe.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(Pe.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(Pe.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(Pe.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}}};ct.HeaderIncomingRequestProperties=rp;var np=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};ct.ResponseSendingEvent=np;var ip=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};ct.ResponseSentEvent=ip;var Bi=class e{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new lA.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let s of this.#r)i=await s(t,r,n);return i}};ct.ZuploContextExtensions=Bi;var op=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,event:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,dA.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Bi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Bi.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};ct.SystemZuploContext=op});var ap=b(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.ContextData=void 0;var sp=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};fa.ContextData=sp});var Ki=b(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.environment=wr.isZuploReadableEnvVariableName=wr.isRestrictedEnvVariableName=void 0;var pA=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function jg(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!pA.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(jg,"isRestrictedEnvVariableName");wr.isRestrictedEnvVariableName=jg;function Vg(e){return!!e.startsWith("ZUPLO_")}o(Vg,"isZuploReadableEnvVariableName");wr.isZuploReadableEnvVariableName=Vg;var hA=new Proxy({},{get(e,t){if(jg(String(t))&&!Vg(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});wr.environment=hA});var cp=b(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.externalServiceHandler=Un.externalServiceTunnelConfig=void 0;var fA=Ur(),zr=k(),mA=up(),Ji=oe(),bt=(0,fA.debug)("zuplo:runtime:external-service");function Bg(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Ji.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(Bg,"getServiceAuth");async function yA(e){let t=Bg();if(!t)throw bt("There is no external service auth configured for this zup."),new zr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw bt("Cannot call external service with Request object"),new zr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let s;if(t.customServiceMapping&&t.customServiceMapping[n])s=`https://${t.customServiceMapping[n]}`;else if(Ji.Environment.instance.useSha256ServiceRouting){bt("Using sha256 service routing");let a=Ji.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await Kg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw bt("Cannot use sha256 service routing, missing build variables"),new zr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(yA,"externalServiceTunnelConfig");Un.externalServiceTunnelConfig=yA;async function gA(e,t){let r=Bg();if(r)if(bt(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,s=t??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(Ji.Environment.instance.useSha256ServiceRouting){bt("Using sha256 service routing");let d=Ji.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Kg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw bt("Cannot use sha256 service routing, missing build variables"),new zr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);bt(`Calling external service: ${u.toString()}`);let l=await(0,mA.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new zr.RuntimeError("Could not connect to secure tunnel.");return l}else throw bt("Cannot call external service with Request object"),new zr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw bt("There is no external service auth configured for this zup."),new zr.RuntimeError("There are no external services configured for this zup.")}o(gA,"externalServiceHandler");Un.externalServiceHandler=gA;async function Kg(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=bA(n);bt(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await Gg(`${s}-${i}`),l=await Gg(`${s}-${a}-${c}`);return`${u}.${l}`}o(Kg,"hashServiceName");async function Gg(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(Gg,"hashSegment");function bA(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(bA,"sanitizeEnvironmentType")});var up=b(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.originalFetch=void 0;var _A=cp(),Jg=new Map;Jg.set("service:",_A.externalServiceHandler);kn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=EA(t);if(typeof e=="string"){let n=new URL(e),i=Jg.get(n.protocol);return i?i(e,r):(0,kn.originalFetch)(e,r)}else return(0,kn.originalFetch)(e,r)};var EA=o(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var Qg=b(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.Handler=Fn.purgeGatewayCache=void 0;var wA=k(),Wg=kr(),zg=oe(),vA=o(()=>{Wg.Gateway.purgeGatewayCache()},"purgeGatewayCache");Fn.purgeGatewayCache=vA;var lp=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{zg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Wg.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof wA.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:zg.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)}};Fn.Handler=lp});var eb=b(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.pathToRegexp=Me.tokensToRegexp=Me.regexpToFunction=Me.match=Me.tokensToFunction=Me.compile=Me.parse=void 0;function TA(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",s=r+1;s<e.length;){var a=e.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(e[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;){if(e[s]==="\\"){u+=e[s++]+e[s++];continue}if(e[s]===")"){if(c--,c===0){s++;break}}else if(e[s]==="("&&(c++,e[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=e[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}o(TA,"lexer");function dp(e,t){t===void 0&&(t={});for(var r=TA(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(Hn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(w){if(u<r.length&&r[u].type===w)return r[u++].value},"tryConsume"),p=o(function(w){var S=d(w);if(S!==void 0)return S;var x=r[u],E=x.type,P=x.index;throw new TypeError("Unexpected ".concat(E," at ").concat(P,", expected ").concat(w))},"mustConsume"),h=o(function(){for(var w="",S;S=d("CHAR")||d("ESCAPED_CHAR");)w+=S;return w},"consumeText");u<r.length;){var f=d("CHAR"),y=d("NAME"),_=d("PATTERN");if(y||_){var I=f||"";i.indexOf(I)===-1&&(l+=I,I=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:I,suffix:"",pattern:_||s,modifier:d("MODIFIER")||""});continue}var O=f||d("ESCAPED_CHAR");if(O){l+=O;continue}l&&(a.push(l),l="");var g=d("OPEN");if(g){var I=h(),v=d("NAME")||"",R=d("PATTERN")||"",K=h();p("CLOSE"),a.push({name:v||(R?c++:""),pattern:v&&!R?s:R,prefix:I,suffix:K,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(dp,"parse");Me.parse=dp;function SA(e,t){return Yg(dp(e,t),t)}o(SA,"compile");Me.compile=SA;function Yg(e,t){t===void 0&&(t={});var r=pp(t),n=t.encode,i=n===void 0?function(u){return u}:n,s=t.validate,a=s===void 0?!0:s,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var h=u?u[p.name]:void 0,f=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(h)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(h.length===0){if(f)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<h.length;_++){var I=i(h[_],p);if(a&&!c[d].test(I))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(I,'"'));l+=p.prefix+I+p.suffix}continue}if(typeof h=="string"||typeof h=="number"){var I=i(String(h),p);if(a&&!c[d].test(I))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(I,'"'));l+=p.prefix+I+p.suffix;continue}if(!f){var O=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(O))}}return l}}o(Yg,"tokensToFunction");Me.tokensToFunction=Yg;function IA(e,t){var r=[],n=hp(e,r,t);return Zg(n,r,t)}o(IA,"match");Me.match=IA;function Zg(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=e.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(h){if(a[h]===void 0)return"continue";var f=t[h-1];f.modifier==="*"||f.modifier==="+"?l[f.name]=a[h].split(f.prefix+f.suffix).map(function(y){return i(y,f)}):l[f.name]=i(a[h],f)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Zg,"regexpToFunction");Me.regexpToFunction=Zg;function Hn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(Hn,"escapeString");function pp(e){return e&&e.sensitive?"":"i"}o(pp,"flags");function PA(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}o(PA,"regexpToRegexp");function AA(e,t,r){var n=e.map(function(i){return hp(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),pp(r))}o(AA,"arrayToRegexp");function RA(e,t,r){return Xg(dp(e,r),t,r)}o(RA,"stringToRegexp");function Xg(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(P){return P}:l,p=r.delimiter,h=p===void 0?"/#?":p,f=r.endsWith,y=f===void 0?"":f,_="[".concat(Hn(y),"]|$"),I="[".concat(Hn(h),"]"),O=a?"^":"",g=0,v=e;g<v.length;g++){var R=v[g];if(typeof R=="string")O+=Hn(d(R));else{var K=Hn(d(R.prefix)),w=Hn(d(R.suffix));if(R.pattern)if(t&&t.push(R),K||w)if(R.modifier==="+"||R.modifier==="*"){var S=R.modifier==="*"?"?":"";O+="(?:".concat(K,"((?:").concat(R.pattern,")(?:").concat(w).concat(K,"(?:").concat(R.pattern,"))*)").concat(w,")").concat(S)}else O+="(?:".concat(K,"(").concat(R.pattern,")").concat(w,")").concat(R.modifier);else R.modifier==="+"||R.modifier==="*"?O+="((?:".concat(R.pattern,")").concat(R.modifier,")"):O+="(".concat(R.pattern,")").concat(R.modifier);else O+="(?:".concat(K).concat(w,")").concat(R.modifier)}}if(u)i||(O+="".concat(I,"?")),O+=r.endsWith?"(?=".concat(_,")"):"$";else{var x=e[e.length-1],E=typeof x=="string"?I.indexOf(x[x.length-1])>-1:x===void 0;i||(O+="(?:".concat(I,"(?=").concat(_,"))?")),E||(O+="(?=".concat(I,"|").concat(_,")"))}return new RegExp(O,pp(r))}o(Xg,"tokensToRegexp");Me.tokensToRegexp=Xg;function hp(e,t,r){return e instanceof RegExp?PA(e,t):Array.isArray(e)?AA(e,t,r):RA(e,t,r)}o(hp,"pathToRegexp");Me.pathToRegexp=hp});var gp=b(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.AwsV4Signer=qn.AwsClient=void 0;var OA=Ur(),ib=k(),NA=(0,OA.debug)("zuplo:runtime"),mp=new TextEncoder,tb={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"},xA=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],yp=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new ma(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){NA("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(t,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new ib.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};qn.AwsClient=yp;var ma=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:h,appendSessionToken:f,allHeaders:y,singleEncode:_}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let I,O;(!u||!l)&&([I,O]=CA(this.url,this.headers)),this.service=u||I||"",this.region=l||O||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=h,this.appendSessionToken=f||this.service==="iotdevicegateway",this.headers.delete("Host");let g=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"),g.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&g.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(R=>y||!xA.includes(R)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(R=>R+":"+(R==="host"?this.url.host:(this.headers.get(R)||"").replace(/\s+/g," "))).join(`
|
|
60
|
+
`),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!g.has("X-Amz-Expires")&&g.set("X-Amz-Expires","86400"),g.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),g.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),g.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=nb(this.encodedPath);let v=new Set;this.encodedSearch=[...this.url.searchParams].filter(([R])=>{if(!R)return!1;if(this.service==="s3"){if(v.has(R))return!1;v.add(R)}return!0}).map(R=>R.map(K=>nb(encodeURIComponent(K)))).sort(([R,K],[w,S])=>R<w?-1:R>w?1:K<S?-1:K>S?1:0).map(R=>R.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 zi("AWS4"+this.secretAccessKey,t),s=await zi(i,this.region),a=await zi(s,this.service);n=await zi(a,"aws4_request"),this.cache.set(r,n)}return fp(await zi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,fp(await rb(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 Kg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=np(await Gg(this.body||""))}return t}};Cn.AwsV4Signer=oa;async function Hi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?ip.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,ip.encode(t))}o(Hi,"hmac");async function Gg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?ip.encode(e):e)}o(Gg,"hash");function np(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(np,"buf2hex");function Bg(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Bg,"encodeRfc3986");function bA(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in Vg?[Vg[s],a]:[s,a]}o(bA,"guessServiceRegion")});var Jg=y(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.convertStringToUtf8Array=At.convertUtf8ArrayToString=At.base64Encode=At.base64Decode=void 0;function _A(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}o(_A,"b64ToUint6");function EA(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=_A(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(EA,"base64Decode");At.base64Decode=EA;function sa(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(sa,"uint6ToB64");function wA(e){let t=2,r="",n=e.length,i=0;for(let s=0;s<n;s++)t=s%3,i|=e[s]<<(16>>>t&24),(t===2||e.length-s===1)&&(r+=String.fromCodePoint(sa(i>>>18&63),sa(i>>>12&63),sa(i>>>6&63),sa(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(wA,"base64Encode");At.base64Encode=wA;function vA(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}o(vA,"convertUtf8ArrayToString");At.convertUtf8ArrayToString=vA;function SA(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)t=e.codePointAt(a),t<128?i[s++]=t:t<2048?(i[s++]=192+(t>>>6),i[s++]=128+(t&63)):t<65536?(i[s++]=224+(t>>>12),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63)):t<2097152?(i[s++]=240+(t>>>18),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):t<67108864?(i[s++]=248+(t>>>24),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):(i[s++]=252+(t>>>30),i[s++]=128+(t>>>24&63),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++),a++;return i}o(SA,"convertStringToUtf8Array");At.convertStringToUtf8Array=SA});var zg=y(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.toCLFDate=void 0;function xn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(xn,"numberToString");function TA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=xn(Math.floor(r/60)),s=xn(r%60);return`${n}${i}${s}`}o(TA,"getCLFOffset");function IA(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=xn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=xn(e.getHours()),a=xn(e.getMinutes()),c=xn(e.getSeconds()),u=TA(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(IA,"toCLFDate");aa.toCLFDate=IA});var tb=y(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.getResponse=mr.awsLambdaHandler=mr.AwsLambdaHandlerExtensions=void 0;var PA=Rr(),Wg=jg(),Fi=O(),AA=Mt(),RA=sp(),Yg=Jg(),Zg=zg(),Qg=(0,PA.debug)("zuplo:runtime"),OA="X-Amzn-Trace-Id",NA="x-amzn-errortype",Xg=[],CA=o(async(e,t,r)=>{let n=r;for await(let i of Xg)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Je=class extends Fi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(OA)??void 0,this.errorType=r.get(NA)??void 0}};mr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Xg.push(e)}};async function xA(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Fi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Fi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Fi.ConfigurationError("region is not set in the handler options");if(!s)throw new Fi.ConfigurationError("functionName is not set in the handler options");let l=new RA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Qg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await UA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=DA(e,t):g=await LA(e,t,{useAwsResourcePathStyle:c}),Qg("Calling onSendingAwsLambdaEvent hook");let _=await CA(e,t,g);_.body=p,_.isBase64Encoded=m;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return eb(S)}catch(T){if(T instanceof Je){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&T.traceId?{AMZN_TRACE_ID_HEADER:T.traceId}:void 0;return AA.HttpProblems.internalServerError(e,t,void 0,k)}throw T}}o(xA,"awsLambdaHandler");mr.awsLambdaHandler=xA;async function eb(e){let t;try{t=await e.json()}catch{throw new Je("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Je(t.message,e.headers):new Je(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Je(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Je(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Je(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Je(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Je("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Je("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Yg.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Je(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(eb,"getResponse");mr.getResponse=eb;async function LA(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=e.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,Zg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:kA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(LA,"buildEventVersion1");function DA(e,t){let r={};e.headers.forEach((s,a)=>{r[a]=s});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,Zg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(DA,"buildEventVersion2");async function UA(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&MA(t,i)){let s=await e.arrayBuffer();r=(0,Yg.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(UA,"getBodyResult");function MA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(MA,"matchesContentType");function kA(e,t=!1){if(!t)return e;let r=(0,Wg.parse)(e),n=(0,Wg.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(kA,"getResourcePath")});var Dn=y(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.getHandlerUserLogFunction=Ln.logBadGatewayResponses=void 0;var HA=Ke(),FA=W(),qA=[502,503,504];async function $A(e,t){if(qA.includes(e.status)){let r=HA.SystemLogMap.getLogger(t),i=await e.clone().text(),s={};for(let[a,c]of e.headers)s[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:s})}}o($A,"logBadGatewayResponses");Ln.logBadGatewayResponses=$A;var ap;function jA(e){if(ap===void 0){let r=FA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),ap=r}return e.log[ap]}o(jA,"getHandlerUserLogFunction");Ln.getHandlerUserLogFunction=jA});var nb=y(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.openApiSpecHandler=void 0;var rb=O(),VA=ie(),cp=W(),GA=Dn();async function BA(e,t){let r=cp.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=cp.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new rb.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=KA(s);if(!a.isValid)throw new rb.ConfigurationError(a.error);let c;cp.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return VA.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,GA.logBadGatewayResponses)(l,t),l}o(BA,"openApiSpecHandler");ca.openApiSpecHandler=BA;var KA=o(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var ib=y(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.redirectHandler=void 0;var JA=O();async function zA(e,t){let r=t.route.handler.options;if(!r.location)throw new JA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(zA,"redirectHandler");ua.redirectHandler=zA});var sb=y(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.urlForwardHandler=void 0;var WA=O(),ob=Dn();function QA(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}o(QA,"join");async function YA(e,t){let r=(0,ob.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new WA.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,s),u=QA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,ob.logBadGatewayResponses)(p,t),p}o(YA,"urlForwardHandler");la.urlForwardHandler=YA});var cb=y(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.urlRewriteHandler=void 0;var ZA=O(),ab=Dn(),XA=o((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function eR(e,t){let r=(0,ab.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new ZA.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?XA(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,ab.logBadGatewayResponses)(d,t),d}o(eR,"urlRewriteHandler");da.urlRewriteHandler=eR});var lb=y(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.webSocketHandler=void 0;var ub=O(),tR=Yd(),rR=Mt(),nR=W(),iR=Dn();async function oR(e,t){let r=nR.Environment.instance,n=t.route.handler.options,i=(0,iR.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new ub.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return rR.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new ub.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,tR.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let S in h.tunnelHeaders)p.set(S,h.tunnelHeaders[S])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(oR,"webSocketHandler");pa.webSocketHandler=oR});var db=y(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.webSocketPolicyProcessor=Un.getWebSocketPolicyFunctions=void 0;var sR=O(),aR=o((e,t)=>e.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new sR.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Un.getWebSocketPolicyFunctions=aR;var cR=o(async(e,t,r,n,i,s)=>{let a=e.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");Un.webSocketPolicyProcessor=cR});var hb=y(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.webSocketPipelineHandler=void 0;var up=O(),uR=Mt(),lR=W(),dR=Dn(),lp=db();function pb(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),t.send(JSON.stringify(s))}),e.addEventListener("message",s=>{try{let c=o(async u=>{let l=await(0,lp.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(pb,"wireUpListeners");async function pR(e,t){let r=lR.Environment.instance,n=t.route.handler.options,i=(0,dR.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new up.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return uR.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new up.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new up.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let T=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(k)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),m.accept();let _=n.policies&&n.policies.inbound?(0,lp.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,lp.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return pb(m,g,e,t,_),pb(g,m,e,t,S),new Response(null,{status:101,webSocket:p})}o(pR,"webSocketPipelineHandler");ha.webSocketPipelineHandler=pR});var fb=y(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.DynaTraceLoggingPlugin=void 0;var hR=ve(),dp=W(),fR=Ur(),mR=kt(),yR=Et(),pp=class extends mR.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new hp(this.options)}};fa.DynaTraceLoggingPlugin=pp;var hp=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=dp.Environment.instance.loggingEnvironmentType,this.#i=dp.Environment.instance.loggingEnvironmentStage,this.#r=dp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,yR.stringifyNonString)((0,fR.serializeError)(n)),severity:t.level,"log.source":t.logSource,requestId:t.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":t.loggingId,"custom.rayId":t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async t=>{t.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new hR.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var mb=y(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.LokiLoggingPlugin=void 0;var gR=ve(),fp=W(),bR=Ur(),_R=kt(),ER=Et(),mp=class extends _R.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new gp(this.options)}};ma.LokiLoggingPlugin=mp;var yp=class{static{o(this,"LokiStream")}constructor(t,r,n,i,s){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function wR(e,t){return btoa(`${e}:${t}`)}o(wR,"createBasicDigest");var gp=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=wR(t.username,t.password),this.#n=fp.Environment.instance.loggingEnvironmentType,this.#i=fp.Environment.instance.loggingEnvironmentStage,this.#r=fp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new yp(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,ER.stringifyNonString)((0,bR.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new gR.BatchDispatch("loki-log-transport",10,this.#s)}});var yb=y(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.SumoLogicLoggingPlugin=void 0;var vR=ve(),bp=W(),SR=Ur(),TR=kt(),IR=Et(),_p=class extends TR.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ep(this.options)}};ya.SumoLogicLoggingPlugin=_p;var Ep=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=bp.Environment.instance.loggingEnvironmentType,this.#n=bp.Environment.instance.loggingEnvironmentStage,this.#t=bp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,IR.stringifyNonString)((0,SR.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
|
|
64
|
-
`),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new
|
|
65
|
-
`),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new
|
|
63
|
+
`)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new ib.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=fp(await rb(this.body||""))}return t}};qn.AwsV4Signer=ma;async function zi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?mp.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,mp.encode(t))}o(zi,"hmac");async function rb(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?mp.encode(e):e)}o(rb,"hash");function fp(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(fp,"buf2hex");function nb(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(nb,"encodeRfc3986");function CA(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in tb?[tb[s],a]:[s,a]}o(CA,"guessServiceRegion")});var ob=b(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.convertStringToUtf8Array=Lt.convertUtf8ArrayToString=Lt.base64Encode=Lt.base64Decode=void 0;function DA(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}o(DA,"b64ToUint6");function LA(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=DA(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(LA,"base64Decode");Lt.base64Decode=LA;function ya(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(ya,"uint6ToB64");function MA(e){let t=2,r="",n=e.length,i=0;for(let s=0;s<n;s++)t=s%3,i|=e[s]<<(16>>>t&24),(t===2||e.length-s===1)&&(r+=String.fromCodePoint(ya(i>>>18&63),ya(i>>>12&63),ya(i>>>6&63),ya(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(MA,"base64Encode");Lt.base64Encode=MA;function UA(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}o(UA,"convertUtf8ArrayToString");Lt.convertUtf8ArrayToString=UA;function kA(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)t=e.codePointAt(a),t<128?i[s++]=t:t<2048?(i[s++]=192+(t>>>6),i[s++]=128+(t&63)):t<65536?(i[s++]=224+(t>>>12),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63)):t<2097152?(i[s++]=240+(t>>>18),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):t<67108864?(i[s++]=248+(t>>>24),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):(i[s++]=252+(t>>>30),i[s++]=128+(t>>>24&63),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++),a++;return i}o(kA,"convertStringToUtf8Array");Lt.convertStringToUtf8Array=kA});var sb=b(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.toCLFDate=void 0;function $n(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o($n,"numberToString");function FA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=$n(Math.floor(r/60)),s=$n(r%60);return`${n}${i}${s}`}o(FA,"getCLFOffset");function HA(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=$n(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=$n(e.getHours()),a=$n(e.getMinutes()),c=$n(e.getSeconds()),u=FA(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(HA,"toCLFDate");ga.toCLFDate=HA});var hb=b(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.getResponse=vr.awsLambdaHandler=vr.AwsLambdaHandlerExtensions=void 0;var qA=Ur(),ab=eb(),Wi=k(),$A=Vt(),jA=gp(),ub=ob(),lb=sb(),cb=(0,qA.debug)("zuplo:runtime"),VA="X-Amzn-Trace-Id",GA="x-amzn-errortype",db=[],BA=o(async(e,t,r)=>{let n=r;for await(let i of db)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Xe=class extends Wi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(VA)??void 0,this.errorType=r.get(GA)??void 0}};vr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{db.push(e)}};async function KA(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Wi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Wi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Wi.ConfigurationError("region is not set in the handler options");if(!s)throw new Wi.ConfigurationError("functionName is not set in the handler options");let l=new jA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(cb(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,h]=await WA(e,{binaryMediaTypes:u}),{options:f}=t.route.handler,y;f&&typeof f=="object"&&"payloadFormatVersion"in f&&f.payloadFormatVersion==="2.0"?y=zA(e,t):y=await JA(e,t,{useAwsResourcePathStyle:c}),cb("Calling onSendingAwsLambdaEvent hook");let _=await BA(e,t,y);_.body=p,_.isBase64Encoded=h;let I=await l.fetch(d,{body:JSON.stringify(_)});try{return pb(I)}catch(O){if(O instanceof Xe){let g=f&&typeof f=="object"&&"returnAmazonTraceIdHeader"in f&&f.returnAmazonTraceIdHeader&&O.traceId?{AMZN_TRACE_ID_HEADER:O.traceId}:void 0;return $A.HttpProblems.internalServerError(e,t,void 0,g)}throw O}}o(KA,"awsLambdaHandler");vr.awsLambdaHandler=KA;async function pb(e){let t;try{t=await e.json()}catch{throw new Xe("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 Xe(t.message,e.headers):new Xe(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Xe(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 Xe(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Xe(`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 Xe(`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 Xe("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Xe("Response was set to base64 encoded but body was not a string",e.headers);n=(0,ub.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 Xe(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(pb,"getResponse");vr.getResponse=pb;async function JA(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=e.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,lb.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:YA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(JA,"buildEventVersion1");function zA(e,t){let r={};e.headers.forEach((s,a)=>{r[a]=s});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,lb.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(zA,"buildEventVersion2");async function WA(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&&QA(t,i)){let s=await e.arrayBuffer();r=(0,ub.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(WA,"getBodyResult");function QA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(QA,"matchesContentType");function YA(e,t=!1){if(!t)return e;let r=(0,ab.parse)(e),n=(0,ab.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(YA,"getResourcePath")});var Vn=b(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.getHandlerUserLogFunction=jn.logBadGatewayResponses=void 0;var ZA=Ze(),XA=oe(),e0=[502,503,504];async function t0(e,t){if(e0.includes(e.status)){let r=ZA.SystemLogMap.getLogger(t),i=await e.clone().text(),s={};for(let[a,c]of e.headers)s[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:s})}}o(t0,"logBadGatewayResponses");jn.logBadGatewayResponses=t0;var bp;function r0(e){if(bp===void 0){let r=XA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),bp=r}return e.log[bp]}o(r0,"getHandlerUserLogFunction");jn.getHandlerUserLogFunction=r0});var mb=b(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.openApiSpecHandler=void 0;var fb=k(),n0=pe(),_p=oe(),i0=Vn();async function o0(e,t){let r=_p.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=_p.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new fb.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=s0(s);if(!a.isValid)throw new fb.ConfigurationError(a.error);let c;_p.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return n0.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,i0.logBadGatewayResponses)(l,t),l}o(o0,"openApiSpecHandler");ba.openApiSpecHandler=o0;var s0=o(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var yb=b(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.redirectHandler=void 0;var a0=k();async function c0(e,t){let r=t.route.handler.options;if(!r.location)throw new a0.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(c0,"redirectHandler");_a.redirectHandler=c0});var bb=b(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.urlForwardHandler=void 0;var u0=k(),gb=Vn();function l0(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}o(l0,"join");async function d0(e,t){let r=(0,gb.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 u0.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,s),u=l0(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}),h=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${h}ms`),(0,gb.logBadGatewayResponses)(p,t),p}o(d0,"urlForwardHandler");Ea.urlForwardHandler=d0});var Eb=b(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.urlRewriteHandler=void 0;var p0=k(),_b=Vn(),h0=o((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function f0(e,t){let r=(0,_b.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new p0.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?h0(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,_b.logBadGatewayResponses)(d,t),d}o(f0,"urlRewriteHandler");wa.urlRewriteHandler=f0});var vb=b(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.webSocketHandler=void 0;var wb=k(),m0=cp(),y0=Vt(),g0=oe(),b0=Vn();async function _0(e,t){let r=g0.Environment.instance,n=t.route.handler.options,i=(0,b0.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new wb.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return y0.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new wb.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 f=await(0,m0.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${f.serviceBaseUrl}${y.pathname}${y.search}`).toString();for(let I in f.tunnelHeaders)p.set(I,f.tunnelHeaders[I])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let f=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${f}`}}catch{}let h=JSON.stringify({url:c});return new Response(h,{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(),h=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(h)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(_0,"webSocketHandler");va.webSocketHandler=_0});var Tb=b(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.webSocketPolicyProcessor=Gn.getWebSocketPolicyFunctions=void 0;var E0=k(),w0=o((e,t)=>e.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new E0.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Gn.getWebSocketPolicyFunctions=w0;var v0=o(async(e,t,r,n,i,s)=>{let a=e.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");Gn.webSocketPolicyProcessor=v0});var Ib=b(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.webSocketPipelineHandler=void 0;var Ep=k(),T0=Vt(),S0=oe(),I0=Vn(),wp=Tb();function Sb(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),t.send(JSON.stringify(s))}),e.addEventListener("message",s=>{try{let c=o(async u=>{let l=await(0,wp.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(Sb,"wireUpListeners");async function P0(e,t){let r=S0.Environment.instance,n=t.route.handler.options,i=(0,I0.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Ep.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return T0.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Ep.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 Ep.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 O=await l.text(),g=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${O}'`;throw new Error(g)}let d=new WebSocketPair,[p,h]=Object.values(d),f=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${f}ms`);let y=l.webSocket;y.accept(),h.accept();let _=n.policies&&n.policies.inbound?(0,wp.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],I=n.policies&&n.policies.outbound?(0,wp.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Sb(h,y,e,t,_),Sb(y,h,e,t,I),new Response(null,{status:101,webSocket:p})}o(P0,"webSocketPipelineHandler");Ta.webSocketPipelineHandler=P0});var Pb=b(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.DynaTraceLoggingPlugin=void 0;var A0=Oe(),vp=oe(),R0=Vr(),O0=Gt(),N0=At(),Tp=class extends O0.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Sp(this.options)}};Sa.DynaTraceLoggingPlugin=Tp;var Sp=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=vp.Environment.instance.loggingEnvironmentType,this.#i=vp.Environment.instance.loggingEnvironmentStage,this.#r=vp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,N0.stringifyNonString)((0,R0.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 A0.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Ab=b(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.LokiLoggingPlugin=void 0;var x0=Oe(),Ip=oe(),C0=Vr(),D0=Gt(),L0=At(),Pp=class extends D0.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Rp(this.options)}};Ia.LokiLoggingPlugin=Pp;var Ap=class{static{o(this,"LokiStream")}constructor(t,r,n,i,s){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function M0(e,t){return btoa(`${e}:${t}`)}o(M0,"createBasicDigest");var Rp=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=M0(t.username,t.password),this.#n=Ip.Environment.instance.loggingEnvironmentType,this.#i=Ip.Environment.instance.loggingEnvironmentStage,this.#r=Ip.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new Ap(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,L0.stringifyNonString)((0,C0.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new x0.BatchDispatch("loki-log-transport",10,this.#s)}});var Rb=b(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.SumoLogicLoggingPlugin=void 0;var U0=Oe(),Op=oe(),k0=Vr(),F0=Gt(),H0=At(),Np=class extends F0.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new xp(this.options)}};Pa.SumoLogicLoggingPlugin=Np;var xp=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Op.Environment.instance.loggingEnvironmentType,this.#n=Op.Environment.instance.loggingEnvironmentStage,this.#t=Op.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,H0.stringifyNonString)((0,k0.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 U0.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Nb=b(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.VMWareLogInsightTransport=Bn.VMWareLogInsightLoggingPlugin=void 0;var q0=k(),$0=Oe(),Cp=oe(),j0=Gt(),Ob=At(),V0="d3a5b78f-8236-48f5-b1df-4fe269d41172",Dp=class extends j0.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Aa(this.options)}};Bn.VMWareLogInsightLoggingPlugin=Dp;var Aa=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new q0.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Cp.Environment.instance.loggingEnvironmentType,this.#n=Cp.Environment.instance.loggingEnvironmentStage,this.#t=Cp.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,Ob.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,Ob.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${V0}`,{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 $0.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};Bn.VMWareLogInsightTransport=Aa});var Cb=b(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.AWSLogTransport=Kn.AWSLoggingPlugin=void 0;var G0=gp(),B0=Oe(),xb=oe(),K0=Vr(),J0=Gt(),z0=At(),Lp=class extends J0.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ra(this.options)}};Kn.AWSLoggingPlugin=Lp;var Ra=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new B0.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new G0.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=xb.Environment.instance.loggingEnvironmentType,this.environment=xb.Environment.instance.deploymentName}log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,z0.stringifyNonString)((0,K0.serializeError)(n)),severity:t.level,source:t.logSource,environment:this.environment,requestId:t.requestId,environmentType:this.environmentType,rayId:t.rayId===null?void 0:t.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};Kn.AWSLogTransport=Ra});var Db=b(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.AWSLoggingPlugin=Ue.VMWareLogInsightLoggingPlugin=Ue.SumoLogicLoggingPlugin=Ue.LokiLoggingPlugin=Ue.GoogleCloudLoggingPlugin=Ue.DynaTraceLoggingPlugin=Ue.DataDogLoggingPlugin=void 0;var W0=Vd();Object.defineProperty(Ue,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return W0.DataDogLoggingPlugin}});var Q0=Pb();Object.defineProperty(Ue,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return Q0.DynaTraceLoggingPlugin}});var Y0=Xs();Object.defineProperty(Ue,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return Y0.GoogleCloudLoggingPlugin}});var Z0=Ab();Object.defineProperty(Ue,"LokiLoggingPlugin",{enumerable:!0,get:function(){return Z0.LokiLoggingPlugin}});var X0=Rb();Object.defineProperty(Ue,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return X0.SumoLogicLoggingPlugin}});var eR=Nb();Object.defineProperty(Ue,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return eR.VMWareLogInsightLoggingPlugin}});var tR=Cb();Object.defineProperty(Ue,"AWSLoggingPlugin",{enumerable:!0,get:function(){return tR.AWSLoggingPlugin}})});var Lb=b(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.DataDogMetricsError=Tr.DataDogMetricsTransport=Tr.DataDogMetricsPlugin=void 0;var rR=Ze(),nR=Oe(),iR=zo(),Mp=new WeakMap,oR={tags:[]},Up=class extends iR.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Oa(this.options)}static setContext(t,r){let n=Mp.get(t);n||(n=oR);let i=Object.assign({...n},r);Mp.set(t,i)}};Tr.DataDogMetricsPlugin=Up;var Oa=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new nR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,rR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(Mp.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let s=t.systemRouteName||t.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new Na(await n.text())}};Tr.DataDogMetricsTransport=Oa;var Na=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};Tr.DataDogMetricsError=Na});var Mb=b(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.DynaTraceMetricsError=Sr.DynaTraceMetricsTransport=Sr.DynatraceMetricsPlugin=void 0;var sR=Ze(),aR=Oe(),cR=zo(),kp=new WeakMap,uR={dimensions:[]},Fp=class extends cR.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new xa(this.options)}static setContext(t,r){let n=kp.get(t);n||(n=uR);let i=Object.assign({...n},r);kp.set(t,i)}};Sr.DynatraceMetricsPlugin=Fp;var xa=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new aR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,sR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(kp.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
|
|
65
|
+
`),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new Ca(await n.text())}};Sr.DynaTraceMetricsTransport=xa;var Ca=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};Sr.DynaTraceMetricsError=Ca});var Ub=b(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.DynatraceMetricsPlugin=Jn.DataDogMetricsPlugin=void 0;var lR=Lb();Object.defineProperty(Jn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return lR.DataDogMetricsPlugin}});var dR=Mb();Object.defineProperty(Jn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return dR.DynatraceMetricsPlugin}})});var kb=b(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.AuditLogDataStaxProvider=void 0;var Hp=class{static{o(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};Da.AuditLogDataStaxProvider=Hp});var Hb=b(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.AuditLogPlugin=void 0;var pR=It(),hR=Oe(),qp=class extends pR.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new $p(t,this.#e,this.#t)}};La.AuditLogPlugin=qp;var Fb=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),fR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},$p=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...fR};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,t.addRequestHook(this.#o),this.#r=new hR.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?Fb(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?Fb(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,s=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(h=>{r.log.error(h)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var qb=b(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.StripeSignatureVerificationError=zn.StripeError=void 0;var Ma=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(t={}){super(t.message),this.type=this.constructor.name,this.raw=t,this.rawType=t.type,this.code=t.code,this.doc_url=t.doc_url,this.param=t.param,this.detail=t.detail,this.headers=t.headers,this.requestId=t.requestId,this.statusCode=t.statusCode,this.message=t.message,this.charge=t.charge,this.decline_code=t.decline_code,this.payment_intent=t.payment_intent,this.payment_method=t.payment_method,this.payment_method_type=t.payment_method_type,this.setup_intent=t.setup_intent,this.source=t.source}};zn.StripeError=Ma;var jp=class extends Ma{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};zn.StripeSignatureVerificationError=jp});var jb=b(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.computeHMACSignatureAsync=Wn.constructEventAsync=void 0;var Wr=qb(),mR="v1",yR=300;async function gR(e,t,r,n=yR,i){return await _R(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}o(gR,"constructEventAsync");Wn.constructEventAsync=gR;function bR(e,t){return`${t.timestamp}.${e}`}o(bR,"makeHMACContent");async function _R(e,t,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=ER(e,t,mR),l=/\s/.test(r),d=await $b(bR(a,c),r);return wR(a,s,c,d,n,u,l,i)}o(_R,"verifyHeaderAsync");function ER(e,t,r){if(!e)throw new Wr.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),s=e instanceof Uint8Array?i.decode(e):e;if(Array.isArray(t))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(t==null||t=="")throw new Wr.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 Wr.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new Wr.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o(ER,"parseEventDetails");function wR(e,t,r,n,i,s,a,c){let u=!!r.signatures.filter(h=>TR(h,n)).length,l=`
|
|
66
66
|
Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
|
|
67
67
|
|
|
68
|
-
Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw s?new
|
|
68
|
+
Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw s?new Wr.StripeSignatureVerificationError(t,e,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
|
|
69
69
|
Signature verification is impossible without access to the original signed material.
|
|
70
70
|
`+l+`
|
|
71
|
-
`+d}):new
|
|
71
|
+
`+d}):new Wr.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
|
|
72
72
|
If a webhook request is being forwarded by a third-party tool, ensure that the exact request body, including JSON formatting and new line style, is preserved.
|
|
73
73
|
`+l+`
|
|
74
|
-
`+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new $r.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}o(a0,"validateComputedSignature");function c0(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(c0,"parseHeader");function u0(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}o(u0,"secureCompare");async function Ob(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=xp[s[c]];return a.join("")}o(Ob,"computeHMACSignatureAsync");qn.computeHMACSignatureAsync=Ob;var xp=new Array(256);for(let e=0;e<xp.length;e++)xp[e]=e.toString(16).padStart(2,"0")});var Rt=y(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.optionValidator=void 0;var $n=O(),l0=Xe();function d0(e,t){if(!(0,l0.isObject)(e))throw new $n.ConfigurationError(`Options on policy '${t}' is expected to be an object. Received the type '${typeof e}'.`);let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new $n.ConfigurationError(`Value of '${String(s)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new $n.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new $n.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new $n.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new $n.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(d0,"optionValidator");Pa.optionValidator=d0});var Dp=y(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.StripeWebhookVerificationInboundPolicy=void 0;var p0=yi(),h0=ie(),f0=Nb(),m0=Rt(),Lp=class extends p0.InboundPolicy{static{o(this,"StripeWebhookVerificationInboundPolicy")}async handler(t,r){(0,m0.optionValidator)(this.options,this.policyName).required("signingSecret","string").optional("tolerance","number");let n=t.headers.get("stripe-signature");try{let i=await t.clone().text();await(0,f0.constructEventAsync)(i,n,this.options.signingSecret)}catch(i){return r.log.error("Error validating stripe webhook",i),h0.HttpProblems.badRequest(t,r,{title:"Webhook Error",detail:i.message})}return t}};Aa.StripeWebhookVerificationInboundPolicy=Lp});var xb=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.isStripeWebhookEvent=void 0;var Cb=Xe();function y0(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,Cb.isString)(e.id)&&"type"in e&&(0,Cb.isString)(e.type)}o(y0,"isStripeWebhookEvent");Ra.isStripeWebhookEvent=y0});var Lb=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.MeteringPlugin=void 0;var g0=bt(),Up=class extends g0.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};Oa.MeteringPlugin=Up});var Ub=y(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});var Db=O(),b0={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new Db.RuntimeError(s)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new Db.RuntimeError(s)}return i}};Mp.default=b0});var Mb=y(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.deleteConsumer=br.createConsumerInvite=br.createConsumer=void 0;var kp=O(),Hp=Ke(),Fp=W(),qp=Sn(),$p="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function _0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=Fp.Environment.instance,u=new URL(`/v1/buckets/${e}/consumers`,$p);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,qp.fetchRetry)({retryDelayMs:5,retries:2,logger:Hp.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),m=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,m),new kp.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}o(_0,"createConsumer");br.createConsumer=_0;async function E0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=Fp.Environment.instance,c=new URL(`/v1/buckets/${e}/consumers`,$p);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,qp.fetchRetry)({retryDelayMs:5,retries:2,logger:Hp.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let m="Error creating API Key Consumer";throw s.log.error(m,p),new kp.RuntimeError(m)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:t,stripeProductId:r}),u}o(E0,"createConsumerInvite");br.createConsumerInvite=E0;async function w0({apiKeyBucketName:e,consumerId:t,context:r}){let{authApiJWT:n}=Fp.Environment.instance,i=new URL(`/v1/buckets/${e}/consumers/${t}`,$p);i.searchParams.set("with-api-key","true");let s=await(0,qp.fetchRetry)({retryDelayMs:5,retries:2,logger:Hp.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(s.status!==204){let a=await s.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new kp.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${t}`),t}o(w0,"deleteConsumer");br.deleteConsumer=w0});var Na=y(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.getSubscription=Er.updateSubscription=Er.createSubscription=void 0;var _r=O(),jp=Ke(),Vp=W(),Gp=Sn(),Bp=Xe();async function v0({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=Vp.Environment.instance;if(!(0,Bp.isNonEmptyString)(l))throw new _r.SystemError("No Zuplo JWT token set.");let p=await(0,Gp.fetchRetry)({retryDelayMs:5,retries:2,logger:jp.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let m="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw e.log.error(m,h),new _r.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}o(v0,"createSubscription");Er.createSubscription=v0;async function S0({context:e,meteringSubscriptionId:t,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=Vp.Environment.instance;if(!(0,Bp.isNonEmptyString)(i))throw new _r.SystemError("No Zuplo JWT token set.");let a=await(0,Gp.fetchRetry)({retryDelayMs:5,retries:2,logger:jp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${r}/subscriptions/${t}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw e.log.error(c,u),new _r.RuntimeError(c)}e.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}o(S0,"updateSubscription");Er.updateSubscription=S0;async function T0({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=Vp.Environment.instance;if(!(0,Bp.isNonEmptyString)(i))throw new _r.SystemError("No Zuplo JWT token set.");let a=await(0,Gp.fetchRetry)({retryDelayMs:5,retries:2,logger:jp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${t}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":e.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw e.log.error(u,l),new _r.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new _r.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new _r.RuntimeError(u)}return c.data[0]}o(T0,"getSubscription");Er.getSubscription=T0});var Kp=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.stripeStatusToMeteringStatus=void 0;function I0(e){return e.replaceAll("_","-")}o(I0,"stripeStatusToMeteringStatus");Ca.stripeStatusToMeteringStatus=I0});var kb=y(qi=>{"use strict";var P0=qi&&qi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qi,"__esModule",{value:!0});var jr=ie(),A0=P0(Ub()),Jp=Mb(),R0=Na(),O0=Kp();async function N0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return t.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=s.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,Jp.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:t});else{let l=await A0.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return t.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,Jp.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:t})}if(!u)return jr.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,O0.stripeStatusToMeteringStatus)(r.data.object.status);await(0,R0.createSubscription)({context:t,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,Jp.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:t}),jr.HttpProblems.internalServerError(e,t,{detail:l.message})}return jr.HttpProblems.ok(e,t)}o(N0,"onCustomerSubscriptionCreated");qi.default=N0});var Fb=y(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});var zp=ie(),Hb=Na();async function C0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),zp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),zp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,Hb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,Hb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),zp.HttpProblems.ok(e,t)}o(C0,"onCustomerSubscriptionDeleted");Wp.default=C0});var qb=y(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});var $i=ie(),xa=Na(),x0=Kp();async function L0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),$i.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),$i.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){let c=await(0,xa.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,x0.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,xa.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),$i.HttpProblems.ok(e,t)}if(a.plan&&a.plan.product!==r.data.object.plan.product){let c=await(0,xa.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,xa.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[r.data.object.plan.product]}}),$i.HttpProblems.ok(e,t)}}return t.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),$i.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}o(L0,"onCustomerSubscriptionUpdated");Qp.default=L0});var jb=y(jn=>{"use strict";var Zp=jn&&jn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(jn,"__esModule",{value:!0});jn.StripeMeteringPlugin=void 0;var La=Mi(),Da=O(),D0=Ut(),U0=Dp(),$b=ie(),M0=Yt(),k0=sn(),H0=tl(),F0=at(),q0=W(),$0=xb(),j0=Lb(),V0=Zp(kb()),G0=Zp(Fb()),B0=Zp(qb()),Yp=class extends j0.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(La.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=La.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Da.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(La.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=La.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Da.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!q0.Environment.instance.build.ACCOUNT_NAME)throw new Da.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!K0(p))throw new Da.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,$0.isStripeWebhookEvent)(m))return $b.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${m.type}' with ID '${m.id}'.`),m.type){case"customer.subscription.created":return await(0,V0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,B0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,G0.default)(c,u,m,{meteringBucketId:l});default:return $b.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,k0.createInternalPolicyProcessor)({inboundPolicies:[new U0.StripeWebhookVerificationInboundPolicy({signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance},"stripe-webhook-verification")]}),s=new D0.Pipeline({processors:[M0.metricsProcessor,i],handler:n,gateway:r}),a=new F0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:H0.SystemRouteName.StripePlugin});t.addRoute(a,s.execute)}};jn.StripeMeteringPlugin=Yp;function K0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}o(K0,"isMetricsRegion")});var Jb=y(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.AmberfloMeteringInboundPolicy=Vn.AmberfloMeteringPolicy=void 0;var Vb=O(),J0=ve(),Gb=Xt(),Kb=new WeakMap,Bb={},Xp=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Kb.set(t,r)}};Vn.AmberfloMeteringPolicy=Xp;async function z0(e,t,r,n){if(!r.statusCodes)throw new Vb.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Gb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=Kb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new Vb.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Gb.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=Bb[r.apiKey];if(!m){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";m=new J0.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let S=r.url??"https://app.amberflo.io/ingest",T=await fetch(S,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});T.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${T.status}: ${await T.text()}`)}catch(S){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${S.message}`),S}}),Bb[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}o(z0,"AmberfloMeteringInboundPolicy");Vn.AmberfloMeteringInboundPolicy=z0});var eh=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.sha256=void 0;async function W0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(W0,"sha256");Ua.sha256=W0});var jt=y(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.getPolicyCacheName=void 0;var Q0=eh(),zb=new Map;async function Y0(e,t){let r,n=zb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,Q0.sha256)(JSON.stringify({policyName:e,options:t}))}`,zb.set(e,r)),r}o(Y0,"getPolicyCacheName");Ma.getPolicyCacheName=Y0});var nh=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.ApiKeyInboundPolicy=void 0;var Z0=jt(),X0=Jt(),Wb=Mi(),th=O(),eO=Mt(),Qb=Ke(),rh=W(),tO=Sn(),Yb="key-metadata-cache-type";function rO(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(rO,"getKeyValue");async function nO(e,t,r,n){if(!r.bucketName)if(Wb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Wb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new th.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new th.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(S=>i.allowUnauthenticatedRequests?e:eO.HttpProblems.unauthorized(e,t,{detail:S}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=rO(a,i);if(!c||c==="")return s("No key present");let u=await iO(c),l=await(0,Z0.getPolicyCacheName)(n,i),d=new X0.MemoryZoneReadThroughCache(l,t),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Yb&&Qb.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let m={key:c},h=await(0,tO.fetchRetry)({retryDelayMs:5,retries:2,logger:Qb.SystemLogMap.getLogger(t)},`${rh.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":rh.Environment.instance.deploymentName??"unknown","User-Agent":rh.Environment.instance.systemUserAgent},body:JSON.stringify(m)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let S=await h.text(),T=JSON.parse(S);t.log.error("Unexpected response from key service",T)}catch{t.log.error("Invalid response from key service")}throw new th.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:Yb,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}o(nO,"ApiKeyInboundPolicy");ka.ApiKeyInboundPolicy=nO;async function iO(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(iO,"hashValue")});var Zb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.ApiAuthKeyInboundPolicy=void 0;var oO=nh();Ha.ApiAuthKeyInboundPolicy=oO.ApiKeyInboundPolicy});var Vt=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.OpenIdJwtInboundPolicy=void 0;var oh=(qs(),mo(Fs)),sh=O(),sO=ie(),ih={},aO=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new sh.ConfigurationError("Invalid State - jwkUrl not set");ih[t.jwkUrl]||(ih[t.jwkUrl]=(0,oh.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,oh.jwtVerify)(e,ih[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),cO=o(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let s=new TextEncoder().encode(t.secret);r=new Uint8Array(s)}else r=t.secret;let{payload:n}=await(0,oh.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),uO=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(m=>sO.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new sh.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new sh.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?aO:cO,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(s.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let g=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${g.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${g.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");Fa.OpenIdJwtInboundPolicy=uO});var Xb=y(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.Auth0JwtInboundPolicy=void 0;var lO=Vt(),dO=o(async(e,t,r,n)=>(0,lO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");qa.Auth0JwtInboundPolicy=dO});var e_=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.BasicAuthInboundPolicy=void 0;var pO=ie(),hO=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>pO.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===m&&_.password===h);return g||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");$a.BasicAuthInboundPolicy=hO});var t_=y(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.CachingInboundPolicy=void 0;var fO=jt(),mO=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function yO(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(yO,"digestMessage");var gO=o(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await yO(JSON.stringify(n)),s=new URL(e.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function bO(e,t,r,n){let i=await(0,fO.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await gO(e,r),u=await s.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);mO.forEach(g=>h.headers.delete(g)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(bO,"CachingInboundPolicy");ja.CachingInboundPolicy=bO});var r_=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.ChangeMethodInboundPolicy=void 0;var _O=O(),EO=He(),wO=o(async(e,t,r,n)=>{if(!r.method)throw new _O.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new EO.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Va.ChangeMethodInboundPolicy=wO});var n_=y(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.ClearHeadersInboundPolicy=void 0;var vO=He(),SO=o(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new vO.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ga.ClearHeadersInboundPolicy=SO});var i_=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.ClearHeadersOutboundPolicy=void 0;var TO=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");Ba.ClearHeadersOutboundPolicy=TO});var o_=y(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.ClerkJwtInboundPolicy=void 0;var IO=Vt(),PO=o(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,IO.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Ka.ClerkJwtInboundPolicy=PO});var a_=y(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.CognitoJwtInboundPolicy=void 0;var s_=O(),AO=Vt(),RO=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new s_.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new s_.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,AO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");Ja.CognitoJwtInboundPolicy=RO});var u_=y(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.CompositeInboundPolicy=void 0;var OO=O(),NO=Or(),c_=sn(),CO=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new OO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=NO.Gateway.instance,s=(0,c_.getInboundPolicyInstances)(r.policies,i?.routeData.policies);return(0,c_.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");za.CompositeInboundPolicy=CO});var l_=y(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.CurityPhantomTokenInboundPolicy=void 0;var xO=jt(),LO=Jt(),Wa=ie(),DO=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return Wa.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=UO(i);if(!s)return Wa.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,xO.getPolicyCacheName)(n,r),c=new LO.MemoryZoneReadThroughCache(a,t),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),Wa.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):Wa.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");Qa.CurityPhantomTokenInboundPolicy=DO;function UO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(UO,"getToken")});var d_=y(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.FirebaseJwtInboundPolicy=void 0;var MO=Rt(),kO=Vt(),HO=o(async(e,t,r,n)=>((0,MO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,kO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");Ya.FirebaseJwtInboundPolicy=HO});var p_=y(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.FormDataToJsonInboundPolicy=void 0;var FO=He(),qO=o(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=e.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new FO.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Za.FormDataToJsonInboundPolicy=qO});var h_=y(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.GeoFilterInboundPolicy=void 0;var $O=O(),jO=ie(),Gn="__unknown__",VO=o(async(e,t,r,n)=>{let i={allow:{countries:Kn(r.allow?.countries,"allow.countries",n),regionCodes:Kn(r.allow?.regionCodes,"allow.regionCode",n),asns:Kn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Kn(r.block?.countries,"block.countries",n),regionCodes:Kn(r.block?.regionCodes,"block.regionCode",n),asns:Kn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??Gn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Gn,c=t.incomingRequestProperties.asn?.toString()??Gn,u=i.ignoreUnknown&&s===Gn,l=i.ignoreUnknown&&a===Gn,d=i.ignoreUnknown&&c===Gn,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Bn(e,t,n,s,a,c);let g=i.block.countries,_=i.block.regionCodes,S=i.block.asns;return g.length>0&&g.includes(s)&&!u||_.length>0&&_.includes(a)&&!l||S.length>0&&S.includes(c)&&!d?Bn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");Xa.GeoFilterInboundPolicy=VO;function Bn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),jO.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Bn,"blockedResponse");function Kn(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new $O.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Kn,"toLowerStringArray")});var f_=y(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.JWTScopeValidationInboundPolicy=void 0;var GO=o(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");ec.JWTScopeValidationInboundPolicy=GO});var g_=y(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.consumeSubcriptionQuotas=Jn.loadSubscription=void 0;var m_=Ke(),y_=W();async function BO(e,t,r,n){let i=m_.SystemLogMap.getLogger(e),{authApiJWT:s,meteringServiceUrl:a}=y_.Environment.instance,c;try{let l=await fetch(`${a}/internal/v1/metering/${n}/subscriptions?customerKey=${t}`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":e.requestId},method:"GET"});if(l.ok)c=await l.json();else{let d=await l.json(),p=d.detail??d.title??"Unknown error on quota consumption.";e.log.error(`MonetizationInboundPolicy '${r}' - Error loading subscription. ${l.status} - ${p}`),i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription.${l.status} - ${p}`)}}catch(l){i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription`,l)}return c&&c.data&&c.data.length>0?c.data[0]:void 0}o(BO,"loadSubscription");Jn.loadSubscription=BO;async function KO(e,t,r,n,i){let{authApiJWT:s,meteringServiceUrl:a}=y_.Environment.instance,c=m_.SystemLogMap.getLogger(e);try{let u=await fetch(`${a}/internal/v1/metering/${n}/subscriptions/${t}/quotas/consume`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":e.requestId},method:"POST",body:JSON.stringify({meters:i})});if(!u.ok){let l=await u.json(),d=l.detail??l.title??"Unknown error on quota consumption.";e.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`)}}catch(u){e.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`,u)}}o(KO,"consumeSubcriptionQuotas");Jn.consumeSubcriptionQuotas=KO});var b_=y(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.parseAllowedSubscriptionStatuses=zn.validateMeters=void 0;var Vr=O(),JO=Xt(),zO=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]);function WO(e,t){try{let r=[];for(let n in e)typeof e[n]!="number"&&!(Number.isInteger(e[n])&&/^-?\d+$/.test(e[n].toString()))&&r.push(n);if(r.length>0)throw new Vr.ConfigurationError(r.length>1?`The values found in these properties are not integers : ${r.join(", ")}`:`The value in property '${r[0]}' is not an integer`)}catch(r){throw r instanceof Vr.ConfigurationError?new Vr.ConfigurationError(`MonetizationInboundPolicy '${t}' - The property 'meters' is invalid. ${r.message}`):r}}o(WO,"validateMeters");zn.validateMeters=WO;function QO(e,t){if(e)try{if(e.length===0)throw new Vr.ConfigurationError("Must set valid subscription statuses");let r=(0,JO.parseValueToStringArray)(e),n=[];for(let i of r)zO.has(i)||n.push(i);if(n.length>0)throw new Vr.ConfigurationError(`Found the following invalid statuses: ${n.join(", ")}`);return e}catch(r){throw r instanceof Vr.ConfigurationError?new Vr.ConfigurationError(`MonetizationInboundPolicy '${t}' - The property 'allowedSubscriptionStatuses' is invalid. ${r.message}`):r}else return["active","incomplete","trialing"]}o(QO,"parseAllowedSubscriptionStatuses");zn.parseAllowedSubscriptionStatuses=QO});var E_=y(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.MonetizationInboundPolicy=void 0;var Gr=Xr(),Br=Qd(),tc=Mi(),ah=O(),YO=yi(),Kr=ie(),ZO=Xt(),XO=Rt(),__=g_(),rc=b_(),ch=class extends YO.InboundPolicy{static{o(this,"MonetizationInboundPolicy")}static getSubscription(t){return Br.ContextData.get(t,Gr.METERING_SUBSCRIPTION_CONTEXT_DATA)}static setMeters(t,r){(0,rc.validateMeters)(r,"setMeters"),Br.ContextData.set(t,Gr.DYNAMIC_METERS_CONTEXT_DATA,r)}async handler(t,r){if((0,XO.optionValidator)(this.options,this.policyName).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string"),!this.options.meterOnStatusCodes)throw new ah.ConfigurationError(`Invalid MonetizationInboundPolicy '${this.policyName}' - The property 'meterOnStatusCodes' must be an array of HTTP status code numbers`);let n=this.options.allowRequestsOverQuota??!1,i=Array.isArray(this.options.meterOnStatusCodes)?this.options.meterOnStatusCodes:(0,ZO.statusCodesStringToNumberArray)(this.options.meterOnStatusCodes),s=Br.ContextData.get(r,Gr.DYNAMIC_METERS_CONTEXT_DATA),a={...this.options.meters,...s};(0,rc.validateMeters)(a,this.policyName);let c=this.options.allowRequestsWithoutSubscription??!1,u=(0,rc.parseAllowedSubscriptionStatuses)(this.options.allowedSubscriptionStatuses,this.policyName);r.addResponseSendingFinalHook(async(_,S,T)=>{let k=Br.ContextData.get(T,Gr.METERING_SUBSCRIPTION_CONTEXT_DATA);if((this.options.allowRequestsWithoutSubscription??!1)&&!k){T.log.debug(`MonetizationInboundPolicy '${this.policyName}' - No subscription found and property 'allowRequestsWithoutSubscription' is true`);return}if(!this.options.bucketId)if(tc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=tc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new ah.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let L=Br.ContextData.get(T,Gr.DYNAMIC_METERS_CONTEXT_DATA),Z={...this.options.meters,...L};(0,rc.validateMeters)(Z,this.policyName),i.includes(_.status)&&k&&Z&&(T.log.debug(`MonetizationInboundPolicy '${this.policyName}' - Updating subscription '${k.id}' with meters '${JSON.stringify(Z)} on response status '${_.status}'`),await(0,__.consumeSubcriptionQuotas)(T,k.id,this.policyName,this.options.bucketId,Z))});let l=t.user;if(!l)return c?t:Kr.HttpProblems.unauthorized(t,r,{detail:"Unable to check subscription for anonymous user"});if(!this.options.bucketId)if(tc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=tc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new ah.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let{sub:d}=l,p=await(0,__.loadSubscription)(r,d,this.policyName,this.options.bucketId);if(!p)return r.log.warn("No valid subscription found"),c?t:Kr.HttpProblems.unauthorized(t,r,{detail:"No valid subscription found"});if(!u.includes(p.status)&&!c)return r.log.warn(`Subscription '${p.id}' has status '${p.status}' which is not part of the allowed statuses.`),Kr.HttpProblems.unauthorized(t,r,{detail:"No valid subscription found"});u.includes(p.status)&&(r.log.debug(`Loading subscription '${p.id}' for user sub '${d}' to ContextData`),Br.ContextData.set(r,Gr.METERING_SUBSCRIPTION_CONTEXT_DATA,p));let m=Br.ContextData.get(r,Gr.METERING_SUBSCRIPTION_CONTEXT_DATA);if(!m)return c?t:(r.log.warn("Subscription is not available for user"),Kr.HttpProblems.paymentRequired(t,r,{detail:"Subscription is not available for user",title:"No Subscription"}));if(m&&Object.keys(m.meters).length===0)return r.log.error(`Quota is not set up for subscription '${m.id}'`),Kr.HttpProblems.tooManyRequests(t,r,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let g=Object.keys(a).filter(_=>!Object.keys(m.meters).includes(_));if(g.length>0)return r.log.warn(`The following policy meters are not present in the subscription: ${g.join(", ")}`),Kr.HttpProblems.tooManyRequests(t,r,{detail:`The following policy meters are not present in the subscription: ${g.join(", ")}`,title:"Quota Exceeded"});for(let _ of Object.keys(a))if(m.meters[_].consumed<=0&&!n)return Kr.HttpProblems.tooManyRequests(t,r,{detail:`Quota exceeded for meter '${_}'`,title:"Quota Exceeded"});return t}};nc.MonetizationInboundPolicy=ch});var v_=y(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.MockApiInboundPolicy=void 0;var eN=ie(),tN=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return uh(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return uh(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return w_(a[c])}else return a.length>0?w_(a[0]):uh(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");ic.MockApiInboundPolicy=tN;function w_(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}o(w_,"generateResponse");var uh=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return eN.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var A_=y(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.MoesifInboundPolicy=Wn.setMoesifContext=void 0;var rN=O(),nN=ve(),iN="Incoming",oN={logRequestBody:!0,logResponseBody:!0};function S_(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(S_,"headersToObject");function T_(){return new Date().toISOString()}o(T_,"timestamp");var lh=new WeakMap,sN={};function aN(e,t){let r=lh.get(e);r||(r=sN);let n=Object.assign({...r},t);lh.set(e,n)}o(aN,"setMoesifContext");Wn.setMoesifContext=aN;async function I_(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o(I_,"readBody");var cN={},dh;function P_(){if(!dh)throw new rN.RuntimeError("Invalid State - no _lastLogger");return dh}o(P_,"getLastLogger");function uN(e){let t=cN[e];return t||(t=new nN.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);P_().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":e},body:n});i.ok||P_().error({status:i.status,body:await i.text()})})),t}o(uN,"getDispatcher");async function lN(e,t,r,n){dh=t.log;let i=T_(),s=Object.assign(oN,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await I_(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=uN(s.applicationId),d=e.headers.get("true-client-ip"),p=lh.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:S_(e.headers)},h=s.logResponseBody?await I_(c,t):void 0,g={time:T_(),status:c.status,headers:S_(c.headers),body:h},_={request:m,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:iN};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}o(lN,"MoesifInboundPolicy");Wn.MoesifInboundPolicy=lN});var R_=y(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.OktaJwtInboundPolicy=void 0;var dN=Vt(),pN=o(async(e,t,r,n)=>(0,dN.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");oc.OktaJwtInboundPolicy=pN});var O_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.PropelAuthJwtInboundPolicy=void 0;var hN=(qs(),mo(Fs)),fN=Vt(),ph,mN=o(async(e,t,r,n)=>{if(!ph)try{ph=await(0,hN.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,fN.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:ph,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");sc.PropelAuthJwtInboundPolicy=mN});var N_=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.throwIfStateNotObject=V.throwIfStateNotNumber=V.throwIfStateNotString=V.throwIfStateUndefinedOrNull=V.throwIfStateUndefined=V.throwIfOptionNotObject=V.throwIfOptionNotNumber=V.throwIfOptionNotString=V.throwIfOptionUndefinedOrNull=V.throwIfOptionUndefined=V.OptionTypeError=V.OptionUndefinedError=V.throwIfNotNumber=V.throwIfNotString=V.throwIfUndefinedOrNull=V.throwIfUndefined=V.ArgumentTypeError=V.ArgumentUndefinedError=V.ValidationError=void 0;var je=Xe(),rt=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=rt;var ji=class extends rt{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=ji;var Vi=class extends rt{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=Vi;function yN(e,t){if((0,je.isUndefined)(e))throw new ji(t)}o(yN,"throwIfUndefined");V.throwIfUndefined=yN;function hh(e,t){if((0,je.isUndefinedOrNull)(e))throw new ji(t)}o(hh,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=hh;function gN(e,t){if(hh(e,t),!(0,je.isString)(e))throw new Vi(t,"string")}o(gN,"throwIfNotString");V.throwIfNotString=gN;function bN(e,t){if(hh(e,t),!(0,je.isNumber)(e))throw new Vi(t,"number")}o(bN,"throwIfNotNumber");V.throwIfNotNumber=bN;var Gi=class extends rt{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=Gi;var Qn=class extends rt{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};V.OptionTypeError=Qn;function _N(e,t,r,n){if((0,je.isUndefined)(n))throw new Gi(e,t,r)}o(_N,"throwIfOptionUndefined");V.throwIfOptionUndefined=_N;function ac(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Gi(e,t,r)}o(ac,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=ac;function EN(e,t,r,n){if(ac(e,t,r,n),!(0,je.isString)(n))throw new Qn(e,t,r,"string")}o(EN,"throwIfOptionNotString");V.throwIfOptionNotString=EN;function wN(e,t,r,n){if(ac(e,t,r,n),!(0,je.isNumber)(n))throw new Qn(e,t,r,"number")}o(wN,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=wN;function vN(e,t,r,n){if(ac(e,t,r,n),!(0,je.isObject)(n))throw new Qn(e,t,r,"object")}o(vN,"throwIfOptionNotObject");V.throwIfOptionNotObject=vN;function SN(e,t){if((0,je.isUndefined)(e))throw new rt(t)}o(SN,"throwIfStateUndefined");V.throwIfStateUndefined=SN;function cc(e,t){if((0,je.isUndefinedOrNull)(e))throw new rt(t)}o(cc,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=cc;function TN(e,t){if(cc(e,t),!(0,je.isString)(e))throw new rt(t);return!0}o(TN,"throwIfStateNotString");V.throwIfStateNotString=TN;function IN(e,t){if(cc(e,t),!(0,je.isNumber)(e))throw new rt(t);return!0}o(IN,"throwIfStateNotNumber");V.throwIfStateNotNumber=IN;function PN(e,t){if(cc(e,t),!(0,je.isObject)(e))throw new rt(t);return!0}o(PN,"throwIfStateNotObject");V.throwIfStateNotObject=PN});var C_=y(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.InMemoryRedisClient=Yn.StandardRedisClient=void 0;var fh=O(),uc=N_(),mh=class e{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,uc.throwIfNotString)(t,"redisClientUrl"),(0,uc.throwIfNotString)(r,"clientAuthToken"),e.instance||(e.instance=new e(t,r,n,i)),e.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:t,body:r,method:n,requestId:i}){(0,uc.throwIfNotString)(t,"url");let s=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new fh.SystemError("Redis client failed with 401: Unauthorized"):new fh.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Yn.StandardRedisClient=mh;var yh=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,uc.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new fh.SystemError("The in-memory redis client only supports /rate-limit calls")}};Yn.InMemoryRedisClient=yh});var M_=y(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.RateLimitInboundPolicy=void 0;var AN=Rr(),RN=jt(),ON=Eo(),Ot=O(),NN=ie(),x_=Ke(),Bi=W(),L_=C_(),D_=Xe(),lc=(0,AN.debug)("zuplo:policies:RateLimitInboundPolicy"),CN="strict",xN=o(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),LN=o(async e=>({key:`ip-${xN(e)}`}),"getIP"),DN=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),UN=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),dc;function MN(e,t){let r;if(dc)return dc;if(Bi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new L_.InMemoryRedisClient,dc=r,r;let{authApiJWT:n,redisURL:i}=Bi.Environment.instance;if(!(0,D_.isString)(i))throw new Ot.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,D_.isString)(n))throw new Ot.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=L_.StandardRedisClient.initialize(i,n,Bi.Environment.instance.deploymentName??"unknown",Bi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ot.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return dc=r,r}o(MN,"getRedisClient");async function U_(e,t,r,n,i){let s=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:e}),requestId:i})}o(U_,"getCountAndUpdateExpiry");function kN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Ot.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Ot.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Ot.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new Ot.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new Ot.RuntimeError(u)}return c},"outerFunction")}o(kN,"wrapUserFunction");var HN="Retry-After",FN=o(async(e,t,r,n)=>{let i=Date.now(),s=x_.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new Ot.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[HN]=l.toString()),NN.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:kN(r,n),user:DN,ip:LN,all:UN}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=MN(n,s),T=`bucket/${Bi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??CN)==="async"){let L=await(0,RN.getPolicyCacheName)(n,r),Z=new ON.ZoneCache(L,{logger:x_.SystemLogMap.getLogger(t)}),ne=U_(T,h,_,s,t.requestId),me=await Z.get(T);if(me!==void 0&&me<=Date.now()){lc(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${T}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(g,Be)}return t.addEventListener("responseSending",Be=>{try{let w=Be,H=w.mutableResponse;w.mutableResponse=(async()=>{let xe=await ne;if(xe.count>m){let Tu=Date.now()+xe.ttlSeconds*1e3,Ew=Z.put(T,Tu,xe.ttlSeconds).catch(nf=>{throw s.error(new Ot.SystemError("Error caching rate limit result.",{cause:nf})),nf});return t.waitUntil(Ew),lc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,xe.ttlSeconds)}return H})()}catch(w){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let G=await U_(T,h,_,s,t.requestId);return G.count>m?(lc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (strict mode)`),c(g,G.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;lc(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");pc.RateLimitInboundPolicy=FN});var q_=y(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.ReadmeMetricsInboundPolicy=void 0;var qN=ve(),gh=W(),k_=Xt(),bh;function H_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(H_,"headersToNameValuePairs");function $N(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o($N,"queryToNameValueParis");function jN(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(jN,"parseIntOrUndefined");var F_={};async function VN(e,t,r,n){let i=new Date,s=Date.now();return bh||(bh={name:"zuplo",version:gh.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${gh.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,k_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,k_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:gh.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:bh,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:H_(e.headers),queryString:$N(e.query)},response:{status:a.status,statusText:a.statusText,headers:H_(a.headers),content:{size:jN(e.headers.get("content-length"))}}}]}}},d=F_[r.apiKey];if(!d){let p=r.apiKey;d=new qN.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),F_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(VN,"ReadmeMetricsInboundPolicy");hc.ReadmeMetricsInboundPolicy=VN});var $_=y(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.RemoveHeadersInboundPolicy=void 0;var GN=O(),BN=He(),KN=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new GN.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(e.headers);return i.forEach(c=>{s.delete(c)}),new BN.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");fc.RemoveHeadersInboundPolicy=KN});var j_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.RemoveHeadersOutboundPolicy=void 0;var JN=O(),zN=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new JN.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return s.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");mc.RemoveHeadersOutboundPolicy=zN});var V_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.RemoveQueryParamsInboundPolicy=void 0;var WN=O(),QN=He(),YN=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new WN.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(e.url);return i.forEach(c=>{s.searchParams.delete(c)}),new QN.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");yc.RemoveQueryParamsInboundPolicy=YN});var G_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.ReplaceStringOutboundPolicy=void 0;var ZN=o(async(e,t,r,n)=>{let i=await e.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");gc.ReplaceStringOutboundPolicy=ZN});var K_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.RequestSizeLimitInboundPolicy=void 0;var B_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),XN=o(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?B_():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?B_():e},"RequestSizeLimitInboundPolicy");bc.RequestSizeLimitInboundPolicy=XN});var _c=y(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.sanitizedIdentifierName=nt.getIdForRefSchema=nt.getIdForRequestBodySchema=nt.getIdForParameterSchema=nt.getRawOperationDataIdentifierName=void 0;function eC(e,t,r){return`_${Jr(e+"_"+t+"_"+r)}`}o(eC,"getRawOperationDataIdentifierName");nt.getRawOperationDataIdentifierName=eC;function tC(e,t,r,n){return`_${Jr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(tC,"getIdForParameterSchema");nt.getIdForParameterSchema=tC;function rC(e,t,r){return`_${Jr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Jr(r.toLowerCase())}`}o(rC,"getIdForRequestBodySchema");nt.getIdForRequestBodySchema=rC;function nC(e,t){return`_${Jr(e)}__${Jr(t)}`}o(nC,"getIdForRefSchema");nt.getIdForRefSchema=nC;function Jr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}o(Jr,"sanitizedIdentifierName");nt.sanitizedIdentifierName=Jr});var Ki=y(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.getErrorsFromValidator=De.shouldReject=De.shouldLog=De.logErrors=De.validateParameters=De.getParametersForOperation=void 0;var iC=Or(),oC=_c(),sC=o(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");De.getParametersForOperation=sC;var aC=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,oC.getIdForParameterSchema)(r,n,i,u.name),p=iC.Gateway.instance.schemaValidator[d],m=p(t[u.name]),h=(0,De.getErrorsFromValidator)(p.errors);m||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");De.validateParameters=aC;var cC=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");De.logErrors=cC;var uC=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");De.shouldLog=uC;var lC=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");De.shouldReject=lC;var dC=o(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");De.getErrorsFromValidator=dC});var J_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.handleBodyValidation=void 0;var pC=Or(),Ec=ie(),hC=_c(),ze=Ki();async function fC(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let g=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=Ec.HttpProblems.badRequest(t,e,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",g,[n],h),(0,ze.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,g=Ec.HttpProblems.badRequest(t,e,{detail:h});return(0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,ze.shouldReject)(r.validateBody)?g:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,hC.getIdForRequestBodySchema)(e.route.path,t.method,i),c=pC.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,g=Ec.HttpProblems.badRequest(t,e,{detail:h});return(0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,ze.shouldReject)(r.validateBody)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,ze.getErrorsFromValidator)(l),m=Ec.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,ze.shouldLog)(r.validateBody)&&(0,ze.logErrors)(e,r.logLevel??"info",d,[n],p),(0,ze.shouldReject)(r.validateBody))return m}o(fC,"handleBodyValidation");wc.handleBodyValidation=fC});var z_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.handleHeadersValidation=void 0;var mC=ie(),Ji=Ki();function yC(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ji.getParametersForOperation)(e),s=(0,Ji.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=mC.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Ji.shouldLog)(r.validateHeaders)&&(0,Ji.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Ji.shouldReject)(r.validateHeaders))return c}}o(yC,"handleHeadersValidation");vc.handleHeadersValidation=yC});var W_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.handlePathParameterValidation=void 0;var gC=ie(),zi=Ki();function bC(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,zi.getParametersForOperation)(e),i=(0,zi.validateParameters)(n.filter(s=>s.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=gC.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,zi.shouldLog)(r.validatePathParameters)&&(0,zi.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,zi.shouldReject)(r.validatePathParameters))return a}}o(bC,"handlePathParameterValidation");Sc.handlePathParameterValidation=bC});var Q_=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.handleQueryParameterValidation=void 0;var _C=ie(),Wi=Ki();function EC(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Wi.getParametersForOperation)(e),i=(0,Wi.validateParameters)(n.filter(s=>s.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=_C.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Wi.shouldLog)(r.validateQueryParameters)&&(0,Wi.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Wi.shouldReject)(r.validateQueryParameters))return a}}o(EC,"handleQueryParameterValidation");Tc.handleQueryParameterValidation=EC});var Y_=y(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.SchemaBasedRequestValidation=zr.RequestValidationInboundPolicy=void 0;var wC=J_(),vC=z_(),SC=W_(),TC=Q_(),IC=o(async(e,t,r)=>{let n=(0,TC.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,SC.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,vC.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,wC.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");zr.RequestValidationInboundPolicy=IC;zr.SchemaBasedRequestValidation=zr.RequestValidationInboundPolicy});var Z_=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.RequireOriginInboundPolicy=void 0;var PC=O(),AC=ie(),RC=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new PC.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=e.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return AC.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");Ic.RequireOriginInboundPolicy=RC});var X_=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.SetBodyInboundPolicy=void 0;var OC=He(),NC=o(async(e,t,r)=>new OC.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Pc.SetBodyInboundPolicy=NC});var tE=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.SetHeadersInboundPolicy=void 0;var eE=O(),CC=He(),xC=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new eE.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new eE.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new CC.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");Ac.SetHeadersInboundPolicy=xC});var nE=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.SetHeadersOutboundPolicy=void 0;var rE=O(),LC=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new rE.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new rE.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");Rc.SetHeadersOutboundPolicy=LC});var oE=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.SetQueryParamsInboundPolicy=void 0;var iE=O(),DC=He(),UC=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new iE.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new iE.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new DC.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");Oc.SetQueryParamsInboundPolicy=UC});var sE=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.SetStatusOutboundPolicy=void 0;var MC=o(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");Nc.SetStatusOutboundPolicy=MC});var aE=y(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.SleepInboundPolicy=void 0;var kC=O(),HC=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),FC=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new kC.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await HC(r.sleepInMs),e},"SleepInboundPolicy");Cc.SleepInboundPolicy=FC});var uE=y(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.SupabaseJwtInboundPolicy=void 0;var cE=O(),qC=ie(),$C=He(),jC=Rt(),VC=Vt(),GC=o(async(e,t,r,n)=>{(0,jC.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,VC.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof $C.ZuploRequest))throw new cE.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=e.user?.data.app_metadata;if(!c)throw new cE.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?qC.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");xc.SupabaseJwtInboundPolicy=GC});var dE=y(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var BC=jt(),KC=Jt(),lE=O(),JC=Sn(),zC=Rt(),WC=o(async(e,t,r,n)=>{(0,zC.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,BC.getPolicyCacheName)(n,r),s=new KC.MemoryZoneReadThroughCache(i,t),a=await s.get(n);if(!a){let c=await QC(r,t);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");Lc.UpstreamAzureAdServiceAuthInboundPolicy=WC;async function QC(e,t){let r=new URLSearchParams({client_id:e.activeDirectoryClientId,scope:`${e.activeDirectoryClientId}/.default`,client_secret:e.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,JC.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();t.log.error("Could not get token from Azure AD",s)}catch{}throw new lE.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new lE.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(QC,"getAccessToken")});var hE=y(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var YC=jt(),ZC=Jt(),XC=O(),_h=Tn(),ex=Rt(),pE="https://accounts.google.com/o/oauth2/token",Eh,tx=o(async(e,t,r,n)=>{(0,ex.optionValidator)(r,n).required("serviceAccountJson","string"),Eh||(Eh=await _h.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,YC.getPolicyCacheName)(n,r),a=new ZC.MemoryZoneReadThroughCache(s,t),c=await a.get(n);if(!c){let u=await(0,_h.getTokenFromGcpServiceAccount)({serviceAccount:Eh,audience:pE,payload:i}),l=await(0,_h.exchangeGgpJwtForIdToken)(pE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new XC.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");Dc.UpstreamFirebaseAdminAuthInboundPolicy=tx});var fE=y(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var rx=jt(),nx=Jt(),Zn=O(),ix=eh(),wh=Tn(),ox=Xt(),sx=Rt(),ax="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",cx=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],vh,ux=o(async(e,t,r,n)=>{if((0,sx.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Zn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(cx.indexOf(p)!==-1)throw new Zn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}vh||(vh=await wh.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new Zn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Zn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,ox.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Zn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,rx.getPolicyCacheName)(n,r),c=new nx.MemoryZoneReadThroughCache(a,t),u={uid:s,claims:i},l=await(0,ix.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,wh.getTokenFromGcpServiceAccount)({serviceAccount:vh,audience:ax,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,wh.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Zn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");Uc.UpstreamFirebaseUserAuthInboundPolicy=ux});var yE=y(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.UpstreamGcpJwtInboundPolicy=void 0;var mE=Tn(),lx=Rt(),Sh,dx=o(async(e,t,r,n)=>{(0,lx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Sh||(Sh=await mE.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,mE.getTokenFromGcpServiceAccount)({serviceAccount:Sh,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Mc.UpstreamGcpJwtInboundPolicy=dx});var bE=y(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.UpstreamGcpServiceAuthInboundPolicy=void 0;var px=jt(),hx=Cu(),fx=Jt(),Qi=O(),Th=Tn(),mx=Xt(),yx=Rt(),gE="https://www.googleapis.com/oauth2/v4/token",Ih,gx=o(async(e,t,r,n)=>{(0,yx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Ih||(Ih=await Th.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new Qi.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,mx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof Qi.ConfigurationError?new Qi.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,px.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new hx.MemoryCache(s):a=new fx.MemoryZoneReadThroughCache(s,t);let c=await a.get(n);if(!c){let u=await(0,Th.getTokenFromGcpServiceAccount)({serviceAccount:Ih,audience:gE,payload:i}),l=await(0,Th.exchangeGgpJwtForIdToken)(gE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new Qi.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new Qi.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamGcpServiceAuthInboundPolicy");kc.UpstreamGcpServiceAuthInboundPolicy=gx});var EE=y(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.ValidateJsonSchemaInbound=void 0;var bx=O(),_E=ie(),_x=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return _E.HttpProblems.badRequest(e,t,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return e;let{errors:a}=r.validator;if(!a)throw new bx.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return _E.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Hc.ValidateJsonSchemaInbound=_x});var wE=y(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.ServiceProviderImpl=void 0;var Ex=O(),Ph=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new Ex.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};Fc.ServiceProviderImpl=Ph});var DE=y(f=>{"use strict";var wx=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Ah=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&wx(t,e,r)},vx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.MonetizationInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.OutboundPolicy=f.InboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.RuntimeError=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=void 0;lf();var Sx=Jt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return Sx.MemoryZoneReadThroughCache}});var Tx=Eo();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return Tx.ZoneCache}});var vE=Nr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return vE.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return vE.ResponseSentEvent}});var Ix=Qd();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return Ix.ContextData}});var Rh=Mi();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return Rh.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Rh.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Rh.isZuploReadableEnvVariableName}});var SE=O();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return SE.ConfigurationError}});Object.defineProperty(f,"RuntimeError",{enumerable:!0,get:function(){return SE.RuntimeError}});var Px=Zd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return Px.originalFetch}});var TE=Hg();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return TE.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return TE.purgeGatewayCache}});var IE=tb();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return IE.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return IE.awsLambdaHandler}});var Ax=nb();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return Ax.openApiSpecHandler}});var Rx=ib();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return Rx.redirectHandler}});var Ox=sb();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return Ox.urlForwardHandler}});var Nx=cb();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return Nx.urlRewriteHandler}});var Cx=lb();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return Cx.webSocketHandler}});var xx=hb();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return xx.webSocketPipelineHandler}});var Lx=rl();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return Lx.HttpStatusCode}});Ah(wb(),f);Ah(Tb(),f);var Dx=Ib();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return Dx.AuditLogDataStaxProvider}});var Ux=Ab();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return Ux.AuditLogPlugin}});Ah(jb(),f);var PE=yi();Object.defineProperty(f,"InboundPolicy",{enumerable:!0,get:function(){return PE.InboundPolicy}});Object.defineProperty(f,"OutboundPolicy",{enumerable:!0,get:function(){return PE.OutboundPolicy}});var AE=Jb();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return AE.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return AE.AmberfloMeteringPolicy}});var Mx=Zb();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return Mx.ApiAuthKeyInboundPolicy}});var kx=nh();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return kx.ApiKeyInboundPolicy}});var Hx=Xb();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return Hx.Auth0JwtInboundPolicy}});var Fx=e_();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Fx.BasicAuthInboundPolicy}});var qx=t_();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return qx.CachingInboundPolicy}});var $x=r_();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return $x.ChangeMethodInboundPolicy}});var jx=n_();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return jx.ClearHeadersInboundPolicy}});var Vx=i_();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Vx.ClearHeadersOutboundPolicy}});var Gx=o_();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return Gx.ClerkJwtInboundPolicy}});var Bx=a_();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Bx.CognitoJwtInboundPolicy}});var Kx=u_();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return Kx.CompositeInboundPolicy}});var Jx=l_();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return Jx.CurityPhantomTokenInboundPolicy}});var zx=d_();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return zx.FirebaseJwtInboundPolicy}});var Wx=p_();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return Wx.FormDataToJsonInboundPolicy}});var Qx=h_();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Qx.GeoFilterInboundPolicy}});var Yx=f_();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return Yx.JWTScopeValidationInboundPolicy}});var Zx=E_();Object.defineProperty(f,"MonetizationInboundPolicy",{enumerable:!0,get:function(){return Zx.MonetizationInboundPolicy}});var Xx=v_();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Xx.MockApiInboundPolicy}});var RE=A_();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return RE.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return RE.setMoesifContext}});var eL=R_();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return eL.OktaJwtInboundPolicy}});var tL=Vt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return tL.OpenIdJwtInboundPolicy}});var rL=O_();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return rL.PropelAuthJwtInboundPolicy}});var OE=M_();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return OE.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return OE.RateLimitInboundPolicy}});var nL=q_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return nL.ReadmeMetricsInboundPolicy}});var iL=$_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return iL.RemoveHeadersInboundPolicy}});var oL=j_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return oL.RemoveHeadersOutboundPolicy}});var sL=V_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return sL.RemoveQueryParamsInboundPolicy}});var aL=G_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return aL.ReplaceStringOutboundPolicy}});var cL=K_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return cL.RequestSizeLimitInboundPolicy}});var NE=Y_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return NE.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return NE.SchemaBasedRequestValidation}});var uL=Z_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return uL.RequireOriginInboundPolicy}});var lL=X_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return lL.SetBodyInboundPolicy}});var dL=tE();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return dL.SetHeadersInboundPolicy}});var pL=nE();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return pL.SetHeadersOutboundPolicy}});var hL=oE();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return hL.SetQueryParamsInboundPolicy}});var fL=sE();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return fL.SetStatusOutboundPolicy}});var mL=aE();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return mL.SleepInboundPolicy}});var yL=Dp();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return yL.StripeWebhookVerificationInboundPolicy}});var gL=uE();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return gL.SupabaseJwtInboundPolicy}});var bL=dE();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return bL.UpstreamAzureAdServiceAuthInboundPolicy}});var _L=hE();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return _L.UpstreamFirebaseAdminAuthInboundPolicy}});var EL=fE();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return EL.UpstreamFirebaseUserAuthInboundPolicy}});var wL=yE();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return wL.UpstreamGcpJwtInboundPolicy}});var vL=bE();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return vL.UpstreamGcpServiceAuthInboundPolicy}});var SL=EE();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return SL.ValidateJsonSchemaInbound}});var TL=ie();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return TL.HttpProblems}});var IL=Oo();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return IL.ProblemResponseFormatter}});var PL=He();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return PL.ZuploRequest}});var AL=xr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return AL.SystemRouteName}});var CE=$d();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return CE.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return CE.Router}});var xE=Ku();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return xE.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return xE.serialize}});var RL=wE();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return RL.ServiceProviderImpl}});var LE=wl();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return LE.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return LE.SYSTEM_LOGGER}});var OL=il();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return vx(OL).default}});var NL=Ke();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return NL.SystemLogMap}});var Yi=_c();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Yi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Yi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Yi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Yi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Yi.sanitizedIdentifierName}})});var UE=y(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.BaseCryptoBeta=Xn.supportedDigests=void 0;Xn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Oh=class{static{o(this,"BaseCryptoBeta")}};Xn.BaseCryptoBeta=Oh});var ME=y(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.WorkerCryptoBeta=void 0;var Nh=UE(),CL=O(),Ch=class extends Nh.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!Nh.supportedDigests.includes(t.toLowerCase()))throw new CL.RuntimeError(`Algorithm ${t} is not supported. Try using ${Nh.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};qc.WorkerCryptoBeta=Ch});var kE=y($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.BaseKeyValueStore=void 0;var xh=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};$c.BaseKeyValueStore=xh});var FE=y(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.WorkerKeyValueStore=void 0;var HE=O(),xL=kE(),Lh=class extends xL.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new HE.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new HE.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};jc.WorkerKeyValueStore=Lh});var Mt=y(pt=>{"use strict";var LL=pt&&pt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),DL=pt&&pt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&LL(t,e,r)};Object.defineProperty(pt,"__esModule",{value:!0});pt.KeyValueStore=pt.CryptoBeta=void 0;DL(DE(),pt);var UL=ME();Object.defineProperty(pt,"CryptoBeta",{enumerable:!0,get:function(){return UL.WorkerCryptoBeta}});var ML=FE();Object.defineProperty(pt,"KeyValueStore",{enumerable:!0,get:function(){return ML.WorkerKeyValueStore}})});var VD={};fo(VD,{GraphQLComplexityLimitInboundPolicy:()=>gw,GraphQLDisableIntrospectionInboundPolicy:()=>_w});module.exports=mo(VD);var di=sf(Mt());function B(e,t){if(!!!e)throw new Error(t)}o(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}o(Ee,"isObjectLike");function Nt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(Nt,"invariant");var kL=/\r\n|[\n\r]/g;function ei(e,t){let r=0,n=1;for(let i of e.body.matchAll(kL)){if(typeof i.index=="number"||Nt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(ei,"getLocation");function Dh(e){return Vc(e.source,ei(e.source,e.start))}o(Dh,"printLocation");function Vc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
`+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new Wr.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}o(wR,"validateComputedSignature");function vR(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(vR,"parseHeader");function TR(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}o(TR,"secureCompare");async function $b(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=Vp[s[c]];return a.join("")}o($b,"computeHMACSignatureAsync");Wn.computeHMACSignatureAsync=$b;var Vp=new Array(256);for(let e=0;e<Vp.length;e++)Vp[e]=e.toString(16).padStart(2,"0")});var Mt=b(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.optionValidator=void 0;var Qn=k(),SR=st();function IR(e,t){if(!(0,SR.isObject)(e))throw new Qn.ConfigurationError(`Options on policy '${t}' is expected to be an object. Received the type '${typeof e}'.`);let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new Qn.ConfigurationError(`Value of '${String(s)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new Qn.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Qn.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Qn.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new Qn.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(IR,"optionValidator");Ua.optionValidator=IR});var Bp=b(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.StripeWebhookVerificationInboundPolicy=void 0;var PR=Pi(),AR=pe(),RR=jb(),OR=Mt(),Gp=class extends PR.InboundPolicy{static{o(this,"StripeWebhookVerificationInboundPolicy")}async handler(t,r){(0,OR.optionValidator)(this.options,this.policyName).required("signingSecret","string").optional("tolerance","number");let n=t.headers.get("stripe-signature");try{let i=await t.clone().text();await(0,RR.constructEventAsync)(i,n,this.options.signingSecret)}catch(i){return r.log.error("Error validating stripe webhook",i),AR.HttpProblems.badRequest(t,r,{title:"Webhook Error",detail:i.message})}return t}};ka.StripeWebhookVerificationInboundPolicy=Gp});var Gb=b(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.isStripeWebhookEvent=void 0;var Vb=st();function NR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,Vb.isString)(e.id)&&"type"in e&&(0,Vb.isString)(e.type)}o(NR,"isStripeWebhookEvent");Fa.isStripeWebhookEvent=NR});var Bb=b(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.MeteringPlugin=void 0;var xR=It(),Kp=class extends xR.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};Ha.MeteringPlugin=Kp});var Jb=b(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});var Kb=k(),CR={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new Kb.RuntimeError(s)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new Kb.RuntimeError(s)}return i}};Jp.default=CR});var zb=b(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.deleteConsumer=Ir.createConsumerInvite=Ir.createConsumer=void 0;var zp=k(),Wp=Ze(),Qp=oe(),Yp=Cn(),Zp="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function DR({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=Qp.Environment.instance,u=new URL(`/v1/buckets/${e}/consumers`,Zp);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,Yp.fetchRetry)({retryDelayMs:5,retries:2,logger:Wp.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),h=await p.json();if(p.status!==200){let f="Error creating API Key Consumer";throw a.log.error(f,h),new zp.RuntimeError(f)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}o(DR,"createConsumer");Ir.createConsumer=DR;async function LR({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=Qp.Environment.instance,c=new URL(`/v1/buckets/${e}/consumers`,Zp);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,Yp.fetchRetry)({retryDelayMs:5,retries:2,logger:Wp.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let h="Error creating API Key Consumer";throw s.log.error(h,p),new zp.RuntimeError(h)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:t,stripeProductId:r}),u}o(LR,"createConsumerInvite");Ir.createConsumerInvite=LR;async function MR({apiKeyBucketName:e,consumerId:t,context:r}){let{authApiJWT:n}=Qp.Environment.instance,i=new URL(`/v1/buckets/${e}/consumers/${t}`,Zp);i.searchParams.set("with-api-key","true");let s=await(0,Yp.fetchRetry)({retryDelayMs:5,retries:2,logger:Wp.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(s.status!==204){let a=await s.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new zp.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${t}`),t}o(MR,"deleteConsumer");Ir.deleteConsumer=MR});var qa=b(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.getSubscription=Ar.updateSubscription=Ar.createSubscription=void 0;var Pr=k(),Xp=Ze(),eh=oe(),th=Cn(),rh=st();async function UR({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=eh.Environment.instance;if(!(0,rh.isNonEmptyString)(l))throw new Pr.SystemError("No Zuplo JWT token set.");let p=await(0,th.fetchRetry)({retryDelayMs:5,retries:2,logger:Xp.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 h="Error creating metering subscription.",f;try{f=await p.json()}catch{f={status:p.status,statusText:p.statusText}}throw e.log.error(h,f),new Pr.RuntimeError(h)}e.log.info("Successfully created/updated metering subscription.",u)}o(UR,"createSubscription");Ar.createSubscription=UR;async function kR({context:e,meteringSubscriptionId:t,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=eh.Environment.instance;if(!(0,rh.isNonEmptyString)(i))throw new Pr.SystemError("No Zuplo JWT token set.");let a=await(0,th.fetchRetry)({retryDelayMs:5,retries:2,logger:Xp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${r}/subscriptions/${t}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw e.log.error(c,u),new Pr.RuntimeError(c)}e.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}o(kR,"updateSubscription");Ar.updateSubscription=kR;async function FR({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=eh.Environment.instance;if(!(0,rh.isNonEmptyString)(i))throw new Pr.SystemError("No Zuplo JWT token set.");let a=await(0,th.fetchRetry)({retryDelayMs:5,retries:2,logger:Xp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${t}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":e.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw e.log.error(u,l),new Pr.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 Pr.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 Pr.RuntimeError(u)}return c.data[0]}o(FR,"getSubscription");Ar.getSubscription=FR});var nh=b($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.stripeStatusToMeteringStatus=void 0;function HR(e){return e.replaceAll("_","-")}o(HR,"stripeStatusToMeteringStatus");$a.stripeStatusToMeteringStatus=HR});var Wb=b(Qi=>{"use strict";var qR=Qi&&Qi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qi,"__esModule",{value:!0});var Qr=pe(),$R=qR(Jb()),ih=zb(),jR=qa(),VR=nh();async function GR(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Qr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return t.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),Qr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Qr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=s.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,ih.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 $R.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return t.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),Qr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,ih.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:t})}if(!u)return Qr.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,VR.stripeStatusToMeteringStatus)(r.data.object.status);await(0,jR.createSubscription)({context:t,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,ih.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:t}),Qr.HttpProblems.internalServerError(e,t,{detail:l.message})}return Qr.HttpProblems.ok(e,t)}o(GR,"onCustomerSubscriptionCreated");Qi.default=GR});var Yb=b(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});var oh=pe(),Qb=qa();async function BR(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),oh.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),oh.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,Qb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,Qb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),oh.HttpProblems.ok(e,t)}o(BR,"onCustomerSubscriptionDeleted");sh.default=BR});var Zb=b(ah=>{"use strict";Object.defineProperty(ah,"__esModule",{value:!0});var Yi=pe(),ja=qa(),KR=nh();async function JR(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Yi.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Yi.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){let c=await(0,ja.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,KR.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,ja.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Yi.HttpProblems.ok(e,t)}if(a.plan&&a.plan.product!==r.data.object.plan.product){let c=await(0,ja.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,ja.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[r.data.object.plan.product]}}),Yi.HttpProblems.ok(e,t)}}return t.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Yi.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}o(JR,"onCustomerSubscriptionUpdated");ah.default=JR});var e_=b(Yn=>{"use strict";var uh=Yn&&Yn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Yn,"__esModule",{value:!0});Yn.StripeMeteringPlugin=void 0;var Va=Ki(),Ga=k(),zR=jt(),WR=Bp(),Xb=pe(),QR=ir(),YR=mn(),ZR=pl(),XR=ft(),eO=oe(),tO=Gb(),rO=Bb(),nO=uh(Wb()),iO=uh(Yb()),oO=uh(Zb()),ch=class extends rO.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(Va.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=Va.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ga.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 Ga.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!eO.Environment.instance.build.ACCOUNT_NAME)throw new Ga.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!sO(p))throw new Ga.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let h=await c.json();if(!(0,tO.isStripeWebhookEvent)(h))return Xb.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${h.type}' with ID '${h.id}'.`),h.type){case"customer.subscription.created":return await(0,nO.default)(c,u,h,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,oO.default)(c,u,h,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,iO.default)(c,u,h,{meteringBucketId:l});default:return Xb.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,YR.createInternalPolicyProcessor)({inboundPolicies:[new WR.StripeWebhookVerificationInboundPolicy({signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance},"stripe-webhook-verification")]}),s=new zR.Pipeline({processors:[QR.metricsProcessor,i],handler:n,gateway:r}),a=new XR.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:ZR.SystemRouteName.StripePlugin});t.addRoute(a,s.execute)}};Yn.StripeMeteringPlugin=ch;function sO(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}o(sO,"isMetricsRegion")});var o_=b(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.AmberfloMeteringInboundPolicy=Zn.AmberfloMeteringPolicy=void 0;var t_=k(),aO=Oe(),r_=sr(),i_=new WeakMap,n_={},lh=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){i_.set(t,r)}};Zn.AmberfloMeteringPolicy=lh;async function cO(e,t,r,n){if(!r.statusCodes)throw new t_.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,r_.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=i_.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new t_.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,r_.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)},h=n_[r.apiKey];if(!h){let f=r.apiKey,y=e.headers.get("zm-test-id")??"";h=new aO.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let I=r.url??"https://app.amberflo.io/ingest",O=await fetch(I,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":f,"zm-test-id":y}});O.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${O.status}: ${await O.text()}`)}catch(I){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${I.message}`),I}}),n_[f]=h}h.enqueue(p),t.waitUntil(h.waitUntilFlushed())}}),e}o(cO,"AmberfloMeteringInboundPolicy");Zn.AmberfloMeteringInboundPolicy=cO});var dh=b(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.sha256=void 0;async function uO(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(uO,"sha256");Ba.sha256=uO});var Wt=b(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.getPolicyCacheName=void 0;var lO=dh(),s_=new Map;async function dO(e,t){let r,n=s_.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,lO.sha256)(JSON.stringify({policyName:e,options:t}))}`,s_.set(e,r)),r}o(dO,"getPolicyCacheName");Ka.getPolicyCacheName=dO});var fh=b(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.ApiKeyInboundPolicy=void 0;var pO=Wt(),hO=er(),a_=Ki(),ph=k(),fO=Vt(),c_=Ze(),hh=oe(),mO=Cn(),u_="key-metadata-cache-type";function yO(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(yO,"getKeyValue");async function gO(e,t,r,n){if(!r.bucketName)if(a_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=a_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new ph.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 ph.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(I=>i.allowUnauthenticatedRequests?e:fO.HttpProblems.unauthorized(e,t,{detail:I}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=yO(a,i);if(!c||c==="")return s("No key present");let u=await bO(c),l=await(0,pO.getPolicyCacheName)(n,i),d=new hO.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!==u_&&c_.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let h={key:c},f=await(0,mO.fetchRetry)({retryDelayMs:5,retries:2,logger:c_.SystemLogMap.getLogger(t)},`${hh.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":hh.Environment.instance.deploymentName??"unknown","User-Agent":hh.Environment.instance.systemUserAgent},body:JSON.stringify(h)});if(f.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(f.status!==200){try{let I=await f.text(),O=JSON.parse(I);t.log.error("Unexpected response from key service",O)}catch{t.log.error("Invalid response from key service")}throw new ph.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${f.status}`)}let y=await f.json(),_={isValid:!0,typeId:u_,user:{sub:y.name,data:y.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}o(gO,"ApiKeyInboundPolicy");Ja.ApiKeyInboundPolicy=gO;async function bO(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(bO,"hashValue")});var l_=b(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.ApiAuthKeyInboundPolicy=void 0;var _O=fh();za.ApiAuthKeyInboundPolicy=_O.ApiKeyInboundPolicy});var Qt=b(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.OpenIdJwtInboundPolicy=void 0;var yh=(Qs(),Io(Ws)),gh=k(),EO=pe(),mh={},wO=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new gh.ConfigurationError("Invalid State - jwkUrl not set");mh[t.jwkUrl]||(mh[t.jwkUrl]=(0,yh.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,yh.jwtVerify)(e,mh[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),vO=o(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let s=new TextEncoder().encode(t.secret);r=new Uint8Array(s)}else r=t.secret;let{payload:n}=await(0,yh.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),TO=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(h=>EO.HttpProblems.unauthorized(e,t,{detail:h}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new gh.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new gh.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?wO:vO,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let h=i.substring(s.length);if(!h||h.length===0)return a("No bearer token on authorization header");try{return await c(h,r)}catch(f){let y=new URL(e.url);return"code"in f&&f.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${y.pathname} `,f):t.log.warn(`Invalid token on: ${e.method} ${y.pathname}`,f),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");Wa.OpenIdJwtInboundPolicy=TO});var d_=b(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.Auth0JwtInboundPolicy=void 0;var SO=Qt(),IO=o(async(e,t,r,n)=>(0,SO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Qa.Auth0JwtInboundPolicy=IO});var p_=b(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.BasicAuthInboundPolicy=void 0;var PO=pe(),AO=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>PO.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let h=d.substring(0,p),f=d.substring(p+1),y=r.accounts.find(_=>_.username===h&&_.password===f);return y||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");Ya.BasicAuthInboundPolicy=AO});var h_=b(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.CachingInboundPolicy=void 0;var RO=Wt(),OO=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function NO(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(NO,"digestMessage");var xO=o(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await NO(JSON.stringify(n)),s=new URL(e.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function CO(e,t,r,n){let i=await(0,RO.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await xO(e,r),u=await s.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let h=r?.expirationSecondsTtl??60,f=new Response(p.body,p);OO.forEach(y=>f.headers.delete(y)),f.headers.set("cache-control",`s-maxage=${h}`),t.waitUntil(s.put(c,f))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(CO,"CachingInboundPolicy");Za.CachingInboundPolicy=CO});var f_=b(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.ChangeMethodInboundPolicy=void 0;var DO=k(),LO=Be(),MO=o(async(e,t,r,n)=>{if(!r.method)throw new DO.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new LO.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Xa.ChangeMethodInboundPolicy=MO});var m_=b(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.ClearHeadersInboundPolicy=void 0;var UO=Be(),kO=o(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new UO.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");ec.ClearHeadersInboundPolicy=kO});var y_=b(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.ClearHeadersOutboundPolicy=void 0;var FO=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");tc.ClearHeadersOutboundPolicy=FO});var g_=b(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.ClerkJwtInboundPolicy=void 0;var HO=Qt(),qO=o(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,HO.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");rc.ClerkJwtInboundPolicy=qO});var __=b(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.CognitoJwtInboundPolicy=void 0;var b_=k(),$O=Qt(),jO=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new b_.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new b_.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,$O.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");nc.CognitoJwtInboundPolicy=jO});var w_=b(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.CompositeInboundPolicy=void 0;var VO=k(),GO=kr(),E_=mn(),BO=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new VO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=GO.Gateway.instance,s=(0,E_.getInboundPolicyInstances)(r.policies,i?.routeData.policies);return(0,E_.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");ic.CompositeInboundPolicy=BO});var v_=b(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.CurityPhantomTokenInboundPolicy=void 0;var KO=Wt(),JO=er(),oc=pe(),zO=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return oc.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=WO(i);if(!s)return oc.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,KO.getPolicyCacheName)(n,r),c=new JO.MemoryZoneReadThroughCache(a,t),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),oc.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):oc.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");sc.CurityPhantomTokenInboundPolicy=zO;function WO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(WO,"getToken")});var T_=b(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.FirebaseJwtInboundPolicy=void 0;var QO=Mt(),YO=Qt(),ZO=o(async(e,t,r,n)=>((0,QO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,YO.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");ac.FirebaseJwtInboundPolicy=ZO});var S_=b(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.FormDataToJsonInboundPolicy=void 0;var XO=Be(),eN=o(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=e.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new XO.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");cc.FormDataToJsonInboundPolicy=eN});var I_=b(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.GeoFilterInboundPolicy=void 0;var tN=k(),rN=pe(),Xn="__unknown__",nN=o(async(e,t,r,n)=>{let i={allow:{countries:ti(r.allow?.countries,"allow.countries",n),regionCodes:ti(r.allow?.regionCodes,"allow.regionCode",n),asns:ti(r.allow?.asns,"allow.asOrganization",n)},block:{countries:ti(r.block?.countries,"block.countries",n),regionCodes:ti(r.block?.regionCodes,"block.regionCode",n),asns:ti(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??Xn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Xn,c=t.incomingRequestProperties.asn?.toString()??Xn,u=i.ignoreUnknown&&s===Xn,l=i.ignoreUnknown&&a===Xn,d=i.ignoreUnknown&&c===Xn,p=i.allow.countries,h=i.allow.regionCodes,f=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||h.length>0&&!h.includes(a)&&!l||f.length>0&&!f.includes(c)&&!d)return ei(e,t,n,s,a,c);let y=i.block.countries,_=i.block.regionCodes,I=i.block.asns;return y.length>0&&y.includes(s)&&!u||_.length>0&&_.includes(a)&&!l||I.length>0&&I.includes(c)&&!d?ei(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");uc.GeoFilterInboundPolicy=nN;function ei(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),rN.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(ei,"blockedResponse");function ti(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 tN.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(ti,"toLowerStringArray")});var P_=b(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.JWTScopeValidationInboundPolicy=void 0;var iN=o(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");lc.JWTScopeValidationInboundPolicy=iN});var R_=b(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.MockApiInboundPolicy=void 0;var oN=pe(),sN=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return bh(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return bh(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(h=>{a.push({responseName:c,contentName:l,exampleName:h,exampleValue:d[h]})})})}),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 A_(a[c])}else return a.length>0?A_(a[0]):bh(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");dc.MockApiInboundPolicy=sN;function A_(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}o(A_,"generateResponse");var bh=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return oN.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var D_=b(ri=>{"use strict";Object.defineProperty(ri,"__esModule",{value:!0});ri.MoesifInboundPolicy=ri.setMoesifContext=void 0;var aN=k(),cN=Oe(),uN="Incoming",lN={logRequestBody:!0,logResponseBody:!0};function O_(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(O_,"headersToObject");function N_(){return new Date().toISOString()}o(N_,"timestamp");var _h=new WeakMap,dN={};function pN(e,t){let r=_h.get(e);r||(r=dN);let n=Object.assign({...r},t);_h.set(e,n)}o(pN,"setMoesifContext");ri.setMoesifContext=pN;async function x_(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o(x_,"readBody");var hN={},Eh;function C_(){if(!Eh)throw new aN.RuntimeError("Invalid State - no _lastLogger");return Eh}o(C_,"getLastLogger");function fN(e){let t=hN[e];return t||(t=new cN.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);C_().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||C_().error({status:i.status,body:await i.text()})})),t}o(fN,"getDispatcher");async function mN(e,t,r,n){Eh=t.log;let i=N_(),s=Object.assign(lN,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await x_(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=fN(s.applicationId),d=e.headers.get("true-client-ip"),p=_h.get(t)??{},h={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:O_(e.headers)},f=s.logResponseBody?await x_(c,t):void 0,y={time:N_(),status:c.status,headers:O_(c.headers),body:f},_={request:h,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:uN};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}o(mN,"MoesifInboundPolicy");ri.MoesifInboundPolicy=mN});var U_=b(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.consumeSubcriptionQuotas=ni.loadSubscription=void 0;var L_=Ze(),M_=oe();async function yN(e,t,r,n){let i=L_.SystemLogMap.getLogger(e),{authApiJWT:s,meteringServiceUrl:a}=M_.Environment.instance,c;try{let l=await fetch(`${a}/internal/v1/metering/${n}/subscriptions?customerKey=${t}`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":e.requestId},method:"GET"});if(l.ok)c=await l.json();else{let d=await l.json(),p=d.detail??d.title??"Unknown error on quota consumption.";e.log.error(`MonetizationInboundPolicy '${r}' - Error loading subscription. ${l.status} - ${p}`),i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription.${l.status} - ${p}`)}}catch(l){i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription`,l)}return c&&c.data&&c.data.length>0?c.data[0]:void 0}o(yN,"loadSubscription");ni.loadSubscription=yN;async function gN(e,t,r,n,i){let{authApiJWT:s,meteringServiceUrl:a}=M_.Environment.instance,c=L_.SystemLogMap.getLogger(e);try{let u=await fetch(`${a}/internal/v1/metering/${n}/subscriptions/${t}/quotas/consume`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":e.requestId},method:"POST",body:JSON.stringify({meters:i})});if(!u.ok){let l=await u.json(),d=l.detail??l.title??"Unknown error on quota consumption.";e.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`)}}catch(u){e.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`,u)}}o(gN,"consumeSubcriptionQuotas");ni.consumeSubcriptionQuotas=gN});var k_=b(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.parseAllowedSubscriptionStatuses=ii.validateMeters=void 0;var Yr=k(),bN=sr(),_N=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]);function EN(e,t){try{let r=[];for(let n in e)typeof e[n]!="number"&&!(Number.isInteger(e[n])&&/^-?\d+$/.test(e[n].toString()))&&r.push(n);if(r.length>0)throw new Yr.ConfigurationError(r.length>1?`The values found in these properties are not integers : ${r.join(", ")}`:`The value in property '${r[0]}' is not an integer`)}catch(r){throw r instanceof Yr.ConfigurationError?new Yr.ConfigurationError(`MonetizationInboundPolicy '${t}' - The property 'meters' is invalid. ${r.message}`):r}}o(EN,"validateMeters");ii.validateMeters=EN;function wN(e,t){if(e)try{if(e.length===0)throw new Yr.ConfigurationError("Must set valid subscription statuses");let r=(0,bN.parseValueToStringArray)(e),n=[];for(let i of r)_N.has(i)||n.push(i);if(n.length>0)throw new Yr.ConfigurationError(`Found the following invalid statuses: ${n.join(", ")}`);return e}catch(r){throw r instanceof Yr.ConfigurationError?new Yr.ConfigurationError(`MonetizationInboundPolicy '${t}' - The property 'allowedSubscriptionStatuses' is invalid. ${r.message}`):r}else return["active","incomplete","trialing"]}o(wN,"parseAllowedSubscriptionStatuses");ii.parseAllowedSubscriptionStatuses=wN});var H_=b(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.MonetizationInboundPolicy=void 0;var Zr=un(),Xr=ap(),pc=Ki(),wh=k(),vN=Pi(),en=pe(),TN=sr(),SN=Mt(),F_=U_(),hc=k_(),vh=class extends vN.InboundPolicy{static{o(this,"MonetizationInboundPolicy")}static getSubscription(t){return Xr.ContextData.get(t,Zr.METERING_SUBSCRIPTION_CONTEXT_DATA)}static setMeters(t,r){(0,hc.validateMeters)(r,"setMeters"),Xr.ContextData.set(t,Zr.DYNAMIC_METERS_CONTEXT_DATA,r)}async handler(t,r){if((0,SN.optionValidator)(this.options,this.policyName).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string"),!this.options.meterOnStatusCodes)throw new wh.ConfigurationError(`Invalid MonetizationInboundPolicy '${this.policyName}' - The property 'meterOnStatusCodes' must be an array of HTTP status code numbers`);let n=this.options.allowRequestsOverQuota??!1,i=Array.isArray(this.options.meterOnStatusCodes)?this.options.meterOnStatusCodes:(0,TN.statusCodesStringToNumberArray)(this.options.meterOnStatusCodes),s=Xr.ContextData.get(r,Zr.DYNAMIC_METERS_CONTEXT_DATA),a={...this.options.meters,...s};(0,hc.validateMeters)(a,this.policyName);let c=this.options.allowRequestsWithoutSubscription??!1,u=(0,hc.parseAllowedSubscriptionStatuses)(this.options.allowedSubscriptionStatuses,this.policyName);r.addResponseSendingFinalHook(async(_,I,O)=>{let g=Xr.ContextData.get(O,Zr.METERING_SUBSCRIPTION_CONTEXT_DATA);if((this.options.allowRequestsWithoutSubscription??!1)&&!g){O.log.debug(`MonetizationInboundPolicy '${this.policyName}' - No subscription found and property 'allowRequestsWithoutSubscription' is true`);return}if(!this.options.bucketId)if(pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new wh.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let R=Xr.ContextData.get(O,Zr.DYNAMIC_METERS_CONTEXT_DATA),K={...this.options.meters,...R};(0,hc.validateMeters)(K,this.policyName),i.includes(_.status)&&g&&K&&(O.log.debug(`MonetizationInboundPolicy '${this.policyName}' - Updating subscription '${g.id}' with meters '${JSON.stringify(K)} on response status '${_.status}'`),await(0,F_.consumeSubcriptionQuotas)(O,g.id,this.policyName,this.options.bucketId,K))});let l=t.user;if(!l)return c?t:en.HttpProblems.unauthorized(t,r,{detail:"Unable to check subscription for anonymous user"});if(!this.options.bucketId)if(pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new wh.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let{sub:d}=l,p=await(0,F_.loadSubscription)(r,d,this.policyName,this.options.bucketId);if(!p)return r.log.warn("No valid subscription found"),c?t:en.HttpProblems.unauthorized(t,r,{detail:"No valid subscription found"});if(!u.includes(p.status)&&!c)return r.log.warn(`Subscription '${p.id}' has status '${p.status}' which is not part of the allowed statuses.`),en.HttpProblems.unauthorized(t,r,{detail:"No valid subscription found"});u.includes(p.status)&&(r.log.debug(`Loading subscription '${p.id}' for user sub '${d}' to ContextData`),Xr.ContextData.set(r,Zr.METERING_SUBSCRIPTION_CONTEXT_DATA,p));let h=Xr.ContextData.get(r,Zr.METERING_SUBSCRIPTION_CONTEXT_DATA);if(!h)return c?t:(r.log.warn("Subscription is not available for user"),en.HttpProblems.paymentRequired(t,r,{detail:"Subscription is not available for user",title:"No Subscription"}));if(h&&Object.keys(h.meters).length===0)return r.log.error(`Quota is not set up for subscription '${h.id}'`),en.HttpProblems.tooManyRequests(t,r,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let y=Object.keys(a).filter(_=>!Object.keys(h.meters).includes(_));if(y.length>0)return r.log.warn(`The following policy meters are not present in the subscription: ${y.join(", ")}`),en.HttpProblems.tooManyRequests(t,r,{detail:`The following policy meters are not present in the subscription: ${y.join(", ")}`,title:"Quota Exceeded"});for(let _ of Object.keys(a))if(h.meters[_].consumed<=0&&!n)return en.HttpProblems.tooManyRequests(t,r,{detail:`Quota exceeded for meter '${_}'`,title:"Quota Exceeded"});return t}};fc.MonetizationInboundPolicy=vh});var q_=b(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.OktaJwtInboundPolicy=void 0;var IN=Qt(),PN=o(async(e,t,r,n)=>(0,IN.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");mc.OktaJwtInboundPolicy=PN});var $_=b(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.PropelAuthJwtInboundPolicy=void 0;var AN=(Qs(),Io(Ws)),RN=Qt(),Th,ON=o(async(e,t,r,n)=>{if(!Th)try{Th=await(0,AN.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,RN.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Th,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");yc.PropelAuthJwtInboundPolicy=ON});var j_=b(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.throwIfStateNotObject=Z.throwIfStateNotNumber=Z.throwIfStateNotString=Z.throwIfStateUndefinedOrNull=Z.throwIfStateUndefined=Z.throwIfOptionNotObject=Z.throwIfOptionNotNumber=Z.throwIfOptionNotString=Z.throwIfOptionUndefinedOrNull=Z.throwIfOptionUndefined=Z.OptionTypeError=Z.OptionUndefinedError=Z.throwIfNotNumber=Z.throwIfNotString=Z.throwIfUndefinedOrNull=Z.throwIfUndefined=Z.ArgumentTypeError=Z.ArgumentUndefinedError=Z.ValidationError=void 0;var We=st(),ut=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};Z.ValidationError=ut;var Zi=class extends ut{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};Z.ArgumentUndefinedError=Zi;var Xi=class extends ut{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};Z.ArgumentTypeError=Xi;function NN(e,t){if((0,We.isUndefined)(e))throw new Zi(t)}o(NN,"throwIfUndefined");Z.throwIfUndefined=NN;function Sh(e,t){if((0,We.isUndefinedOrNull)(e))throw new Zi(t)}o(Sh,"throwIfUndefinedOrNull");Z.throwIfUndefinedOrNull=Sh;function xN(e,t){if(Sh(e,t),!(0,We.isString)(e))throw new Xi(t,"string")}o(xN,"throwIfNotString");Z.throwIfNotString=xN;function CN(e,t){if(Sh(e,t),!(0,We.isNumber)(e))throw new Xi(t,"number")}o(CN,"throwIfNotNumber");Z.throwIfNotNumber=CN;var eo=class extends ut{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};Z.OptionUndefinedError=eo;var oi=class extends ut{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};Z.OptionTypeError=oi;function DN(e,t,r,n){if((0,We.isUndefined)(n))throw new eo(e,t,r)}o(DN,"throwIfOptionUndefined");Z.throwIfOptionUndefined=DN;function gc(e,t,r,n){if((0,We.isUndefinedOrNull)(n))throw new eo(e,t,r)}o(gc,"throwIfOptionUndefinedOrNull");Z.throwIfOptionUndefinedOrNull=gc;function LN(e,t,r,n){if(gc(e,t,r,n),!(0,We.isString)(n))throw new oi(e,t,r,"string")}o(LN,"throwIfOptionNotString");Z.throwIfOptionNotString=LN;function MN(e,t,r,n){if(gc(e,t,r,n),!(0,We.isNumber)(n))throw new oi(e,t,r,"number")}o(MN,"throwIfOptionNotNumber");Z.throwIfOptionNotNumber=MN;function UN(e,t,r,n){if(gc(e,t,r,n),!(0,We.isObject)(n))throw new oi(e,t,r,"object")}o(UN,"throwIfOptionNotObject");Z.throwIfOptionNotObject=UN;function kN(e,t){if((0,We.isUndefined)(e))throw new ut(t)}o(kN,"throwIfStateUndefined");Z.throwIfStateUndefined=kN;function bc(e,t){if((0,We.isUndefinedOrNull)(e))throw new ut(t)}o(bc,"throwIfStateUndefinedOrNull");Z.throwIfStateUndefinedOrNull=bc;function FN(e,t){if(bc(e,t),!(0,We.isString)(e))throw new ut(t);return!0}o(FN,"throwIfStateNotString");Z.throwIfStateNotString=FN;function HN(e,t){if(bc(e,t),!(0,We.isNumber)(e))throw new ut(t);return!0}o(HN,"throwIfStateNotNumber");Z.throwIfStateNotNumber=HN;function qN(e,t){if(bc(e,t),!(0,We.isObject)(e))throw new ut(t);return!0}o(qN,"throwIfStateNotObject");Z.throwIfStateNotObject=qN});var V_=b(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.InMemoryRedisClient=si.StandardRedisClient=void 0;var Ih=k(),_c=j_(),Ph=class e{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,_c.throwIfNotString)(t,"redisClientUrl"),(0,_c.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,_c.throwIfNotString)(t,"url");let s=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new Ih.SystemError("Redis client failed with 401: Unauthorized"):new Ih.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};si.StandardRedisClient=Ph;var Ah=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,_c.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Ih.SystemError("The in-memory redis client only supports /rate-limit calls")}};si.InMemoryRedisClient=Ah});var z_=b(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.RateLimitInboundPolicy=void 0;var $N=Ur(),jN=Wt(),VN=No(),Ut=k(),GN=pe(),G_=Ze(),to=oe(),B_=V_(),K_=st(),Ec=(0,$N.debug)("zuplo:policies:RateLimitInboundPolicy"),BN="strict",KN=o(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),JN=o(async e=>({key:`ip-${KN(e)}`}),"getIP"),zN=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),WN=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),wc;function QN(e,t){let r;if(wc)return wc;if(to.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new B_.InMemoryRedisClient,wc=r,r;let{authApiJWT:n,redisURL:i}=to.Environment.instance;if(!(0,K_.isString)(i))throw new Ut.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,K_.isString)(n))throw new Ut.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=B_.StandardRedisClient.initialize(i,n,to.Environment.instance.deploymentName??"unknown",to.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ut.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return wc=r,r}o(QN,"getRedisClient");async function J_(e,t,r,n,i){let s=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:e}),requestId:i})}o(J_,"getCountAndUpdateExpiry");function YN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Ut.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Ut.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Ut.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 Ut.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new Ut.RuntimeError(u)}return c},"outerFunction")}o(YN,"wrapUserFunction");var ZN="Retry-After",XN=o(async(e,t,r,n)=>{let i=Date.now(),s=G_.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new Ut.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[ZN]=l.toString()),GN.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:YN(r,n),user:zN,ip:JN,all:WN}[r.rateLimitBy],d=await l(e,t,n),p=d.key,h=d.requestsAllowed??r.requestsAllowed,f=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",_=QN(n,s),O=`bucket/${to.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??BN)==="async"){let R=await(0,jN.getPolicyCacheName)(n,r),K=new VN.ZoneCache(R,{logger:G_.SystemLogMap.getLogger(t)}),w=J_(O,f,_,s,t.requestId),S=await K.get(O);if(S!==void 0&&S<=Date.now()){Ec(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${O}' (async mode)`);let x=Math.round((S-Date.now())/1e3);return c(y,x)}return t.addEventListener("responseSending",x=>{try{let E=x,P=E.mutableResponse;E.mutableResponse=(async()=>{let C=await w;if(C.count>h){let H=Date.now()+C.ttlSeconds*1e3,D=K.put(O,H,C.ttlSeconds).catch(X=>{throw s.error(new Ut.SystemError("Error caching rate limit result.",{cause:X})),X});return t.waitUntil(D),Ec(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${O}' (async mode)`),c(y,C.ttlSeconds)}return P})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let v=await J_(O,f,_,s,t.requestId);return v.count>h?(Ec(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${O}' (strict mode)`),c(y,v.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Ec(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");vc.RateLimitInboundPolicy=XN});var Z_=b(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.ReadmeMetricsInboundPolicy=void 0;var ex=Oe(),Rh=oe(),W_=sr(),Oh;function Q_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(Q_,"headersToNameValuePairs");function tx(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(tx,"queryToNameValueParis");function rx(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(rx,"parseIntOrUndefined");var Y_={};async function nx(e,t,r,n){let i=new Date,s=Date.now();return Oh||(Oh={name:"zuplo",version:Rh.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Rh.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:Rh.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:Oh,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:Q_(e.headers),queryString:tx(e.query)},response:{status:a.status,statusText:a.statusText,headers:Q_(a.headers),content:{size:rx(e.headers.get("content-length"))}}}]}}},d=Y_[r.apiKey];if(!d){let p=r.apiKey;d=new ex.BatchDispatch("readme-metering-inbound-policy",10,async h=>{try{let f=r.url??"https://metrics.readme.io/request",y=await fetch(f,{method:"POST",body:JSON.stringify(h),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(f){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${f.message}'`),f}}),Y_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(nx,"ReadmeMetricsInboundPolicy");Tc.ReadmeMetricsInboundPolicy=nx});var X_=b(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.RemoveHeadersInboundPolicy=void 0;var ix=k(),ox=Be(),sx=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new ix.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(e.headers);return i.forEach(c=>{s.delete(c)}),new ox.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");Sc.RemoveHeadersInboundPolicy=sx});var eE=b(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.RemoveHeadersOutboundPolicy=void 0;var ax=k(),cx=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new ax.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return s.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Ic.RemoveHeadersOutboundPolicy=cx});var tE=b(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.RemoveQueryParamsInboundPolicy=void 0;var ux=k(),lx=Be(),dx=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new ux.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(e.url);return i.forEach(c=>{s.searchParams.delete(c)}),new lx.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");Pc.RemoveQueryParamsInboundPolicy=dx});var rE=b(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.ReplaceStringOutboundPolicy=void 0;var px=o(async(e,t,r,n)=>{let i=await e.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Ac.ReplaceStringOutboundPolicy=px});var iE=b(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.RequestSizeLimitInboundPolicy=void 0;var nE=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),hx=o(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?nE():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?nE():e},"RequestSizeLimitInboundPolicy");Rc.RequestSizeLimitInboundPolicy=hx});var Oc=b(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.sanitizedIdentifierName=lt.getIdForRefSchema=lt.getIdForRequestBodySchema=lt.getIdForParameterSchema=lt.getRawOperationDataIdentifierName=void 0;function fx(e,t,r){return`_${tn(e+"_"+t+"_"+r)}`}o(fx,"getRawOperationDataIdentifierName");lt.getRawOperationDataIdentifierName=fx;function mx(e,t,r,n){return`_${tn(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(mx,"getIdForParameterSchema");lt.getIdForParameterSchema=mx;function yx(e,t,r){return`_${tn(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${tn(r.toLowerCase())}`}o(yx,"getIdForRequestBodySchema");lt.getIdForRequestBodySchema=yx;function gx(e,t){return`_${tn(e)}__${tn(t)}`}o(gx,"getIdForRefSchema");lt.getIdForRefSchema=gx;function tn(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}o(tn,"sanitizedIdentifierName");lt.sanitizedIdentifierName=tn});var ro=b(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.getErrorsFromValidator=qe.shouldReject=qe.shouldLog=qe.logErrors=qe.validateParameters=qe.getParametersForOperation=void 0;var bx=kr(),_x=Oc(),Ex=o(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");qe.getParametersForOperation=Ex;var wx=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,_x.getIdForParameterSchema)(r,n,i,u.name),p=bx.Gateway.instance.schemaValidator[d],h=p(t[u.name]),f=(0,qe.getErrorsFromValidator)(p.errors);h||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${f.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");qe.validateParameters=wx;var vx=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");qe.logErrors=vx;var Tx=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");qe.shouldLog=Tx;var Sx=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");qe.shouldReject=Sx;var Ix=o(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");qe.getErrorsFromValidator=Ix});var oE=b(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.handleBodyValidation=void 0;var Px=kr(),Nc=pe(),Ax=Oc(),et=ro();async function Rx(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(f){let y=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=Nc.HttpProblems.badRequest(t,e,{detail:`${y}, see errors property for more details`,errors:`${f}`});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(e,r.logLevel??"info",y,[n],f),(0,et.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let f=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,y=Nc.HttpProblems.badRequest(t,e,{detail:f});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(e,r.logLevel??"info",f,[n],[f]),(0,et.shouldReject)(r.validateBody)?y:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,Ax.getIdForRequestBodySchema)(e.route.path,t.method,i),c=Px.Gateway.instance.schemaValidator[a];if(!c){let f=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,y=Nc.HttpProblems.badRequest(t,e,{detail:f});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(e,r.logLevel??"info",f,[n],[f]),(0,et.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,et.getErrorsFromValidator)(l),h=Nc.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(e,r.logLevel??"info",d,[n],p),(0,et.shouldReject)(r.validateBody))return h}o(Rx,"handleBodyValidation");xc.handleBodyValidation=Rx});var sE=b(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.handleHeadersValidation=void 0;var Ox=pe(),no=ro();function Nx(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,no.getParametersForOperation)(e),s=(0,no.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=Ox.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,no.shouldLog)(r.validateHeaders)&&(0,no.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,no.shouldReject)(r.validateHeaders))return c}}o(Nx,"handleHeadersValidation");Cc.handleHeadersValidation=Nx});var aE=b(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.handlePathParameterValidation=void 0;var xx=pe(),io=ro();function Cx(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,io.getParametersForOperation)(e),i=(0,io.validateParameters)(n.filter(s=>s.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=xx.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,io.shouldLog)(r.validatePathParameters)&&(0,io.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,io.shouldReject)(r.validatePathParameters))return a}}o(Cx,"handlePathParameterValidation");Dc.handlePathParameterValidation=Cx});var cE=b(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.handleQueryParameterValidation=void 0;var Dx=pe(),oo=ro();function Lx(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,oo.getParametersForOperation)(e),i=(0,oo.validateParameters)(n.filter(s=>s.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=Dx.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,oo.shouldLog)(r.validateQueryParameters)&&(0,oo.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,oo.shouldReject)(r.validateQueryParameters))return a}}o(Lx,"handleQueryParameterValidation");Lc.handleQueryParameterValidation=Lx});var uE=b(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.SchemaBasedRequestValidation=rn.RequestValidationInboundPolicy=void 0;var Mx=oE(),Ux=sE(),kx=aE(),Fx=cE(),Hx=o(async(e,t,r)=>{let n=(0,Fx.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,kx.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,Ux.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,Mx.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");rn.RequestValidationInboundPolicy=Hx;rn.SchemaBasedRequestValidation=rn.RequestValidationInboundPolicy});var lE=b(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.RequireOriginInboundPolicy=void 0;var qx=k(),$x=pe(),jx=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new qx.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=e.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return $x.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");Mc.RequireOriginInboundPolicy=jx});var dE=b(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.SetBodyInboundPolicy=void 0;var Vx=Be(),Gx=o(async(e,t,r)=>new Vx.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Uc.SetBodyInboundPolicy=Gx});var hE=b(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.SetHeadersInboundPolicy=void 0;var pE=k(),Bx=Be(),Kx=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new pE.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new pE.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new Bx.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");kc.SetHeadersInboundPolicy=Kx});var mE=b(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.SetHeadersOutboundPolicy=void 0;var fE=k(),Jx=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new fE.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new fE.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");Fc.SetHeadersOutboundPolicy=Jx});var gE=b(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.SetQueryParamsInboundPolicy=void 0;var yE=k(),zx=Be(),Wx=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new yE.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new yE.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new zx.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");Hc.SetQueryParamsInboundPolicy=Wx});var bE=b(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.SetStatusOutboundPolicy=void 0;var Qx=o(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");qc.SetStatusOutboundPolicy=Qx});var _E=b($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.SleepInboundPolicy=void 0;var Yx=k(),Zx=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),Xx=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new Yx.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await Zx(r.sleepInMs),e},"SleepInboundPolicy");$c.SleepInboundPolicy=Xx});var wE=b(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.SupabaseJwtInboundPolicy=void 0;var EE=k(),eC=pe(),tC=Be(),rC=Mt(),nC=Qt(),iC=o(async(e,t,r,n)=>{(0,rC.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,nC.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof tC.ZuploRequest))throw new EE.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=e.user?.data.app_metadata;if(!c)throw new EE.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?eC.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");jc.SupabaseJwtInboundPolicy=iC});var TE=b(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var oC=Wt(),sC=er(),vE=k(),aC=Cn(),cC=Mt(),uC=o(async(e,t,r,n)=>{(0,cC.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,oC.getPolicyCacheName)(n,r),s=new sC.MemoryZoneReadThroughCache(i,t),a=await s.get(n);if(!a){let c=await lC(r,t);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");Vc.UpstreamAzureAdServiceAuthInboundPolicy=uC;async function lC(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,aC.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();t.log.error("Could not get token from Azure AD",s)}catch{}throw new vE.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 vE.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(lC,"getAccessToken")});var IE=b(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var dC=Wt(),pC=er(),hC=k(),Nh=Dn(),fC=Mt(),SE="https://accounts.google.com/o/oauth2/token",xh,mC=o(async(e,t,r,n)=>{(0,fC.optionValidator)(r,n).required("serviceAccountJson","string"),xh||(xh=await Nh.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,dC.getPolicyCacheName)(n,r),a=new pC.MemoryZoneReadThroughCache(s,t),c=await a.get(n);if(!c){let u=await(0,Nh.getTokenFromGcpServiceAccount)({serviceAccount:xh,audience:SE,payload:i}),l=await(0,Nh.exchangeGgpJwtForIdToken)(SE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new hC.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");Gc.UpstreamFirebaseAdminAuthInboundPolicy=mC});var PE=b(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var yC=Wt(),gC=er(),ai=k(),bC=dh(),Ch=Dn(),_C=sr(),EC=Mt(),wC="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",vC=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Dh,TC=o(async(e,t,r,n)=>{if((0,EC.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new ai.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(vC.indexOf(p)!==-1)throw new ai.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Dh||(Dh=await Ch.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new ai.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new ai.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,_C.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new ai.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,yC.getPolicyCacheName)(n,r),c=new gC.MemoryZoneReadThroughCache(a,t),u={uid:s,claims:i},l=await(0,bC.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Ch.getTokenFromGcpServiceAccount)({serviceAccount:Dh,audience:wC,payload:u}),h=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,f=await(0,Ch.exchangeFirebaseJwtForIdToken)(h,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!f.idToken)throw new ai.RuntimeError("Invalid token response from Firebase");d=f.idToken,c.put(l,d,(f.expiresIn?parseInt(f.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");Bc.UpstreamFirebaseUserAuthInboundPolicy=TC});var RE=b(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.UpstreamGcpJwtInboundPolicy=void 0;var AE=Dn(),SC=Mt(),Lh,IC=o(async(e,t,r,n)=>{(0,SC.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Lh||(Lh=await AE.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,AE.getTokenFromGcpServiceAccount)({serviceAccount:Lh,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Kc.UpstreamGcpJwtInboundPolicy=IC});var NE=b(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.UpstreamGcpServiceAuthInboundPolicy=void 0;var PC=Wt(),AC=ju(),RC=er(),so=k(),Mh=Dn(),OC=sr(),NC=Mt(),OE="https://www.googleapis.com/oauth2/v4/token",Uh,xC=o(async(e,t,r,n)=>{(0,NC.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Uh||(Uh=await Mh.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new so.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,OC.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof so.ConfigurationError?new so.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,PC.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new AC.MemoryCache(s):a=new RC.MemoryZoneReadThroughCache(s,t);let c=await a.get(n);if(!c){let u=await(0,Mh.getTokenFromGcpServiceAccount)({serviceAccount:Uh,audience:OE,payload:i}),l=await(0,Mh.exchangeGgpJwtForIdToken)(OE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new so.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new so.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");Jc.UpstreamGcpServiceAuthInboundPolicy=xC});var CE=b(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.ValidateJsonSchemaInbound=void 0;var CC=k(),xE=pe(),DC=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return xE.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 CC.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 xE.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");zc.ValidateJsonSchemaInbound=DC});var LE=b((KK,DE)=>{"use strict";var LC=Object.defineProperty,J=o((e,t)=>LC(e,"name",{value:t,configurable:!0}),"u"),Rr=o((e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),"E"),MC=Rr(e=>{var t={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(n,i){return i},attributeValueProcessor:function(n,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(n,i,s){return n}},r=J(function(n){return Object.assign({},t,n)},"buildOptions");e.buildOptions=r,e.defaultOptions=t}),kh=Rr(e=>{"use strict";var t=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r=t+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",n="["+t+"]["+r+"]*",i=new RegExp("^"+n+"$"),s=J(function(c,u){let l=[],d=u.exec(c);for(;d;){let p=[];p.startIndex=u.lastIndex-d[0].length;let h=d.length;for(let f=0;f<h;f++)p.push(d[f]);l.push(p),d=u.exec(c)}return l},"getAllMatches"),a=J(function(c){let u=i.exec(c);return!(u===null||typeof u>"u")},"isName");e.isExist=function(c){return typeof c<"u"},e.isEmptyObject=function(c){return Object.keys(c).length===0},e.merge=function(c,u,l){if(u){let d=Object.keys(u),p=d.length;for(let h=0;h<p;h++)l==="strict"?c[d[h]]=[u[d[h]]]:c[d[h]]=u[d[h]]}},e.getValue=function(c){return e.isExist(c)?c:""},e.isName=a,e.getAllMatches=s,e.nameRegexp=n}),UC=Rr((e,t)=>{"use strict";var r=class{static{o(this,"P")}static{J(this,"XmlNode")}constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,i){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:i})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,":@":n[":@"]}):this.child.push({[n.tagname]:n.child})}};t.exports=r}),kC=Rr((e,t)=>{var r=kh();function n(p,h){let f={};if(p[h+3]==="O"&&p[h+4]==="C"&&p[h+5]==="T"&&p[h+6]==="Y"&&p[h+7]==="P"&&p[h+8]==="E"){h=h+9;let y=1,_=!1,I=!1,O="";for(;h<p.length;h++)if(p[h]==="<"&&!I){if(_&&a(p,h))h+=7,[entityName,val,h]=i(p,h+1),val.indexOf("&")===-1&&(f[d(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(_&&c(p,h))h+=8;else if(_&&u(p,h))h+=8;else if(_&&l(p,h))h+=9;else if(s)I=!0;else throw new Error("Invalid DOCTYPE");y++,O=""}else if(p[h]===">"){if(I?p[h-1]==="-"&&p[h-2]==="-"&&(I=!1,y--):y--,y===0)break}else p[h]==="["?_=!0:O+=p[h];if(y!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:f,i:h}}o(n,"ue"),J(n,"readDocType");function i(p,h){let f="";for(;h<p.length&&p[h]!=="'"&&p[h]!=='"';h++)f+=p[h];if(f=f.trim(),f.indexOf(" ")!==-1)throw new Error("External entites are not supported");let y=p[h++],_="";for(;h<p.length&&p[h]!==y;h++)_+=p[h];return[f,_,h]}o(i,"le"),J(i,"readEntityExp");function s(p,h){return p[h+1]==="!"&&p[h+2]==="-"&&p[h+3]==="-"}o(s,"ce"),J(s,"isComment");function a(p,h){return p[h+1]==="!"&&p[h+2]==="E"&&p[h+3]==="N"&&p[h+4]==="T"&&p[h+5]==="I"&&p[h+6]==="T"&&p[h+7]==="Y"}o(a,"de"),J(a,"isEntity");function c(p,h){return p[h+1]==="!"&&p[h+2]==="E"&&p[h+3]==="L"&&p[h+4]==="E"&&p[h+5]==="M"&&p[h+6]==="E"&&p[h+7]==="N"&&p[h+8]==="T"}o(c,"ge"),J(c,"isElement");function u(p,h){return p[h+1]==="!"&&p[h+2]==="A"&&p[h+3]==="T"&&p[h+4]==="T"&&p[h+5]==="L"&&p[h+6]==="I"&&p[h+7]==="S"&&p[h+8]==="T"}o(u,"ae"),J(u,"isAttlist");function l(p,h){return p[h+1]==="!"&&p[h+2]==="N"&&p[h+3]==="O"&&p[h+4]==="T"&&p[h+5]==="A"&&p[h+6]==="T"&&p[h+7]==="I"&&p[h+8]==="O"&&p[h+9]==="N"}o(l,"he"),J(l,"isNotation");function d(p){if(r.isName(p))return p;throw new Error(`Invalid entity name ${p}`)}o(d,"pe"),J(d,"validateEntityName"),t.exports=n}),FC=Rr((e,t)=>{var r=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function s(c,u={}){if(u=Object.assign({},i,u),!c||typeof c!="string")return c;let l=c.trim();if(u.skipLike!==void 0&&u.skipLike.test(l))return c;if(u.hex&&r.test(l))return Number.parseInt(l,16);{let d=n.exec(l);if(d){let p=d[1],h=d[2],f=a(d[3]),y=d[4]||d[6];if(!u.leadingZeros&&h.length>0&&p&&l[2]!=="."||!u.leadingZeros&&h.length>0&&!p&&l[1]!==".")return c;{let _=Number(l),I=""+_;return I.search(/[eE]/)!==-1||y?u.eNotation?_:c:l.indexOf(".")!==-1?I==="0"&&f===""||I===f||p&&I==="-"+f?_:c:h?f===I||p+f===I?_:c:l===I||l===p+I?_:c}}else return c}}o(s,"Te"),J(s,"toNumber");function a(c){return c&&c.indexOf(".")!==-1&&(c=c.replace(/0+$/,""),c==="."?c="0":c[0]==="."?c="0"+c:c[c.length-1]==="."&&(c=c.substr(0,c.length-1))),c}o(a,"ye"),J(a,"trimZeros"),t.exports=s}),HC=Rr((e,t)=>{"use strict";var r=kh(),n=UC(),i=kC(),s=FC(),a=class{static{o(this,"C")}static{J(this,"OrderedObjParser")}constructor(w){this.options=w,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=c,this.parseXml=h,this.parseTextData=u,this.resolveNameSpace=l,this.buildAttributesMap=p,this.isItStopNode=I,this.replaceEntitiesValue=y,this.readStopNodeData=R,this.saveTextToParentTag=_,this.addChild=f}};function c(w){let S=Object.keys(w);for(let x=0;x<S.length;x++){let E=S[x];this.lastEntities[E]={regex:new RegExp("&"+E+";","g"),val:w[E]}}}o(c,"Oe"),J(c,"addExternalEntities");function u(w,S,x,E,P,C,H){if(w!==void 0&&(this.options.trimValues&&!E&&(w=w.trim()),w.length>0)){H||(w=this.replaceEntitiesValue(w));let D=this.options.tagValueProcessor(S,w,x,P,C);return D==null?w:typeof D!=typeof w||D!==w?D:this.options.trimValues?K(w,this.options.parseTagValue,this.options.numberParseOptions):w.trim()===w?K(w,this.options.parseTagValue,this.options.numberParseOptions):w}}o(u,"Ae"),J(u,"parseTextData");function l(w){if(this.options.removeNSPrefix){let S=w.split(":"),x=w.charAt(0)==="/"?"/":"";if(S[0]==="xmlns")return"";S.length===2&&(w=x+S[1])}return w}o(l,"ve"),J(l,"resolveNameSpace");var d=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function p(w,S,x){if(!this.options.ignoreAttributes&&typeof w=="string"){let E=r.getAllMatches(w,d),P=E.length,C={};for(let H=0;H<P;H++){let D=this.resolveNameSpace(E[H][1]),X=E[H][4],ie=this.options.attributeNamePrefix+D;if(D.length)if(this.options.transformAttributeName&&(ie=this.options.transformAttributeName(ie)),ie==="__proto__"&&(ie="#__proto__"),X!==void 0){this.options.trimValues&&(X=X.trim()),X=this.replaceEntitiesValue(X);let Ge=this.options.attributeValueProcessor(D,X,S);Ge==null?C[ie]=X:typeof Ge!=typeof X||Ge!==X?C[ie]=Ge:C[ie]=K(X,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(C[ie]=!0)}if(!Object.keys(C).length)return;if(this.options.attributesGroupName){let H={};return H[this.options.attributesGroupName]=C,H}return C}}o(p,"Ce"),J(p,"buildAttributesMap");var h=J(function(w){w=w.replace(/\r\n?/g,`
|
|
75
|
+
`);let S=new n("!xml"),x=S,E="",P="";for(let C=0;C<w.length;C++)if(w[C]==="<")if(w[C+1]==="/"){let H=g(w,">",C,"Closing Tag is not closed."),D=w.substring(C+2,H).trim();if(this.options.removeNSPrefix){let Ge=D.indexOf(":");Ge!==-1&&(D=D.substr(Ge+1))}this.options.transformTagName&&(D=this.options.transformTagName(D)),x&&(E=this.saveTextToParentTag(E,x,P));let X=P.substring(P.lastIndexOf(".")+1);if(D&&this.options.unpairedTags.indexOf(D)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${D}>`);let ie=0;X&&this.options.unpairedTags.indexOf(X)!==-1?(ie=P.lastIndexOf(".",P.lastIndexOf(".")-1),this.tagsNodeStack.pop()):ie=P.lastIndexOf("."),P=P.substring(0,ie),x=this.tagsNodeStack.pop(),E="",C=H}else if(w[C+1]==="?"){let H=v(w,C,!1,"?>");if(!H)throw new Error("Pi Tag is not closed.");if(E=this.saveTextToParentTag(E,x,P),!(this.options.ignoreDeclaration&&H.tagName==="?xml"||this.options.ignorePiTags)){let D=new n(H.tagName);D.add(this.options.textNodeName,""),H.tagName!==H.tagExp&&H.attrExpPresent&&(D[":@"]=this.buildAttributesMap(H.tagExp,P,H.tagName)),this.addChild(x,D,P)}C=H.closeIndex+1}else if(w.substr(C+1,3)==="!--"){let H=g(w,"-->",C+4,"Comment is not closed.");if(this.options.commentPropName){let D=w.substring(C+4,H-2);E=this.saveTextToParentTag(E,x,P),x.add(this.options.commentPropName,[{[this.options.textNodeName]:D}])}C=H}else if(w.substr(C+1,2)==="!D"){let H=i(w,C);this.docTypeEntities=H.entities,C=H.i}else if(w.substr(C+1,2)==="!["){let H=g(w,"]]>",C,"CDATA is not closed.")-2,D=w.substring(C+9,H);E=this.saveTextToParentTag(E,x,P);let X=this.parseTextData(D,x.tagname,P,!0,!1,!0,!0);X==null&&(X=""),this.options.cdataPropName?x.add(this.options.cdataPropName,[{[this.options.textNodeName]:D}]):x.add(this.options.textNodeName,X),C=H+2}else{let H=v(w,C,this.options.removeNSPrefix),D=H.tagName,X=H.rawTagName,ie=H.tagExp,Ge=H.attrExpPresent,cn=H.closeIndex;this.options.transformTagName&&(D=this.options.transformTagName(D)),x&&E&&x.tagname!=="!xml"&&(E=this.saveTextToParentTag(E,x,P,!1));let yf=x;if(yf&&this.options.unpairedTags.indexOf(yf.tagname)!==-1&&(x=this.tagsNodeStack.pop(),P=P.substring(0,P.lastIndexOf("."))),D!==S.tagname&&(P+=P?"."+D:D),this.isItStopNode(this.options.stopNodes,P,D)){let ot="";if(ie.length>0&&ie.lastIndexOf("/")===ie.length-1)C=H.closeIndex;else if(this.options.unpairedTags.indexOf(D)!==-1)C=H.closeIndex;else{let Mu=this.readStopNodeData(w,X,cn+1);if(!Mu)throw new Error(`Unexpected end of ${X}`);C=Mu.i,ot=Mu.tagContent}let Lu=new n(D);D!==ie&&Ge&&(Lu[":@"]=this.buildAttributesMap(ie,P,D)),ot&&(ot=this.parseTextData(ot,D,P,!0,Ge,!0,!0)),P=P.substr(0,P.lastIndexOf(".")),Lu.add(this.options.textNodeName,ot),this.addChild(x,Lu,P)}else{if(ie.length>0&&ie.lastIndexOf("/")===ie.length-1){D[D.length-1]==="/"?(D=D.substr(0,D.length-1),P=P.substr(0,P.length-1),ie=D):ie=ie.substr(0,ie.length-1),this.options.transformTagName&&(D=this.options.transformTagName(D));let ot=new n(D);D!==ie&&Ge&&(ot[":@"]=this.buildAttributesMap(ie,P,D)),this.addChild(x,ot,P),P=P.substr(0,P.lastIndexOf("."))}else{let ot=new n(D);this.tagsNodeStack.push(x),D!==ie&&Ge&&(ot[":@"]=this.buildAttributesMap(ie,P,D)),this.addChild(x,ot,P),x=ot}E="",C=cn}}else E+=w[C];return S.child},"parseXml");function f(w,S,x){let E=this.options.updateTag(S.tagname,x,S[":@"]);E===!1||(typeof E=="string"&&(S.tagname=E),w.addChild(S))}o(f,"Fe"),J(f,"addChild");var y=J(function(w){if(this.options.processEntities){for(let S in this.docTypeEntities){let x=this.docTypeEntities[S];w=w.replace(x.regx,x.val)}for(let S in this.lastEntities){let x=this.lastEntities[S];w=w.replace(x.regex,x.val)}if(this.options.htmlEntities)for(let S in this.htmlEntities){let x=this.htmlEntities[S];w=w.replace(x.regex,x.val)}w=w.replace(this.ampEntity.regex,this.ampEntity.val)}return w},"replaceEntitiesValue");function _(w,S,x,E){return w&&(E===void 0&&(E=Object.keys(S.child).length===0),w=this.parseTextData(w,S.tagname,x,!1,S[":@"]?Object.keys(S[":@"]).length!==0:!1,E),w!==void 0&&w!==""&&S.add(this.options.textNodeName,w),w=""),w}o(_,"_e"),J(_,"saveTextToParentTag");function I(w,S,x){let E="*."+x;for(let P in w){let C=w[P];if(E===C||S===C)return!0}return!1}o(I,"Ve"),J(I,"isItStopNode");function O(w,S,x=">"){let E,P="";for(let C=S;C<w.length;C++){let H=w[C];if(E)H===E&&(E="");else if(H==='"'||H==="'")E=H;else if(H===x[0])if(x[1]){if(w[C+1]===x[1])return{data:P,index:C}}else return{data:P,index:C};else H===" "&&(H=" ");P+=H}}o(O,"me"),J(O,"tagExpWithClosingIndex");function g(w,S,x,E){let P=w.indexOf(S,x);if(P===-1)throw new Error(E);return P+S.length-1}o(g,"T"),J(g,"findClosingIndex");function v(w,S,x,E=">"){let P=O(w,S+1,E);if(!P)return;let C=P.data,H=P.index,D=C.search(/\s/),X=C,ie=!0;D!==-1&&(X=C.substring(0,D),C=C.substring(D+1).trimStart());let Ge=X;if(x){let cn=X.indexOf(":");cn!==-1&&(X=X.substr(cn+1),ie=X!==P.data.substr(cn+1))}return{tagName:X,tagExp:C,closeIndex:H,attrExpPresent:ie,rawTagName:Ge}}o(v,"k"),J(v,"readTagExp");function R(w,S,x){let E=x,P=1;for(;x<w.length;x++)if(w[x]==="<")if(w[x+1]==="/"){let C=g(w,">",x,`${S} is not closed`);if(w.substring(x+2,C).trim()===S&&(P--,P===0))return{tagContent:w.substring(E,x),i:C};x=C}else if(w[x+1]==="?")x=g(w,"?>",x+1,"StopNode is not closed.");else if(w.substr(x+1,3)==="!--")x=g(w,"-->",x+3,"StopNode is not closed.");else if(w.substr(x+1,2)==="![")x=g(w,"]]>",x,"StopNode is not closed.")-2;else{let C=v(w,x,">");C&&((C&&C.tagName)===S&&C.tagExp[C.tagExp.length-1]!=="/"&&P++,x=C.closeIndex)}}o(R,"je"),J(R,"readStopNodeData");function K(w,S,x){if(S&&typeof w=="string"){let E=w.trim();return E==="true"?!0:E==="false"?!1:s(w,x)}else return r.isExist(w)?w:""}o(K,"F"),J(K,"parseValue"),t.exports=a}),qC=Rr(e=>{"use strict";function t(a,c){return r(a,c)}o(t,"qe"),J(t,"prettify");function r(a,c,u){let l,d={};for(let p=0;p<a.length;p++){let h=a[p],f=n(h),y="";if(u===void 0?y=f:y=u+"."+f,f===c.textNodeName)l===void 0?l=h[f]:l+=""+h[f];else{if(f===void 0)continue;if(h[f]){let _=r(h[f],c,y),I=s(_,c);h[":@"]?i(_,h[":@"],y,c):Object.keys(_).length===1&&_[c.textNodeName]!==void 0&&!c.alwaysCreateTextNode?_=_[c.textNodeName]:Object.keys(_).length===0&&(c.alwaysCreateTextNode?_[c.textNodeName]="":_=""),d[f]!==void 0&&d.hasOwnProperty(f)?(Array.isArray(d[f])||(d[f]=[d[f]]),d[f].push(_)):c.isArray(f,y,I)?d[f]=[_]:d[f]=_}}}return typeof l=="string"?l.length>0&&(d[c.textNodeName]=l):l!==void 0&&(d[c.textNodeName]=l),d}o(r,"G"),J(r,"compress");function n(a){let c=Object.keys(a);for(let u=0;u<c.length;u++){let l=c[u];if(l!==":@")return l}}o(n,"Re"),J(n,"propName");function i(a,c,u,l){if(c){let d=Object.keys(c),p=d.length;for(let h=0;h<p;h++){let f=d[h];l.isArray(f,u+"."+f,!0,!0)?a[f]=[c[f]]:a[f]=c[f]}}}o(i,"$e"),J(i,"assignAttributes");function s(a,c){let{textNodeName:u}=c,l=Object.keys(a).length;return!!(l===0||l===1&&(a[u]||typeof a[u]=="boolean"||a[u]===0))}o(s,"Be"),J(s,"isLeafTag"),e.prettify=t}),$C=Rr(e=>{"use strict";var t=kh(),r={allowBooleanAttributes:!1,unpairedTags:[]};e.validate=function(g,v){v=Object.assign({},r,v);let R=[],K=!1,w=!1;g[0]==="\uFEFF"&&(g=g.substr(1));for(let S=0;S<g.length;S++)if(g[S]==="<"&&g[S+1]==="?"){if(S+=2,S=i(g,S),S.err)return S}else if(g[S]==="<"){let x=S;if(S++,g[S]==="!"){S=s(g,S);continue}else{let E=!1;g[S]==="/"&&(E=!0,S++);let P="";for(;S<g.length&&g[S]!==">"&&g[S]!==" "&&g[S]!==" "&&g[S]!==`
|
|
76
|
+
`&&g[S]!=="\r";S++)P+=g[S];if(P=P.trim(),P[P.length-1]==="/"&&(P=P.substring(0,P.length-1),S--),!_(P)){let D;return P.trim().length===0?D="Invalid space after '<'.":D="Tag '"+P+"' is an invalid name.",f("InvalidTag",D,I(g,S))}let C=u(g,S);if(C===!1)return f("InvalidAttr","Attributes for '"+P+"' have open quote.",I(g,S));let H=C.value;if(S=C.index,H[H.length-1]==="/"){let D=S-H.length;H=H.substring(0,H.length-1);let X=d(H,v);if(X===!0)K=!0;else return f(X.err.code,X.err.msg,I(g,D+X.err.line))}else if(E)if(C.tagClosed){if(H.trim().length>0)return f("InvalidTag","Closing tag '"+P+"' can't have attributes or invalid starting.",I(g,x));{let D=R.pop();if(P!==D.tagName){let X=I(g,D.tagStartPos);return f("InvalidTag","Expected closing tag '"+D.tagName+"' (opened in line "+X.line+", col "+X.col+") instead of closing tag '"+P+"'.",I(g,x))}R.length==0&&(w=!0)}}else return f("InvalidTag","Closing tag '"+P+"' doesn't have proper closing.",I(g,S));else{let D=d(H,v);if(D!==!0)return f(D.err.code,D.err.msg,I(g,S-H.length+D.err.line));if(w===!0)return f("InvalidXml","Multiple possible root nodes found.",I(g,S));v.unpairedTags.indexOf(P)!==-1||R.push({tagName:P,tagStartPos:x}),K=!0}for(S++;S<g.length;S++)if(g[S]==="<")if(g[S+1]==="!"){S++,S=s(g,S);continue}else if(g[S+1]==="?"){if(S=i(g,++S),S.err)return S}else break;else if(g[S]==="&"){let D=h(g,S);if(D==-1)return f("InvalidChar","char '&' is not expected.",I(g,S));S=D}else if(w===!0&&!n(g[S]))return f("InvalidXml","Extra text at the end",I(g,S));g[S]==="<"&&S--}}else{if(n(g[S]))continue;return f("InvalidChar","char '"+g[S]+"' is not expected.",I(g,S))}if(K){if(R.length==1)return f("InvalidTag","Unclosed tag '"+R[0].tagName+"'.",I(g,R[0].tagStartPos));if(R.length>0)return f("InvalidXml","Invalid '"+JSON.stringify(R.map(S=>S.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return f("InvalidXml","Start tag expected.",1);return!0};function n(g){return g===" "||g===" "||g===`
|
|
77
|
+
`||g==="\r"}o(n,"W"),J(n,"isWhiteSpace");function i(g,v){let R=v;for(;v<g.length;v++)if(g[v]=="?"||g[v]==" "){let K=g.substr(R,v-R);if(v>5&&K==="xml")return f("InvalidXml","XML declaration allowed only at the start of the document.",I(g,v));if(g[v]=="?"&&g[v+1]==">"){v++;break}else continue}return v}o(i,"z"),J(i,"readPI");function s(g,v){if(g.length>v+5&&g[v+1]==="-"&&g[v+2]==="-"){for(v+=3;v<g.length;v++)if(g[v]==="-"&&g[v+1]==="-"&&g[v+2]===">"){v+=2;break}}else if(g.length>v+8&&g[v+1]==="D"&&g[v+2]==="O"&&g[v+3]==="C"&&g[v+4]==="T"&&g[v+5]==="Y"&&g[v+6]==="P"&&g[v+7]==="E"){let R=1;for(v+=8;v<g.length;v++)if(g[v]==="<")R++;else if(g[v]===">"&&(R--,R===0))break}else if(g.length>v+9&&g[v+1]==="["&&g[v+2]==="C"&&g[v+3]==="D"&&g[v+4]==="A"&&g[v+5]==="T"&&g[v+6]==="A"&&g[v+7]==="["){for(v+=8;v<g.length;v++)if(g[v]==="]"&&g[v+1]==="]"&&g[v+2]===">"){v+=2;break}}return v}o(s,"K"),J(s,"readCommentAndCDATA");var a='"',c="'";function u(g,v){let R="",K="",w=!1;for(;v<g.length;v++){if(g[v]===a||g[v]===c)K===""?K=g[v]:K!==g[v]||(K="");else if(g[v]===">"&&K===""){w=!0;break}R+=g[v]}return K!==""?!1:{value:R,index:v,tagClosed:w}}o(u,"Le"),J(u,"readAttributeStr");var l=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function d(g,v){let R=t.getAllMatches(g,l),K={};for(let w=0;w<R.length;w++){if(R[w][1].length===0)return f("InvalidAttr","Attribute '"+R[w][2]+"' has no space in starting.",O(R[w]));if(R[w][3]!==void 0&&R[w][4]===void 0)return f("InvalidAttr","Attribute '"+R[w][2]+"' is without value.",O(R[w]));if(R[w][3]===void 0&&!v.allowBooleanAttributes)return f("InvalidAttr","boolean attribute '"+R[w][2]+"' is not allowed.",O(R[w]));let S=R[w][2];if(!y(S))return f("InvalidAttr","Attribute '"+S+"' is an invalid name.",O(R[w]));if(!K.hasOwnProperty(S))K[S]=1;else return f("InvalidAttr","Attribute '"+S+"' is repeated.",O(R[w]))}return!0}o(d,"H"),J(d,"validateAttributeString");function p(g,v){let R=/\d/;for(g[v]==="x"&&(v++,R=/[\da-fA-F]/);v<g.length;v++){if(g[v]===";")return v;if(!g[v].match(R))break}return-1}o(p,"Ue"),J(p,"validateNumberAmpersand");function h(g,v){if(v++,g[v]===";")return-1;if(g[v]==="#")return v++,p(g,v);let R=0;for(;v<g.length;v++,R++)if(!(g[v].match(/\w/)&&R<20)){if(g[v]===";")break;return-1}return v}o(h,"xe"),J(h,"validateAmpersand");function f(g,v,R){return{err:{code:g,msg:v,line:R.line||R,col:R.col}}}o(f,"a"),J(f,"getErrorObject");function y(g){return t.isName(g)}o(y,"Ge"),J(y,"validateAttrName");function _(g){return t.isName(g)}o(_,"Je"),J(_,"validateTagName");function I(g,v){let R=g.substring(0,v).split(/\r?\n/);return{line:R.length,col:R[R.length-1].length+1}}o(I,"h"),J(I,"getLineNumberForPosition");function O(g){return g.startIndex+g[1].length}o(O,"I"),J(O,"getPositionFromMatch")}),{buildOptions:jC}=MC(),VC=HC(),{prettify:GC}=qC(),BC=$C(),KC=class{static{o(this,"_")}static{J(this,"XMLParser")}constructor(e){this.externalEntities={},this.options=jC(e)}parse(e,t){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(t){t===!0&&(t={});let i=BC.validate(e,t);if(i!==!0)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}let r=new VC(this.options);r.addExternalEntities(this.externalEntities);let n=r.parseXml(e);return this.options.preserveOrder||n===void 0?n:GC(n,this.options)}addEntity(e,t){if(t.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(t==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}};DE.exports=KC;});var ME=b(ci=>{"use strict";var JC=ci&&ci.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ci,"__esModule",{value:!0});ci.XmlToJsonOutbound=void 0;var zC=k(),WC=JC(LE()),QC=o(async(e,t,r,n,i)=>{let s;try{let u=await e.text();s=new WC.default().parse(u)}catch(u){let l=`XmlToJsonOutbound - Error parsing XML contents in policy '${i}'.`;throw r.log.error(l,u),new zC.RuntimeError(l)}let a=new Headers(e.headers);return a.set("content-type","application/json"),new Response(JSON.stringify(s),{status:e.status,statusText:e.statusText,headers:a})},"XmlToJsonOutbound");ci.XmlToJsonOutbound=QC});var UE=b(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.ServiceProviderImpl=void 0;var YC=k(),Fh=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new YC.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)}};Wc.ServiceProviderImpl=Fh});var WE=b(m=>{"use strict";var ZC=m&&m.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Hh=m&&m.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&ZC(t,e,r)},XC=m&&m.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(m,"__esModule",{value:!0});m.OpenIdJwtInboundPolicy=m.OktaJwtInboundPolicy=m.MonetizationInboundPolicy=m.setMoesifContext=m.MoesifInboundPolicy=m.MockApiInboundPolicy=m.JWTScopeValidationInboundPolicy=m.GeoFilterInboundPolicy=m.FormDataToJsonInboundPolicy=m.FirebaseJwtInboundPolicy=m.CurityPhantomTokenInboundPolicy=m.CompositeInboundPolicy=m.CognitoJwtInboundPolicy=m.ClerkJwtInboundPolicy=m.ClearHeadersOutboundPolicy=m.ClearHeadersInboundPolicy=m.ChangeMethodInboundPolicy=m.CachingInboundPolicy=m.BasicAuthInboundPolicy=m.Auth0JwtInboundPolicy=m.ApiKeyInboundPolicy=m.ApiAuthKeyInboundPolicy=m.AmberfloMeteringPolicy=m.AmberfloMeteringInboundPolicy=m.OutboundPolicy=m.InboundPolicy=m.AuditLogPlugin=m.AuditLogDataStaxProvider=m.HttpStatusCode=m.webSocketPipelineHandler=m.webSocketHandler=m.urlRewriteHandler=m.urlForwardHandler=m.redirectHandler=m.openApiSpecHandler=m.awsLambdaHandler=m.AwsLambdaHandlerExtensions=m.purgeGatewayCache=m.Handler=m.originalFetch=m.RuntimeError=m.ConfigurationError=m.isZuploReadableEnvVariableName=m.isRestrictedEnvVariableName=m.environment=m.ContextData=m.ResponseSentEvent=m.ResponseSendingEvent=m.ZoneCache=m.MemoryZoneReadThroughCache=void 0;m.sanitizedIdentifierName=m.getRawOperationDataIdentifierName=m.getIdForRequestBodySchema=m.getIdForRefSchema=m.getIdForParameterSchema=m.SystemLogMap=m.httpStatuses=m.SYSTEM_LOGGER=m.API_KEY=m.ServiceProviderImpl=m.serialize=m.ContentTypes=m.Router=m.LookupResult=m.SystemRouteName=m.ZuploRequest=m.ProblemResponseFormatter=m.HttpProblems=m.XmlToJsonOutbound=m.ValidateJsonSchemaInbound=m.UpstreamGcpServiceAuthInboundPolicy=m.UpstreamGcpJwtInboundPolicy=m.UpstreamFirebaseUserAuthInboundPolicy=m.UpstreamFirebaseAdminAuthInboundPolicy=m.UpstreamAzureAdServiceAuthInboundPolicy=m.SupabaseJwtInboundPolicy=m.StripeWebhookVerificationInboundPolicy=m.SleepInboundPolicy=m.SetStatusOutboundPolicy=m.SetQueryParamsInboundPolicy=m.SetHeadersOutboundPolicy=m.SetHeadersInboundPolicy=m.SetBodyInboundPolicy=m.RequireOriginInboundPolicy=m.SchemaBasedRequestValidation=m.RequestValidationInboundPolicy=m.RequestSizeLimitInboundPolicy=m.ReplaceStringOutboundPolicy=m.RemoveQueryParamsInboundPolicy=m.RemoveHeadersOutboundPolicy=m.RemoveHeadersInboundPolicy=m.ReadmeMetricsInboundPolicy=m.RateLimitInboundPolicy=m.BasicRateLimitInboundPolicy=m.PropelAuthJwtInboundPolicy=void 0;vf();var eD=er();Object.defineProperty(m,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return eD.MemoryZoneReadThroughCache}});var tD=No();Object.defineProperty(m,"ZoneCache",{enumerable:!0,get:function(){return tD.ZoneCache}});var kE=Fr();Object.defineProperty(m,"ResponseSendingEvent",{enumerable:!0,get:function(){return kE.ResponseSendingEvent}});Object.defineProperty(m,"ResponseSentEvent",{enumerable:!0,get:function(){return kE.ResponseSentEvent}});var rD=ap();Object.defineProperty(m,"ContextData",{enumerable:!0,get:function(){return rD.ContextData}});var qh=Ki();Object.defineProperty(m,"environment",{enumerable:!0,get:function(){return qh.environment}});Object.defineProperty(m,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return qh.isRestrictedEnvVariableName}});Object.defineProperty(m,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return qh.isZuploReadableEnvVariableName}});var FE=k();Object.defineProperty(m,"ConfigurationError",{enumerable:!0,get:function(){return FE.ConfigurationError}});Object.defineProperty(m,"RuntimeError",{enumerable:!0,get:function(){return FE.RuntimeError}});var nD=up();Object.defineProperty(m,"originalFetch",{enumerable:!0,get:function(){return nD.originalFetch}});var HE=Qg();Object.defineProperty(m,"Handler",{enumerable:!0,get:function(){return HE.Handler}});Object.defineProperty(m,"purgeGatewayCache",{enumerable:!0,get:function(){return HE.purgeGatewayCache}});var qE=hb();Object.defineProperty(m,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return qE.AwsLambdaHandlerExtensions}});Object.defineProperty(m,"awsLambdaHandler",{enumerable:!0,get:function(){return qE.awsLambdaHandler}});var iD=mb();Object.defineProperty(m,"openApiSpecHandler",{enumerable:!0,get:function(){return iD.openApiSpecHandler}});var oD=yb();Object.defineProperty(m,"redirectHandler",{enumerable:!0,get:function(){return oD.redirectHandler}});var sD=bb();Object.defineProperty(m,"urlForwardHandler",{enumerable:!0,get:function(){return sD.urlForwardHandler}});var aD=Eb();Object.defineProperty(m,"urlRewriteHandler",{enumerable:!0,get:function(){return aD.urlRewriteHandler}});var cD=vb();Object.defineProperty(m,"webSocketHandler",{enumerable:!0,get:function(){return cD.webSocketHandler}});var uD=Ib();Object.defineProperty(m,"webSocketPipelineHandler",{enumerable:!0,get:function(){return uD.webSocketPipelineHandler}});var lD=hl();Object.defineProperty(m,"HttpStatusCode",{enumerable:!0,get:function(){return lD.HttpStatusCode}});Hh(Db(),m);Hh(Ub(),m);var dD=kb();Object.defineProperty(m,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return dD.AuditLogDataStaxProvider}});var pD=Hb();Object.defineProperty(m,"AuditLogPlugin",{enumerable:!0,get:function(){return pD.AuditLogPlugin}});Hh(e_(),m);var $E=Pi();Object.defineProperty(m,"InboundPolicy",{enumerable:!0,get:function(){return $E.InboundPolicy}});Object.defineProperty(m,"OutboundPolicy",{enumerable:!0,get:function(){return $E.OutboundPolicy}});var jE=o_();Object.defineProperty(m,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return jE.AmberfloMeteringInboundPolicy}});Object.defineProperty(m,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return jE.AmberfloMeteringPolicy}});var hD=l_();Object.defineProperty(m,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return hD.ApiAuthKeyInboundPolicy}});var fD=fh();Object.defineProperty(m,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return fD.ApiKeyInboundPolicy}});var mD=d_();Object.defineProperty(m,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return mD.Auth0JwtInboundPolicy}});var yD=p_();Object.defineProperty(m,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return yD.BasicAuthInboundPolicy}});var gD=h_();Object.defineProperty(m,"CachingInboundPolicy",{enumerable:!0,get:function(){return gD.CachingInboundPolicy}});var bD=f_();Object.defineProperty(m,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return bD.ChangeMethodInboundPolicy}});var _D=m_();Object.defineProperty(m,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return _D.ClearHeadersInboundPolicy}});var ED=y_();Object.defineProperty(m,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return ED.ClearHeadersOutboundPolicy}});var wD=g_();Object.defineProperty(m,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return wD.ClerkJwtInboundPolicy}});var vD=__();Object.defineProperty(m,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return vD.CognitoJwtInboundPolicy}});var TD=w_();Object.defineProperty(m,"CompositeInboundPolicy",{enumerable:!0,get:function(){return TD.CompositeInboundPolicy}});var SD=v_();Object.defineProperty(m,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return SD.CurityPhantomTokenInboundPolicy}});var ID=T_();Object.defineProperty(m,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return ID.FirebaseJwtInboundPolicy}});var PD=S_();Object.defineProperty(m,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return PD.FormDataToJsonInboundPolicy}});var AD=I_();Object.defineProperty(m,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return AD.GeoFilterInboundPolicy}});var RD=P_();Object.defineProperty(m,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return RD.JWTScopeValidationInboundPolicy}});var OD=R_();Object.defineProperty(m,"MockApiInboundPolicy",{enumerable:!0,get:function(){return OD.MockApiInboundPolicy}});var VE=D_();Object.defineProperty(m,"MoesifInboundPolicy",{enumerable:!0,get:function(){return VE.MoesifInboundPolicy}});Object.defineProperty(m,"setMoesifContext",{enumerable:!0,get:function(){return VE.setMoesifContext}});var ND=H_();Object.defineProperty(m,"MonetizationInboundPolicy",{enumerable:!0,get:function(){return ND.MonetizationInboundPolicy}});var xD=q_();Object.defineProperty(m,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return xD.OktaJwtInboundPolicy}});var CD=Qt();Object.defineProperty(m,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return CD.OpenIdJwtInboundPolicy}});var DD=$_();Object.defineProperty(m,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return DD.PropelAuthJwtInboundPolicy}});var GE=z_();Object.defineProperty(m,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return GE.RateLimitInboundPolicy}});Object.defineProperty(m,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return GE.RateLimitInboundPolicy}});var LD=Z_();Object.defineProperty(m,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return LD.ReadmeMetricsInboundPolicy}});var MD=X_();Object.defineProperty(m,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return MD.RemoveHeadersInboundPolicy}});var UD=eE();Object.defineProperty(m,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return UD.RemoveHeadersOutboundPolicy}});var kD=tE();Object.defineProperty(m,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return kD.RemoveQueryParamsInboundPolicy}});var FD=rE();Object.defineProperty(m,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return FD.ReplaceStringOutboundPolicy}});var HD=iE();Object.defineProperty(m,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return HD.RequestSizeLimitInboundPolicy}});var BE=uE();Object.defineProperty(m,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return BE.RequestValidationInboundPolicy}});Object.defineProperty(m,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return BE.SchemaBasedRequestValidation}});var qD=lE();Object.defineProperty(m,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return qD.RequireOriginInboundPolicy}});var $D=dE();Object.defineProperty(m,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return $D.SetBodyInboundPolicy}});var jD=hE();Object.defineProperty(m,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return jD.SetHeadersInboundPolicy}});var VD=mE();Object.defineProperty(m,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return VD.SetHeadersOutboundPolicy}});var GD=gE();Object.defineProperty(m,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return GD.SetQueryParamsInboundPolicy}});var BD=bE();Object.defineProperty(m,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return BD.SetStatusOutboundPolicy}});var KD=_E();Object.defineProperty(m,"SleepInboundPolicy",{enumerable:!0,get:function(){return KD.SleepInboundPolicy}});var JD=Bp();Object.defineProperty(m,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return JD.StripeWebhookVerificationInboundPolicy}});var zD=wE();Object.defineProperty(m,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return zD.SupabaseJwtInboundPolicy}});var WD=TE();Object.defineProperty(m,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return WD.UpstreamAzureAdServiceAuthInboundPolicy}});var QD=IE();Object.defineProperty(m,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return QD.UpstreamFirebaseAdminAuthInboundPolicy}});var YD=PE();Object.defineProperty(m,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return YD.UpstreamFirebaseUserAuthInboundPolicy}});var ZD=RE();Object.defineProperty(m,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return ZD.UpstreamGcpJwtInboundPolicy}});var XD=NE();Object.defineProperty(m,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return XD.UpstreamGcpServiceAuthInboundPolicy}});var eL=CE();Object.defineProperty(m,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return eL.ValidateJsonSchemaInbound}});var tL=ME();Object.defineProperty(m,"XmlToJsonOutbound",{enumerable:!0,get:function(){return tL.XmlToJsonOutbound}});var rL=pe();Object.defineProperty(m,"HttpProblems",{enumerable:!0,get:function(){return rL.HttpProblems}});var nL=Ho();Object.defineProperty(m,"ProblemResponseFormatter",{enumerable:!0,get:function(){return nL.ProblemResponseFormatter}});var iL=Be();Object.defineProperty(m,"ZuploRequest",{enumerable:!0,get:function(){return iL.ZuploRequest}});var oL=qr();Object.defineProperty(m,"SystemRouteName",{enumerable:!0,get:function(){return oL.SystemRouteName}});var KE=Zd();Object.defineProperty(m,"LookupResult",{enumerable:!0,get:function(){return KE.LookupResult}});Object.defineProperty(m,"Router",{enumerable:!0,get:function(){return KE.Router}});var JE=nl();Object.defineProperty(m,"ContentTypes",{enumerable:!0,get:function(){return JE.ContentTypes}});Object.defineProperty(m,"serialize",{enumerable:!0,get:function(){return JE.serialize}});var sL=UE();Object.defineProperty(m,"ServiceProviderImpl",{enumerable:!0,get:function(){return sL.ServiceProviderImpl}});var zE=Cl();Object.defineProperty(m,"API_KEY",{enumerable:!0,get:function(){return zE.API_KEY}});Object.defineProperty(m,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return zE.SYSTEM_LOGGER}});var aL=ml();Object.defineProperty(m,"httpStatuses",{enumerable:!0,get:function(){return XC(aL).default}});var cL=Ze();Object.defineProperty(m,"SystemLogMap",{enumerable:!0,get:function(){return cL.SystemLogMap}});var ao=Oc();Object.defineProperty(m,"getIdForParameterSchema",{enumerable:!0,get:function(){return ao.getIdForParameterSchema}});Object.defineProperty(m,"getIdForRefSchema",{enumerable:!0,get:function(){return ao.getIdForRefSchema}});Object.defineProperty(m,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return ao.getIdForRequestBodySchema}});Object.defineProperty(m,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return ao.getRawOperationDataIdentifierName}});Object.defineProperty(m,"sanitizedIdentifierName",{enumerable:!0,get:function(){return ao.sanitizedIdentifierName}})});var QE=b(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.BaseCryptoBeta=ui.supportedDigests=void 0;ui.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var $h=class{static{o(this,"BaseCryptoBeta")}};ui.BaseCryptoBeta=$h});var YE=b(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.WorkerCryptoBeta=void 0;var jh=QE(),uL=k(),Vh=class extends jh.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!jh.supportedDigests.includes(t.toLowerCase()))throw new uL.RuntimeError(`Algorithm ${t} is not supported. Try using ${jh.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};Qc.WorkerCryptoBeta=Vh});var ZE=b(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.BaseKeyValueStore=void 0;var Gh=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Yc.BaseKeyValueStore=Gh});var ew=b(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.WorkerKeyValueStore=void 0;var XE=k(),lL=ZE(),Bh=class extends lL.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new XE.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 XE.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)}};Zc.WorkerKeyValueStore=Bh});var Vt=b(_t=>{"use strict";var dL=_t&&_t.__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]}),pL=_t&&_t.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&dL(t,e,r)};Object.defineProperty(_t,"__esModule",{value:!0});_t.KeyValueStore=_t.CryptoBeta=void 0;pL(WE(),_t);var hL=YE();Object.defineProperty(_t,"CryptoBeta",{enumerable:!0,get:function(){return hL.WorkerCryptoBeta}});var fL=ew();Object.defineProperty(_t,"KeyValueStore",{enumerable:!0,get:function(){return fL.WorkerKeyValueStore}})});var w1={};So(w1,{GraphQLComplexityLimitInboundPolicy:()=>Cw,GraphQLDisableIntrospectionInboundPolicy:()=>Lw});module.exports=Io(w1);var wi=bf(Vt());function ee(e,t){if(!!!e)throw new Error(t)}o(ee,"devAssert");function Ae(e){return typeof e=="object"&&e!==null}o(Ae,"isObjectLike");function kt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(kt,"invariant");var mL=/\r\n|[\n\r]/g;function li(e,t){let r=0,n=1;for(let i of e.body.matchAll(mL)){if(typeof i.index=="number"||kt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(li,"getLocation");function Kh(e){return Xc(e.source,li(e.source,e.start))}o(Kh,"printLocation");function Xc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
|
|
78
|
+
`,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let h=Math.floor(u/80),f=u%80,y=[];for(let _=0;_<p.length;_+=80)y.push(p.slice(_,_+80));return l+tw([[`${a} |`,y[0]],...y.slice(1,h+1).map(_=>["|",_]),["|","^".padStart(f)],["|",y[h+1]]])}return l+tw([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(Xc,"printSourceLocation");function tw(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(`
|
|
79
|
+
`)}o(tw,"printPrefixedLines");function yL(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}o(yL,"toNormalizedOptions");var j=class e extends Error{static{o(this,"GraphQLError")}constructor(t,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=yL(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=rw(Array.isArray(a)?a:a?[a]:void 0);let h=rw((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=c??(h==null||(i=h[0])===null||i===void 0?void 0:i.source),this.positions=u??h?.map(y=>y.start),this.locations=u&&c?u.map(y=>li(c,y)):h?.map(y=>li(y.source,y.start));let f=Ae(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??f)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
|
|
77
80
|
|
|
78
|
-
`+
|
|
81
|
+
`+Kh(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
|
|
79
82
|
|
|
80
|
-
`+
|
|
83
|
+
`+Xc(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 rw(e){return e===void 0||e.length===0?void 0:e}o(rw,"undefinedIfEmpty");function _e(e,t,r){return new j(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(_e,"syntaxError");var co=class{static{o(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},di=class{static{o(this,"Token")}constructor(t,r,n,i,s,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=s,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Jh={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"]},gL=new Set(Object.keys(Jh));function uo(e){let t=e?.kind;return typeof t=="string"&&gL.has(t)}o(uo,"isNode");var dt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(dt||(dt={}));var te;(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"})(te||(te={}));var T;(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"})(T||(T={}));function eu(e){return e===9||e===32}o(eu,"isWhiteSpace");function pi(e){return e>=48&&e<=57}o(pi,"isDigit");function nw(e){return e>=97&&e<=122||e>=65&&e<=90}o(nw,"isLetter");function lo(e){return nw(e)||e===95}o(lo,"isNameStart");function tu(e){return nw(e)||pi(e)||e===95}o(tu,"isNameContinue");function iw(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var s;let c=e[a],u=bL(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}o(iw,"dedentBlockStringLines");function bL(e){let t=0;for(;t<e.length&&eu(e.charCodeAt(t));)++t;return t}o(bL,"leadingWhitespace");function ow(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(f=>f.length===0||eu(f.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||s||a),p="",h=i&&eu(e.charCodeAt(0));return(d&&!h||s)&&(p+=`
|
|
81
84
|
`),p+=r,(d||l)&&(p+=`
|
|
82
|
-
`),'"""'+p+'"""'}o(
|
|
83
|
-
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw
|
|
84
|
-
`));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(
|
|
85
|
+
`),'"""'+p+'"""'}o(ow,"printBlockString");var A;(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"})(A||(A={}));var ho=class{static{o(this,"Lexer")}constructor(t){let r=new di(A.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!==A.EOF)do if(t.next)t=t.next;else{let r=_L(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===A.COMMENT);return t}};function aw(e){return e===A.BANG||e===A.DOLLAR||e===A.AMP||e===A.PAREN_L||e===A.PAREN_R||e===A.SPREAD||e===A.COLON||e===A.EQUALS||e===A.AT||e===A.BRACKET_L||e===A.BRACKET_R||e===A.BRACE_L||e===A.PIPE||e===A.BRACE_R}o(aw,"isPunctuatorTokenKind");function hi(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o(hi,"isUnicodeScalarValue");function ru(e,t){return cw(e.charCodeAt(t))&&uw(e.charCodeAt(t+1))}o(ru,"isSupplementaryCodePoint");function cw(e){return e>=55296&&e<=56319}o(cw,"isLeadingSurrogate");function uw(e){return e>=56320&&e<=57343}o(uw,"isTrailingSurrogate");function nn(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return A.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(nn,"printCodePointAt");function ve(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new di(t,r,n,s,a,i)}o(ve,"createToken");function _L(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return EL(e,i);case 33:return ve(e,A.BANG,i,i+1);case 36:return ve(e,A.DOLLAR,i,i+1);case 38:return ve(e,A.AMP,i,i+1);case 40:return ve(e,A.PAREN_L,i,i+1);case 41:return ve(e,A.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return ve(e,A.SPREAD,i,i+3);break;case 58:return ve(e,A.COLON,i,i+1);case 61:return ve(e,A.EQUALS,i,i+1);case 64:return ve(e,A.AT,i,i+1);case 91:return ve(e,A.BRACKET_L,i,i+1);case 93:return ve(e,A.BRACKET_R,i,i+1);case 123:return ve(e,A.BRACE_L,i,i+1);case 124:return ve(e,A.PIPE,i,i+1);case 125:return ve(e,A.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?PL(e,i):vL(e,i)}if(pi(s)||s===45)return wL(e,i,s);if(lo(s))return AL(e,i);throw _e(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:hi(s)||ru(r,i)?`Unexpected character: ${nn(e,i)}.`:`Invalid character: ${nn(e,i)}.`)}return ve(e,A.EOF,n,n)}o(_L,"readNextToken");function EL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(hi(s))++i;else if(ru(r,i))i+=2;else break}return ve(e,A.COMMENT,t,i,r.slice(t+1,i))}o(EL,"readComment");function wL(e,t,r){let n=e.source.body,i=t,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),pi(s))throw _e(e.source,i,`Invalid number, unexpected digit after 0: ${nn(e,i)}.`)}else i=zh(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=zh(e,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=zh(e,i,s),s=n.charCodeAt(i)),s===46||lo(s))throw _e(e.source,i,`Invalid number, expected digit but got: ${nn(e,i)}.`);return ve(e,a?A.FLOAT:A.INT,t,i,n.slice(t,i))}o(wL,"readNumber");function zh(e,t,r){if(!pi(r))throw _e(e.source,t,`Invalid number, expected digit but got: ${nn(e,t)}.`);let n=e.source.body,i=t+1;for(;pi(n.charCodeAt(i));)++i;return i}o(zh,"readDigits");function vL(e,t){let r=e.source.body,n=r.length,i=t+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),ve(e,A.STRING,t,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?TL(e,i):SL(e,i):IL(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(hi(c))++i;else if(ru(r,i))i+=2;else throw _e(e.source,i,`Invalid character within String: ${nn(e,i)}.`)}throw _e(e.source,i,"Unterminated string.")}o(vL,"readString");function TL(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(t+i++);if(s===125){if(i<5||!hi(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|po(s),n<0)break}throw _e(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(TL,"readEscapedUnicodeVariableWidth");function SL(e,t){let r=e.source.body,n=sw(r,t+2);if(hi(n))return{value:String.fromCodePoint(n),size:6};if(cw(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=sw(r,t+8);if(uw(i))return{value:String.fromCodePoint(n,i),size:12}}throw _e(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(SL,"readEscapedUnicodeFixedWidth");function sw(e,t){return po(e.charCodeAt(t))<<12|po(e.charCodeAt(t+1))<<8|po(e.charCodeAt(t+2))<<4|po(e.charCodeAt(t+3))}o(sw,"read16BitHexCode");function po(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(po,"readHexDigit");function IL(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:`
|
|
86
|
+
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw _e(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(IL,"readEscapedCharacter");function PL(e,t){let r=e.source.body,n=r.length,i=e.lineStart,s=t+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=ve(e,A.BLOCK_STRING,t,s+3,iw(u).join(`
|
|
87
|
+
`));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(hi(l))++s;else if(ru(r,s))s+=2;else throw _e(e.source,s,`Invalid character within String: ${nn(e,s)}.`)}throw _e(e.source,s,"Unterminated string.")}o(PL,"readBlockString");function AL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(tu(s))++i;else break}return ve(e,A.NAME,t,i,r.slice(t,i))}o(AL,"readName");function U(e){return nu(e,[])}o(U,"inspect");function nu(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return RL(e,t);default:return String(e)}}o(nu,"formatValue");function RL(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(OL(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:nu(n,r)}else if(Array.isArray(e))return xL(e,r);return NL(e,r)}o(RL,"formatObjectValue");function OL(e){return typeof e.toJSON=="function"}o(OL,"isJSONable");function NL(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+CL(e)+"]":"{ "+r.map(([i,s])=>i+": "+nu(s,t)).join(", ")+" }"}o(NL,"formatObject");function xL(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let s=0;s<r;++s)i.push(nu(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(xL,"formatArray");function CL(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}o(CL,"getObjectTag");var tt=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(t,r){return t instanceof r},"instanceOf"):o(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=U(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
|
|
85
88
|
|
|
86
89
|
Ensure that there is only one instance of "graphql" in the node_modules
|
|
87
90
|
directory. If different versions of "graphql" are the dependencies of other
|
|
@@ -92,36 +95,36 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
|
|
|
92
95
|
Duplicate "graphql" modules cannot be used at the same time since different
|
|
93
96
|
versions may have different capabilities and behavior. The data from one
|
|
94
97
|
version used in the function from another could produce confusing and
|
|
95
|
-
spurious results.`)}}return!1},"instanceOf");var ii=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${A(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function WE(e){return We(e,ii)}o(WE,"isSource");function Qc(e,t){return new Wc(e,t).parseDocument()}o(Qc,"parse");function Yc(e,t){let r=new Wc(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}o(Yc,"parseValue");var Wc=class{static{o(this,"Parser")}constructor(t,r={}){let n=WE(t)?t:new ii(t);this._lexer=new ro(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(E.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(E.SOF,this.parseDefinition,E.EOF)})}parseDefinition(){if(this.peek(E.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===E.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(E.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:it.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(E.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(E.NAME);switch(t.value){case"query":return it.QUERY;case"mutation":return it.MUTATION;case"subscription":return it.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(E.PAREN_L,this.parseVariableDefinition,E.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(E.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(E.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(E.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(E.BRACE_L,this.parseSelection,E.BRACE_R)})}parseSelection(){return this.peek(E.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(E.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(E.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(E.PAREN_L,r,E.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(E.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(E.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case E.BRACKET_L:return this.parseList(t);case E.BRACE_L:return this.parseObject(t);case E.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case E.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case E.STRING:case E.BLOCK_STRING:return this.parseStringLiteral();case E.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case E.DOLLAR:if(t)if(this.expectToken(E.DOLLAR),this._lexer.token.kind===E.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===E.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(E.BRACKET_L,r,E.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(E.BRACE_L,r,E.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(E.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(E.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(E.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(E.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(E.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(E.STRING)||this.peek(E.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(E.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(E.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseFieldDefinition,E.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(E.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(E.PAREN_L,this.parseInputValueDef,E.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(E.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(E.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(E.EQUALS)?this.delimitedMany(E.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(E.BRACE_L,this.parseEnumValueDefinition,E.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${zc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseInputValueDef,E.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===E.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(E.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(E.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Zi(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${QE(t)}, found ${zc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===E.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${zc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===E.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${zc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==E.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function zc(e){let t=e.value;return QE(e.kind)+(t!=null?` "${t}"`:"")}o(zc,"getTokenDesc");function QE(e){return KE(e)?`"${e}"`:e}o(QE,"getTokenKindDesc");function Zc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(Zc,"didYouMean");function kh(e){return e}o(kh,"identityFunc");function oi(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(oi,"keyMap");function Ct(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(Ct,"keyValMap");function no(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(no,"mapValue");function YE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(Xc(i)&&Xc(s)){let a=0;do++r,a=a*10+i-Hh,i=e.charCodeAt(r);while(Xc(i)&&a>0);let c=0;do++n,c=c*10+s-Hh,s=t.charCodeAt(n);while(Xc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return e.length-t.length}o(YE,"naturalCompare");var Hh=48,tD=57;function Xc(e){return!isNaN(e)&&Hh<=e&&e<=tD}o(Xc,"isDigit");function eu(e,t){let r=Object.create(null),n=new Fh(e),i=Math.floor(e.length*.4)+1;for(let s of t){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:YE(s,a)})}o(eu,"suggestionList");var Fh=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=ZE(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;let n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let i=ZE(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],h=m[0]=d;for(let g=1;g<=c;g++){let _=i[d-1]===s[g-1]?0:1,S=Math.min(p[g]+1,m[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===s[g-2]&&i[d-2]===s[g-1]){let T=u[(d-2)%3][g-2];S=Math.min(S,T+1)}S<h&&(h=S),m[g]=S}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function ZE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(ZE,"stringToArray");function Ue(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(Ue,"toObjMap");function XE(e){return`"${e.replace(rD,nD)}"`}o(XE,"printString");var rD=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function nD(e){return iD[e.charCodeAt(0)]}o(nD,"escapedReplacer");var iD=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var qh=Object.freeze({});function wr(e,t,r=Uh){let n=new Map;for(let T of Object.values(b))n.set(T,si(t,T));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let T=c===a.length,k=T&&u.length!==0;if(T){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),k)if(s){l=l.slice();let L=0;for(let[Z,ne]of u){let me=Z-L;ne===null?(l.splice(me,1),L++):l[me]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[L,Z]of u)l[L]=Z}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;m.push(d)}let G;if(!Array.isArray(l)){var g,_;Xi(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let L=T?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(G=L?.call(t,l,d,p,m,h),G===qh)break;if(G===!1){if(!T){m.pop();continue}}else if(G!==void 0&&(u.push([d,G]),!T))if(Xi(G))l=G;else{m.pop();continue}}if(G===void 0&&k&&u.push([d,l]),T)m.pop();else{var S;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(S=r[l.kind])!==null&&S!==void 0?S:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(wr,"visit");function si(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}o(si,"getEnterLeaveForKind");function Me(e){return wr(e,sD)}o(Me,"print");var oD=80,sD={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>C(e.definitions,`
|
|
98
|
+
spurious results.`)}}return!1},"instanceOf");var fi=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||ee(!1,`Body must be a string. Received: ${U(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||ee(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||ee(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function lw(e){return tt(e,fi)}o(lw,"isSource");function su(e,t){return new ou(e,t).parseDocument()}o(su,"parse");function au(e,t){let r=new ou(e,t);r.expectToken(A.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(A.EOF),n}o(au,"parseValue");var ou=class{static{o(this,"Parser")}constructor(t,r={}){let n=lw(t)?t:new fi(t);this._lexer=new ho(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(A.NAME);return this.node(t,{kind:T.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:T.DOCUMENT,definitions:this.many(A.SOF,this.parseDefinition,A.EOF)})}parseDefinition(){if(this.peek(A.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===A.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 _e(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(A.BRACE_L))return this.node(t,{kind:T.OPERATION_DEFINITION,operation:dt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(A.NAME)&&(n=this.parseName()),this.node(t,{kind:T.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(A.NAME);switch(t.value){case"query":return dt.QUERY;case"mutation":return dt.MUTATION;case"subscription":return dt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(A.PAREN_L,this.parseVariableDefinition,A.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:T.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(A.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(A.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(A.DOLLAR),this.node(t,{kind:T.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:T.SELECTION_SET,selections:this.many(A.BRACE_L,this.parseSelection,A.BRACE_R)})}parseSelection(){return this.peek(A.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(A.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:T.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(A.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(A.PAREN_L,r,A.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(A.COLON),this.node(r,{kind:T.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(A.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(A.NAME)?this.node(t,{kind:T.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:T.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:T.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:T.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 A.BRACKET_L:return this.parseList(t);case A.BRACE_L:return this.parseObject(t);case A.INT:return this.advanceLexer(),this.node(r,{kind:T.INT,value:r.value});case A.FLOAT:return this.advanceLexer(),this.node(r,{kind:T.FLOAT,value:r.value});case A.STRING:case A.BLOCK_STRING:return this.parseStringLiteral();case A.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:T.BOOLEAN,value:!0});case"false":return this.node(r,{kind:T.BOOLEAN,value:!1});case"null":return this.node(r,{kind:T.NULL});default:return this.node(r,{kind:T.ENUM,value:r.value})}case A.DOLLAR:if(t)if(this.expectToken(A.DOLLAR),this._lexer.token.kind===A.NAME){let n=this._lexer.token.value;throw _e(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:T.STRING,value:t.value,block:t.kind===A.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:T.LIST,values:this.any(A.BRACKET_L,r,A.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:T.OBJECT,fields:this.any(A.BRACE_L,r,A.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(A.COLON),this.node(r,{kind:T.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(A.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(A.AT),this.node(r,{kind:T.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(A.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(A.BRACKET_R),r=this.node(t,{kind:T.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(A.BANG)?this.node(t,{kind:T.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:T.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(A.STRING)||this.peek(A.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(A.BRACE_L,this.parseOperationTypeDefinition,A.BRACE_R);return this.node(t,{kind:T.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(A.COLON);let n=this.parseNamedType();return this.node(t,{kind:T.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:T.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:T.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(A.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(A.BRACE_L,this.parseFieldDefinition,A.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(A.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:T.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(A.PAREN_L,this.parseInputValueDef,A.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(A.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(A.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:T.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:T.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:T.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(A.EQUALS)?this.delimitedMany(A.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:T.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(A.BRACE_L,this.parseEnumValueDefinition,A.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:T.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 _e(this._lexer.source,this._lexer.token.start,`${iu(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:T.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(A.BRACE_L,this.parseInputValueDef,A.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===A.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(A.BRACE_L,this.parseOperationTypeDefinition,A.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:T.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:T.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:T.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:T.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:T.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:T.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:T.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(A.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:T.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(A.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(te,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new co(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 _e(this._lexer.source,r.start,`Expected ${dw(t)}, found ${iu(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===A.NAME&&r.value===t)this.advanceLexer();else throw _e(this._lexer.source,r.start,`Expected "${t}", found ${iu(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===A.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return _e(this._lexer.source,r.start,`Unexpected ${iu(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!==A.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw _e(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function iu(e){let t=e.value;return dw(e.kind)+(t!=null?` "${t}"`:"")}o(iu,"getTokenDesc");function dw(e){return aw(e)?`"${e}"`:e}o(dw,"getTokenKindDesc");function cu(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(cu,"didYouMean");function Wh(e){return e}o(Wh,"identityFunc");function mi(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(mi,"keyMap");function Ft(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(Ft,"keyValMap");function fo(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(fo,"mapValue");function pw(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(uu(i)&&uu(s)){let a=0;do++r,a=a*10+i-Qh,i=e.charCodeAt(r);while(uu(i)&&a>0);let c=0;do++n,c=c*10+s-Qh,s=t.charCodeAt(n);while(uu(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return e.length-t.length}o(pw,"naturalCompare");var Qh=48,DL=57;function uu(e){return!isNaN(e)&&Qh<=e&&e<=DL}o(uu,"isDigit");function lu(e,t){let r=Object.create(null),n=new Yh(e),i=Math.floor(e.length*.4)+1;for(let s of t){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:pw(s,a)})}o(lu,"suggestionList");var Yh=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=hw(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=hw(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],h=u[d%3],f=h[0]=d;for(let y=1;y<=c;y++){let _=i[d-1]===s[y-1]?0:1,I=Math.min(p[y]+1,h[y-1]+1,p[y-1]+_);if(d>1&&y>1&&i[d-1]===s[y-2]&&i[d-2]===s[y-1]){let O=u[(d-2)%3][y-2];I=Math.min(I,O+1)}I<f&&(f=I),h[y]=I}if(f>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function hw(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(hw,"stringToArray");function $e(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o($e,"toObjMap");function fw(e){return`"${e.replace(LL,ML)}"`}o(fw,"printString");var LL=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function ML(e){return UL[e.charCodeAt(0)]}o(ML,"escapedReplacer");var UL=["\\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 Zh=Object.freeze({});function Or(e,t,r=Jh){let n=new Map;for(let O of Object.values(T))n.set(O,yi(t,O));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,h=[],f=[];do{c++;let O=c===a.length,g=O&&u.length!==0;if(O){if(d=f.length===0?void 0:h[h.length-1],l=p,p=f.pop(),g)if(s){l=l.slice();let R=0;for(let[K,w]of u){let S=K-R;w===null?(l.splice(S,1),R++):l[S]=w}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[R,K]of u)l[R]=K}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;h.push(d)}let v;if(!Array.isArray(l)){var y,_;uo(l)||ee(!1,`Invalid AST Node: ${U(l)}.`);let R=O?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(v=R?.call(t,l,d,p,h,f),v===Zh)break;if(v===!1){if(!O){h.pop();continue}}else if(v!==void 0&&(u.push([d,v]),!O))if(uo(v))l=v;else{h.pop();continue}}if(v===void 0&&g&&u.push([d,l]),O)h.pop();else{var I;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(I=r[l.kind])!==null&&I!==void 0?I:[],c=-1,u=[],p&&f.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(Or,"visit");function yi(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}o(yi,"getEnterLeaveForKind");function je(e){return Or(e,FL)}o(je,"print");var kL=80,FL={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>$(e.definitions,`
|
|
96
99
|
|
|
97
|
-
`)},OperationDefinition:{leave(e){let t=
|
|
98
|
-
`,
|
|
100
|
+
`)},OperationDefinition:{leave(e){let t=re("(",$(e.variableDefinitions,", "),")"),r=$([e.operation,$([e.name,t]),$(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+re(" = ",r)+re(" ",$(n," "))},SelectionSet:{leave:({selections:e})=>Et(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=re("",e,": ")+t,a=s+re("(",$(r,", "),")");return a.length>kL&&(a=s+re(`(
|
|
101
|
+
`,du($(r,`
|
|
99
102
|
`)),`
|
|
100
|
-
)`))
|
|
101
|
-
`)
|
|
102
|
-
`)
|
|
103
|
-
`)
|
|
104
|
-
`)+t+(
|
|
105
|
-
`,
|
|
103
|
+
)`)),$([a,$(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+re(" ",$(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>$(["...",re("on ",e),$(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${re("(",$(r,", "),")")} on ${t} ${re("",$(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?ow(e):fw(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+$(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+$(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+re("(",$(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>re("",e,`
|
|
104
|
+
`)+$(["schema",$(t," "),Et(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>re("",e,`
|
|
105
|
+
`)+$(["scalar",t,$(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>re("",e,`
|
|
106
|
+
`)+$(["type",t,re("implements ",$(r," & ")),$(n," "),Et(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>re("",e,`
|
|
107
|
+
`)+t+(mw(r)?re(`(
|
|
108
|
+
`,du($(r,`
|
|
106
109
|
`)),`
|
|
107
|
-
)`):
|
|
108
|
-
`)
|
|
109
|
-
`)
|
|
110
|
-
`)
|
|
111
|
-
`)
|
|
112
|
-
`)
|
|
113
|
-
`)
|
|
114
|
-
`)+"directive @"+t+(
|
|
115
|
-
`,
|
|
110
|
+
)`):re("(",$(r,", "),")"))+": "+n+re(" ",$(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>re("",e,`
|
|
111
|
+
`)+$([t+": "+r,re("= ",n),$(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>re("",e,`
|
|
112
|
+
`)+$(["interface",t,re("implements ",$(r," & ")),$(n," "),Et(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>re("",e,`
|
|
113
|
+
`)+$(["union",t,$(r," "),re("= ",$(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>re("",e,`
|
|
114
|
+
`)+$(["enum",t,$(r," "),Et(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>re("",e,`
|
|
115
|
+
`)+$([t,$(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>re("",e,`
|
|
116
|
+
`)+$(["input",t,$(r," "),Et(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>re("",e,`
|
|
117
|
+
`)+"directive @"+t+(mw(r)?re(`(
|
|
118
|
+
`,du($(r,`
|
|
116
119
|
`)),`
|
|
117
|
-
)`):
|
|
118
|
-
`,
|
|
120
|
+
)`):re("(",$(r,", "),")"))+(n?" repeatable":"")+" on "+$(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>$(["extend schema",$(e," "),Et(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>$(["extend scalar",e,$(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$(["extend type",e,re("implements ",$(t," & ")),$(r," "),Et(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$(["extend interface",e,re("implements ",$(t," & ")),$(r," "),Et(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>$(["extend union",e,$(t," "),re("= ",$(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>$(["extend enum",e,$(t," "),Et(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>$(["extend input",e,$(t," "),Et(r)]," ")}};function $(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}o($,"join");function Et(e){return re(`{
|
|
121
|
+
`,du($(e,`
|
|
119
122
|
`)),`
|
|
120
|
-
}`)}o(
|
|
121
|
-
`))}o(
|
|
122
|
-
`)))!==null&&t!==void 0?t:!1}o(ew,"hasMultilineItems");function io(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>io(r,t));case b.OBJECT:return Ct(e.fields,r=>r.name.value,r=>io(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}o(io,"valueFromASTUntyped");function Ve(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new x("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Bc(e.charCodeAt(t)))throw new x(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!eo(e.charCodeAt(0)))throw new x(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(Ve,"assertName");function $h(e){if(e==="true"||e==="false"||e==="null")throw new x(`Enum values cannot be named: ${e}`);return Ve(e)}o($h,"assertEnumValueName");function nu(e){return vr(e)||Ce(e)||we(e)||ot(e)||Ye(e)||Ae(e)||Ge(e)||ce(e)}o(nu,"isType");function vr(e){return We(e,Qe)}o(vr,"isScalarType");function Ce(e){return We(e,Ne)}o(Ce,"isObjectType");function iu(e){if(!Ce(e))throw new Error(`Expected ${A(e)} to be a GraphQL Object type.`);return e}o(iu,"assertObjectType");function we(e){return We(e,Gt)}o(we,"isInterfaceType");function ou(e){if(!we(e))throw new Error(`Expected ${A(e)} to be a GraphQL Interface type.`);return e}o(ou,"assertInterfaceType");function ot(e){return We(e,Qr)}o(ot,"isUnionType");function Ye(e){return We(e,xt)}o(Ye,"isEnumType");function Ae(e){return We(e,Yr)}o(Ae,"isInputObjectType");function Ge(e){return We(e,pe)}o(Ge,"isListType");function ce(e){return We(e,$)}o(ce,"isNonNullType");function Ze(e){return vr(e)||Ye(e)||Ae(e)||oo(e)&&Ze(e.ofType)}o(Ze,"isInputType");function Bt(e){return vr(e)||Ce(e)||we(e)||ot(e)||Ye(e)||oo(e)&&Bt(e.ofType)}o(Bt,"isOutputType");function Sr(e){return vr(e)||Ye(e)}o(Sr,"isLeafType");function Lt(e){return Ce(e)||we(e)||ot(e)}o(Lt,"isCompositeType");function Tr(e){return we(e)||ot(e)}o(Tr,"isAbstractType");var pe=class{static{o(this,"GraphQLList")}constructor(t){nu(t)||B(!1,`Expected ${A(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(t){su(t)||B(!1,`Expected ${A(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function oo(e){return Ge(e)||ce(e)}o(oo,"isWrappingType");function su(e){return nu(e)&&!ce(e)}o(su,"isNullableType");function au(e){if(!su(e))throw new Error(`Expected ${A(e)} to be a GraphQL nullable type.`);return e}o(au,"assertNullableType");function cu(e){if(e)return ce(e)?e.ofType:e}o(cu,"getNullableType");function ft(e){if(e){let t=e;for(;oo(t);)t=t.ofType;return t}}o(ft,"getNamedType");function uu(e){return typeof e=="function"?e():e}o(uu,"resolveReadonlyArrayThunk");function lu(e){return typeof e=="function"?e():e}o(lu,"resolveObjMapThunk");var Qe=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:kh;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:kh,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(io(c,u)),this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ne=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>rw(t),this._interfaces=()=>tw(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:nw(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function tw(e){var t;let r=uu((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(tw,"defineInterfaces");function rw(e){let t=lu(e.fields);return ai(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),no(t,(r,n)=>{var i;ai(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return ai(s)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:jh(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}})}o(rw,"defineFieldMap");function jh(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}o(jh,"defineArguments");function ai(e){return Ee(e)&&!Array.isArray(e)}o(ai,"isPlainObj");function nw(e){return no(e,t=>({description:t.description,type:t.type,args:Vh(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(nw,"fieldsToFieldsConfig");function Vh(e){return Ct(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Vh,"argsToArgsConfig");var Gt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=rw.bind(void 0,t),this._interfaces=tw.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:nw(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Qr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=aD.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function aD(e){let t=uu(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(aD,"defineTypes");var xt=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=cD(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=oi(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new x(`Enum "${this.name}" cannot represent value: ${A(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=A(t);throw new x(`Enum "${this.name}" cannot represent non-string value: ${n}.`+ru(this,n))}let r=this.getValue(t);if(r==null)throw new x(`Value "${t}" does not exist in "${this.name}" enum.`+ru(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Me(t);throw new x(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+ru(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Me(t);throw new x(`Value "${i}" does not exist in "${this.name}" enum.`+ru(this,i),{nodes:t})}return n.value}toConfig(){let t=Ct(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function ru(e,t){let r=e.getValues().map(i=>i.name),n=eu(t,r);return Zc("the enum value",n)}o(ru,"didYouMeanEnumValue");function cD(e,t){return ai(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(ai(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:$h(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Ue(n.extensions),astNode:n.astNode}))}o(cD,"defineEnumValues");var Yr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=uD.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=no(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function uD(e){let t=lu(e.fields);return ai(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),no(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ue(r.extensions),astNode:r.astNode}))}o(uD,"defineInputFieldMap");var du=2147483647,pu=-2147483648,Gh=new Qe({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=so(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new x(`Int cannot represent non-integer value: ${A(t)}`);if(r>du||r<pu)throw new x("Int cannot represent non 32-bit signed integer value: "+A(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new x(`Int cannot represent non-integer value: ${A(e)}`);if(e>du||e<pu)throw new x(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new x(`Int cannot represent non-integer value: ${Me(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>du||t<pu)throw new x(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),iw=new Qe({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=so(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new x(`Float cannot represent non numeric value: ${A(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new x(`Float cannot represent non numeric value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new x(`Float cannot represent non numeric value: ${Me(e)}`,e);return parseFloat(e.value)}}),se=new Qe({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=so(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new x(`String cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e!="string")throw new x(`String cannot represent a non string value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new x(`String cannot represent a non string value: ${Me(e)}`,{nodes:e});return e.value}}),ke=new Qe({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=so(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new x(`Boolean cannot represent a non boolean value: ${A(t)}`)},parseValue(e){if(typeof e!="boolean")throw new x(`Boolean cannot represent a non boolean value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new x(`Boolean cannot represent a non boolean value: ${Me(e)}`,{nodes:e});return e.value}}),hu=new Qe({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=so(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new x(`ID cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new x(`ID cannot represent value: ${A(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new x("ID cannot represent a non-string and non-integer value: "+Me(e),{nodes:e});return e.value}}),Bh=Object.freeze([se,Gh,iw,ke,hu]);function so(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(so,"serializeObject");function Kh(e){return We(e,mt)}o(Kh,"isDirective");var mt=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Ue(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=jh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Vh(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},ow=new mt({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Included when true."}}}),sw=new mt({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Skipped when true."}}}),aw="No longer supported",cw=new mt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:se,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:aw}}}),uw=new mt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),Jh=Object.freeze([ow,sw,cw,uw]);function fu(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(fu,"isIterableObject");function Zr(e,t){if(ce(t)){let r=Zr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(fu(e)){let n=[];for(let i of e){let s=Zr(i,r);s!=null&&n.push(s)}return{kind:b.LIST,values:n}}return Zr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=Zr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(Sr(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return lw.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Ye(t)?{kind:b.ENUM,value:r}:t===hu&&lw.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}Nt(!1,"Unexpected input type: "+A(t))}o(Zr,"astFromValue");var lw=/^-?(?:0|[1-9][0-9]*)$/;var ao=new Ne({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:se,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(st))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(st),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:st,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:st,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(zh))),resolve:e=>e.getDirectives()}})}),zh=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
123
|
+
}`)}o(Et,"block");function re(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(re,"wrap");function du(e){return re(" ",e.replace(/\n/g,`
|
|
124
|
+
`))}o(du,"indent");function mw(e){var t;return(t=e?.some(r=>r.includes(`
|
|
125
|
+
`)))!==null&&t!==void 0?t:!1}o(mw,"hasMultilineItems");function mo(e,t){switch(e.kind){case T.NULL:return null;case T.INT:return parseInt(e.value,10);case T.FLOAT:return parseFloat(e.value);case T.STRING:case T.ENUM:case T.BOOLEAN:return e.value;case T.LIST:return e.values.map(r=>mo(r,t));case T.OBJECT:return Ft(e.fields,r=>r.name.value,r=>mo(r.value,t));case T.VARIABLE:return t?.[e.name.value]}}o(mo,"valueFromASTUntyped");function Qe(e){if(e!=null||ee(!1,"Must provide name."),typeof e=="string"||ee(!1,"Expected name to be a string."),e.length===0)throw new j("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!tu(e.charCodeAt(t)))throw new j(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!lo(e.charCodeAt(0)))throw new j(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(Qe,"assertName");function Xh(e){if(e==="true"||e==="false"||e==="null")throw new j(`Enum values cannot be named: ${e}`);return Qe(e)}o(Xh,"assertEnumValueName");function hu(e){return Nr(e)||Fe(e)||Re(e)||pt(e)||nt(e)||Le(e)||Ye(e)||ye(e)}o(hu,"isType");function Nr(e){return tt(e,rt)}o(Nr,"isScalarType");function Fe(e){return tt(e,ke)}o(Fe,"isObjectType");function fu(e){if(!Fe(e))throw new Error(`Expected ${U(e)} to be a GraphQL Object type.`);return e}o(fu,"assertObjectType");function Re(e){return tt(e,Yt)}o(Re,"isInterfaceType");function mu(e){if(!Re(e))throw new Error(`Expected ${U(e)} to be a GraphQL Interface type.`);return e}o(mu,"assertInterfaceType");function pt(e){return tt(e,on)}o(pt,"isUnionType");function nt(e){return tt(e,Ht)}o(nt,"isEnumType");function Le(e){return tt(e,sn)}o(Le,"isInputObjectType");function Ye(e){return tt(e,Ee)}o(Ye,"isListType");function ye(e){return tt(e,Q)}o(ye,"isNonNullType");function it(e){return Nr(e)||nt(e)||Le(e)||yo(e)&&it(e.ofType)}o(it,"isInputType");function Zt(e){return Nr(e)||Fe(e)||Re(e)||pt(e)||nt(e)||yo(e)&&Zt(e.ofType)}o(Zt,"isOutputType");function xr(e){return Nr(e)||nt(e)}o(xr,"isLeafType");function qt(e){return Fe(e)||Re(e)||pt(e)}o(qt,"isCompositeType");function Cr(e){return Re(e)||pt(e)}o(Cr,"isAbstractType");var Ee=class{static{o(this,"GraphQLList")}constructor(t){hu(t)||ee(!1,`Expected ${U(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},Q=class{static{o(this,"GraphQLNonNull")}constructor(t){yu(t)||ee(!1,`Expected ${U(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 yo(e){return Ye(e)||ye(e)}o(yo,"isWrappingType");function yu(e){return hu(e)&&!ye(e)}o(yu,"isNullableType");function gu(e){if(!yu(e))throw new Error(`Expected ${U(e)} to be a GraphQL nullable type.`);return e}o(gu,"assertNullableType");function bu(e){if(e)return ye(e)?e.ofType:e}o(bu,"getNullableType");function wt(e){if(e){let t=e;for(;yo(t);)t=t.ofType;return t}}o(wt,"getNamedType");function _u(e){return typeof e=="function"?e():e}o(_u,"resolveReadonlyArrayThunk");function Eu(e){return typeof e=="function"?e():e}o(Eu,"resolveObjMapThunk");var rt=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:Wh;this.name=Qe(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:Wh,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(mo(c,u)),this.extensions=$e(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||ee(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${U(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||ee(!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"||ee(!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()}},ke=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=Qe(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=$e(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>gw(t),this._interfaces=()=>yw(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||ee(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${U(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:bw(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function yw(e){var t;let r=_u((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||ee(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(yw,"defineInterfaces");function gw(e){let t=Eu(e.fields);return gi(t)||ee(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),fo(t,(r,n)=>{var i;gi(r)||ee(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||ee(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${U(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return gi(s)||ee(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Qe(n),description:r.description,type:r.type,args:ef(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:$e(r.extensions),astNode:r.astNode}})}o(gw,"defineFieldMap");function ef(e){return Object.entries(e).map(([t,r])=>({name:Qe(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:$e(r.extensions),astNode:r.astNode}))}o(ef,"defineArguments");function gi(e){return Ae(e)&&!Array.isArray(e)}o(gi,"isPlainObj");function bw(e){return fo(e,t=>({description:t.description,type:t.type,args:tf(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(bw,"fieldsToFieldsConfig");function tf(e){return Ft(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(tf,"argsToArgsConfig");var Yt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Qe(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=$e(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=gw.bind(void 0,t),this._interfaces=yw.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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:bw(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},on=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=Qe(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=$e(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=HL.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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 HL(e){let t=_u(e.types);return Array.isArray(t)||ee(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(HL,"defineTypes");var Ht=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=Qe(t.name),this.description=t.description,this.extensions=$e(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=qL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=mi(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 j(`Enum "${this.name}" cannot represent value: ${U(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=U(t);throw new j(`Enum "${this.name}" cannot represent non-string value: ${n}.`+pu(this,n))}let r=this.getValue(t);if(r==null)throw new j(`Value "${t}" does not exist in "${this.name}" enum.`+pu(this,t));return r.value}parseLiteral(t,r){if(t.kind!==T.ENUM){let i=je(t);throw new j(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+pu(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=je(t);throw new j(`Value "${i}" does not exist in "${this.name}" enum.`+pu(this,i),{nodes:t})}return n.value}toConfig(){let t=Ft(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 pu(e,t){let r=e.getValues().map(i=>i.name),n=lu(t,r);return cu("the enum value",n)}o(pu,"didYouMeanEnumValue");function qL(e,t){return gi(t)||ee(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(gi(n)||ee(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${U(n)}.`),{name:Xh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:$e(n.extensions),astNode:n.astNode}))}o(qL,"defineEnumValues");var sn=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Qe(t.name),this.description=t.description,this.extensions=$e(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=$L.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=fo(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 $L(e){let t=Eu(e.fields);return gi(t)||ee(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),fo(t,(r,n)=>(!("resolve"in r)||ee(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Qe(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:$e(r.extensions),astNode:r.astNode}))}o($L,"defineInputFieldMap");var wu=2147483647,vu=-2147483648,rf=new rt({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=go(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 j(`Int cannot represent non-integer value: ${U(t)}`);if(r>wu||r<vu)throw new j("Int cannot represent non 32-bit signed integer value: "+U(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new j(`Int cannot represent non-integer value: ${U(e)}`);if(e>wu||e<vu)throw new j(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==T.INT)throw new j(`Int cannot represent non-integer value: ${je(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>wu||t<vu)throw new j(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),_w=new rt({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=go(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 j(`Float cannot represent non numeric value: ${U(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new j(`Float cannot represent non numeric value: ${U(e)}`);return e},parseLiteral(e){if(e.kind!==T.FLOAT&&e.kind!==T.INT)throw new j(`Float cannot represent non numeric value: ${je(e)}`,e);return parseFloat(e.value)}}),fe=new rt({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=go(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 j(`String cannot represent value: ${U(e)}`)},parseValue(e){if(typeof e!="string")throw new j(`String cannot represent a non string value: ${U(e)}`);return e},parseLiteral(e){if(e.kind!==T.STRING)throw new j(`String cannot represent a non string value: ${je(e)}`,{nodes:e});return e.value}}),Ve=new rt({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=go(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new j(`Boolean cannot represent a non boolean value: ${U(t)}`)},parseValue(e){if(typeof e!="boolean")throw new j(`Boolean cannot represent a non boolean value: ${U(e)}`);return e},parseLiteral(e){if(e.kind!==T.BOOLEAN)throw new j(`Boolean cannot represent a non boolean value: ${je(e)}`,{nodes:e});return e.value}}),Tu=new rt({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=go(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new j(`ID cannot represent value: ${U(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new j(`ID cannot represent value: ${U(e)}`)},parseLiteral(e){if(e.kind!==T.STRING&&e.kind!==T.INT)throw new j("ID cannot represent a non-string and non-integer value: "+je(e),{nodes:e});return e.value}}),nf=Object.freeze([fe,rf,_w,Ve,Tu]);function go(e){if(Ae(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ae(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(go,"serializeObject");function of(e){return tt(e,vt)}o(of,"isDirective");var vt=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Qe(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=$e(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||ee(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ae(i)&&!Array.isArray(i)||ee(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=ef(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:tf(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},Ew=new vt({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Ve),description:"Included when true."}}}),ww=new vt({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Ve),description:"Skipped when true."}}}),vw="No longer supported",Tw=new vt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[te.FIELD_DEFINITION,te.ARGUMENT_DEFINITION,te.INPUT_FIELD_DEFINITION,te.ENUM_VALUE],args:{reason:{type:fe,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:vw}}}),Sw=new vt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[te.SCALAR],args:{url:{type:new Q(fe),description:"The URL that specifies the behavior of this scalar."}}}),sf=Object.freeze([Ew,ww,Tw,Sw]);function Su(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(Su,"isIterableObject");function an(e,t){if(ye(t)){let r=an(e,t.ofType);return r?.kind===T.NULL?null:r}if(e===null)return{kind:T.NULL};if(e===void 0)return null;if(Ye(t)){let r=t.ofType;if(Su(e)){let n=[];for(let i of e){let s=an(i,r);s!=null&&n.push(s)}return{kind:T.LIST,values:n}}return an(e,r)}if(Le(t)){if(!Ae(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=an(e[n.name],n.type);i&&r.push({kind:T.OBJECT_FIELD,name:{kind:T.NAME,value:n.name},value:i})}return{kind:T.OBJECT,fields:r}}if(xr(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:T.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Iw.test(n)?{kind:T.INT,value:n}:{kind:T.FLOAT,value:n}}if(typeof r=="string")return nt(t)?{kind:T.ENUM,value:r}:t===Tu&&Iw.test(r)?{kind:T.INT,value:r}:{kind:T.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${U(r)}.`)}kt(!1,"Unexpected input type: "+U(t))}o(an,"astFromValue");var Iw=/^-?(?:0|[1-9][0-9]*)$/;var bo=new ke({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:fe,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new Q(new Ee(new Q(ht))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Q(ht),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ht,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ht,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Q(new Ee(new Q(af))),resolve:e=>e.getDirectives()}})}),af=new ke({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
123
126
|
|
|
124
|
-
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(ke),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(Wh))),resolve:e=>e.locations},args:{type:new $(new pe(new $(co))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Wh=new xt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),st=new Ne({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(Zh),resolve(e){if(vr(e))return te.SCALAR;if(Ce(e))return te.OBJECT;if(we(e))return te.INTERFACE;if(ot(e))return te.UNION;if(Ye(e))return te.ENUM;if(Ae(e))return te.INPUT_OBJECT;if(Ge(e))return te.LIST;if(ce(e))return te.NON_NULL;Nt(!1,`Unexpected type: "${A(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(Qh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ce(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(st)),resolve(e){if(Ce(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(st)),resolve(e,t,r,{schema:n}){if(Tr(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Yh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ye(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new $(co)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ae(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:st,resolve:e=>"ofType"in e?e.ofType:void 0}})}),Qh=new Ne({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new pe(new $(co))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(st),resolve:e=>e.type},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),co=new Ne({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(st),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=Zr(r,t);return n?Me(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Yh=new Ne({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),te;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(te||(te={}));var Zh=new xt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:te.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:te.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:te.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:te.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:te.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:te.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:te.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:te.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),mu={name:"__schema",type:new $(ao),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},yu={name:"__type",type:st,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},gu={name:"__typename",type:new $(se),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Xh=Object.freeze([ao,zh,Wh,st,Qh,co,Yh,Zh]);var uo=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${A(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${A(t.directives)}.`),this.description=t.description,this.extensions=Ue(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Jh;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),yt(s,i);this._queryType!=null&&yt(this._queryType,i),this._mutationType!=null&&yt(this._mutationType,i),this._subscriptionType!=null&&yt(this._subscriptionType,i);for(let s of this._directives)if(Kh(s))for(let a of s.args)yt(a.type,i);yt(ao,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,we(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ce(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case it.QUERY:return this.getQueryType();case it.MUTATION:return this.getMutationType();case it.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return ot(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),ot(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function yt(e,t){let r=ft(e);if(!t.has(r)){if(t.add(r),ot(r))for(let n of r.getTypes())yt(n,t);else if(Ce(r)||we(r)){for(let n of r.getInterfaces())yt(n,t);for(let n of Object.values(r.getFields())){yt(n.type,t);for(let i of n.args)yt(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))yt(n.type,t)}return t}o(yt,"collectReferencedTypes");function Ir(e,t){switch(t.kind){case b.LIST_TYPE:{let r=Ir(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=Ir(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}o(Ir,"typeFromAST");var Pr=class{static{o(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??lD,r&&(Ze(r)&&this._inputTypeStack.push(r),Lt(r)&&this._parentTypeStack.push(r),Bt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=ft(this.getType());this._parentTypeStack.push(Lt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(Bt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ce(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?Ir(r,i):ft(this.getType());this._typeStack.push(Bt(s)?s:void 0);break}case b.VARIABLE_DEFINITION:{let i=Ir(r,t.type);this._inputTypeStack.push(Ze(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ze(s)?s:void 0);break}case b.LIST:{let i=cu(this.getInputType()),s=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ze(s)?s:void 0);break}case b.OBJECT_FIELD:{let i=ft(this.getInputType()),s,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ze(s)?s:void 0);break}case b.ENUM:{let i=ft(this.getInputType()),s;Ye(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function lD(e,t,r){let n=r.name.value;if(n===mu.name&&e.getQueryType()===t)return mu;if(n===yu.name&&e.getQueryType()===t)return yu;if(n===gu.name&&Lt(t))return gu;if(Ce(t)||we(t))return t.getFields()[n]}o(lD,"getFieldDef");function ci(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=si(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),Xi(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=si(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(ci,"visitWithTypeInfo");function bu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(bu,"printPathArray");function ef(e,t,r){return{prev:e,key:t,typename:r}}o(ef,"addPath");function Kt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(Kt,"pathToArray");function tf(e,t,r=dD){return lo(e,t,r,void 0)}o(tf,"coerceInputValue");function dD(e,t,r){let n="Invalid value "+A(t);throw e.length>0&&(n+=` at "value${bu(e)}"`),r.message=n+": "+r.message,r}o(dD,"defaultOnError");function lo(e,t,r,n){if(ce(t)){if(e!=null)return lo(e,t.ofType,r,n);r(Kt(n),e,new x(`Expected non-nullable type "${A(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return fu(e)?Array.from(e,(s,a)=>{let c=ef(n,a,void 0);return lo(s,i,r,c)}):[lo(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Kt(n),e,new x(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let a of Object.values(s)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=A(a.type);r(Kt(n),e,new x(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=lo(c,a.type,r,ef(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=eu(a,Object.keys(t.getFields()));r(Kt(n),e,new x(`Field "${a}" is not defined by type "${t.name}".`+Zc(c)))}return i}if(Sr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof x?r(Kt(n),e,s):r(Kt(n),e,new x(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(Kt(n),e,new x(`Expected type "${t.name}".`)),i}Nt(!1,"Unexpected input type: "+A(t))}o(lo,"coerceInputValueImpl");function Dt(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Dt(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let s=[];for(let a of e.values)if(dw(a,r)){if(ce(n))return;s.push(null)}else{let c=Dt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Dt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=oi(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||dw(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ce(s.type))return;continue}let c=Dt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(Sr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Nt(!1,"Unexpected input type: "+A(t))}}o(Dt,"valueFromAST");function dw(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(dw,"isMissingVariable");function _u(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=pD(e,t,r,c=>{if(s!=null&&i.length>=s)throw new x("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(_u,"getVariableValues");function pD(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=Ir(e,s.type);if(!Ze(c)){let l=Me(s.type);n(new x(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!pw(r,a)){if(s.defaultValue)i[a]=Dt(s.defaultValue,c);else if(ce(c)){let l=A(c);n(new x(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ce(c)){let l=A(c);n(new x(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=tf(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(m+=` at "${a}${bu(l)}"`),n(new x(m+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(pD,"coerceVariableValues");function po(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=oi(s,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!pw(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}m=r[g]==null}if(m&&ce(l))throw new x(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let h=Dt(p,l,r);if(h===void 0)throw new x(`Argument "${u}" has invalid value ${Me(p)}.`,{nodes:p});i[u]=h}return i}o(po,"getArgumentValues");function ho(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(i)return po(e,i,r)}o(ho,"getDirectiveValues");function pw(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(pw,"hasOwnProperty");var Eu=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===b.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},hw=class extends Eu{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},ui=class extends Eu{static{o(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new Pr(this._schema);wr(t,ci(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function wu(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
|
|
127
|
+
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 Q(fe),resolve:e=>e.name},description:{type:fe,resolve:e=>e.description},isRepeatable:{type:new Q(Ve),resolve:e=>e.isRepeatable},locations:{type:new Q(new Ee(new Q(cf))),resolve:e=>e.locations},args:{type:new Q(new Ee(new Q(_o))),args:{includeDeprecated:{type:Ve,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),cf=new Ht({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:te.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:te.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:te.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:te.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:te.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:te.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:te.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:te.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:te.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:te.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:te.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:te.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:te.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:te.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:te.UNION,description:"Location adjacent to a union definition."},ENUM:{value:te.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:te.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:te.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:te.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),ht=new ke({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 Q(df),resolve(e){if(Nr(e))return le.SCALAR;if(Fe(e))return le.OBJECT;if(Re(e))return le.INTERFACE;if(pt(e))return le.UNION;if(nt(e))return le.ENUM;if(Le(e))return le.INPUT_OBJECT;if(Ye(e))return le.LIST;if(ye(e))return le.NON_NULL;kt(!1,`Unexpected type: "${U(e)}".`)}},name:{type:fe,resolve:e=>"name"in e?e.name:void 0},description:{type:fe,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:fe,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new Ee(new Q(uf)),args:{includeDeprecated:{type:Ve,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Fe(e)||Re(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new Ee(new Q(ht)),resolve(e){if(Fe(e)||Re(e))return e.getInterfaces()}},possibleTypes:{type:new Ee(new Q(ht)),resolve(e,t,r,{schema:n}){if(Cr(e))return n.getPossibleTypes(e)}},enumValues:{type:new Ee(new Q(lf)),args:{includeDeprecated:{type:Ve,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(nt(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new Ee(new Q(_o)),args:{includeDeprecated:{type:Ve,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Le(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:ht,resolve:e=>"ofType"in e?e.ofType:void 0}})}),uf=new ke({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 Q(fe),resolve:e=>e.name},description:{type:fe,resolve:e=>e.description},args:{type:new Q(new Ee(new Q(_o))),args:{includeDeprecated:{type:Ve,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new Q(ht),resolve:e=>e.type},isDeprecated:{type:new Q(Ve),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:fe,resolve:e=>e.deprecationReason}})}),_o=new ke({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 Q(fe),resolve:e=>e.name},description:{type:fe,resolve:e=>e.description},type:{type:new Q(ht),resolve:e=>e.type},defaultValue:{type:fe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=an(r,t);return n?je(n):null}},isDeprecated:{type:new Q(Ve),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:fe,resolve:e=>e.deprecationReason}})}),lf=new ke({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 Q(fe),resolve:e=>e.name},description:{type:fe,resolve:e=>e.description},isDeprecated:{type:new Q(Ve),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:fe,resolve:e=>e.deprecationReason}})}),le;(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"})(le||(le={}));var df=new Ht({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:le.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:le.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:le.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:le.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:le.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:le.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:le.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:le.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Iu={name:"__schema",type:new Q(bo),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},Pu={name:"__type",type:ht,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Q(fe),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 Q(fe),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},pf=Object.freeze([bo,af,cf,ht,uf,_o,lf,df]);var Eo=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ae(t)||ee(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||ee(!1,`"types" must be Array if provided but got: ${U(t.types)}.`),!t.directives||Array.isArray(t.directives)||ee(!1,`"directives" must be Array if provided but got: ${U(t.directives)}.`),this.description=t.description,this.extensions=$e(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:sf;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),Tt(s,i);this._queryType!=null&&Tt(this._queryType,i),this._mutationType!=null&&Tt(this._mutationType,i),this._subscriptionType!=null&&Tt(this._subscriptionType,i);for(let s of this._directives)if(of(s))for(let a of s.args)Tt(a.type,i);Tt(bo,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||ee(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,Re(s)){for(let c of s.getInterfaces())if(Re(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Fe(s)){for(let c of s.getInterfaces())if(Re(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case dt.QUERY:return this.getQueryType();case dt.MUTATION:return this.getMutationType();case dt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return pt(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),pt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function Tt(e,t){let r=wt(e);if(!t.has(r)){if(t.add(r),pt(r))for(let n of r.getTypes())Tt(n,t);else if(Fe(r)||Re(r)){for(let n of r.getInterfaces())Tt(n,t);for(let n of Object.values(r.getFields())){Tt(n.type,t);for(let i of n.args)Tt(i.type,t)}}else if(Le(r))for(let n of Object.values(r.getFields()))Tt(n.type,t)}return t}o(Tt,"collectReferencedTypes");function Dr(e,t){switch(t.kind){case T.LIST_TYPE:{let r=Dr(e,t.type);return r&&new Ee(r)}case T.NON_NULL_TYPE:{let r=Dr(e,t.type);return r&&new Q(r)}case T.NAMED_TYPE:return e.getType(t.name.value)}}o(Dr,"typeFromAST");var Lr=class{static{o(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??jL,r&&(it(r)&&this._inputTypeStack.push(r),qt(r)&&this._parentTypeStack.push(r),Zt(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 T.SELECTION_SET:{let i=wt(this.getType());this._parentTypeStack.push(qt(i)?i:void 0);break}case T.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(Zt(a)?a:void 0);break}case T.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case T.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Fe(i)?i:void 0);break}case T.INLINE_FRAGMENT:case T.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?Dr(r,i):wt(this.getType());this._typeStack.push(Zt(s)?s:void 0);break}case T.VARIABLE_DEFINITION:{let i=Dr(r,t.type);this._inputTypeStack.push(it(i)?i:void 0);break}case T.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case T.LIST:{let i=bu(this.getInputType()),s=Ye(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case T.OBJECT_FIELD:{let i=wt(this.getInputType()),s,a;Le(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case T.ENUM:{let i=wt(this.getInputType()),s;nt(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case T.SELECTION_SET:this._parentTypeStack.pop();break;case T.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case T.DIRECTIVE:this._directive=null;break;case T.OPERATION_DEFINITION:case T.INLINE_FRAGMENT:case T.FRAGMENT_DEFINITION:this._typeStack.pop();break;case T.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case T.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case T.LIST:case T.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case T.ENUM:this._enumValue=null;break;default:}}};function jL(e,t,r){let n=r.name.value;if(n===Iu.name&&e.getQueryType()===t)return Iu;if(n===Pu.name&&e.getQueryType()===t)return Pu;if(n===Au.name&&qt(t))return Au;if(Fe(t)||Re(t))return t.getFields()[n]}o(jL,"getFieldDef");function bi(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=yi(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),uo(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=yi(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(bi,"visitWithTypeInfo");function Ru(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(Ru,"printPathArray");function hf(e,t,r){return{prev:e,key:t,typename:r}}o(hf,"addPath");function Xt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(Xt,"pathToArray");function ff(e,t,r=VL){return wo(e,t,r,void 0)}o(ff,"coerceInputValue");function VL(e,t,r){let n="Invalid value "+U(t);throw e.length>0&&(n+=` at "value${Ru(e)}"`),r.message=n+": "+r.message,r}o(VL,"defaultOnError");function wo(e,t,r,n){if(ye(t)){if(e!=null)return wo(e,t.ofType,r,n);r(Xt(n),e,new j(`Expected non-nullable type "${U(t)}" not to be null.`));return}if(e==null)return null;if(Ye(t)){let i=t.ofType;return Su(e)?Array.from(e,(s,a)=>{let c=hf(n,a,void 0);return wo(s,i,r,c)}):[wo(e,i,r,n)]}if(Le(t)){if(!Ae(e)){r(Xt(n),e,new j(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let a of Object.values(s)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ye(a.type)){let u=U(a.type);r(Xt(n),e,new j(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=wo(c,a.type,r,hf(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=lu(a,Object.keys(t.getFields()));r(Xt(n),e,new j(`Field "${a}" is not defined by type "${t.name}".`+cu(c)))}return i}if(xr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof j?r(Xt(n),e,s):r(Xt(n),e,new j(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(Xt(n),e,new j(`Expected type "${t.name}".`)),i}kt(!1,"Unexpected input type: "+U(t))}o(wo,"coerceInputValueImpl");function $t(e,t,r){if(e){if(e.kind===T.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ye(t)?void 0:i}if(ye(t))return e.kind===T.NULL?void 0:$t(e,t.ofType,r);if(e.kind===T.NULL)return null;if(Ye(t)){let n=t.ofType;if(e.kind===T.LIST){let s=[];for(let a of e.values)if(Pw(a,r)){if(ye(n))return;s.push(null)}else{let c=$t(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=$t(e,n,r);return i===void 0?void 0:[i]}if(Le(t)){if(e.kind!==T.OBJECT)return;let n=Object.create(null),i=mi(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||Pw(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ye(s.type))return;continue}let c=$t(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(xr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}kt(!1,"Unexpected input type: "+U(t))}}o($t,"valueFromAST");function Pw(e,t){return e.kind===T.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(Pw,"isMissingVariable");function Ou(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=GL(e,t,r,c=>{if(s!=null&&i.length>=s)throw new j("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(Ou,"getVariableValues");function GL(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=Dr(e,s.type);if(!it(c)){let l=je(s.type);n(new j(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Aw(r,a)){if(s.defaultValue)i[a]=$t(s.defaultValue,c);else if(ye(c)){let l=U(c);n(new j(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ye(c)){let l=U(c);n(new j(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=ff(u,c,(l,d,p)=>{let h=`Variable "$${a}" got invalid value `+U(d);l.length>0&&(h+=` at "${a}${Ru(l)}"`),n(new j(h+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(GL,"coerceVariableValues");function vo(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=mi(s,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ye(l))throw new j(`Argument "${u}" of required type "${U(l)}" was not provided.`,{nodes:t});continue}let p=d.value,h=p.kind===T.NULL;if(p.kind===T.VARIABLE){let y=p.name.value;if(r==null||!Aw(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ye(l))throw new j(`Argument "${u}" of required type "${U(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}h=r[y]==null}if(h&&ye(l))throw new j(`Argument "${u}" of non-null type "${U(l)}" must not be null.`,{nodes:p});let f=$t(p,l,r);if(f===void 0)throw new j(`Argument "${u}" has invalid value ${je(p)}.`,{nodes:p});i[u]=f}return i}o(vo,"getArgumentValues");function To(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(i)return vo(e,i,r)}o(To,"getDirectiveValues");function Aw(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(Aw,"hasOwnProperty");var Nu=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===T.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===T.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},Rw=class extends Nu{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},_i=class extends Nu{static{o(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new Lr(this._schema);Or(t,bi(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function xu(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
|
|
125
128
|
query IntrospectionQuery {
|
|
126
129
|
__schema {
|
|
127
130
|
${s}
|
|
@@ -226,5 +229,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
|
|
|
226
229
|
}
|
|
227
230
|
}
|
|
228
231
|
}
|
|
229
|
-
`}o(wu,"getIntrospectionQuery");function vu(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${A(e)}.`);let r=e.__schema,n=Ct(r.types,w=>w.name,w=>m(w));for(let w of[...Bh,...Xh])n[w.name]&&(n[w.name]=w);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Be):[];return new uo({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(w){if(w.kind===te.LIST){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(w.kind===te.NON_NULL){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let xe=u(H);return new $(au(xe))}return l(w)}function l(w){let H=w.name;if(!H)throw new Error(`Unknown type reference: ${A(w)}.`);let xe=n[H];if(!xe)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return xe}function d(w){return iu(l(w))}function p(w){return ou(l(w))}function m(w){if(w!=null&&w.name!=null&&w.kind!=null)switch(w.kind){case te.SCALAR:return h(w);case te.OBJECT:return _(w);case te.INTERFACE:return S(w);case te.UNION:return T(w);case te.ENUM:return k(w);case te.INPUT_OBJECT:return G(w)}let H=A(w);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(w){return new Qe({name:w.name,description:w.description,specifiedByURL:w.specifiedByURL})}function g(w){if(w.interfaces===null&&w.kind===te.INTERFACE)return[];if(!w.interfaces){let H=A(w);throw new Error(`Introspection result missing interfaces: ${H}.`)}return w.interfaces.map(p)}function _(w){return new Ne({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function S(w){return new Gt({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function T(w){if(!w.possibleTypes){let H=A(w);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new Qr({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function k(w){if(!w.enumValues){let H=A(w);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new xt({name:w.name,description:w.description,values:Ct(w.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function G(w){if(!w.inputFields){let H=A(w);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new Yr({name:w.name,description:w.description,fields:()=>ne(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${A(w)}.`);return Ct(w.fields,H=>H.name,Z)}function Z(w){let H=u(w.type);if(!Bt(H)){let xe=A(H);throw new Error(`Introspection must provide output type for fields, but received: ${xe}.`)}if(!w.args){let xe=A(w);throw new Error(`Introspection result missing field args: ${xe}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:H,args:ne(w.args)}}function ne(w){return Ct(w,H=>H.name,me)}function me(w){let H=u(w.type);if(!Ze(H)){let Tu=A(H);throw new Error(`Introspection must provide input type for arguments, but received: ${Tu}.`)}let xe=w.defaultValue!=null?Dt(Yc(w.defaultValue),H):void 0;return{description:w.description,type:H,defaultValue:xe,deprecationReason:w.deprecationReason}}function Be(w){if(!w.args){let H=A(w);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!w.locations){let H=A(w);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new mt({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ne(w.args)})}}o(vu,"buildClientSchema");function MD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(MD,"queryComplexityMessage");function fw(e){let t=new Pr(e.schema),r=[],n=new ui(e.schema,e.query,t,s=>r.push(s)),i=new rf(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(wr(e.query,ci(t,i)),r.length)throw r.pop();return i.complexity}o(fw,"getComplexity");var rf=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=_u(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof Ne||r instanceof Gt)&&(n=r.getFields());let i;Tr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&ho(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&ho(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=ft(p.type),h;try{h=po(p,c,this.variableValues||{})}catch(T){return this.context.reportError(T),a}let g=0;Lt(m)&&(g=this.nodeComplexity(c,m));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(T=>{let k=T(_);return typeof k=="number"&&!isNaN(k)?(u=li(k,a,i),!0):!1}))return this.context.reportError(new x(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!Lt(m))break;let h=this.nodeComplexity(p,m);Tr(m)?u=li(h,a,this.context.getSchema().getPossibleTypes(m).map(g=>g.name)):u=li(h,a,[m.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Lt(p)))break;let m=this.nodeComplexity(c,p);Tr(p)?u=li(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=li(m,a,[p.name]);break}default:{u=li(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new x(MD(this.options.maximumComplexity,this.complexity))}};function li(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(li,"addComplexities");function mw(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(mw,"simpleEstimator");var yw=o((e,t,r={})=>{let{definitions:n}=e,i=kD(n),s=HD(n);return Object.entries(s).map(([a,c])=>Su(c,i,0,t,a,r))},"depthLimit");function kD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(kD,"getFragments");function HD(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(HD,"getQueriesAndMutations");function Su(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new x(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case b.FIELD:return FD(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>Su(c,t,r+1,n,i,s)));case b.FRAGMENT_SPREAD:return Su(t[e.name.value],t,r,n,i,s);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>Su(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(Su,"determineDepth");var FD=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var qD=o(async(e,t)=>{if(!t.complexityLimit)throw new di.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new di.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=wu(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new x("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=vu(c,{assumeValid:!0}),l=fw({estimators:[mw({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new x(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),$D=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new di.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...yw(e,r))},"applyDepthLimitPolicy"),gw=o(async(e,t,r)=>{let n=di.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=Qc(s.query);r.useDepthLimit&&await $D(a,r.useDepthLimit),r.useComplexityLimit&&await qD(a,r.useComplexityLimit)}catch(i){if(i instanceof x)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var bw=sf(Mt());function jD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(jD,"isIntrospectionQuery");var _w=o(async(e,t)=>{let n=await e.clone().json();return jD(n.query)?bw.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
232
|
+
`}o(xu,"getIntrospectionQuery");function Cu(e,t){Ae(e)&&Ae(e.__schema)||ee(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${U(e)}.`);let r=e.__schema,n=Ft(r.types,E=>E.name,E=>h(E));for(let E of[...nf,...pf])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(x):[];return new Eo({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===le.LIST){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");return new Ee(u(P))}if(E.kind===le.NON_NULL){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");let C=u(P);return new Q(gu(C))}return l(E)}function l(E){let P=E.name;if(!P)throw new Error(`Unknown type reference: ${U(E)}.`);let C=n[P];if(!C)throw new Error(`Invalid or incomplete schema, unknown type: ${P}. Ensure that a full introspection query is used in order to build a client schema.`);return C}function d(E){return fu(l(E))}function p(E){return mu(l(E))}function h(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case le.SCALAR:return f(E);case le.OBJECT:return _(E);case le.INTERFACE:return I(E);case le.UNION:return O(E);case le.ENUM:return g(E);case le.INPUT_OBJECT:return v(E)}let P=U(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${P}.`)}function f(E){return new rt({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function y(E){if(E.interfaces===null&&E.kind===le.INTERFACE)return[];if(!E.interfaces){let P=U(E);throw new Error(`Introspection result missing interfaces: ${P}.`)}return E.interfaces.map(p)}function _(E){return new ke({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>R(E)})}function I(E){return new Yt({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>R(E)})}function O(E){if(!E.possibleTypes){let P=U(E);throw new Error(`Introspection result missing possibleTypes: ${P}.`)}return new on({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function g(E){if(!E.enumValues){let P=U(E);throw new Error(`Introspection result missing enumValues: ${P}.`)}return new Ht({name:E.name,description:E.description,values:Ft(E.enumValues,P=>P.name,P=>({description:P.description,deprecationReason:P.deprecationReason}))})}function v(E){if(!E.inputFields){let P=U(E);throw new Error(`Introspection result missing inputFields: ${P}.`)}return new sn({name:E.name,description:E.description,fields:()=>w(E.inputFields)})}function R(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${U(E)}.`);return Ft(E.fields,P=>P.name,K)}function K(E){let P=u(E.type);if(!Zt(P)){let C=U(P);throw new Error(`Introspection must provide output type for fields, but received: ${C}.`)}if(!E.args){let C=U(E);throw new Error(`Introspection result missing field args: ${C}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:P,args:w(E.args)}}function w(E){return Ft(E,P=>P.name,S)}function S(E){let P=u(E.type);if(!it(P)){let H=U(P);throw new Error(`Introspection must provide input type for arguments, but received: ${H}.`)}let C=E.defaultValue!=null?$t(au(E.defaultValue),P):void 0;return{description:E.description,type:P,defaultValue:C,deprecationReason:E.deprecationReason}}function x(E){if(!E.args){let P=U(E);throw new Error(`Introspection result missing directive args: ${P}.`)}if(!E.locations){let P=U(E);throw new Error(`Introspection result missing directive locations: ${P}.`)}return new vt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:w(E.args)})}}o(Cu,"buildClientSchema");function f1(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(f1,"queryComplexityMessage");function Ow(e){let t=new Lr(e.schema),r=[],n=new _i(e.schema,e.query,t,s=>r.push(s)),i=new mf(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(Or(e.query,bi(t,i)),r.length)throw r.pop();return i.complexity}o(Ow,"getComplexity");var mf=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=Ou(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof ke||r instanceof Yt)&&(n=r.getFields());let i;Cr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let f=this.includeDirectiveDef&&To(this.includeDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(l=f.if);break}case"skip":{let f=this.skipDirectiveDef&&To(this.skipDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(d=f.if);break}}if(!l||d)return a;switch(c.kind){case T.FIELD:{let p=n[c.name.value];if(!p)break;let h=wt(p.type),f;try{f=vo(p,c,this.variableValues||{})}catch(O){return this.context.reportError(O),a}let y=0;qt(h)&&(y=this.nodeComplexity(c,h));let _={childComplexity:y,args:f,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(O=>{let g=O(_);return typeof g=="number"&&!isNaN(g)?(u=Ei(g,a,i),!0):!1}))return this.context.reportError(new j(`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 T.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let h=this.context.getSchema().getType(p.typeCondition.name.value);if(!qt(h))break;let f=this.nodeComplexity(p,h);Cr(h)?u=Ei(f,a,this.context.getSchema().getPossibleTypes(h).map(y=>y.name)):u=Ei(f,a,[h.name]);break}case T.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!qt(p)))break;let h=this.nodeComplexity(c,p);Cr(p)?u=Ei(h,a,this.context.getSchema().getPossibleTypes(p).map(f=>f.name)):u=Ei(h,a,[p.name]);break}default:{u=Ei(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new j(f1(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}o(Ei,"addComplexities");function Nw(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(Nw,"simpleEstimator");var xw=o((e,t,r={})=>{let{definitions:n}=e,i=m1(n),s=y1(n);return Object.entries(s).map(([a,c])=>Du(c,i,0,t,a,r))},"depthLimit");function m1(e){return e.reduce((t,r)=>(r.kind===T.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(m1,"getFragments");function y1(e){return e.reduce((t,r)=>{if(r.kind===T.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(y1,"getQueriesAndMutations");function Du(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new j(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case T.FIELD:return g1(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>Du(c,t,r+1,n,i,s)));case T.FRAGMENT_SPREAD:return Du(t[e.name.value],t,r,n,i,s);case T.INLINE_FRAGMENT:case T.FRAGMENT_DEFINITION:case T.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>Du(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(Du,"determineDepth");var g1=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var b1=o(async(e,t)=>{if(!t.complexityLimit)throw new wi.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new wi.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=xu(),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 j("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Cu(c,{assumeValid:!0}),l=Ow({estimators:[Nw({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new j(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),_1=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new wi.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...xw(e,r))},"applyDepthLimitPolicy"),Cw=o(async(e,t,r)=>{let n=wi.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=su(s.query);r.useDepthLimit&&await _1(a,r.useDepthLimit),r.useComplexityLimit&&await b1(a,r.useComplexityLimit)}catch(i){if(i instanceof j)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var Dw=bf(Vt());function E1(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(E1,"isIntrospectionQuery");var Lw=o(async(e,t)=>{let n=await e.clone().json();return E1(n.query)?Dw.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
|
|
230
233
|
/*! For license information please see index.minified.js.LEGAL.txt */
|