@zuplo/cli 6.73.19 → 6.73.21
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/node_modules/@zuplo/core/customer.cli.minified.js +26 -26
- package/node_modules/@zuplo/core/index.minified.js +33 -33
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/out/esm/chunk-6IEB7H3W.js +26 -0
- package/node_modules/@zuplo/otel/out/esm/chunk-6IEB7H3W.js.map +1 -0
- package/node_modules/@zuplo/otel/out/esm/index.js +1 -1
- package/node_modules/@zuplo/otel/out/types/index.d.ts +2 -0
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-JPPAUB3E.js → chunk-DBFG5V2I.js} +3 -3
- package/node_modules/@zuplo/runtime/out/esm/chunk-DBFG5V2I.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/package.json +6 -6
- package/node_modules/@zuplo/otel/out/esm/chunk-JYT2Q52R.js +0 -26
- package/node_modules/@zuplo/otel/out/esm/chunk-JYT2Q52R.js.map +0 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-JPPAUB3E.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-JPPAUB3E.js.LEGAL.txt → chunk-DBFG5V2I.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Zuplo, Inc. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This software and associated documentation files (the "Software") is intended to be used
|
|
6
|
+
* only by Zuplo customers solely to develop and test applications that will be deployed
|
|
7
|
+
* to Zuplo hosted services. You and others in your organization may use these files on your
|
|
8
|
+
* Development Devices solely for the above stated purpose.
|
|
9
|
+
*
|
|
10
|
+
* Outside of uses stated above, no license is granted for any other purpose including
|
|
11
|
+
* without limitation the rights to use, copy, modify, merge, publish, distribute,
|
|
12
|
+
* sublicense, host, and/or sell copies of the Software.
|
|
13
|
+
*
|
|
14
|
+
* The software may include third party components with separate legal notices or governed by
|
|
15
|
+
* other agreements, as described in licenses either embedded in or accompanying the Software.
|
|
16
|
+
*
|
|
17
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
18
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
19
|
+
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
|
20
|
+
* FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
21
|
+
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
22
|
+
* DEALINGS IN THE SOFTWARE.
|
|
23
|
+
*--------------------------------------------------------------------------------------------*/
|
|
24
|
+
|
|
25
|
+
var St=Object.defineProperty;var n=(t,e)=>St(t,"name",{value:e,configurable:!0});import{Buffer as xt}from"node:buffer";Object.assign(globalThis,{Buffer:xt});import{ExportResultCode as ye}from"@opentelemetry/core";import{JsonLogsSerializer as bt,JsonTraceSerializer as yt}from"@opentelemetry/otlp-transformer";import{BackgroundDispatcher as Ee}from"@zuplo/runtime";function Rt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}n(Rt,"isPlainObject");function Ce(t){if(t==null)return"";if(Array.isArray(t)){for(let e=0;e<t.length;e+=1)t[e]=Ce(t[e]);return t}return Rt(t)&&k(t),t}n(Ce,"sanitizeValue");function k(t){Object.keys(t).forEach(e=>{t[e]=Ce(t[e])})}n(k,"sanitizeEmptyAttributes");var re=Symbol("unwrap");function be(t){return t&&!!t[re]}n(be,"isWrapped");function Ct(t){return t!==null&&typeof t=="object"||typeof t=="function"}n(Ct,"isProxyable");function N(t,e,r=!0){if(be(t)||!Ct(t))return t;let o=Object.assign({},e);return o.get=(s,i,a)=>{if(i===re)return t;if(e.get)return e.get(s,i,a);if(i==="bind")return()=>a;if(r)return oe(s,i)},o.apply=(s,i,a)=>{if(e.apply)return e.apply(y(s),y(i),a)},new Proxy(t,o)}n(N,"wrap");function y(t){return t&&be(t)?t[re]:t}n(y,"unwrap");function oe(t,e,r){let o=y(t);r=y(r)||o;let s=Reflect.get(o,e);return typeof s=="function"?s.constructor.name==="RpcProperty"?(...i)=>o[e](...i):s.bind(r):s}n(oe,"passthroughGet");var Pe={accept:"application/json","content-type":"application/json"},R=class{static{n(this,"OTLPSpanExporter")}headers;url;constructor(e){this.url=e.url,this.headers=Object.assign({},Pe,e.headers)}export(e,r){e.forEach(o=>{this.batcher.enqueue(o)}),r({code:ye.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{k(a.attributes)});let r=new TextDecoder,o=yt.serializeRequest(e),s=r.decode(o),i=await y(fetch)(this.url,{method:"POST",body:s,headers:this.headers});if(!i.ok)try{let a=await i.text();throw new Error(`Error exporting traces: ${i.status}:${a}`)}catch(a){throw new Error(`Error exporting traces ${a.message}`)}},"dispatchFunction");batcher=new Ee(this.dispatchFunction,{msDelay:10})},D=class{static{n(this,"OTLPLogExporter")}headers;url;batcher;constructor(e,r){this.url=e.url,this.headers=Object.assign({},Pe,e.headers),this.batcher=new Ee(this.dispatchFunction,{msDelay:r?.scheduledDelayMillis??10})}export(e,r){e.forEach(o=>{this.batcher.enqueue(o)}),r({code:ye.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{k(a.attributes)});let r=new TextDecoder,o=bt.serializeRequest(e),s=r.decode(o),i=await y(fetch)(this.url,{method:"POST",body:s,headers:this.headers});if(!i.ok)try{let a=await i.text();throw new Error(`Error exporting OTel logs: ${i.status}:${a}`)}catch(a){throw new Error(`Error exporting OTel logs: ${a.message}`)}},"dispatchFunction")};import{TelemetryPlugin as kr,trackFeature as Nr}from"@zuplo/runtime";import{context as H,propagation as Ue,SpanKind as ze,SpanStatusCode as kt,trace as Nt}from"@opentelemetry/api";import{context as Ne}from"@opentelemetry/api";import{W3CTraceContextPropagator as wt}from"@opentelemetry/core";var M=class{static{n(this,"DefaultLogProcessor")}exporter;constructor(e){this.exporter=e}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}onEmit(e){this.exporter.export([e],r=>{})}};import{SpanStatusCode as Et,TraceFlags as _e}from"@opentelemetry/api";import{ParentBasedSampler as ve,TraceIdRatioBasedSampler as Pt}from"@opentelemetry/sdk-trace-base";import{SemanticAttributes as ne}from"@zuplo/runtime";function Ae(t){return e=>{let r=e.localRootSpan;return r.attributes[ne.SystemTrace]??r.attributes[ne.RouteSystem]??r.attributes[ne.RouteTrace]===!1?!1:t(e)}}n(Ae,"internalTailSampler");function we(t){return e=>t.reduce((r,o)=>r||o(e),!1)}n(we,"multiTailSampler");var Le=n(t=>(t.localRootSpan.spanContext().traceFlags&_e.SAMPLED)===_e.SAMPLED,"isHeadSampled"),Oe=n(t=>t.localRootSpan.status.code===Et.ERROR,"isRootErrorSpan");function Fe(t){let e=new Pt(t.ratio);return typeof t.acceptRemote=="boolean"&&!t.acceptRemote?new ve({root:e,remoteParentSampled:e,remoteParentNotSampled:e}):new ve({root:e})}n(Fe,"createSampler");import{ExportResultCode as _t}from"@opentelemetry/core";function vt(){let t=C();return t||console.log("Could not find config for sampling, sending everything by default"),t?t.sampling.tailSampler:()=>!0}n(vt,"getSampler");var ie=class{static{n(this,"TraceState")}unexportedSpans=[];inprogressSpans=new Set;exporter;exportPromises=new Set;localRootSpan;traceDecision;isFlushed=!1;constructor(e){this.exporter=e}addSpan(e){let r=e;this.localRootSpan=this.localRootSpan||r,this.unexportedSpans.push(r),this.inprogressSpans.add(e.spanContext().spanId)}hasFinished(){return this.inprogressSpans.size===0&&this.isFlushed}async endSpan(e){this.inprogressSpans.delete(e.spanContext().spanId),this.inprogressSpans.size===0&&await this.flush()}sample(){if(this.traceDecision===void 0&&this.unexportedSpans.length>0){let e=vt();this.traceDecision=e({traceId:this.localRootSpan.spanContext().traceId,localRootSpan:this.localRootSpan,spans:this.unexportedSpans})}this.unexportedSpans=this.traceDecision?this.unexportedSpans:[]}async flush(){try{if(this.unexportedSpans.length>0){let e=this.unexportedSpans.filter(r=>this.isSpanInProgress(r));for(let r of e)console.log(`Span ${r.spanContext().spanId} was not ended properly`),r.end();if(this.sample(),this.unexportedSpans.length>0){let r=this.exportSpans([...this.unexportedSpans]);this.unexportedSpans=[],this.exportPromises.add(r),r.catch(()=>{}).finally(()=>{this.exportPromises.delete(r)})}}for(;this.exportPromises.size>0;)await Promise.allSettled([...this.exportPromises])}finally{this.isFlushed=!0}}isSpanInProgress(e){return this.inprogressSpans.has(e.spanContext().spanId)}async exportSpans(e){let r=C();if(!r){console.log("No config found for exporting spans, skipping export");return}let o=r.postProcessor(e);await scheduler.wait(1),await new Promise((i,a)=>{this.exporter.export(o,c=>{c.code===_t.SUCCESS?i():(console.log(`exporting spans failed! ${c.error}`),a(c.error))})})}},se=1e3,At=1e3,T=class{constructor(e){this.exporter=e}exporter;static{n(this,"BatchTraceSpanProcessor")}traces=new Map;totalEvicted=0;getTraceState(e){let r=this.traces.get(e);return r||(this.evictOverflow(),r=new ie(this.exporter),this.traces.set(e,r)),r}evictOverflow(){if(this.traces.size<se)return;let e=this.traces.size-se+1,r=0;for(let o of this.traces.keys()){if(r>=e)break;this.traces.delete(o),r++}this.totalEvicted+=r,(this.totalEvicted===r||this.totalEvicted%At<r)&&console.log(`BatchTraceSpanProcessor: buffered trace limit (${se}) reached; evicting oldest trace(s)`,{totalEvicted:this.totalEvicted})}onStart(e,r){let o=e.spanContext().traceId;this.getTraceState(o).addSpan(e)}onEnd(e){let r=e.spanContext().traceId,o=this.traces.get(r);o&&o.endSpan(e).catch(s=>{console.log(s,"Failed to end span")}).finally(()=>{o.hasFinished()&&this.traces.get(r)===o&&this.traces.delete(r)})}async forceFlush(e){if(e){let r=this.traces.get(e);if(!r)return;try{await r.flush()}finally{this.traces.get(e)===r&&this.traces.delete(e)}}else{let r=[...this.traces.entries()];await Promise.allSettled(r.map(([,o])=>o.flush()));for(let[o,s]of r)this.traces.get(o)===s&&this.traces.delete(o)}}async shutdown(){await this.forceFlush()}};function Ie(t){return!!t.spanProcessors}n(Ie,"isSpanProcessorConfig");function ke(t){let e=!!t.spanProcessors,r=!!t.logProcessors;return e&&r}n(ke,"isProcessorConfig");var De=Symbol("Otel Tracing Configuration");function Me(t,e=Ne.active()){return e.setValue(De,t)}n(Me,"setConfig");function C(){return Ne.active().getValue(De)||void 0}n(C,"getActiveConfig");function Lt(t){return!!t.shouldSample}n(Lt,"isSampler");function Ot(t){return!!t.exporter}n(Ot,"isTraceConfigExporter");function Ft(t){return typeof t.export=="function"}n(Ft,"isSpanExporterInstance");function It(t){return!!t.logUrl&&!!t.traceUrl&&!!t.headers}n(It,"isTraceAndLogConfigExporter");function ae(t){let e=[],r=[];if(Ot(t)){let i=Ft(t.exporter)?t.exporter:new R(t.exporter);e=[new T(i)]}else It(t)?(e=[new T(new R({url:t.traceUrl,headers:t.headers}))],r=[new M(new D({url:t.logUrl,headers:t.headers}))]):ke(t)?(e=Array.isArray(t.spanProcessors)?t.spanProcessors:[t.spanProcessors],r=Array.isArray(t.logProcessors)?t.logProcessors:[t.logProcessors]):Ie(t)&&(e=Array.isArray(t.spanProcessors)?t.spanProcessors:[t.spanProcessors]);let o=t.sampling?.headSampler||{ratio:1},s=Lt(o)?o:Fe(o);return{fetch:{includeTraceContext:t.fetch?.includeTraceContext??!0},handlers:{fetch:{acceptTraceContext:t.handlers?.fetch?.acceptTraceContext??!0}},postProcessor:t.postProcessor||(i=>i),sampling:{headSampler:s,tailSampler:Ae(t.sampling?.tailSampler??we([Le,Oe]))},service:t.service,resourceAttributes:t.resourceAttributes,spanProcessors:e,propagator:t.propagator||new wt,instrumentation:{instrumentGlobalFetch:t.instrumentation?.instrumentGlobalFetch??!0},logProcessors:r}}n(ae,"parseConfig");function je(t){let e={},r=t.headers;e["http.request.method"]=t.method.toUpperCase(),e["http.request.body.size"]=r.get("content-length"),e["user_agent.original"]=r.get("user-agent"),e["http.mime_type"]=r.get("content-type"),e["http.accepts"]=r.get("accept");let o=new URL(t.url);return e["url.full"]=`${o.protocol}//${o.host}${o.pathname}${o.search}`,e["server.address"]=o.host,e["url.scheme"]=o.protocol,e["url.path"]=o.pathname,e["url.query"]=o.search,e}n(je,"gatherRequestAttributes");function Ge(t){let e={};return e["http.response.status_code"]=t.status,t.headers.get("content-length")==null&&(e["http.response.body.size"]=t.headers.get("content-length")),e["http.mime_type"]=t.headers.get("content-type"),e}n(Ge,"gatherResponseAttributes");function Dt(t){return Ue.extract(H.active(),t,{get(e,r){return e.get(r)||void 0},keys(e){return[...e.keys()]}})}n(Dt,"getParentContextFromHeaders");function Mt(t){let e=C();return e===void 0?H.active():(typeof e.handlers.fetch.acceptTraceContext=="function"?e.handlers.fetch.acceptTraceContext(t):e.handlers.fetch.acceptTraceContext??!0)?Dt(t.headers):H.active()}n(Mt,"getParentContextFromRequest");function He(t,e){let r=t;if(r.attributes["http.route"]){let o=e.method.toUpperCase();t.updateName(`${o} ${r.attributes["http.route"]}`)}}n(He,"updateSpanNameOnRoute");var Ve={getInitialSpanInfo:n(t=>{let e=Mt(t),r={"faas.trigger":"http","faas.invocation_id":t.headers.get("zp-rid")??void 0,"cf.ray_id":t.headers.get("cf-ray")??void 0};return Object.assign(r,je(t)),{name:`fetchHandler ${t.method.toUpperCase()}`,options:{attributes:r,kind:ze.SERVER},context:e}},"getInitialSpanInfo"),getAttributesFromResult:n(t=>Ge(t),"getAttributesFromResult"),executionSuccess:He,executionFailed:He};function Ht(t,e,r){return N(t,{apply:n((s,i,a)=>{let c=new Request(a[0],a[1]),p=a[1]?.zuplo,l=p?[c,{zuplo:p}]:[c];if(!c.url.startsWith("http"))return Reflect.apply(s,i,a);let g=C();if(!g)return Reflect.apply(s,i,l);let m=e(g),h=Nt.getTracer("fetcher"),S={kind:ze.CLIENT,attributes:r},x=new URL(c.url).host,d=c.method.toUpperCase(),f=typeof r?.name=="string"?r?.name:`${d}: ${x}`;return h.startActiveSpan(f,S,async _=>{try{((typeof m.includeTraceContext=="function"?m.includeTraceContext(c):m.includeTraceContext)??!0)&&Ue.inject(H.active(),c.headers,{set:n((I,A,w)=>I.set(A,typeof w=="string"?w:String(w)),"set")}),_.setAttributes(je(c));let F=await Reflect.apply(s,i,l);return _.setAttributes(Ge(F)),F}catch(v){throw _.recordException(v),_.setStatus({code:kt.ERROR}),v}finally{_.end()}})},"apply")},!0)}n(Ht,"instrumentClientFetch");function Be(){globalThis.fetch=Ht(globalThis.fetch,t=>t.fetch)}n(Be,"instrumentGlobalFetch");import{context as lt,context as Tr,propagation as Sr,SpanStatusCode as xr,trace as dt}from"@opentelemetry/api";import{resourceFromAttributes as xe}from"@opentelemetry/resources";import{ATTR_CLOUD_ACCOUNT_ID as Rr,ATTR_CLOUD_PLATFORM as Cr,ATTR_CLOUD_PROVIDER as br,ATTR_SERVICE_NAME as yr,ATTR_SERVICE_NAMESPACE as Er,ATTR_SERVICE_VERSION as Pr,ATTR_TELEMETRY_SDK_NAME as _r}from"@opentelemetry/semantic-conventions/incubating";import{SemanticAttributes as te}from"@zuplo/runtime";import{AsyncLocalStorage as Ut}from"node:async_hooks";import{EventEmitter as zt}from"node:events";import{ROOT_CONTEXT as jt}from"@opentelemetry/api";var Gt=["addListener","on","once","prependListener","prependOnceListener"],ce=class{static{n(this,"AbstractAsyncHooksContextManager")}bind(e,r){return r instanceof zt?this._bindEventEmitter(e,r):typeof r=="function"?this._bindFunction(e,r):r}_bindFunction(e,r){let o=this,s=n(function(...i){return o.with(e,()=>r.apply(this,i))},"contextWrapper");return Object.defineProperty(s,"length",{enumerable:!1,configurable:!0,writable:!1,value:r.length}),s}_bindEventEmitter(e,r){return this._getPatchMap(r)!==void 0||(this._createPatchMap(r),Gt.forEach(s=>{r[s]!==void 0&&(r[s]=this._patchAddListener(r,r[s],e))}),typeof r.removeListener=="function"&&(r.removeListener=this._patchRemoveListener(r,r.removeListener)),typeof r.off=="function"&&(r.off=this._patchRemoveListener(r,r.off)),typeof r.removeAllListeners=="function"&&(r.removeAllListeners=this._patchRemoveAllListeners(r,r.removeAllListeners))),r}_patchRemoveListener(e,r){let o=this;return function(s,i){let a=o._getPatchMap(e)?.[s];if(a===void 0)return r.call(this,s,i);let c=a.get(i);return r.call(this,s,c||i)}}_patchRemoveAllListeners(e,r){let o=this;return function(s){let i=o._getPatchMap(e);return i!==void 0&&(arguments.length===0?o._createPatchMap(e):i[s]!==void 0&&delete i[s]),r.apply(this,arguments)}}_patchAddListener(e,r,o){let s=this;return function(i,a){if(s._wrapped)return r.call(this,i,a);let c=s._getPatchMap(e);c===void 0&&(c=s._createPatchMap(e));let p=c[i];p===void 0&&(p=new WeakMap,c[i]=p);let l=s.bind(o,a);p.set(a,l),s._wrapped=!0;try{return r.call(this,i,l)}finally{s._wrapped=!1}}}_createPatchMap(e){let r=Object.create(null);return e[this._kOtListeners]=r,r}_getPatchMap(e){return e[this._kOtListeners]}_kOtListeners=Symbol("OtListeners");_wrapped=!1},U=class extends ce{static{n(this,"AsyncLocalStorageContextManager")}_asyncLocalStorage;constructor(){super(),this._asyncLocalStorage=new Ut}active(){return this._asyncLocalStorage.getStore()??jt}with(e,r,o,...s){let i=o==null?r:r.bind(o);return this._asyncLocalStorage.run(e,i,...s)}enable(){return this}disable(){return this._asyncLocalStorage.disable(),this}};import{trace as An}from"@opentelemetry/api";import{context as le,SpanKind as Jt,TraceFlags as Ke,trace as j}from"@opentelemetry/api";import{sanitizeAttributes as Xe}from"@opentelemetry/core";import{RandomIdGenerator as Yt,SamplingDecision as Qt}from"@opentelemetry/sdk-trace-base";import{SpanKind as Vt,SpanStatusCode as Bt}from"@opentelemetry/api";import{hrTimeDuration as Wt,isAttributeValue as $t,isTimeInput as qt,sanitizeAttributes as We}from"@opentelemetry/core";import{ATTR_EXCEPTION_MESSAGE as $e,ATTR_EXCEPTION_STACKTRACE as Zt,ATTR_EXCEPTION_TYPE as qe}from"@opentelemetry/semantic-conventions";function Kt(t){let e={};return typeof t=="string"?e[$e]=t:(t.code?e[qe]=t.code.toString():t.name&&(e[qe]=t.name),t.message&&(e[$e]=t.message),t.stack&&(e[Zt]=t.stack)),e}n(Kt,"transformExceptionAttributes");function pe(t){return[Math.trunc(t/1e3),t%1e3*1e6]}n(pe,"millisToHr");function ue(t){let e=Date.now();if(t){if(t instanceof Date)return pe(t.getTime());if(typeof t=="number")return pe(t);if(Array.isArray(t))return t}else return pe(e);let r=t;throw new Error(`unreachable value: ${JSON.stringify(r)}`)}n(ue,"getHrTime");function Xt(t){return typeof t=="string"&&t.length>0}n(Xt,"isAttributeKey");var z=class{static{n(this,"SpanImpl")}name;_spanContext;onEnd;parentSpanId;parentSpanContext;kind;attributes;status={code:Bt.UNSET};endTime=[0,0];_duration=[0,0];startTime;events=[];links;resource;instrumentationScope=Ze;_ended=!1;_droppedAttributesCount=0;_droppedEventsCount=0;_droppedLinksCount=0;constructor(e){this.name=e.name,this._spanContext=e.spanContext,this.parentSpanId=e.parentSpanId,this.parentSpanContext=e.parentSpanContext,this.kind=e.spanKind||Vt.INTERNAL,this.attributes=We(e.attributes),this.startTime=ue(e.startTime),this.links=e.links||[],this.resource=e.resource,this.onEnd=e.onEnd}addLink(e){return this.links.push(e),this}addLinks(e){return this.links.push(...e),this}spanContext(){return this._spanContext}setAttribute(e,r){return Xt(e)&&$t(r)&&(this.attributes[e]=r),this}setAttributes(e){for(let[r,o]of Object.entries(e))this.setAttribute(r,o);return this}addEvent(e,r,o){qt(r)&&(o=r,r=void 0);let s=We(r),i=ue(o);return this.events.push({name:e,attributes:s,time:i}),this}setStatus(e){return this.status=e,this}updateName(e){return this.name=e,this}end(e){this._ended||(this._ended=!0,this.endTime=ue(e),this._duration=Wt(this.startTime,this.endTime),this.onEnd(this))}isRecording(){return!this._ended}recordException(e,r){let o=Kt(e);this.addEvent("exception",o,r)}get duration(){return this._duration}get ended(){return this._ended}get droppedAttributesCount(){return this._droppedAttributesCount}get droppedEventsCount(){return this._droppedEventsCount}get droppedLinksCount(){return this._droppedLinksCount}};var Ye=new Yt,Je;function er(t,e){return(t>>e-1&1)*e}n(er,"getFlagAt");var E=class{static{n(this,"WorkerTracer")}spanProcessors;resource;constructor(e,r){this.spanProcessors=e,this.resource=r}async forceFlush(e){let r=this.spanProcessors.map(async o=>{await o.forceFlush(e)});await Promise.allSettled(r)}addToResource(e){this.resource.merge(e)}startSpan(e,r={},o=le.active()){r.root&&(o=j.deleteSpan(o));let s=C();if(!s)throw new Error("Config is undefined. This is a bug in the instrumentation logic");let i=j.getSpan(o)?.spanContext(),{traceId:a,randomTraceFlag:c}=tr(i),p=r.kind||Jt.INTERNAL,l=Xe(r.attributes),m=s.sampling.headSampler.shouldSample(o,a,e,p,l,[]),{decision:h,traceState:S,attributes:x}=m,d=Object.assign({},r.attributes,x,Je);Je={};let f=Ye.generateSpanId(),O=i?.spanId,v=(h===Qt.RECORD_AND_SAMPLED?Ke.SAMPLED:Ke.NONE)+c,F={traceId:a,spanId:f,traceFlags:v,traceState:S},I=new z({attributes:Xe(d),name:e,onEnd:n(A=>{this.spanProcessors.forEach(w=>{w.onEnd(A)})},"onEnd"),resource:this.resource,spanContext:F,parentSpanContext:i,parentSpanId:O,spanKind:p,startTime:r.startTime});return this.spanProcessors.forEach(A=>{A.onStart(I,o)}),I}startActiveSpan(e,...r){let o=r.length>1?r[0]:void 0,s=r.length>2?r[1]:le.active(),i=r[r.length-1],a=this.startSpan(e,o,s),c=j.setSpan(s,a);return le.with(c,i,void 0,a)}};function tr(t){if(t&&j.isSpanContextValid(t)){let{traceId:e,traceFlags:r}=t;return{traceId:e,randomTraceFlag:er(r,2)}}else return{traceId:Ye.generateTraceId(),randomTraceFlag:2}}n(tr,"getTraceInfo");var de=class{static{n(this,"PromiseTracker")}_trackedPromises=[];get trackedPromiseCount(){return this._trackedPromises.length}track(e){this._trackedPromises.push(e)}async wait(e){if(this._trackedPromises.length!==0){if(e===void 0){await Qe(this._trackedPromises);return}await Promise.race([Qe(this._trackedPromises),scheduler.wait(e)])}}};function rr(t,e,r){return N(t,{apply(s,i,a){return r.track(a[0]),Reflect.apply(s,e,a)}})}n(rr,"createWaitUntil");function et(t){let e=new de;return{event:new Proxy(t,{get(o,s){if(s==="waitUntil"){let i=Reflect.get(o,s);return rr(i,t,e)}else return oe(o,s)}}),tracker:e}}n(et,"proxyExecutionContext");async function Qe(t){let e;do e=await Promise.allSettled(t);while(e.length!==t.length);return e}n(Qe,"allSettledMutable");import{logs as gr}from"@opentelemetry/api-logs";import{diag as J}from"@opentelemetry/api";import{createNoopLogger as lr}from"@opentelemetry/api-logs";import{defaultResource as dr}from"@opentelemetry/resources";import{BindOnceFuture as fr}from"@opentelemetry/core";import{SeverityNumber as nr}from"@opentelemetry/api-logs";import{context as nt,trace as sr,TraceFlags as st,isSpanContextValid as ir}from"@opentelemetry/api";import*as b from"@opentelemetry/api";import{timeInputToHrTime as rt}from"@opentelemetry/core";import{ATTR_EXCEPTION_MESSAGE as G,ATTR_EXCEPTION_STACKTRACE as ot,ATTR_EXCEPTION_TYPE as V}from"@opentelemetry/semantic-conventions";import{diag as fe}from"@opentelemetry/api";function or(t){return me(t,new WeakSet)}n(or,"isLogAttributeValue");function me(t,e){if(t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t instanceof Uint8Array)return!0;if(typeof t=="object"){if(e.has(t))return!1;if(e.add(t),Array.isArray(t)){for(let o of t)if(!me(o,e))return!1;return!0}let r=t;if(r.constructor!==Object&&r.constructor!==void 0)return!1;for(let o in r)if(Object.prototype.hasOwnProperty.call(r,o)&&!me(r[o],e))return!1;return!0}return!1}n(me,"isLogAttributeValueInternal");var u;(function(t){t[t.DROP_INVALID=0]="DROP_INVALID",t[t.DROP_LIMIT_REACHED=1]="DROP_LIMIT_REACHED",t[t.ADD_NEW=2]="ADD_NEW",t[t.ADD_OVERWRITE_EXISTING=3]="ADD_OVERWRITE_EXISTING"})(u||(u={}));function he(t,e,r,o,s){if(o.length===0)return fe.warn(`Invalid attribute key: ${o}`),u.DROP_INVALID;if(!or(s))return fe.warn(`Invalid attribute value set for key: ${o}`),u.DROP_INVALID;let i=!Object.prototype.hasOwnProperty.call(t,o);return i&&r>=e.attributeCountLimit?u.DROP_LIMIT_REACHED:(t[o]=ge(s,e.attributeValueLengthLimit),i?u.ADD_NEW:u.ADD_OVERWRITE_EXISTING)}n(he,"addAttribute");function ge(t,e){if(e<=0)return fe.warn(`Attribute value limit must be positive, got ${e}`),t;if(t==null)return t;if(typeof t=="string")return t.length<=e?t:t.substring(0,e);if(t instanceof Uint8Array)return t;if(Array.isArray(t))return t.map(r=>ge(r,e));if(typeof t=="object"){let r={};for(let[o,s]of Object.entries(t))r[o]=ge(s,e);return r}return t}n(ge,"truncateToSize");function tt(t,e){if(e==null)return{};let r={},o=0,s=0;for(let[i,a]of Object.entries(e)){let c=he(r,t,o,i,a);c===u.ADD_NEW?o+=1:(c===u.DROP_INVALID||c===u.DROP_LIMIT_REACHED)&&(s+=1)}return{attributes:o>0?r:void 0,droppedAttributesCount:s}}n(tt,"normalizeScopeAttributes");var B=class{static{n(this,"LogRecordImpl")}hrTime;hrTimeObserved;spanContext;resource;instrumentationScope;attributes={};_severityText;_severityNumber;_body;_eventName;_attributesCount=0;_droppedAttributesCount=0;_isReadonly=!1;_logRecordLimits;set severityText(e){this._isLogRecordReadonly()||(this._severityText=e)}get severityText(){return this._severityText}set severityNumber(e){this._isLogRecordReadonly()||(this._severityNumber=e)}get severityNumber(){return this._severityNumber}set body(e){this._isLogRecordReadonly()||(this._body=e)}get body(){return this._body}get eventName(){return this._eventName}set eventName(e){this._isLogRecordReadonly()||(this._eventName=e)}get droppedAttributesCount(){return this._droppedAttributesCount}constructor(e,r,o){let{timestamp:s,observedTimestamp:i,eventName:a,severityNumber:c,severityText:p,body:l,attributes:g={},exception:m,context:h}=o,S=Date.now();if(this.hrTime=rt(s??S),this.hrTimeObserved=rt(i??S),h){let x=b.trace.getSpanContext(h);x&&b.isSpanContextValid(x)&&(this.spanContext=x)}this.severityNumber=c,this.severityText=p,this.body=l,this.resource=e.resource,this.instrumentationScope=r,this._logRecordLimits=e.logRecordLimits,this._eventName=a,this.setAttributes(g),m!=null&&this._setException(m)}setAttribute(e,r){if(this._isLogRecordReadonly())return this;let o=he(this.attributes,this._logRecordLimits,this._attributesCount,e,r);return o===u.DROP_LIMIT_REACHED?(this._droppedAttributesCount++,this._droppedAttributesCount===1&&b.diag.warn("Dropping extra attributes.")):o===u.ADD_NEW&&this._attributesCount++,this}setAttributes(e){for(let[r,o]of Object.entries(e))this.setAttribute(r,o);return this}setBody(e){return this.body=e,this}setEventName(e){return this.eventName=e,this}setSeverityNumber(e){return this.severityNumber=e,this}setSeverityText(e){return this.severityText=e,this}_makeReadonly(){this._isReadonly=!0}_setException(e){let r=!1;if(typeof e=="string"||typeof e=="number")Object.hasOwn(this.attributes,G)||this.setAttribute(G,String(e)),r=!0;else if(e&&typeof e=="object"){let o=e;o.code?(Object.hasOwn(this.attributes,V)||this.setAttribute(V,o.code.toString()),r=!0):o.name&&(Object.hasOwn(this.attributes,V)||this.setAttribute(V,o.name),r=!0),o.message&&(Object.hasOwn(this.attributes,G)||this.setAttribute(G,o.message),r=!0),o.stack&&(Object.hasOwn(this.attributes,ot)||this.setAttribute(ot,o.stack),r=!0)}r||b.diag.warn(`Failed to record an exception ${e}`)}_isLogRecordReadonly(){return this._isReadonly&&b.diag.warn("Can not execute the operation on emitted log record"),this._isReadonly}};var W=class{static{n(this,"Logger")}_instrumentationScope;_sharedState;_loggerConfig;constructor(e,r){this._instrumentationScope=e,this._sharedState=r,this._loggerConfig=this._sharedState.getLoggerConfig(this._instrumentationScope)}emit(e){let r=e.context||nt.active();if(!this.enabled(e))return;let o=new B(this._sharedState,this._instrumentationScope,{context:r,...e});this._sharedState.loggerMetrics.emitLog(),this._sharedState.activeProcessor.onEmit(o,r),o._makeReadonly()}enabled(e){if(this._sharedState.hasShutdown)return!1;let r=this._loggerConfig;if(r.disabled)return!1;let o=e?.severityNumber;if(typeof o=="number"&&o!==nr.UNSPECIFIED&&o<r.minimumSeverity)return!1;let s=e?.context||nt.active();if(r.traceBased){let a=sr.getSpanContext(s);if(a&&ir(a)&&!((a.traceFlags&st.SAMPLED)===st.SAMPLED))return!1}let i={context:s,instrumentationScope:this._instrumentationScope,severityNumber:e?.severityNumber,eventName:e?.eventName};for(let a of this._sharedState.processors)if(!a.enabled||a.enabled(i))return!0;return!1}};import{createNoopMeter as cr}from"@opentelemetry/api";import{SeverityNumber as pr}from"@opentelemetry/api-logs";var $=class{static{n(this,"NoopLogRecordProcessor")}forceFlush(){return Promise.resolve()}onEmit(e,r){}shutdown(){return Promise.resolve()}enabled(e){return!1}};import{callWithTimeout as ar}from"@opentelemetry/core";var q=class{static{n(this,"MultiLogRecordProcessor")}processors;forceFlushTimeoutMillis;constructor(e,r){this.processors=e,this.forceFlushTimeoutMillis=r}async forceFlush(){let e=this.forceFlushTimeoutMillis;await Promise.all(this.processors.map(r=>ar(r.forceFlush(),e)))}onEmit(e,r){this.processors.forEach(o=>o.onEmit(e,r))}async shutdown(){await Promise.all(this.processors.map(e=>e.shutdown()))}enabled(e){for(let r of this.processors)if(!r.enabled||r.enabled(e))return!0;return!1}};function Te(t){if(t===void 0)return["u",null];if(t===null)return["n",null];let e=typeof t;return e==="string"?["s",t]:e==="boolean"?["b",t]:e==="number"?Number.isNaN(t)?["nan",null]:t===1/0?["inf",null]:t===-1/0?["-inf",null]:Object.is(t,-0)?["n0",null]:["d",t]:t instanceof Uint8Array?["bytes",Array.from(t)]:Array.isArray(t)?["arr",t.map(Te)]:["map",Object.entries(t).sort(([r],[o])=>r.localeCompare(o)).map(([r,o])=>[r,Te(o)])]}n(Te,"normalizeAnyValue");function Z(t){return JSON.stringify([t.name,t.version||"",t.schemaUrl||"",Te(t.attributes),t.droppedAttributesCount??0])}n(Z,"getInstrumentationScopeKey");var it="otel.sdk.log.created";var K=class{static{n(this,"LoggerMetrics")}createdLogs;constructor(e){this.createdLogs=e.createCounter(it,{unit:"{log_record}",description:"The number of logs submitted to enabled SDK Loggers."})}emitLog(){this.createdLogs.add(1)}};var at="0.220.0";var ur={disabled:!1,minimumSeverity:pr.UNSPECIFIED,traceBased:!1},Se=n(()=>({...ur}),"DEFAULT_LOGGER_CONFIGURATOR"),X=class{static{n(this,"LoggerProviderSharedState")}loggers=new Map;activeProcessor;registeredLogRecordProcessors=[];resource;forceFlushTimeoutMillis;logRecordLimits;processors;loggerMetrics;hasShutdown=!1;_loggerConfigurator;_loggerConfigs=new Map;constructor(e,r,o,s,i,a){this.resource=e,this.forceFlushTimeoutMillis=r,this.logRecordLimits=o,this.processors=s,s.length>0?(this.registeredLogRecordProcessors=s,this.activeProcessor=new q(this.registeredLogRecordProcessors,this.forceFlushTimeoutMillis)):this.activeProcessor=new $,this._loggerConfigurator=i??Se;let c=a?a.getMeter("@opentelemetry/sdk-logs",at):cr();this.loggerMetrics=new K(c)}getLoggerConfig(e){let r=Z(e),o=this._loggerConfigs.get(r);return o||(o=this._loggerConfigurator(e),this._loggerConfigs.set(r,o),o)}};var mr="unknown",L=class{static{n(this,"LoggerProvider")}_shutdownOnce;_sharedState;constructor(e={}){let r={resource:e.resource??dr(),forceFlushTimeoutMillis:e.forceFlushTimeoutMillis??3e4,logRecordLimits:{attributeCountLimit:e.logRecordLimits?.attributeCountLimit??128,attributeValueLengthLimit:e.logRecordLimits?.attributeValueLengthLimit??1/0},loggerConfigurator:e.loggerConfigurator??Se,processors:e.processors??[],meterProvider:e.meterProvider};this._sharedState=new X(r.resource,r.forceFlushTimeoutMillis,r.logRecordLimits,r.processors,r.loggerConfigurator,r.meterProvider),this._shutdownOnce=new fr(this._shutdown,this)}getLogger(e,r,o){if(this._shutdownOnce.isCalled)return J.warn("A shutdown LoggerProvider cannot provide a Logger"),lr();e||J.warn("Logger requested without instrumentation scope name.");let i={name:e||mr,version:r,schemaUrl:o?.schemaUrl,...tt(this._sharedState.logRecordLimits,o?.attributes)},a=Z(i);return this._sharedState.loggers.has(a)||this._sharedState.loggers.set(a,new W(i,this._sharedState)),this._sharedState.loggers.get(a)}forceFlush(){return this._shutdownOnce.isCalled?(J.warn("invalid attempt to force flush after LoggerProvider shutdown"),this._shutdownOnce.promise):this._sharedState.activeProcessor.forceFlush()}shutdown(){return this._shutdownOnce.isCalled?(J.warn("shutdown may only be called once per LoggerProvider"),this._shutdownOnce.promise):this._shutdownOnce.call()}_shutdown(){return this._sharedState.hasShutdown=!0,this._sharedState.activeProcessor.shutdown()}};var Y=class{static{n(this,"ZuploOtelLogger")}baseLogger;constructor(e){this.baseLogger=e}emit(e){this.baseLogger.emit(e)}enabled(e){return this.baseLogger.enabled(e)}};var Q=class extends L{static{n(this,"ZuploLoggerProvider")}getLogger(e,r,o){let s=super.getLogger(e,r,o);return new Y(s)}register(){gr.setGlobalLoggerProvider(this)}};import{trace as hr}from"@opentelemetry/api";var ee=class{static{n(this,"ZuploTracerProvider")}spanProcessors;resource;tracers={};constructor(e,r){this.spanProcessors=e,this.resource=r}getTracer(e,r,o){let s=`${e}@${r||""}:${o?.schemaUrl||""}`;return this.tracers[s]||(this.tracers[s]=new E(this.spanProcessors,this.resource)),this.tracers[s]}register(){hr.setGlobalTracerProvider(this)}};var vr=n((t,e)=>{let r={[br]:"zuplo",[Cr]:"zuplo-api",[Rr]:t.accountName,"cloud.project.id":t.projectName,"cloud.resource_id":t.deploymentName,"cloud.instance_id":t.instanceId,"deployment.environment.name":t.environmentStage,"zuplo.account_name":t.accountName,"zuplo.project_name":t.projectName,"zuplo.deployment_name":t.deploymentName,[_r]:"@zuplo/otel",[te.ZuploBuildId]:t.buildId,[te.ZuploBuildVersion]:t.zuploVersion,[te.ZuploBuildCompatibilityDate]:t.compatibilityDate,[te.ZuploEnvironmentType]:t.environmentType},o=xe({[yr]:e.service?.name??t.projectName??t.deploymentName??"zuplo",[Er]:e.service?.namespace,[Pr]:e.service?.version}),s=xe(r).merge(o);return e.resourceAttributes?s.merge(xe(e.resourceAttributes)):s},"createResource"),ct=!1;function pt(t,e){if(!ct){e.instrumentation.instrumentGlobalFetch&&Be(),Sr.setGlobalPropagator(e.propagator);let r=vr(t,e);new ee(e.spanProcessors,r).register(),e.logProcessors.length>0&&new Q({resource:r,processors:e.logProcessors}).register(),Tr.setGlobalContextManager(new U),ct=!0}}n(pt,"init");function ft(t,e){return typeof e=="function"?r=>{let o=ae(e(r));return pt(t,o),o}:()=>{let r=ae(e);return pt(t,r),r}}n(ft,"createInitializer");var Ar=5e3;async function wr(t,e){let r=dt.getTracer("export");r instanceof E?(await scheduler.wait(1),await e?.wait(Ar),await r.forceFlush(t)):console.error("The global tracer is not of type WorkerTracer and can not export spans")}n(wr,"exportSpans");var ut=!0;function Lr(t){return(e,r)=>{let[o,s]=r,{event:i,tracker:a}=et(s),c=t.instrumentTrigger?t.instrumentTrigger(o):o,p=dt.getTracer("handler"),{name:l,options:g,context:m}=t.getInitialSpanInfo(o),h=g.attributes||{};h["faas.coldstart"]=ut,g.attributes=h,ut=!1;let S=m||lt.active();return p.startActiveSpan(l,g,S,async d=>{try{let f=await e(c,i);if(t.getAttributesFromResult){let O=t.getAttributesFromResult(f);d.setAttributes(O)}return t.executionSuccess&&t.executionSuccess(d,o,f),f}catch(f){throw d.recordException(f),d.setStatus({code:xr.ERROR}),t.executionFailed&&t.executionFailed(d,o,f),f}finally{d.end(),s.waitUntil(wr(d.spanContext().traceId,a))}})}}n(Lr,"createHandlerFlowFn");function mt(t,e,r){return(o,s)=>{let i=e(o),a=Me(i),c=Lr(r);return lt.with(a,c,o,t,[o,s])}}n(mt,"createHandlerProxy");var Ze={name:"@zuplo/otel"};import{ConfigurationError as Or}from"@zuplo/runtime";var Fr="/otel/v1/traces",gt;function ht(t){gt=t}n(ht,"setManagedTraceEndpoint");function Ir(){return new Or("The Zuplo OpenTelemetry exporter (ZuploSpanExporter) is not available because the Zuplo-managed trace ingest is not configured for this deployment. This exporter only works in deployed Zuplo environments. For local development, configure your own `exporter` (or guard the ZuploSpanExporter behind an environment check) instead.")}n(Ir,"missingIngestError");var P=class{static{n(this,"ZuploSpanExporter")}delegate;resolveDelegate(){if(this.delegate)return this.delegate;let e=gt;if(!e||!e.token)throw Ir();return this.delegate=new R({url:new URL(Fr,e.url).toString(),headers:{authorization:`Bearer ${e.token}`}}),this.delegate}export(e,r){this.resolveDelegate().export(e,r)}shutdown(){return this.delegate?.shutdown()??Promise.resolve()}};function Tt(t){return Array.isArray(t)?t.length>0:!!t}n(Tt,"hasProcessors");function Dr(t){let e=t;return!!e.exporter||Tt(e.spanProcessors)||Tt(e.logProcessors)||!!(e.logUrl&&e.traceUrl)}n(Dr,"hasDestination");function Mr(t){let e=t??{};return Dr(e)?e:{...e,spanProcessors:[new T(new P)]}}n(Mr,"withZuploDefaults");function Hr(t){let e=t;return e.exporter instanceof P?!0:e.spanProcessors?(Array.isArray(e.spanProcessors)?e.spanProcessors:[e.spanProcessors]).some(o=>o instanceof T&&o.exporter instanceof P):!1}n(Hr,"usesZuploExporter");var Re=class extends kr{static{n(this,"OpenTelemetryPlugin")}config;constructor(e){super(),Nr("opentelemetry"),this.config=e}instrument(e){ht({url:e.__internalOnlyRemoteLogUrl,token:e.__internalOnlyRemoteLogToken});let r=Mr(this.config);if(Hr(r)&&!e.__internalOnlyRemoteLogToken)return{requestHandlerProxy:n(i=>i,"requestHandlerProxy")};let o=ft(e,r);return{requestHandlerProxy:n(i=>mt(i,o,Ve),"requestHandlerProxy")}}};export{R as a,T as b,P as c,Re as d};
|
|
26
|
+
//# sourceMappingURL=chunk-6IEB7H3W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@zuplo/otel/buffer.ts","@zuplo/otel/exporter.ts","@zuplo/otel/attributes-utils.ts","@zuplo/otel/wrap.ts","@zuplo/otel/plugin.ts","@zuplo/otel/instrumentation/fetch.ts","@zuplo/otel/config.ts","@zuplo/otel/logprocessor.ts","@zuplo/otel/sampling.ts","@zuplo/otel/spanprocessor.ts","@zuplo/otel/types.ts","@zuplo/otel/sdk.ts","@zuplo/otel/context.ts","@zuplo/otel/instrumentation/common.ts","@zuplo/otel/tracer.ts","@zuplo/otel/span.ts","@zuplo/otel/logprovider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/Logger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LogRecordImpl.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/utils/validation.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/internal/LoggerProviderSharedState.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/export/NoopLogRecordProcessor.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/MultiLogRecordProcessor.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/internal/utils.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/semconv.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LoggerMetrics.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/version.ts","@zuplo/otel/logger.ts","@zuplo/otel/traceprovider.ts","@zuplo/otel/zuplo-exporter.ts"],"mappings":"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","names":["Buffer","ExportResultCode","JsonLogsSerializer","JsonTraceSerializer","BackgroundDispatcher","isPlainObject","value","__name","sanitizeValue","i","sanitizeEmptyAttributes","attributes","key","unwrapSymbol","isWrapped","item","__name","isProxyable","wrap","handler","autoPassthrough","proxyHandler","target","prop","receiver","passthroughGet","thisArg","argArray","unwrap","unwrappedTarget","value","args","defaultHeaders","OTLPSpanExporter","__name","config","spans","resultCallback","span","ExportResultCode","sanitizeEmptyAttributes","decoder","exportMessage","JsonTraceSerializer","body","response","unwrap","text","err","BackgroundDispatcher","OTLPLogExporter","exportConfig","batchConfig","logs","log","JsonLogsSerializer","TelemetryPlugin","trackFeature","apiContext","propagation","SpanKind","SpanStatusCode","trace","context","W3CTraceContextPropagator","DefaultLogProcessor","__name","exporter","logRecord","_result","SpanStatusCode","TraceFlags","ParentBasedSampler","TraceIdRatioBasedSampler","SemanticAttributes","internalTailSampler","sampler","traceInfo","localRootSpan","SemanticAttributes","__name","multiTailSampler","samplers","result","isHeadSampled","TraceFlags","isRootErrorSpan","SpanStatusCode","createSampler","conf","ratioSampler","TraceIdRatioBasedSampler","ParentBasedSampler","ExportResultCode","getSampler","conf","getActiveConfig","__name","TraceState","exporter","span","readableSpan","sampler","unfinishedSpans","exportPromise","spans","config","processedSpans","resolve","reject","result","ExportResultCode","MAX_BUFFERED_TRACES","EVICTION_LOG_INTERVAL","BatchTraceSpanProcessor","traceId","traceState","evictCount","evicted","parentContext","err","entries","snapshotTraceId","isSpanProcessorConfig","config","__name","isProcessorConfig","hasSpanProcessors","hasLogProcessors","configSymbol","setConfig","config","ctx","context","__name","getActiveConfig","isSampler","sampler","isTraceConfigExporter","isSpanExporterInstance","exporter","isTraceAndLogConfigExporter","parseConfig","supplied","spanProcessors","logProcessors","OTLPSpanExporter","BatchTraceSpanProcessor","DefaultLogProcessor","OTLPLogExporter","isProcessorConfig","isSpanProcessorConfig","headSampleConf","headSampler","createSampler","spans","internalTailSampler","multiTailSampler","isHeadSampled","isRootErrorSpan","W3CTraceContextPropagator","gatherRequestAttributes","request","attrs","headers","u","__name","gatherResponseAttributes","response","getParentContextFromHeaders","propagation","apiContext","key","getParentContextFromRequest","workerConfig","getActiveConfig","updateSpanNameOnRoute","span","readable","method","fetchInstrumentation","spanContext","attributes","SpanKind","instrumentClientFetch","fetchFn","configFn","wrap","target","thisArg","argArray","zuplo","fetchArgs","activeConfig","config","tracer","trace","options","host","spanName","h","k","v","error","SpanStatusCode","instrumentGlobalFetch","apiContext","context","propagation","SpanStatusCode","trace","resourceFromAttributes","ATTR_CLOUD_ACCOUNT_ID","ATTR_CLOUD_PLATFORM","ATTR_CLOUD_PROVIDER","ATTR_SERVICE_NAME","ATTR_SERVICE_NAMESPACE","ATTR_SERVICE_VERSION","ATTR_TELEMETRY_SDK_NAME","SemanticAttributes","AsyncLocalStorage","EventEmitter","ROOT_CONTEXT","ADD_LISTENER_METHODS","AbstractAsyncHooksContextManager","__name","context","target","EventEmitter","manager","contextWrapper","args","ee","methodName","original","contextManager","event","listener","events","patchedListener","map","listeners","AsyncLocalStorageContextManager","AsyncLocalStorage","ROOT_CONTEXT","fn","thisArg","cb","trace","apiContext","SpanKind","TraceFlags","trace","sanitizeAttributes","RandomIdGenerator","SamplingDecision","SpanKind","SpanStatusCode","hrTimeDuration","isAttributeValue","isTimeInput","sanitizeAttributes","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_STACKTRACE","ATTR_EXCEPTION_TYPE","transformExceptionAttributes","exception","attributes","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_TYPE","ATTR_EXCEPTION_STACKTRACE","__name","millisToHr","millis","getHrTime","input","now","v","isAttributeKey","key","SpanImpl","SpanStatusCode","ZUPLO_INSTRUMENTATION_SCOPE","init","SpanKind","sanitizeAttributes","link","links","value","isAttributeValue","name","attributesOrStartTime","startTime","isTimeInput","time","status","endTime","hrTimeDuration","idGenerator","RandomIdGenerator","withNextSpanAttributes","getFlagAt","flagSequence","position","__name","WorkerTracer","spanProcessors","resource","traceId","promises","spanProcessor","extra","name","options","context","apiContext","trace","config","getActiveConfig","parentSpanContext","randomTraceFlag","getTraceInfo","spanKind","SpanKind","sanitisedAttrs","sanitizeAttributes","samplingDecision","decision","traceState","attrs","attributes","spanId","parentSpanId","traceFlags","SamplingDecision","TraceFlags","spanContext","span","SpanImpl","sp","args","parentContext","fn","contextWithSpanSet","getTraceInfo","parentSpanContext","trace","traceId","traceFlags","getFlagAt","idGenerator","__name","PromiseTracker","__name","promise","maxWaitMs","allSettledMutable","createWaitUntil","fn","context","tracker","wrap","target","_thisArg","argArray","proxyExecutionContext","prop","passthroughGet","allSettledMutable","promises","values","__name","logs","diag","createNoopLogger","defaultResource","BindOnceFuture","SeverityNumber","context","trace","TraceFlags","isSpanContextValid","api","timeInputToHrTime","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_STACKTRACE","ATTR_EXCEPTION_TYPE","diag","isLogAttributeValue","val","isLogAttributeValueInternal","__name","visited","item","obj","key","AddAttributeDecision","addAttribute","attributes","limits","currentAttributesCount","value","diag","isNewKey","truncateToSize","limit","truncatedObj","k","v","normalizeScopeAttributes","normalizedAttributes","droppedAttributesCount","decision","LogRecordImpl","__name","severityText","severityNumber","body","eventName","_sharedState","instrumentationScope","logRecord","timestamp","observedTimestamp","attributes","exception","context","now","timeInputToHrTime","spanContext","key","value","decision","addAttribute","AddAttributeDecision","k","v","hasMinimumAttributes","ATTR_EXCEPTION_MESSAGE","exceptionObj","ATTR_EXCEPTION_TYPE","ATTR_EXCEPTION_STACKTRACE","Logger","__name","instrumentationScope","sharedState","logRecord","currentContext","context","logRecordInstance","LogRecordImpl","options","loggerConfig","severityNumber","SeverityNumber","spanContext","trace","isSpanContextValid","TraceFlags","enabledOpts","processor","createNoopMeter","SeverityNumber","NoopLogRecordProcessor","__name","_logRecord","_context","_options","callWithTimeout","MultiLogRecordProcessor","__name","processors","forceFlushTimeoutMillis","timeout","processor","callWithTimeout","logRecord","context","options","normalizeAnyValue","value","valueType","a","b","k","v","__name","getInstrumentationScopeKey","scope","METRIC_OTEL_SDK_LOG_CREATED","LoggerMetrics","__name","meter","METRIC_OTEL_SDK_LOG_CREATED","VERSION","DEFAULT_LOGGER_CONFIG","SeverityNumber","DEFAULT_LOGGER_CONFIGURATOR","__name","LoggerProviderSharedState","resource","forceFlushTimeoutMillis","logRecordLimits","processors","loggerConfigurator","meterProvider","MultiLogRecordProcessor","NoopLogRecordProcessor","meter","VERSION","createNoopMeter","LoggerMetrics","instrumentationScope","key","getInstrumentationScopeKey","config","DEFAULT_LOGGER_NAME","LoggerProvider","__name","config","mergedConfig","defaultResource","DEFAULT_LOGGER_CONFIGURATOR","LoggerProviderSharedState","BindOnceFuture","name","version","options","diag","createNoopLogger","instrumentationScope","normalizeScopeAttributes","key","getInstrumentationScopeKey","Logger","ZuploOtelLogger","__name","baseLogger","logRecord","options","ZuploLoggerProvider","LoggerProvider","__name","name","_version","_options","baseLogger","ZuploOtelLogger","logs","trace","ZuploTracerProvider","__name","spanProcessors","resource","name","version","options","key","WorkerTracer","trace","createResource","__name","options","config","runtimeResourceAttrs","ATTR_CLOUD_PROVIDER","ATTR_CLOUD_PLATFORM","ATTR_CLOUD_ACCOUNT_ID","ATTR_TELEMETRY_SDK_NAME","SemanticAttributes","serviceResource","resourceFromAttributes","ATTR_SERVICE_NAME","ATTR_SERVICE_NAMESPACE","ATTR_SERVICE_VERSION","resource","initialised","init","instrumentGlobalFetch","propagation","otelResource","ZuploTracerProvider","ZuploLoggerProvider","context","AsyncLocalStorageContextManager","createInitializer","trigger","conf","parseConfig","MAX_BACKGROUND_WORK_WAIT_MS","exportSpans","traceId","tracker","tracer","trace","WorkerTracer","coldStart","createHandlerFlowFn","instrumentation","handlerFn","args","proxiedCtx","proxyExecutionContext","instrumentedTrigger","name","spanContext","attrs","parentContext","apiContext","span","result","attributes","error","SpanStatusCode","createHandlerProxy","initializer","ctx","setConfig","flowFn","ZUPLO_INSTRUMENTATION_SCOPE","ConfigurationError","OTEL_TRACES_PATH","managedEndpoint","setManagedTraceEndpoint","endpoint","__name","missingIngestError","ConfigurationError","__name","ZuploSpanExporter","endpoint","managedEndpoint","OTLPSpanExporter","OTEL_TRACES_PATH","spans","resultCallback","hasProcessors","value","__name","hasDestination","config","c","withZuploDefaults","base","BatchTraceSpanProcessor","ZuploSpanExporter","usesZuploExporter","processor","OpenTelemetryPlugin","TelemetryPlugin","trackFeature","options","setManagedTraceEndpoint","wrapped","initializer","createInitializer","createHandlerProxy","fetchInstrumentation"]}
|
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
import{a,b,c,d}from"./chunk-
|
|
25
|
+
import{a,b,c,d}from"./chunk-6IEB7H3W.js";export{b as BatchTraceSpanProcessor,a as OTLPSpanExporter,d as OpenTelemetryPlugin,c as ZuploSpanExporter};
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -26,8 +26,10 @@ declare type AcceptTraceContextFn = (request: Request) => boolean;
|
|
|
26
26
|
export declare class BatchTraceSpanProcessor implements TraceFlushableSpanProcessor {
|
|
27
27
|
readonly exporter: SpanExporter;
|
|
28
28
|
private traces;
|
|
29
|
+
private totalEvicted;
|
|
29
30
|
constructor(exporter: SpanExporter);
|
|
30
31
|
getTraceState(traceId: string): TraceState;
|
|
32
|
+
private evictOverflow;
|
|
31
33
|
onStart(span: Span, parentContext: Context): void;
|
|
32
34
|
onEnd(span: ReadableSpan): void;
|
|
33
35
|
forceFlush(traceId?: TraceId): Promise<void>;
|
|
@@ -239,7 +239,7 @@ spurious results.`)}}return!1},"instanceOf");var Xo=class{static{s(this,"Source"
|
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
|
-
`}s(Vc,"getIntrospectionQuery");var dx=2,sN=1,aN=0,cN=0,Ap=4294967295,uN=["first","last","limit","pageSize","take"],lN=new Set(["__typename","__schema","__type"]);function px(t,e={}){let n=new Map,o,r;for(let c of t.definitions)c.kind===le.FRAGMENT_DEFINITION?n.set(c.name.value,c):c.kind===le.OPERATION_DEFINITION&&(o??=c,e.operationName&&c.name?.value===e.operationName&&(r=c));let i=r??o;if(!i)return 0;let a={fragments:n,variables:e.variables??{},multiplierNames:new Set(e.multipliers??uN),expanding:new Set};return mx(Jc(i.selectionSet,dx,a))}s(px,"computeComplexity");function Jc(t,e,n){let o=e,r=0;for(let i of t.selections)if(!fN(i.directives,n.variables))switch(i.kind){case le.FIELD:{o+=dN(i,n);break}case le.FRAGMENT_SPREAD:{let a=i.name.value,c=n.fragments.get(a);if(!c||n.expanding.has(a))break;n.expanding.add(a),o+=Jc(c.selectionSet,cN,n),n.expanding.delete(a);break}case le.INLINE_FRAGMENT:{let a=Jc(i.selectionSet,aN,n);a>r&&(r=a);break}}return o+r}s(Jc,"selectionSetCost");function dN(t,e){if(lN.has(t.name.value))return 0;let n=t.selectionSet?Jc(t.selectionSet,dx,e):sN,o=pN(t.arguments,e);return o!==null&&(n=mx(n*o)),n}s(dN,"fieldCost");function pN(t,e){if(!t||t.length===0)return null;let n=null;for(let o of t){if(!e.multiplierNames.has(o.name.value))continue;let r=mN(o.value,e.variables);(n===null||r>n)&&(n=r)}return n}s(pN,"resolveMultiplier");function mN(t,e){if(t.kind===le.INT)return ux(Number.parseInt(t.value,10));if(t.kind===le.VARIABLE){let n=e[t.name.value];return typeof n!="number"||!Number.isInteger(n)?1:ux(n)}return 0}s(mN,"resolveMultiplierValue");function ux(t){if(!Number.isFinite(t))return 1;let e=Math.abs(t);return e>Ap?1:e}s(ux,"normalizeMultiplier");function fN(t,e){if(!t||t.length===0)return!1;for(let n of t){let o=n.name.value;if(o==="skip"){if(lx(n,e)===!0)return!0}else if(o==="include"&&lx(n,e)===!1)return!0}return!1}s(fN,"isExcludedByDirective");function lx(t,e){let n=t.arguments?.find(r=>r.name.value==="if");if(!n)return;let o=n.value;if(o.kind===le.BOOLEAN)return o.value;if(o.kind===le.VARIABLE){let r=e[o.name.value];return typeof r=="boolean"?r:void 0}}s(lx,"resolveIfArgument");function mx(t){return Number.isNaN(t)||t<=0?0:t>Ap?Ap:Math.trunc(t)}s(mx,"clampU32");var fx=4*1024,gN="0".repeat(64);async function hx(t,e,n){let o=gx(t,fx),r;try{r=Fc(t)}catch(g){return{ast:null,documentHash:gN,documentSnippet:o,operationType:"",operationName:"",maxDepth:0,complexity:null,syntaxError:g instanceof ir?g:new ir(g instanceof Error?g.message:String(g))}}let i=yN(r),a=Bc(i),c=await vN(a),{operationType:u,operationName:d}=bN(i,e),p=wN(i),m=px(r,{operationName:e,variables:n});return{ast:r,documentHash:c,documentSnippet:gx(a,fx),operationType:u,operationName:d,maxDepth:p,complexity:m,syntaxError:null}}s(hx,"analyzeDocument");var hN="?";function yN(t){let e=s(()=>({kind:le.STRING,value:hN}),"toPlaceholder");return ro(t,{IntValue:e,FloatValue:e,StringValue:e,BooleanValue:e,EnumValue:e})}s(yN,"scrubLiterals");function bN(t,e){let n=null;for(let o of t.definitions){if(o.kind!==le.OPERATION_DEFINITION)continue;let r=o.name?.value??"";if(n===null&&(n={operationType:o.operation,operationName:r}),e&&r===e)return{operationType:o.operation,operationName:r}}return n??{operationType:"",operationName:""}}s(bN,"selectOperation");function wN(t){let e=0,n=0;return ro(t,{SelectionSet:{enter(){n+=1,n>e&&(e=n)},leave(){n-=1}}}),e}s(wN,"computeMaxDepth");async function vN(t){let e=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",e),o=new Uint8Array(n),r="";for(let i of o)r+=i.toString(16).padStart(2,"0");return r}s(vN,"sha256Hex");function gx(t,e){let n=new TextEncoder().encode(t);if(n.byteLength<=e)return t;let o=e;for(;o>0&&(n[o]&192)===128;)o--;return new TextDecoder("utf-8").decode(n.subarray(0,o))}s(gx,"truncate");function oo(t,e,n){try{t.log?.debug?.({event:e,errorName:n instanceof Error?n.name:"unknown"},"graphql analytics internal error")}catch{}}s(oo,"safeLog");function yx(t){if(!t)return"unknown";let e=t.toLowerCase();return e.includes("apollo-ios")||e.includes("apollo-kotlin")||e.includes("apollo-android")||e.includes("ios")||e.includes("android")||e.includes("react-native")||e.includes("expo")?"mobile":e.includes("apollo-client")||e.includes("apollo-web")||e.includes("urql")||e.includes("relay")||e.includes("browser")||e.includes("web")?"browser":e.includes("apollo-server")||e.includes("server")||e.includes("node")||e.includes("service")||e.includes("worker")?"service":"unknown"}s(yx,"deriveClientKind");var RN="apollographql-client-name",SN="apollographql-client-version",IN="x-graphql-document-id";function bx(t){let{context:e,operation:n,request:o,httpStatusCode:r,totalLatencyMs:i}=t;try{let a=CN(o),c=o.headers.get(RN),u=o.headers.get(SN),d=n.errors.count,p=n.errors.classes(),m=d===0?"success":"failure",g=n.persistedQueryHash??o.headers.get(IN),h={operationType:n.operationType,operationName:n.operationName,documentHash:n.documentHash??"",documentSnippet:n.documentSnippet??"",persistedQueryHash:g??null,maxDepth:n.maxDepth,complexity:n.complexity,routePath:xN(e),clientName:c??null,clientKind:yx(c),clientVersion:u??null,subjectId:a.subjectId,tenantId:a.tenantId,apiKeySub:a.apiKeySub,authProfileId:a.authProfileId,httpStatusCode:r,totalLatencyMs:i,outcome:m,errorCount:d,errorClasses:p,cacheState:n.cacheState};e.analyticsContext.addAnalyticsEvent(1,Q.GRAPHQL_OPERATION,h)}catch(a){oo(e,"graphql_analytics_operation_emit_failed",a)}}s(bx,"emitGraphqlOperationEvent");function xN(t){let e=t.route?.path;return typeof e=="string"&&e.length>0?e:null}s(xN,"readRoutePath");function CN(t){let e=t.user,n=e?.sub??null,o=e?.apiKeyId??null,r=e?.data??{};return{subjectId:typeof n=="string"?n:null,tenantId:typeof r.tenantId=="string"?r.tenantId:typeof r.tenant_id=="string"?r.tenant_id:null,apiKeySub:typeof o=="string"?o:null,authProfileId:null}}s(CN,"readSubject");var TN=1*1024*1024;function PN(t){if(typeof t.raw!="function")return!1;try{return t.raw()?.["x-graphql"]===!0}catch{return!1}}s(PN,"isGraphqlRoute");var kp=s(async(t,e,n)=>{let o=mI();if(fI(e,o),t.method==="GET")try{await EN(t,o)}catch(a){oo(e,"graphql_analytics_url_analysis_failed",a)}let r=AN(t)?t.clone():null,i;try{i=await n(t)}catch(a){o.errors.record("resolver"),i=await bn(t,e,"GraphQL analytics: downstream processor threw past handler error wrapping.",a)}if(r)try{await kN(r,o)}catch(a){oo(e,"graphql_analytics_body_analysis_failed",a)}return _N(e,o,i.status),i},"graphqlAnalyticsProcessor");kp.shouldApply=t=>PN(t);function AN(t){if(!t.body||t.method==="GET")return!1;let e=(t.headers.get("content-type")??"").toLowerCase();if(!e.startsWith("application/json")&&!e.includes("+json"))return!1;let n=t.headers.get("content-length");if(n!==null){let o=Number(n);if(!Number.isFinite(o)||o<0||o>TN)return!1}return!0}s(AN,"hasReadableJsonBody");async function kN(t,e){let n;try{n=await t.text()}catch{return}let o;try{o=JSON.parse(n)}catch{return}let r=o,i=typeof r.operationName=="string"?r.operationName:null,a=r.extensions?.persistedQuery?.sha256Hash,c=typeof r.query=="string"?r.query:null;await vx(e,{query:c,operationName:i,persistedHash:typeof a=="string"?a:null,variables:wx(r.variables)})}s(kN,"analyzeRequestBody");async function EN(t,e){let n;try{n=new URL(t.url)}catch{return}let o=n.searchParams,r=o.get("query"),i=o.get("operationName"),a=null,c=o.get("extensions");if(c)try{let m=JSON.parse(c).persistedQuery?.sha256Hash;typeof m=="string"&&(a=m)}catch{}let u=null,d=o.get("variables");if(d)try{u=wx(JSON.parse(d))}catch{}await vx(e,{query:r,operationName:i,persistedHash:a,variables:u})}s(EN,"analyzeUrlParams");function wx(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:null}s(wx,"asVariables");async function vx(t,e){if(e.persistedHash&&(t.persistedQueryHash=e.persistedHash),e.operationName&&e.operationName.length>0&&(t.operationName=e.operationName),!e.query||e.query.length===0){e.persistedHash&&(t.documentHash="",t.documentSnippet="");return}try{let n=await hx(e.query,e.operationName??void 0,e.variables??void 0);t.documentHash=n.documentHash,t.documentSnippet=n.documentSnippet,t.operationType=n.operationType,t.operationName=e.operationName&&e.operationName.length>0?e.operationName:n.operationName,t.maxDepth=n.maxDepth,t.complexity=n.complexity,n.syntaxError&&t.errors.record("syntax")}catch{t.errors.record("syntax")}}s(vx,"populateFromGraphqlInputs");function _N(t,e,n){let o=s(a=>{e.errors.classes().includes(a)||e.errors.record(a)},"recordIfNew");if(n!==null){let a=pI(n);a&&o(a)}let r=it.getContextExtensions(t).latestRequest,i=performance.now()-e.startTimeMs;bx({context:t,operation:e,request:r,httpStatusCode:n,totalLatencyMs:i})}s(_N,"finalizeAndEmit");var ws=class{static{s(this,"PluginRouteConfiguration")}constructor({path:e,methods:n,corsPolicy:o="none"}){this.path=e,this.methods=n,this.corsPolicy=o,this.handler={export:Zo,module:Zo}}label;path;methods;handler;corsPolicy;policies;metadata;raw(){return{}}};var Ep=class{static{s(this,"UrlPatternRouterEntry")}constructor(e,n,o){this.fullPath=e,this.config=n,this.executableHandler=o;try{this.urlPattern=new URLPattern({pathname:this.fullPath})}catch(r){throw new Pe(`Invalid path '${e}'. ${r.message}`)}}urlPattern;fullPath;config;executableHandler},Kc=class{static{s(this,"UrlPatternRouter")}routeEntries=[];addRoute(e,n){if(!(e instanceof Ar||e instanceof yt||e instanceof ws))throw new Pe("Config must be a valid RouteConfiguration type: UserRouteConfiguration, SystemRouteConfiguration, or PluginRouteConfiguration");let o;"pathPattern"in e&&e.pathPattern?o=e.pathPattern:o=e.path;try{let r=new Ep(o,e,n);Object.freeze(r.config),this.routeEntries.push(r)}catch(r){throw new wc(`addRoute-error: Invalid path '${o}'. '${r.message}'`,{cause:r})}}addPluginRoute(e){let n=new St({processors:e.processors??[],handler:e.handler}),o=new ws({methods:e.methods,path:e.path,corsPolicy:e.corsPolicy});this.addRoute(o,n.execute)}lookup(e,n){if(typeof n>"u")throw new I(`Invalid request - Method was undefined. Path: '${e}'`);for(let o=0;o<this.routeEntries.length;o++){let r=this.routeEntries[o];if(r.config.methods.includes(n)){let i=r.urlPattern.exec({pathname:e});if(i!==null)return new jo(r.config,r.executableHandler,i.pathname.groups)}}}lookupByPathOnly(e){let n=[];for(let o=0;o<this.routeEntries.length;o++){let r=this.routeEntries[o],i=r.urlPattern.exec({pathname:e});if(i!==null){let a=new jo(r.config,r.executableHandler,i.pathname.groups);n.push(a)}}return n}};import{AsyncLocalStorage as ON}from"node:async_hooks";var sr={context:new ON};function io(){let t=sr.context.getStore()?.context;if(!t)throw new Error("No context found. This should not happen.");return t}s(io,"getCurrentContext");var _p;function Rx(t){_p=t}s(Rx,"setGlobalZuploEventContext");function _r(){if(_p===void 0)throw new Error("global ZuploEventContext has not been defined - invalid runtime state");return _p}s(_r,"getGlobalZuploEventContext");function Sx({headers:t,removeAllVendorHeadersExceptListed:e}){let n=new Headers(t);if(e){for(let[o]of t){let r=o.substring(0,3);$S.includes(r.toLowerCase())&&!MS.includes(o.toLowerCase())&&n.delete(o)}n.delete(cp)}else OS.forEach(o=>{n.delete(o)});return _S.forEach(o=>{n.delete(o)}),n}s(Sx,"normalizeIncomingRequestHeaders");var so=qe("zuplo:runtime"),vs=s(t=>(...e)=>{let n=sr.context.getStore();n&&n.context?.log[t](...e)},"consoleLogFn");console.log=vs("log");console.info=vs("info");console.debug=vs("debug");console.warn=vs("warn");console.error=vs("error");var je=class t{constructor(e,n,o,r){this.routeData=e;this.runtimeSettings=n;this.schemaValidator=r;so("Gateway.constructor"),this.#r=this.setupRoutes(),this.#t=o}routeData;runtimeSettings;schemaValidator;static{s(this,"Gateway")}static#e;static async initialize(e,n,o,r){if(so("Gateway.initialize"),!t.#e){let i=await Uc.init(o),a=await e(),c={...a,corsPolicies:kI(a.corsPolicies),getInboundPolicyInstance:s(d=>_c(d,a.policies),"getInboundPolicyInstance")},u=new t(c,n,i,r);t.#e=u}if(!t.#e)throw new Pe("Invalid state - Gateway not initialized after trace call. The trace provider is likely not functioning correctly.");return t.#e}static purgeGatewayCache(){so("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new Pe("Gateway cannot be used before it is initialized");return t.#e}#t;#r;#n=[Oc,kp,Fo,Gt,GI];setupRoutes=s(()=>{so("Gateway.setupRoutes");let e=this.routeData,n=new Kc;if(e.routes.length===0)return up(n),mp(n),pp(n,this.runtimeSettings,this.routeData.corsPolicies),_I(n),n;let{enabled:o,type:r,basePath:i}=this.runtimeSettings.developerPortal;o&&r==="legacy"&&(FI(n,i),HI(n,i)),up(n),mp(n),pp(n,this.runtimeSettings,this.routeData.corsPolicies);for(let a of An)a instanceof mt&&a.registerRoutes({router:n,runtimeSettings:this.runtimeSettings,parsedRouteData:this.routeData});return e.routes.forEach(a=>{let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new I(`Invalid state - No handler on route for path '${a.path}'`);let u=this.#n.filter(m=>!m.shouldApply||m.shouldApply(a)),d=new St({processors:u,handler:c}),p=new Ar(a);n.addRoute(p,d.execute)}),OI(n),n},"setupRoutes");async handleRequest(e,n,o){let r=e.headers.get($o)??e.headers.get(nS)??o?.parentContext?.requestId??crypto.randomUUID(),i=e.headers.get(Mo);Rx(n);let a=Sx({headers:e.headers,removeAllVendorHeadersExceptListed:T.instance.build.COMPATIBILITY_FLAGS.removeAllVendorHeadersExceptListed});a.set($o,r);let c=new Request(e,{headers:a}),u=e.headers.get(iS)||e.headers.get(oS)||e.headers.get(sS);if(u){let A=e.url.replace(/^(http|https):\/\//,`${u}://`);c=new Request(A,c)}if(["GET","HEAD"].includes(c.method)&&c.body){let A=new Headers(c.headers);A.set(rS,"true"),c=new Request(c,{headers:A,body:null})}let d=e.headers.get(kS);if(d){let A=new URL(c.url),L=new URL(`local://${d}${A.pathname}${A.search}`);c=new Request(L.toString(),c)}c=await xI(c);let p=new URL(c.url),m=p.pathname,g=this.#r.lookup(m,c.method);if(!g){if(T.instance.build.COMPATIBILITY_FLAGS.return501ForUnsupportedHttpMethods){let A=$.getProblemFromStatus(501,{instance:m,trace:{timestamp:new Date().toISOString(),requestId:r,buildId:T.instance.build.BUILD_ID,...i?{rayId:i}:{}}});return new Response(JSON.stringify(A),{status:501,statusText:es[501],headers:{"content-type":"application/problem+json",[$o]:r}})}throw new Pe(`Invalid state - no route match - should have been picked up by the not found handler, path: '${m}'`)}let h={},{userRequestLogger:f,systemRequestLogger:v}=this.#t.createRequestLoggers(r,i,n,h,c,g.routeConfiguration);qo(p)||f.debug(`Request received '${p.pathname}'`,{method:c.method,url:p.pathname,hostname:p.hostname,route:g.routeConfiguration.path});let b=new Wc(e.headers),w=new we(c,{params:g.params},e),S=new Yc({logger:f,route:g.routeConfiguration,requestId:r,event:n,custom:h,incomingRequestProperties:b,parentContext:o?.parentContext}),x=sr.context.getStore();x&&(x.context=S);let C=g.routeConfiguration.raw();$N.getActiveSpan()?.setAttributes({"http.route":S.route.path??S.route.pathPattern,"cloud.region":S.incomingRequestProperties.colo,[Qt.RoutePathPattern]:S.route.pathPattern,[Qt.RouteOperationId]:C.operationId,[Qt.RouteTrace]:C["x-zuplo-trace"],[Qt.RouteSystem]:qo(p)?!0:void 0,"net.colo":b.colo,"net.country":b.country,"net.asn":b.asn}),it.initialize(S,w);try{if(H.addLogger(S,v),T.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!qo(p):!p.pathname.startsWith("/__zuplo")){let re=await RI(w,S);if(re instanceof Response)return re;{let V=it.getContextExtensions(S);w=re,V.latestRequest=w}}let A=g.executableHandler;MN(A,g,c),so("Gateway.handleRequest - call user handler");let L=await A(w,S);if(so("Gateway.handleRequest - user handler"),!(L instanceof Response))throw new Z(`Invalid Response type from the request handler: ${typeof L}`);if(L.bodyUsed)throw new Z("The response object has already been used. Return a new response instead.");let q;if(L.headers.get($o)===null&&!L.webSocket&&L.status!==101){let re=new Headers(L.headers);re.set($o,r),q=new Response(L.body,{status:L.status,statusText:L.statusText,headers:re,cf:L.cf})}else q=L;return q}catch(A){return A instanceof Z?(f.error(A),v.warn(A)):v.error(A),await bn(w,S,"Error executing handler",A)}}};function MN(t,e,n){if(so("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new I(`Invalid state - no routeConfiguration for '${n.method}:${n.url}`):new I(`Invalid state. No handler for request '${n.method}':'${e.routeConfiguration.path}'`)}s(MN,"checkHandler");Function.prototype.toString=function(){return"[native code]"};var Qc=globalThis,Ix=Qc.caches;if(Ix){let t=Ix.open;Qc.caches.open=function(e){let n=T.instance.deploymentName??T.instance.build.BUILD_ID;return t.call(this,`${n}-${e}`)},delete Qc.caches.default,Object.freeze(Qc.caches)}var LN="Error initializing gateway. Check your configuration for errors or contact support.",NN="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.",Op=class{constructor(e,n,o,r,i,a){this.routeLoader=e;this.buildEnvironment=n;this.runtimeSettings=o;this.serviceProvider=r;this.schemaValidations=i;this.runtimeInit=a}routeLoader;buildEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;static{s(this,"Handler")}requestHandler=s(async(e,n,o)=>{T.initialize({build:this.buildEnvironment,runtime:n});try{await CI(this.runtimeInit)}catch(i){return this.handleError(i,NN,e)}return wI(s(async(i,a)=>{let c;try{c=await je.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations)}catch(d){return this.handleError(d,LN,i)}let u={context:void 0};return sr.context.run(u,async()=>c.handleRequest(i,a))},"innerHandler"))(e,o)},"requestHandler");handleError(e,n,o){D.console.error("Error initializing gateway.",e),e instanceof I&&(n=e.message);let r={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:n,instance:o.url,trace:{timestamp:Date.now(),rayId:o.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:T.instance.isWorkingCopy?e.message:void 0};return new Response(JSON.stringify(r,null,2),{status:500,headers:{"content-type":"application/json"}})}};var $p=new ne(Symbol("ai-gateway-request-analytics"));function xx(t){let e=$p.get(t);return e||(e={cacheState:null,servedFromCache:!1,similarity:null,teamId:null,appId:null},$p.set(t,e)),e}s(xx,"getOrCreateEntry");function Zn(t,e,n){let o=xx(t);o.cacheState=e,n?.similarity!==void 0&&(o.similarity=n.similarity),n?.servedFromCache!==void 0&&(o.servedFromCache=n.servedFromCache)}s(Zn,"recordAiGatewayCacheState");function ar(t){if(!t||typeof t!="object")return{teamId:null,appId:null};let e=t,n=e.isApp===!0&&typeof e.id=="string"&&e.id!==""?e.id:null;return{teamId:typeof e.parentId=="string"&&e.parentId!==""?e.parentId:null,appId:n}}s(ar,"extractTeamAppAttribution");function ei(t,e){let{teamId:n,appId:o}=ar(e);if(n===null&&o===null)return;let r=xx(t);r.teamId=n,r.appId=o}s(ei,"recordAiGatewayAttribution");function ao(t){return $p.get(t)}s(ao,"getAiGatewayRequestAnalytics");var Lp=class{static{s(this,"GatewayServiceClient")}baseUrl;constructor(e){this.baseUrl=e??T.instance.zuploEdgeApiUrl}async fetchCurrentMeters(e,n){let o=new URL(`/v1/hierarchical-quota/${e}`,this.baseUrl).toString(),r=new Headers({"Content-Type":"application/json"});Ve(r,n.requestId);let i=await fetch(o,{method:"GET",headers:r});if(!i.ok)throw new Pe(`Failed to fetch meters: ${i.status} ${i.statusText}`);return await i.json()}async checkHierarchicalQuotaLimits(e,n){let o=new URL(`/v1/hierarchical-quota/${e}/limits`,this.baseUrl).toString(),r=new Headers({"Content-Type":"application/json"});Ve(r,n.requestId);let i=await fetch(o,{method:"GET",headers:r});if(!i.ok)throw new Pe(`Failed to check quota limits: ${i.status} ${i.statusText}`);return await i.json()}async incrementMeters(e,n,o){let r=new URL(`/v1/hierarchical-quota/${e}`,this.baseUrl).toString(),i=new Headers({"Content-Type":"application/json"});Ve(i,o.requestId);let a=await fetch(r,{method:"POST",headers:i,body:JSON.stringify({increments:n})});if(!a.ok)throw new Pe(`Failed to increment meters: ${a.status} ${a.statusText}`)}async sendUsageEvent(e,n,o,r){let i=new URL(`/v3/metering/${e}/events`,this.baseUrl).toString(),a=new Headers({"Content-Type":"application/json"});Ve(a,o.requestId);let c;try{c=H.getLogger(o)}catch{}let u=await ct({retries:r?.retries??3,retryDelayMs:r?.retryDelayMs??500,logger:c,fetchFn:s((d,p)=>fetch(d,p),"fetchFn")},i,{method:"POST",headers:a,body:JSON.stringify(n)});if(!u.ok)throw new Pe(`Failed to send monetization v3 usage events: ${u.status} ${u.statusText}`)}},Mp=null,ti={get instance(){return Mp===null&&(Mp=new Lp),Mp}};var Cx=Pt.object({environmentVariable:Pt.string().min(1),model:Pt.string().min(1),provider:Pt.string().min(1)}),Tx=Pt.object({completions:Cx.optional(),embeddings:Cx.optional()});var Px=qe("zuplo:policies:AIGatewayMeteringInboundPolicy"),Ax=Symbol("ai-gateway-meter-increments"),kx=Symbol("ai-gateway-quota-fallback"),tt=class t extends ce{static{s(this,"AIGatewayMeteringInboundPolicy")}static policyType="ai-gateway-metering";static setIncrements(e,n){ne.set(e,Ax,n)}static getIncrements(e){return ne.get(e,Ax)??{}}static setQuotaFallback(e,n){ne.set(e,kx,n)}static getQuotaFallback(e){return ne.get(e,kx)}async handler(e,n){let o=Date.now(),r=H.getLogger(n),i=s((a,c)=>{if(this.options.throwOnFailure)throw new Pe(a,{cause:c});r.error(c,a)},"throwOrLog");try{let a=e.user,c=a?.configuration;if(!c)throw new I(`AIGatewayMeteringInboundPolicy '${this.policyName}' - No configuration found in request.user. Ensure ai-gateway-inbound policy runs first.`);let u=c;if(!u.id)throw new I(`AIGatewayMeteringInboundPolicy '${this.policyName}' - Configuration ID not found.`);let d=a?.sub??null,p=await this.fetchCurrentMeters(u.id,n,r),m=this.checkWarnings(u,p);for(let h of m)n.analyticsContext.addAnalyticsEvent(1,Q.AI_GATEWAY_WARNING_COUNT,{type:`quota-${h.type}-${h.period}`,configId:u.id,teamId:null,appId:null,consumerSub:d,environment:null,region:null,errorType:"quota_warning"});let g=await this.checkHierarchicalQuotaLimits(u.id,n,r);if(g.violation){let h=g.violation,f=this.requestCapability(e),v=this.resolveQuotaFallback(u,f,n,r);if(v){let b=f?u.models[f]?.[0]:void 0,w=f?v[f]:void 0,S=b?`${b.provider}/${b.model}`:"the primary model",x=w?`${w.provider}/${w.model}`:"the configured fallback model";t.setQuotaFallback(n,v),n.log.warn(`AI Gateway quota exceeded; falling back from ${S} to ${x} instead of blocking`,{configId:u.id,configLabel:h.configLabel,meter:h.meter,period:h.period,currentUsage:h.currentUsage,limit:h.limit,originalModel:b?.model,originalProvider:b?.provider,fallbackModel:w?.model,fallbackProvider:w?.provider}),n.analyticsContext.addAnalyticsEvent(1,Q.AI_GATEWAY_FALLBACK_COUNT,{type:`quota-${h.meter}-${h.period}`,configId:u.id,teamId:null,appId:null,consumerSub:d,environment:null,region:null,errorType:"quota_fallback"})}else return n.analyticsContext.addAnalyticsEvent(1,Q.AI_GATEWAY_BLOCKED_COUNT,{type:`quota-${h.meter}-${h.period}`,configId:u.id,teamId:null,appId:null,consumerSub:d,environment:null,region:null,errorType:"quota_exceeded"}),this.createHierarchicalQuotaExceededResponse(e,n,h)}return n.addResponseSendingFinalHook(async()=>{try{let h=t.getIncrements(n);Px(`AIGatewayMeteringInboundPolicy '${this.policyName}' - increments ${JSON.stringify(h)}`),Object.keys(h).length>0&&await t.incrementMetersInternal(u.id,h,n,r)}catch(h){i(`AIGatewayMeteringInboundPolicy '${this.policyName}' - Failed to increment meters`,h)}}),e}catch(a){if(a instanceof I)throw a;return i(`AIGatewayMeteringInboundPolicy '${this.policyName}' - Error`,a),e}finally{let a=Date.now()-o;Px(`AIGatewayMeteringInboundPolicy '${this.policyName}' - latency ${a}ms`)}}async fetchCurrentMeters(e,n,o){try{return await ti.instance.fetchCurrentMeters(e,n)}catch(r){throw o.error(r,`AIGatewayMeteringInboundPolicy '${this.policyName}' - Failed to fetch meters`),r}}requestCapability(e){let n;try{n=new URL(e.url).pathname}catch{return}let o=s(r=>n===r||n.endsWith(r),"matchesBase");if(o("/v1/chat/completions")||o("/v1/messages"))return"completions";if(o("/v1/embeddings"))return"embeddings"}resolveQuotaFallback(e,n,o,r){if(n?Cr(o)?.byCapability[n]?.quotaFallback:void 0)return{};let a=e.quotaFallback;if(!a)return;let c=Tx.safeParse(a);if(!c.success){r.error(c.error,`AIGatewayMeteringInboundPolicy '${this.policyName}' - Invalid quotaFallback configuration; blocking instead of falling back`);return}if(!(!n||!c.data[n]))return c.data}async checkHierarchicalQuotaLimits(e,n,o){try{return await ti.instance.checkHierarchicalQuotaLimits(e,n)}catch(r){throw o.error(r,`AIGatewayMeteringInboundPolicy '${this.policyName}' - Failed to check hierarchical quota limits`),r}}static async incrementMeters(e,n,o){let r=H.getLogger(o);return t.incrementMetersInternal(e,n,o,r)}static async incrementMetersInternal(e,n,o,r){try{await ti.instance.incrementMeters(e,n,o)}catch(i){throw r.error(i,"AIGatewayMeteringInboundPolicy - Failed to increment meters"),i}}checkWarnings(e,n){let o=[];for(let[r,i]of Object.entries(e.limits)){if(!i)continue;let a=n.meters[r];if(!a)continue;let c=this.checkQuotaWarning(i.daily,a.daily,r,"daily");c&&o.push(c);let u=this.checkQuotaWarning(i.monthly,a.monthly,r,"monthly");u&&o.push(u)}return o}checkQuotaWarning(e,n,o,r){if(!e?.warning?.enabled||!e?.warning?.threshold||!e?.limit)return null;let i=e.warning.threshold/100*e.limit;return n>=i?{type:o,period:r}:null}createHierarchicalQuotaExceededResponse(e,n,o){let r=`${o.period} ${o.meter} quota exceeded in configuration '${o.configLabel}'. Limit: ${o.limit}, Current: ${o.currentUsage}`;return $.tooManyRequests(e,n,{detail:r})}};var Lt=class extends Error{static{s(this,"UpstreamLlmError")}provider;status;constructor(e,n,o,r){super(`${e} API error (HTTP ${n}): ${o}`,r),this.name="UpstreamLlmError",this.provider=e,this.status=n}};function DN(t){return t>=500&&t<600?!0:t===408||t===425||t===429}s(DN,"isRetryableUpstreamStatus");function Ex(t){return t instanceof Lt?DN(t.status):t instanceof Error?t.name==="AbortError"||t.name==="TypeError":!1}s(Ex,"isRetryableError");async function en(t,e){let n;try{n=await t.text()}catch{return"Unknown error"}if(!n)return"Unknown error";if(e)try{let o=e(JSON.parse(n));if(typeof o=="string"&&o.length>0)return o}catch{}return n.length>500?`${n.slice(0,500)}\u2026`:n}s(en,"extractUpstreamErrorMessage");async function Zt(t,e,n){if(n==null||n<=0)return fetch(t,e);let o=new AbortController,r=setTimeout(()=>{o.abort()},n);try{return await fetch(t,{...e,signal:o.signal})}finally{clearTimeout(r)}}s(Zt,"fetchWithTimeout");async function tn(t,e){if(!T.instance.remoteLogURL){H.getLogger(t).debug("Remote log URL is not configured, skipping analytics");return}let n=ao(t);if(n?.servedFromCache){H.getLogger(t).debug("Response served from cache; cache policy emitted analytics, skipping");return}let o=e.consumerSub??null,r=n?.teamId??null,i=n?.appId??null,a=null,c=null,u=n?.cacheState??null,d=e.label??t.custom?.label??e.provider;t.analyticsContext.addAnalyticsEvent(parseFloat(e.cost.toFixed(10)),Q.AI_GATEWAY_COST_SUM,{model:e.model,provider:e.provider,label:d,configId:e.configId,teamId:r,appId:i,consumerSub:o,environment:a,region:c,cacheState:u}),t.analyticsContext.addAnalyticsEvent(1,Q.AI_GATEWAY_REQUEST_COUNT,{model:e.model,provider:e.provider,label:d,configId:e.configId,teamId:r,appId:i,consumerSub:o,environment:a,region:c,cacheState:u,routingTarget:null}),t.analyticsContext.addAnalyticsEvent(e.promptTokens,Q.AI_GATEWAY_TOKEN_SUM,{model:e.model,provider:e.provider,label:d,configId:e.configId,teamId:r,appId:i,consumerSub:o,environment:a,region:c,cacheState:u,tokenType:"prompt"}),t.analyticsContext.addAnalyticsEvent(e.completionTokens,Q.AI_GATEWAY_TOKEN_SUM,{model:e.model,provider:e.provider,label:d,configId:e.configId,teamId:r,appId:i,consumerSub:o,environment:a,region:c,cacheState:u,tokenType:"completion"});let p=t.analyticsContext.flushAnalyticsEvents();new kr(t,{endpoint:new URL("/v2/analytics",T.instance.remoteLogURL).toString()}).pushEvents(p)}s(tn,"sendStreamAnalytics");async function Or(t,e){let n=e.userContext?.configuration?.id;n&&await tt.incrementMeters(n,{requests:1,tokens:0,costs:0},t),await tn(t,{promptTokens:0,completionTokens:0,model:e.model,provider:e.provider,configId:n||"unknown",cost:0,consumerSub:e.userContext?.sub??null})}s(Or,"recordStreamUsageBaseline");function nn(t,e){let n={};for(let o in t){let r=t[o];Array.isArray(r)||(r=[r]);for(let i of r)if(i.param){if(o in e){let a=UN(o,e,i);a!==void 0&&_x(n,i.param,a)}else if(i?.required&&i.default!==void 0){let a=typeof i.default=="function"?i.default(e):i.default;_x(n,i.param,a)}}}return n}s(nn,"validateAndTransformRequest");function UN(t,e,n){let o=e[t];return n.transform&&(o=n.transform(e)),o===void 0&&n.default!==void 0&&(o=typeof n.default=="function"?n.default(e):n.default),typeof o=="number"&&(n.min!==void 0&&o<n.min&&(o=n.min),n.max!==void 0&&o>n.max&&(o=n.max)),o}s(UN,"getValue");function _x(t,e,n){if(n===void 0)return;let o=e.split("."),r=t;for(let i=0;i<o.length-1;i++){let a=o[i];r[a]||(r[a]={}),r=r[a]}r[o[o.length-1]]=n}s(_x,"setNestedProperty");var zN=["authorization","proxy-authorization","cookie","cookie2","set-cookie","x-api-key","content-type","content-length","content-encoding","accept-encoding","connection","transfer-encoding","host"];function Ox(t,e){let n=new Headers(t),o=n.get("anthropic-version");for(let r of zN)n.delete(r);return n.set("x-api-key",e),n.set("Content-Type","application/json"),n.set("anthropic-version",o??"2023-06-01"),n}s(Ox,"buildAnthropicPassthroughHeaders");var $x={model:{param:"model",required:!0,default:"claude-sonnet-4-6"},messages:[{param:"messages",required:!0,transform:s(t=>t.messages.filter(n=>n.role!=="system").map(n=>({role:n.role==="assistant"?"assistant":"user",content:n.content})),"transform")},{param:"system",required:!1,transform:s(t=>{let n=t.messages.filter(o=>o.role==="system");if(n.length!==0)return n.map(o=>o.content).join(`
|
|
242
|
+
`}s(Vc,"getIntrospectionQuery");var dx=2,sN=1,aN=0,cN=0,Ap=4294967295,uN=["first","last","limit","pageSize","take"],lN=new Set(["__typename","__schema","__type"]);function px(t,e={}){let n=new Map,o,r;for(let c of t.definitions)c.kind===le.FRAGMENT_DEFINITION?n.set(c.name.value,c):c.kind===le.OPERATION_DEFINITION&&(o??=c,e.operationName&&c.name?.value===e.operationName&&(r=c));let i=r??o;if(!i)return 0;let a={fragments:n,variables:e.variables??{},multiplierNames:new Set(e.multipliers??uN),expanding:new Set};return mx(Jc(i.selectionSet,dx,a))}s(px,"computeComplexity");function Jc(t,e,n){let o=e,r=0;for(let i of t.selections)if(!fN(i.directives,n.variables))switch(i.kind){case le.FIELD:{o+=dN(i,n);break}case le.FRAGMENT_SPREAD:{let a=i.name.value,c=n.fragments.get(a);if(!c||n.expanding.has(a))break;n.expanding.add(a),o+=Jc(c.selectionSet,cN,n),n.expanding.delete(a);break}case le.INLINE_FRAGMENT:{let a=Jc(i.selectionSet,aN,n);a>r&&(r=a);break}}return o+r}s(Jc,"selectionSetCost");function dN(t,e){if(lN.has(t.name.value))return 0;let n=t.selectionSet?Jc(t.selectionSet,dx,e):sN,o=pN(t.arguments,e);return o!==null&&(n=mx(n*o)),n}s(dN,"fieldCost");function pN(t,e){if(!t||t.length===0)return null;let n=null;for(let o of t){if(!e.multiplierNames.has(o.name.value))continue;let r=mN(o.value,e.variables);(n===null||r>n)&&(n=r)}return n}s(pN,"resolveMultiplier");function mN(t,e){if(t.kind===le.INT)return ux(Number.parseInt(t.value,10));if(t.kind===le.VARIABLE){let n=e[t.name.value];return typeof n!="number"||!Number.isInteger(n)?1:ux(n)}return 0}s(mN,"resolveMultiplierValue");function ux(t){if(!Number.isFinite(t))return 1;let e=Math.abs(t);return e>Ap?1:e}s(ux,"normalizeMultiplier");function fN(t,e){if(!t||t.length===0)return!1;for(let n of t){let o=n.name.value;if(o==="skip"){if(lx(n,e)===!0)return!0}else if(o==="include"&&lx(n,e)===!1)return!0}return!1}s(fN,"isExcludedByDirective");function lx(t,e){let n=t.arguments?.find(r=>r.name.value==="if");if(!n)return;let o=n.value;if(o.kind===le.BOOLEAN)return o.value;if(o.kind===le.VARIABLE){let r=e[o.name.value];return typeof r=="boolean"?r:void 0}}s(lx,"resolveIfArgument");function mx(t){return Number.isNaN(t)||t<=0?0:t>Ap?Ap:Math.trunc(t)}s(mx,"clampU32");var fx=4*1024,gN="0".repeat(64);async function hx(t,e,n){let o=gx(t,fx),r;try{r=Fc(t)}catch(g){return{ast:null,documentHash:gN,documentSnippet:o,operationType:"",operationName:"",maxDepth:0,complexity:null,syntaxError:g instanceof ir?g:new ir(g instanceof Error?g.message:String(g))}}let i=yN(r),a=Bc(i),c=await vN(a),{operationType:u,operationName:d}=bN(i,e),p=wN(i),m=px(r,{operationName:e,variables:n});return{ast:r,documentHash:c,documentSnippet:gx(a,fx),operationType:u,operationName:d,maxDepth:p,complexity:m,syntaxError:null}}s(hx,"analyzeDocument");var hN="?";function yN(t){let e=s(()=>({kind:le.STRING,value:hN}),"toPlaceholder");return ro(t,{IntValue:e,FloatValue:e,StringValue:e,BooleanValue:e,EnumValue:e})}s(yN,"scrubLiterals");function bN(t,e){let n=null;for(let o of t.definitions){if(o.kind!==le.OPERATION_DEFINITION)continue;let r=o.name?.value??"";if(n===null&&(n={operationType:o.operation,operationName:r}),e&&r===e)return{operationType:o.operation,operationName:r}}return n??{operationType:"",operationName:""}}s(bN,"selectOperation");function wN(t){let e=0,n=0;return ro(t,{SelectionSet:{enter(){n+=1,n>e&&(e=n)},leave(){n-=1}}}),e}s(wN,"computeMaxDepth");async function vN(t){let e=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",e),o=new Uint8Array(n),r="";for(let i of o)r+=i.toString(16).padStart(2,"0");return r}s(vN,"sha256Hex");function gx(t,e){let n=new TextEncoder().encode(t);if(n.byteLength<=e)return t;let o=e;for(;o>0&&(n[o]&192)===128;)o--;return new TextDecoder("utf-8").decode(n.subarray(0,o))}s(gx,"truncate");function oo(t,e,n){try{t.log?.debug?.({event:e,errorName:n instanceof Error?n.name:"unknown"},"graphql analytics internal error")}catch{}}s(oo,"safeLog");function yx(t){if(!t)return"unknown";let e=t.toLowerCase();return e.includes("apollo-ios")||e.includes("apollo-kotlin")||e.includes("apollo-android")||e.includes("ios")||e.includes("android")||e.includes("react-native")||e.includes("expo")?"mobile":e.includes("apollo-client")||e.includes("apollo-web")||e.includes("urql")||e.includes("relay")||e.includes("browser")||e.includes("web")?"browser":e.includes("apollo-server")||e.includes("server")||e.includes("node")||e.includes("service")||e.includes("worker")?"service":"unknown"}s(yx,"deriveClientKind");var RN="apollographql-client-name",SN="apollographql-client-version",IN="x-graphql-document-id";function bx(t){let{context:e,operation:n,request:o,httpStatusCode:r,totalLatencyMs:i}=t;try{let a=CN(o),c=o.headers.get(RN),u=o.headers.get(SN),d=n.errors.count,p=n.errors.classes(),m=d===0?"success":"failure",g=n.persistedQueryHash??o.headers.get(IN),h={operationType:n.operationType,operationName:n.operationName,documentHash:n.documentHash??"",documentSnippet:n.documentSnippet??"",persistedQueryHash:g??null,maxDepth:n.maxDepth,complexity:n.complexity,routePath:xN(e),clientName:c??null,clientKind:yx(c),clientVersion:u??null,subjectId:a.subjectId,tenantId:a.tenantId,apiKeySub:a.apiKeySub,authProfileId:a.authProfileId,httpStatusCode:r,totalLatencyMs:i,outcome:m,errorCount:d,errorClasses:p,cacheState:n.cacheState};e.analyticsContext.addAnalyticsEvent(1,Q.GRAPHQL_OPERATION,h)}catch(a){oo(e,"graphql_analytics_operation_emit_failed",a)}}s(bx,"emitGraphqlOperationEvent");function xN(t){let e=t.route?.path;return typeof e=="string"&&e.length>0?e:null}s(xN,"readRoutePath");function CN(t){let e=t.user,n=e?.sub??null,o=e?.apiKeyId??null,r=e?.data??{};return{subjectId:typeof n=="string"?n:null,tenantId:typeof r.tenantId=="string"?r.tenantId:typeof r.tenant_id=="string"?r.tenant_id:null,apiKeySub:typeof o=="string"?o:null,authProfileId:null}}s(CN,"readSubject");var TN=1*1024*1024;function PN(t){if(typeof t.raw!="function")return!1;try{return t.raw()?.["x-graphql"]===!0}catch{return!1}}s(PN,"isGraphqlRoute");var kp=s(async(t,e,n)=>{let o=mI();if(fI(e,o),t.method==="GET")try{await EN(t,o)}catch(a){oo(e,"graphql_analytics_url_analysis_failed",a)}let r=AN(t)?t.clone():null,i;try{i=await n(t)}catch(a){o.errors.record("resolver"),i=await bn(t,e,"GraphQL analytics: downstream processor threw past handler error wrapping.",a)}if(r)try{await kN(r,o)}catch(a){oo(e,"graphql_analytics_body_analysis_failed",a)}return _N(e,o,i.status),i},"graphqlAnalyticsProcessor");kp.shouldApply=t=>PN(t);function AN(t){if(!t.body||t.method==="GET")return!1;let e=(t.headers.get("content-type")??"").toLowerCase();if(!e.startsWith("application/json")&&!e.includes("+json"))return!1;let n=t.headers.get("content-length");if(n!==null){let o=Number(n);if(!Number.isFinite(o)||o<0||o>TN)return!1}return!0}s(AN,"hasReadableJsonBody");async function kN(t,e){let n;try{n=await t.text()}catch{return}let o;try{o=JSON.parse(n)}catch{return}let r=o,i=typeof r.operationName=="string"?r.operationName:null,a=r.extensions?.persistedQuery?.sha256Hash,c=typeof r.query=="string"?r.query:null;await vx(e,{query:c,operationName:i,persistedHash:typeof a=="string"?a:null,variables:wx(r.variables)})}s(kN,"analyzeRequestBody");async function EN(t,e){let n;try{n=new URL(t.url)}catch{return}let o=n.searchParams,r=o.get("query"),i=o.get("operationName"),a=null,c=o.get("extensions");if(c)try{let m=JSON.parse(c).persistedQuery?.sha256Hash;typeof m=="string"&&(a=m)}catch{}let u=null,d=o.get("variables");if(d)try{u=wx(JSON.parse(d))}catch{}await vx(e,{query:r,operationName:i,persistedHash:a,variables:u})}s(EN,"analyzeUrlParams");function wx(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:null}s(wx,"asVariables");async function vx(t,e){if(e.persistedHash&&(t.persistedQueryHash=e.persistedHash),e.operationName&&e.operationName.length>0&&(t.operationName=e.operationName),!e.query||e.query.length===0){e.persistedHash&&(t.documentHash="",t.documentSnippet="");return}try{let n=await hx(e.query,e.operationName??void 0,e.variables??void 0);t.documentHash=n.documentHash,t.documentSnippet=n.documentSnippet,t.operationType=n.operationType,t.operationName=e.operationName&&e.operationName.length>0?e.operationName:n.operationName,t.maxDepth=n.maxDepth,t.complexity=n.complexity,n.syntaxError&&t.errors.record("syntax")}catch{t.errors.record("syntax")}}s(vx,"populateFromGraphqlInputs");function _N(t,e,n){let o=s(a=>{e.errors.classes().includes(a)||e.errors.record(a)},"recordIfNew");if(n!==null){let a=pI(n);a&&o(a)}let r=it.getContextExtensions(t).latestRequest,i=performance.now()-e.startTimeMs;bx({context:t,operation:e,request:r,httpStatusCode:n,totalLatencyMs:i})}s(_N,"finalizeAndEmit");var ws=class{static{s(this,"PluginRouteConfiguration")}constructor({path:e,methods:n,corsPolicy:o="none"}){this.path=e,this.methods=n,this.corsPolicy=o,this.handler={export:Zo,module:Zo}}label;path;methods;handler;corsPolicy;policies;metadata;raw(){return{}}};var Ep=class{static{s(this,"UrlPatternRouterEntry")}constructor(e,n,o){this.fullPath=e,this.config=n,this.executableHandler=o;try{this.urlPattern=new URLPattern({pathname:this.fullPath})}catch(r){throw new Pe(`Invalid path '${e}'. ${r.message}`)}}urlPattern;fullPath;config;executableHandler},Kc=class{static{s(this,"UrlPatternRouter")}routeEntries=[];addRoute(e,n){if(!(e instanceof Ar||e instanceof yt||e instanceof ws))throw new Pe("Config must be a valid RouteConfiguration type: UserRouteConfiguration, SystemRouteConfiguration, or PluginRouteConfiguration");let o;"pathPattern"in e&&e.pathPattern?o=e.pathPattern:o=e.path;try{let r=new Ep(o,e,n);Object.freeze(r.config),this.routeEntries.push(r)}catch(r){throw new wc(`addRoute-error: Invalid path '${o}'. '${r.message}'`,{cause:r})}}addPluginRoute(e){let n=new St({processors:e.processors??[],handler:e.handler}),o=new ws({methods:e.methods,path:e.path,corsPolicy:e.corsPolicy});this.addRoute(o,n.execute)}lookup(e,n){if(typeof n>"u")throw new I(`Invalid request - Method was undefined. Path: '${e}'`);for(let o=0;o<this.routeEntries.length;o++){let r=this.routeEntries[o];if(r.config.methods.includes(n)){let i=r.urlPattern.exec({pathname:e});if(i!==null)return new jo(r.config,r.executableHandler,i.pathname.groups)}}}lookupByPathOnly(e){let n=[];for(let o=0;o<this.routeEntries.length;o++){let r=this.routeEntries[o],i=r.urlPattern.exec({pathname:e});if(i!==null){let a=new jo(r.config,r.executableHandler,i.pathname.groups);n.push(a)}}return n}};import{AsyncLocalStorage as ON}from"node:async_hooks";var sr={context:new ON};function io(){let t=sr.context.getStore()?.context;if(!t)throw new Error("No context found. This should not happen.");return t}s(io,"getCurrentContext");var _p;function Rx(t){_p=t}s(Rx,"setGlobalZuploEventContext");function _r(){if(_p===void 0)throw new Error("global ZuploEventContext has not been defined - invalid runtime state");return _p}s(_r,"getGlobalZuploEventContext");function Sx({headers:t,removeAllVendorHeadersExceptListed:e}){let n=new Headers(t);if(e){for(let[o]of t){let r=o.substring(0,3);$S.includes(r.toLowerCase())&&!MS.includes(o.toLowerCase())&&n.delete(o)}n.delete(cp)}else OS.forEach(o=>{n.delete(o)});return _S.forEach(o=>{n.delete(o)}),n}s(Sx,"normalizeIncomingRequestHeaders");var so=qe("zuplo:runtime"),vs=s(t=>(...e)=>{let n=sr.context.getStore();n&&n.context?.log[t](...e)},"consoleLogFn");console.log=vs("log");console.info=vs("info");console.debug=vs("debug");console.warn=vs("warn");console.error=vs("error");var je=class t{constructor(e,n,o,r){this.routeData=e;this.runtimeSettings=n;this.schemaValidator=r;so("Gateway.constructor"),this.#r=this.setupRoutes(),this.#t=o}routeData;runtimeSettings;schemaValidator;static{s(this,"Gateway")}static#e;static async initialize(e,n,o,r){if(so("Gateway.initialize"),!t.#e){let i=await Uc.init(o),a=await e(),c={...a,corsPolicies:kI(a.corsPolicies),getInboundPolicyInstance:s(d=>_c(d,a.policies),"getInboundPolicyInstance")},u=new t(c,n,i,r);t.#e=u}if(!t.#e)throw new Pe("Invalid state - Gateway not initialized after trace call. The trace provider is likely not functioning correctly.");return t.#e}static purgeGatewayCache(){so("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new Pe("Gateway cannot be used before it is initialized");return t.#e}#t;#r;#n=[Oc,kp,Fo,Gt,GI];setupRoutes=s(()=>{so("Gateway.setupRoutes");let e=this.routeData,n=new Kc;if(e.routes.length===0)return up(n),mp(n),pp(n,this.runtimeSettings,this.routeData.corsPolicies),_I(n),n;let{enabled:o,type:r,basePath:i}=this.runtimeSettings.developerPortal;o&&r==="legacy"&&(FI(n,i),HI(n,i)),up(n),mp(n),pp(n,this.runtimeSettings,this.routeData.corsPolicies);for(let a of An)a instanceof mt&&a.registerRoutes({router:n,runtimeSettings:this.runtimeSettings,parsedRouteData:this.routeData});return e.routes.forEach(a=>{let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new I(`Invalid state - No handler on route for path '${a.path}'`);let u=this.#n.filter(m=>!m.shouldApply||m.shouldApply(a)),d=new St({processors:u,handler:c}),p=new Ar(a);n.addRoute(p,d.execute)}),OI(n),n},"setupRoutes");async handleRequest(e,n,o){let r=e.headers.get($o)??e.headers.get(nS)??o?.parentContext?.requestId??crypto.randomUUID(),i=e.headers.get(Mo);Rx(n);let a=Sx({headers:e.headers,removeAllVendorHeadersExceptListed:T.instance.build.COMPATIBILITY_FLAGS.removeAllVendorHeadersExceptListed});a.set($o,r);let c=new Request(e,{headers:a}),u=e.headers.get(iS)||e.headers.get(oS)||e.headers.get(sS);if(u){let A=e.url.replace(/^(http|https):\/\//,`${u}://`);c=new Request(A,c)}if(["GET","HEAD"].includes(c.method)&&c.body){let A=new Headers(c.headers);A.set(rS,"true"),c=new Request(c,{headers:A,body:null})}let d=e.headers.get(kS);if(d){let A=new URL(c.url),L=new URL(`local://${d}${A.pathname}${A.search}`);c=new Request(L.toString(),c)}c=await xI(c);let p=new URL(c.url),m=p.pathname,g=this.#r.lookup(m,c.method);if(!g){if(T.instance.build.COMPATIBILITY_FLAGS.return501ForUnsupportedHttpMethods){let A=$.getProblemFromStatus(501,{instance:m,trace:{timestamp:new Date().toISOString(),requestId:r,buildId:T.instance.build.BUILD_ID,...i?{rayId:i}:{}}});return new Response(JSON.stringify(A),{status:501,statusText:es[501],headers:{"content-type":"application/problem+json",[$o]:r}})}throw new Pe(`Invalid state - no route match - should have been picked up by the not found handler, path: '${m}'`)}let h={},{userRequestLogger:f,systemRequestLogger:v}=this.#t.createRequestLoggers(r,i,n,h,c,g.routeConfiguration);qo(p)||f.debug(`Request received '${p.pathname}'`,{method:c.method,url:p.pathname,hostname:p.hostname,route:g.routeConfiguration.path});let b=new Wc(e.headers),w=new we(c,{params:g.params},e),S=new Yc({logger:f,route:g.routeConfiguration,requestId:r,event:n,custom:h,incomingRequestProperties:b,parentContext:o?.parentContext}),x=sr.context.getStore();x&&(x.context=S);let C=g.routeConfiguration.raw();$N.getActiveSpan()?.setAttributes({"http.route":S.route.path??S.route.pathPattern,"cloud.region":S.incomingRequestProperties.colo,[Qt.RoutePathPattern]:S.route.pathPattern,[Qt.RouteOperationId]:C.operationId,[Qt.RouteTrace]:C["x-zuplo-trace"],[Qt.RouteSystem]:qo(p)?!0:void 0,"net.colo":b.colo,"net.country":b.country,"net.asn":b.asn}),it.initialize(S,w);try{if(H.addLogger(S,v),T.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!qo(p):!p.pathname.startsWith("/__zuplo")){let re=await RI(w,S);if(re instanceof Response)return re;{let V=it.getContextExtensions(S);w=re,V.latestRequest=w}}let A=g.executableHandler;MN(A,g,c),so("Gateway.handleRequest - call user handler");let L=await A(w,S);if(so("Gateway.handleRequest - user handler"),!(L instanceof Response))throw new Z(`Invalid Response type from the request handler: ${typeof L}`);if(L.bodyUsed)throw new Z("The response object has already been used. Return a new response instead.");let q;if(L.headers.get($o)===null&&!L.webSocket&&L.status!==101){let re=new Headers(L.headers);re.set($o,r),q=new Response(L.body,{status:L.status,statusText:L.statusText,headers:re,cf:L.cf})}else q=L;return q}catch(A){return A instanceof Z?(f.error(A),v.warn(A)):v.error(A),await bn(w,S,"Error executing handler",A)}}};function MN(t,e,n){if(so("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new I(`Invalid state - no routeConfiguration for '${n.method}:${n.url}`):new I(`Invalid state. No handler for request '${n.method}':'${e.routeConfiguration.path}'`)}s(MN,"checkHandler");Function.prototype.toString=function(){return"[native code]"};var Qc=globalThis,Ix=Qc.caches;if(Ix){let t=Ix.open;Qc.caches.open=function(e){let n=T.instance.deploymentName??T.instance.build.BUILD_ID;return t.call(this,`${n}-${e}`)},delete Qc.caches.default,Object.freeze(Qc.caches)}var LN="Error initializing gateway. Check your configuration for errors or contact support.",NN="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.",Op=class{constructor(e,n,o,r,i,a){this.routeLoader=e;this.buildEnvironment=n;this.runtimeSettings=o;this.serviceProvider=r;this.schemaValidations=i;this.runtimeInit=a}routeLoader;buildEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;static{s(this,"Handler")}requestHandler=s(async(e,n,o)=>{T.initialize({build:this.buildEnvironment,runtime:n});try{await CI(this.runtimeInit)}catch(i){return this.handleError(i,NN,e)}return wI(s(async(i,a)=>{let c;try{c=await je.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations)}catch(d){return this.handleError(d,LN,i)}let u={context:void 0};return sr.context.run(u,async()=>c.handleRequest(i,a))},"innerHandler"))(e,o)},"requestHandler");handleError(e,n,o){D.console.error("Error initializing gateway.",e),e instanceof I&&(n=e.message);let r={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:n,instance:o.url,trace:{timestamp:Date.now(),rayId:o.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:T.instance.isWorkingCopy?e.message:void 0};return new Response(JSON.stringify(r,null,2),{status:500,headers:{"content-type":"application/json"}})}};var $p=new ne(Symbol("ai-gateway-request-analytics"));function xx(t){let e=$p.get(t);return e||(e={cacheState:null,servedFromCache:!1,similarity:null,teamId:null,appId:null},$p.set(t,e)),e}s(xx,"getOrCreateEntry");function Zn(t,e,n){let o=xx(t);o.cacheState=e,n?.similarity!==void 0&&(o.similarity=n.similarity),n?.servedFromCache!==void 0&&(o.servedFromCache=n.servedFromCache)}s(Zn,"recordAiGatewayCacheState");function ar(t){if(!t||typeof t!="object")return{teamId:null,appId:null};let e=t,n=e.isApp===!0&&typeof e.id=="string"&&e.id!==""?e.id:null;return{teamId:typeof e.parentId=="string"&&e.parentId!==""?e.parentId:null,appId:n}}s(ar,"extractTeamAppAttribution");function ei(t,e){let{teamId:n,appId:o}=ar(e);if(n===null&&o===null)return;let r=xx(t);r.teamId=n,r.appId=o}s(ei,"recordAiGatewayAttribution");function ao(t){return $p.get(t)}s(ao,"getAiGatewayRequestAnalytics");var Lp=class{static{s(this,"GatewayServiceClient")}baseUrl;constructor(e){this.baseUrl=e??T.instance.zuploEdgeApiUrl}async fetchCurrentMeters(e,n){let o=new URL(`/v1/hierarchical-quota/${e}`,this.baseUrl).toString(),r=new Headers({"Content-Type":"application/json"});Ve(r,n.requestId);let i=await fetch(o,{method:"GET",headers:r});if(!i.ok)throw new Pe(`Failed to fetch meters: ${i.status} ${i.statusText}`);return await i.json()}async checkHierarchicalQuotaLimits(e,n){let o=new URL(`/v1/hierarchical-quota/${e}/limits`,this.baseUrl).toString(),r=new Headers({"Content-Type":"application/json"});Ve(r,n.requestId);let i=await fetch(o,{method:"GET",headers:r});if(!i.ok)throw new Pe(`Failed to check quota limits: ${i.status} ${i.statusText}`);return await i.json()}async incrementMeters(e,n,o){let r=new URL(`/v1/hierarchical-quota/${e}`,this.baseUrl).toString(),i=new Headers({"Content-Type":"application/json"});Ve(i,o.requestId);let a=await fetch(r,{method:"POST",headers:i,body:JSON.stringify({increments:n})});if(!a.ok)throw new Pe(`Failed to increment meters: ${a.status} ${a.statusText}`)}async sendUsageEvent(e,n,o,r){let i=new URL(`/v3/metering/${e}/events`,this.baseUrl).toString(),a=new Headers({"Content-Type":"application/json"});Ve(a,o.requestId);let c;try{c=H.getLogger(o)}catch{}let u=await ct({retries:r?.retries??3,retryDelayMs:r?.retryDelayMs??500,logger:c,fetchFn:s((d,p)=>fetch(d,p),"fetchFn")},i,{method:"POST",headers:a,body:JSON.stringify(n)});if(!u.ok)throw new Pe(`Failed to send monetization v3 usage events: ${u.status} ${u.statusText}`)}},Mp=null,ti={get instance(){return Mp===null&&(Mp=new Lp),Mp}};var Cx=Pt.object({environmentVariable:Pt.string().min(1),model:Pt.string().min(1),provider:Pt.string().min(1)}),Tx=Pt.object({completions:Cx.optional(),embeddings:Cx.optional()});var Px=qe("zuplo:policies:AIGatewayMeteringInboundPolicy"),Ax=Symbol("ai-gateway-meter-increments"),kx=Symbol("ai-gateway-quota-fallback"),tt=class t extends ce{static{s(this,"AIGatewayMeteringInboundPolicy")}static policyType="ai-gateway-metering";static setIncrements(e,n){ne.set(e,Ax,n)}static getIncrements(e){return ne.get(e,Ax)??{}}static setQuotaFallback(e,n){ne.set(e,kx,n)}static getQuotaFallback(e){return ne.get(e,kx)}async handler(e,n){let o=Date.now(),r=H.getLogger(n),i=s((a,c)=>{if(this.options.throwOnFailure)throw new Pe(a,{cause:c});r.error(c,a)},"throwOrLog");try{let a=e.user,c=a?.configuration;if(!c)throw new I(`AIGatewayMeteringInboundPolicy '${this.policyName}' - No configuration found in request.user. Ensure ai-gateway-inbound policy runs first.`);let u=c;if(!u.id)throw new I(`AIGatewayMeteringInboundPolicy '${this.policyName}' - Configuration ID not found.`);let d=a?.sub??null,p=await this.fetchCurrentMeters(u.id,n,r),m=this.checkWarnings(u,p);for(let h of m)n.analyticsContext.addAnalyticsEvent(1,Q.AI_GATEWAY_WARNING_COUNT,{type:`quota-${h.type}-${h.period}`,configId:u.id,teamId:null,appId:null,consumerSub:d,environment:null,region:null,errorType:"quota_warning"});let g=await this.checkHierarchicalQuotaLimits(u.id,n,r);if(g.violation){let h=g.violation,f=this.requestCapability(e),v=this.resolveQuotaFallback(u,f,n,r);if(v){let b=f?u.models?.[f]?.[0]:void 0,w=f?v[f]:void 0,S=b?`${b.provider}/${b.model}`:"the primary model",x=w?`${w.provider}/${w.model}`:"the configured fallback model";t.setQuotaFallback(n,v),n.log.warn({configId:u.id,configLabel:h.configLabel,meter:h.meter,period:h.period,currentUsage:h.currentUsage,limit:h.limit,originalModel:b?.model,originalProvider:b?.provider,fallbackModel:w?.model,fallbackProvider:w?.provider},`AI Gateway quota exceeded; falling back from ${S} to ${x} instead of blocking`),n.analyticsContext.addAnalyticsEvent(1,Q.AI_GATEWAY_FALLBACK_COUNT,{type:`quota-${h.meter}-${h.period}`,configId:u.id,teamId:null,appId:null,consumerSub:d,environment:null,region:null,errorType:"quota_fallback"})}else return n.analyticsContext.addAnalyticsEvent(1,Q.AI_GATEWAY_BLOCKED_COUNT,{type:`quota-${h.meter}-${h.period}`,configId:u.id,teamId:null,appId:null,consumerSub:d,environment:null,region:null,errorType:"quota_exceeded"}),this.createHierarchicalQuotaExceededResponse(e,n,h)}return n.addResponseSendingFinalHook(async()=>{try{let h=t.getIncrements(n);Px(`AIGatewayMeteringInboundPolicy '${this.policyName}' - increments ${JSON.stringify(h)}`),Object.keys(h).length>0&&await t.incrementMetersInternal(u.id,h,n,r)}catch(h){i(`AIGatewayMeteringInboundPolicy '${this.policyName}' - Failed to increment meters`,h)}}),e}catch(a){if(a instanceof I)throw a;return i(`AIGatewayMeteringInboundPolicy '${this.policyName}' - Error`,a),e}finally{let a=Date.now()-o;Px(`AIGatewayMeteringInboundPolicy '${this.policyName}' - latency ${a}ms`)}}async fetchCurrentMeters(e,n,o){try{return await ti.instance.fetchCurrentMeters(e,n)}catch(r){throw o.error(r,`AIGatewayMeteringInboundPolicy '${this.policyName}' - Failed to fetch meters`),r}}requestCapability(e){let n;try{n=new URL(e.url).pathname}catch{return}let o=s(r=>n===r||n.endsWith(r),"matchesBase");if(o("/v1/chat/completions")||o("/v1/messages"))return"completions";if(o("/v1/embeddings"))return"embeddings"}resolveQuotaFallback(e,n,o,r){if(n?Cr(o)?.byCapability[n]?.quotaFallback:void 0)return{};let a=e.quotaFallback;if(!a)return;let c=Tx.safeParse(a);if(!c.success){r.error(c.error,`AIGatewayMeteringInboundPolicy '${this.policyName}' - Invalid quotaFallback configuration; blocking instead of falling back`);return}if(!(!n||!c.data[n]))return c.data}async checkHierarchicalQuotaLimits(e,n,o){try{return await ti.instance.checkHierarchicalQuotaLimits(e,n)}catch(r){throw o.error(r,`AIGatewayMeteringInboundPolicy '${this.policyName}' - Failed to check hierarchical quota limits`),r}}static async incrementMeters(e,n,o){let r=H.getLogger(o);return t.incrementMetersInternal(e,n,o,r)}static async incrementMetersInternal(e,n,o,r){try{await ti.instance.incrementMeters(e,n,o)}catch(i){throw r.error(i,"AIGatewayMeteringInboundPolicy - Failed to increment meters"),i}}checkWarnings(e,n){let o=[];for(let[r,i]of Object.entries(e.limits)){if(!i)continue;let a=n.meters[r];if(!a)continue;let c=this.checkQuotaWarning(i.daily,a.daily,r,"daily");c&&o.push(c);let u=this.checkQuotaWarning(i.monthly,a.monthly,r,"monthly");u&&o.push(u)}return o}checkQuotaWarning(e,n,o,r){if(!e?.warning?.enabled||!e?.warning?.threshold||!e?.limit)return null;let i=e.warning.threshold/100*e.limit;return n>=i?{type:o,period:r}:null}createHierarchicalQuotaExceededResponse(e,n,o){let r=`${o.period} ${o.meter} quota exceeded in configuration '${o.configLabel}'. Limit: ${o.limit}, Current: ${o.currentUsage}`;return $.tooManyRequests(e,n,{detail:r})}};var Lt=class extends Error{static{s(this,"UpstreamLlmError")}provider;status;constructor(e,n,o,r){super(`${e} API error (HTTP ${n}): ${o}`,r),this.name="UpstreamLlmError",this.provider=e,this.status=n}};function DN(t){return t>=500&&t<600?!0:t===408||t===425||t===429}s(DN,"isRetryableUpstreamStatus");function Ex(t){return t instanceof Lt?DN(t.status):t instanceof Error?t.name==="AbortError"||t.name==="TypeError":!1}s(Ex,"isRetryableError");async function en(t,e){let n;try{n=await t.text()}catch{return"Unknown error"}if(!n)return"Unknown error";if(e)try{let o=e(JSON.parse(n));if(typeof o=="string"&&o.length>0)return o}catch{}return n.length>500?`${n.slice(0,500)}\u2026`:n}s(en,"extractUpstreamErrorMessage");async function Zt(t,e,n){if(n==null||n<=0)return fetch(t,e);let o=new AbortController,r=setTimeout(()=>{o.abort()},n);try{return await fetch(t,{...e,signal:o.signal})}finally{clearTimeout(r)}}s(Zt,"fetchWithTimeout");async function tn(t,e){if(!T.instance.remoteLogURL){H.getLogger(t).debug("Remote log URL is not configured, skipping analytics");return}let n=ao(t);if(n?.servedFromCache){H.getLogger(t).debug("Response served from cache; cache policy emitted analytics, skipping");return}let o=e.consumerSub??null,r=n?.teamId??null,i=n?.appId??null,a=null,c=null,u=n?.cacheState??null,d=e.label??t.custom?.label??e.provider;t.analyticsContext.addAnalyticsEvent(parseFloat(e.cost.toFixed(10)),Q.AI_GATEWAY_COST_SUM,{model:e.model,provider:e.provider,label:d,configId:e.configId,teamId:r,appId:i,consumerSub:o,environment:a,region:c,cacheState:u}),t.analyticsContext.addAnalyticsEvent(1,Q.AI_GATEWAY_REQUEST_COUNT,{model:e.model,provider:e.provider,label:d,configId:e.configId,teamId:r,appId:i,consumerSub:o,environment:a,region:c,cacheState:u,routingTarget:null}),t.analyticsContext.addAnalyticsEvent(e.promptTokens,Q.AI_GATEWAY_TOKEN_SUM,{model:e.model,provider:e.provider,label:d,configId:e.configId,teamId:r,appId:i,consumerSub:o,environment:a,region:c,cacheState:u,tokenType:"prompt"}),t.analyticsContext.addAnalyticsEvent(e.completionTokens,Q.AI_GATEWAY_TOKEN_SUM,{model:e.model,provider:e.provider,label:d,configId:e.configId,teamId:r,appId:i,consumerSub:o,environment:a,region:c,cacheState:u,tokenType:"completion"});let p=t.analyticsContext.flushAnalyticsEvents();new kr(t,{endpoint:new URL("/v2/analytics",T.instance.remoteLogURL).toString()}).pushEvents(p)}s(tn,"sendStreamAnalytics");async function Or(t,e){let n=e.userContext?.configuration?.id;n&&await tt.incrementMeters(n,{requests:1,tokens:0,costs:0},t),await tn(t,{promptTokens:0,completionTokens:0,model:e.model,provider:e.provider,configId:n||"unknown",cost:0,consumerSub:e.userContext?.sub??null})}s(Or,"recordStreamUsageBaseline");function nn(t,e){let n={};for(let o in t){let r=t[o];Array.isArray(r)||(r=[r]);for(let i of r)if(i.param){if(o in e){let a=UN(o,e,i);a!==void 0&&_x(n,i.param,a)}else if(i?.required&&i.default!==void 0){let a=typeof i.default=="function"?i.default(e):i.default;_x(n,i.param,a)}}}return n}s(nn,"validateAndTransformRequest");function UN(t,e,n){let o=e[t];return n.transform&&(o=n.transform(e)),o===void 0&&n.default!==void 0&&(o=typeof n.default=="function"?n.default(e):n.default),typeof o=="number"&&(n.min!==void 0&&o<n.min&&(o=n.min),n.max!==void 0&&o>n.max&&(o=n.max)),o}s(UN,"getValue");function _x(t,e,n){if(n===void 0)return;let o=e.split("."),r=t;for(let i=0;i<o.length-1;i++){let a=o[i];r[a]||(r[a]={}),r=r[a]}r[o[o.length-1]]=n}s(_x,"setNestedProperty");var zN=["authorization","proxy-authorization","cookie","cookie2","set-cookie","x-api-key","content-type","content-length","content-encoding","accept-encoding","connection","transfer-encoding","host"];function Ox(t,e){let n=new Headers(t),o=n.get("anthropic-version");for(let r of zN)n.delete(r);return n.set("x-api-key",e),n.set("Content-Type","application/json"),n.set("anthropic-version",o??"2023-06-01"),n}s(Ox,"buildAnthropicPassthroughHeaders");var $x={model:{param:"model",required:!0,default:"claude-sonnet-4-6"},messages:[{param:"messages",required:!0,transform:s(t=>t.messages.filter(n=>n.role!=="system").map(n=>({role:n.role==="assistant"?"assistant":"user",content:n.content})),"transform")},{param:"system",required:!1,transform:s(t=>{let n=t.messages.filter(o=>o.role==="system");if(n.length!==0)return n.map(o=>o.content).join(`
|
|
243
243
|
`)},"transform")}],max_tokens:{param:"max_tokens",required:!0,default:1024},temperature:{param:"temperature",default:1,min:0,max:1},top_p:{param:"top_p",default:-1,min:-1,max:1},stop:{param:"stop_sequences",transform:s(t=>{let e=t.stop;if(Array.isArray(e))return e;if(typeof e=="string")return[e]},"transform")},n:{},stream:{param:"stream",default:!1}},Xc=class{static{s(this,"AnthropicProvider")}name="anthropic";async chatComplete(e,n,o){if(e.n&&e.n>1)throw new Error("Multiple completions (n > 1) are not supported by Anthropic provider");let r=nn($x,e),i=await Zt("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":n,"Content-Type":"application/json","anthropic-version":"2023-06-01"},body:JSON.stringify(r)},o);if(!i.ok){let c=await en(i,u=>u.error?.message);throw new Lt("anthropic",i.status,c)}let a=await i.json();return{id:a.id,object:"chat.completion",created:Date.now(),model:e.model,choices:[{index:0,message:{role:"assistant",content:a.content[0]?.text||""},finish_reason:a.stop_reason==="end_turn"?"stop":"length"}],usage:{prompt_tokens:a.usage?.input_tokens||0,completion_tokens:a.usage?.output_tokens||0,total_tokens:(a.usage?.input_tokens||0)+(a.usage?.output_tokens||0)},provider:"anthropic"}}async chatCompleteStream(e,n,o,r){if(e.n&&e.n>1)throw new Error("Multiple completions (n > 1) are not supported by Anthropic provider");let i=nn($x,{...e,stream:!0}),a=await Zt("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":n,"Content-Type":"application/json","anthropic-version":"2023-06-01"},body:JSON.stringify(i)},r);if(!a.ok){let w=await en(a,S=>S.error?.message);throw new Lt("anthropic",a.status,w)}if(!a.body)throw new Error("No response body received from Anthropic API");let c=o.custom.userContext,u=new TextEncoder,d=Math.floor(Date.now()/1e3),p=!1,m=s((w,S)=>{let x=`data: ${JSON.stringify(w)}
|
|
244
244
|
|
|
245
245
|
`;S.enqueue(u.encode(x))},"enqueueChunk"),g=s((w=!1)=>{let S=new TextDecoder,x="",C=0,A=0,L="",q=s((re,V=null,ie)=>({id:L,object:"chat.completion.chunk",created:d,model:e.model,choices:[{index:0,delta:re,finish_reason:V}],...ie&&{usage:ie}}),"createOpenAIChunk");return new TransformStream({transform(re,V){x+=S.decode(re,{stream:!0});let ie;for(;(ie=x.indexOf(`
|
|
@@ -381,5 +381,5 @@ Signature verification is impossible without access to the original signed mater
|
|
|
381
381
|
`);let R=new f("!xml"),P=R,E="",O="";this.entityExpansionCount=0,this.currentExpandedLength=0;let _=new v(this.options.processEntities);for(let F=0;F<y.length;F++)if(y[F]==="<")if(y[F+1]==="/"){let J=gn(y,">",F,"Closing Tag is not closed."),G=y.substring(F+2,J).trim();if(this.options.removeNSPrefix){let zt=G.indexOf(":");zt!==-1&&(G=G.substr(zt+1))}this.options.transformTagName&&(G=this.options.transformTagName(G)),P&&(E=this.saveTextToParentTag(E,P,O));let Ne=O.substring(O.lastIndexOf(".")+1);if(G&&this.options.unpairedTags.indexOf(G)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${G}>`);let ye=0;Ne&&this.options.unpairedTags.indexOf(Ne)!==-1?(ye=O.lastIndexOf(".",O.lastIndexOf(".")-1),this.tagsNodeStack.pop()):ye=O.lastIndexOf("."),O=O.substring(0,ye),P=this.tagsNodeStack.pop(),E="",F=J}else if(y[F+1]==="?"){let J=xr(y,F,!1,"?>");if(!J)throw new Error("Pi Tag is not closed.");if(E=this.saveTextToParentTag(E,P,O),!(this.options.ignoreDeclaration&&J.tagName==="?xml"||this.options.ignorePiTags)){let G=new f(J.tagName);G.add(this.options.textNodeName,""),J.tagName!==J.tagExp&&J.attrExpPresent&&(G[":@"]=this.buildAttributesMap(J.tagExp,O,J.tagName)),this.addChild(P,G,O,F)}F=J.closeIndex+1}else if(y.substr(F+1,3)==="!--"){let J=gn(y,"-->",F+4,"Comment is not closed.");if(this.options.commentPropName){let G=y.substring(F+4,J-2);E=this.saveTextToParentTag(E,P,O),P.add(this.options.commentPropName,[{[this.options.textNodeName]:G}])}F=J}else if(y.substr(F+1,2)==="!D"){let J=_.readDocType(y,F);this.docTypeEntities=J.entities,F=J.i}else if(y.substr(F+1,2)==="!["){let J=gn(y,"]]>",F,"CDATA is not closed.")-2,G=y.substring(F+9,J);E=this.saveTextToParentTag(E,P,O);let Ne=this.parseTextData(G,P.tagname,O,!0,!1,!0,!0);Ne==null&&(Ne=""),this.options.cdataPropName?P.add(this.options.cdataPropName,[{[this.options.textNodeName]:G}]):P.add(this.options.textNodeName,Ne),F=J+2}else{let J=xr(y,F,this.options.removeNSPrefix),G=J.tagName,Ne=J.rawTagName,ye=J.tagExp,zt=J.attrExpPresent,eS=J.closeIndex;if(this.options.transformTagName){let jt=this.options.transformTagName(G);ye===G&&(ye=jt),G=jt}P&&E&&P.tagname!=="!xml"&&(E=this.saveTextToParentTag(E,P,O,!1));let tS=P;tS&&this.options.unpairedTags.indexOf(tS.tagname)!==-1&&(P=this.tagsNodeStack.pop(),O=O.substring(0,O.lastIndexOf("."))),G!==R.tagname&&(O+=O?"."+G:G);let Ed=F;if(this.isItStopNode(this.stopNodesExact,this.stopNodesWildcard,O,G)){let jt="";if(ye.length>0&&ye.lastIndexOf("/")===ye.length-1)G[G.length-1]==="/"?(G=G.substr(0,G.length-1),O=O.substr(0,O.length-1),ye=G):ye=ye.substr(0,ye.length-1),F=J.closeIndex;else if(this.options.unpairedTags.indexOf(G)!==-1)F=J.closeIndex;else{let _d=this.readStopNodeData(y,Ne,eS+1);if(!_d)throw new Error(`Unexpected end of ${Ne}`);F=_d.i,jt=_d.tagContent}let Oo=new f(G);G!==ye&&zt&&(Oo[":@"]=this.buildAttributesMap(ye,O,G)),jt&&(jt=this.parseTextData(jt,G,O,!0,zt,!0,!0)),O=O.substr(0,O.lastIndexOf(".")),Oo.add(this.options.textNodeName,jt),this.addChild(P,Oo,O,Ed)}else{if(ye.length>0&&ye.lastIndexOf("/")===ye.length-1){if(G[G.length-1]==="/"?(G=G.substr(0,G.length-1),O=O.substr(0,O.length-1),ye=G):ye=ye.substr(0,ye.length-1),this.options.transformTagName){let Oo=this.options.transformTagName(G);ye===G&&(ye=Oo),G=Oo}let jt=new f(G);G!==ye&&zt&&(jt[":@"]=this.buildAttributesMap(ye,O,G)),this.addChild(P,jt,O,Ed),O=O.substr(0,O.lastIndexOf("."))}else{let jt=new f(G);this.tagsNodeStack.push(P),G!==ye&&zt&&(jt[":@"]=this.buildAttributesMap(ye,O,G)),this.addChild(P,jt,O,Ed),P=jt}E="",F=eS}}else E+=y[F];return R.child},"parseXml");function Te(y,R,P,E){this.options.captureMetaData||(E=void 0);let O=this.options.updateTag(R.tagname,P,R[":@"]);O===!1||(typeof O=="string"&&(R.tagname=O),y.addChild(R,E))}s(Te,"addChild"),n(Te,"addChild");var Ue=n(function(y,R,P){if(y.indexOf("&")===-1)return y;let E=this.options.processEntities;if(!E.enabled||E.allowedTags&&!E.allowedTags.includes(R)||E.tagFilter&&!E.tagFilter(R,P))return y;for(let O in this.docTypeEntities){let _=this.docTypeEntities[O],F=y.match(_.regx);if(F){if(this.entityExpansionCount+=F.length,E.maxTotalExpansions&&this.entityExpansionCount>E.maxTotalExpansions)throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${E.maxTotalExpansions}`);let pe=y.length;if(y=y.replace(_.regx,_.val),E.maxExpandedLength&&(this.currentExpandedLength+=y.length-pe,this.currentExpandedLength>E.maxExpandedLength))throw new Error(`Total expanded content size exceeded: ${this.currentExpandedLength} > ${E.maxExpandedLength}`)}}if(y.indexOf("&")===-1)return y;for(let O in this.lastEntities){let _=this.lastEntities[O];y=y.replace(_.regex,_.val)}if(y.indexOf("&")===-1)return y;if(this.options.htmlEntities)for(let O in this.htmlEntities){let _=this.htmlEntities[O];y=y.replace(_.regex,_.val)}return y=y.replace(this.ampEntity.regex,this.ampEntity.val),y},"replaceEntitiesValue");function Ee(y,R,P,E){return y&&(E===void 0&&(E=R.child.length===0),y=this.parseTextData(y,R.tagname,P,!1,R[":@"]?Object.keys(R[":@"]).length!==0:!1,E),y!==void 0&&y!==""&&R.add(this.options.textNodeName,y),y=""),y}s(Ee,"saveTextToParentTag"),n(Ee,"saveTextToParentTag");function Tt(y,R,P,E){return!!(R&&R.has(E)||y&&y.has(P))}s(Tt,"isItStopNode"),n(Tt,"isItStopNode");function Un(y,R,P=">"){let E,O="";for(let _=R;_<y.length;_++){let F=y[_];if(E)F===E&&(E="");else if(F==='"'||F==="'")E=F;else if(F===P[0])if(P[1]){if(y[_+1]===P[1])return{data:O,index:_}}else return{data:O,index:_};else F===" "&&(F=" ");O+=F}}s(Un,"tagExpWithClosingIndex"),n(Un,"tagExpWithClosingIndex");function gn(y,R,P,E){let O=y.indexOf(R,P);if(O===-1)throw new Error(E);return O+R.length-1}s(gn,"findClosingIndex"),n(gn,"findClosingIndex");function xr(y,R,P,E=">"){let O=Un(y,R+1,E);if(!O)return;let _=O.data,F=O.index,pe=_.search(/\s/),J=_,G=!0;pe!==-1&&(J=_.substring(0,pe),_=_.substring(pe+1).trimStart());let Ne=J;if(P){let ye=J.indexOf(":");ye!==-1&&(J=J.substr(ye+1),G=J!==O.data.substr(ye+1))}return{tagName:J,tagExp:_,closeIndex:F,attrExpPresent:G,rawTagName:Ne}}s(xr,"readTagExp"),n(xr,"readTagExp");function Eo(y,R,P){let E=P,O=1;for(;P<y.length;P++)if(y[P]==="<")if(y[P+1]==="/"){let _=gn(y,">",P,`${R} is not closed`);if(y.substring(P+2,_).trim()===R&&(O--,O===0))return{tagContent:y.substring(E,P),i:_};P=_}else if(y[P+1]==="?")P=gn(y,"?>",P+1,"StopNode is not closed.");else if(y.substr(P+1,3)==="!--")P=gn(y,"-->",P+3,"StopNode is not closed.");else if(y.substr(P+1,2)==="![")P=gn(y,"]]>",P,"StopNode is not closed.")-2;else{let _=xr(y,P,">");_&&((_&&_.tagName)===R&&_.tagExp[_.tagExp.length-1]!=="/"&&O++,P=_.closeIndex)}}s(Eo,"readStopNodeData"),n(Eo,"readStopNodeData");function Ka(y,R,P){if(R&&typeof y=="string"){let E=y.trim();return E==="true"?!0:E==="false"?!1:L(y,P)}else return g(y)?y:""}s(Ka,"parseValue"),n(Ka,"parseValue");function Id(y,R,P){let E=Number.parseInt(y,R);return E>=0&&E<=1114111?String.fromCodePoint(E):P+y+";"}s(Id,"fromCodePoint"),n(Id,"fromCodePoint");var xd=f.getMetaDataSymbol();function GR(y,R){return Cd(y,R)}s(GR,"prettify"),n(GR,"prettify");function Cd(y,R,P){let E,O={};for(let _=0;_<y.length;_++){let F=y[_],pe=BR(F),J="";if(P===void 0?J=pe:J=P+"."+pe,pe===R.textNodeName)E===void 0?E=F[pe]:E+=""+F[pe];else{if(pe===void 0)continue;if(F[pe]){let G=Cd(F[pe],R,J),Ne=JR(G,R);F[xd]!==void 0&&(G[xd]=F[xd]),F[":@"]?VR(G,F[":@"],J,R):Object.keys(G).length===1&&G[R.textNodeName]!==void 0&&!R.alwaysCreateTextNode?G=G[R.textNodeName]:Object.keys(G).length===0&&(R.alwaysCreateTextNode?G[R.textNodeName]="":G=""),O[pe]!==void 0&&O.hasOwnProperty(pe)?(Array.isArray(O[pe])||(O[pe]=[O[pe]]),O[pe].push(G)):R.isArray(pe,J,Ne)?O[pe]=[G]:O[pe]=G}}}return typeof E=="string"?E.length>0&&(O[R.textNodeName]=E):E!==void 0&&(O[R.textNodeName]=E),O}s(Cd,"compress"),n(Cd,"compress");function BR(y){let R=Object.keys(y);for(let P=0;P<R.length;P++){let E=R[P];if(E!==":@")return E}}s(BR,"propName"),n(BR,"propName");function VR(y,R,P,E){if(R){let O=Object.keys(R),_=O.length;for(let F=0;F<_;F++){let pe=O[F];E.isArray(pe,P+"."+pe,!0,!0)?y[pe]=[R[pe]]:y[pe]=R[pe]}}}s(VR,"assignAttributes"),n(VR,"assignAttributes");function JR(y,R){let{textNodeName:P}=R,E=Object.keys(y).length;return!!(E===0||E===1&&(y[P]||typeof y[P]=="boolean"||y[P]===0))}s(JR,"isLeafTag"),n(JR,"isLeafTag");var rM={allowBooleanAttributes:!1,unpairedTags:[]};function KR(y,R){R=Object.assign({},rM,R);let P=[],E=!1,O=!1;y[0]==="\uFEFF"&&(y=y.substr(1));for(let _=0;_<y.length;_++)if(y[_]==="<"&&y[_+1]==="?"){if(_+=2,_=Pd(y,_),_.err)return _}else if(y[_]==="<"){let F=_;if(_++,y[_]==="!"){_=Ad(y,_);continue}else{let pe=!1;y[_]==="/"&&(pe=!0,_++);let J="";for(;_<y.length&&y[_]!==">"&&y[_]!==" "&&y[_]!==" "&&y[_]!==`
|
|
382
382
|
`&&y[_]!=="\r";_++)J+=y[_];if(J=J.trim(),J[J.length-1]==="/"&&(J=J.substring(0,J.length-1),_--),!N(J)){let ye;return J.trim().length===0?ye="Invalid space after '<'.":ye="Tag '"+J+"' is an invalid name.",pt("InvalidTag",ye,Mt(y,_))}let G=WR(y,_);if(G===!1)return pt("InvalidAttr","Attributes for '"+J+"' have open quote.",Mt(y,_));let Ne=G.value;if(_=G.index,Ne[Ne.length-1]==="/"){let ye=_-Ne.length;Ne=Ne.substring(0,Ne.length-1);let zt=kd(Ne,R);if(zt===!0)E=!0;else return pt(zt.err.code,zt.err.msg,Mt(y,ye+zt.err.line))}else if(pe)if(G.tagClosed){if(Ne.trim().length>0)return pt("InvalidTag","Closing tag '"+J+"' can't have attributes or invalid starting.",Mt(y,F));if(P.length===0)return pt("InvalidTag","Closing tag '"+J+"' has not been opened.",Mt(y,F));{let ye=P.pop();if(J!==ye.tagName){let zt=Mt(y,ye.tagStartPos);return pt("InvalidTag","Expected closing tag '"+ye.tagName+"' (opened in line "+zt.line+", col "+zt.col+") instead of closing tag '"+J+"'.",Mt(y,F))}P.length==0&&(O=!0)}}else return pt("InvalidTag","Closing tag '"+J+"' doesn't have proper closing.",Mt(y,_));else{let ye=kd(Ne,R);if(ye!==!0)return pt(ye.err.code,ye.err.msg,Mt(y,_-Ne.length+ye.err.line));if(O===!0)return pt("InvalidXml","Multiple possible root nodes found.",Mt(y,_));R.unpairedTags.indexOf(J)!==-1||P.push({tagName:J,tagStartPos:F}),E=!0}for(_++;_<y.length;_++)if(y[_]==="<")if(y[_+1]==="!"){_++,_=Ad(y,_);continue}else if(y[_+1]==="?"){if(_=Pd(y,++_),_.err)return _}else break;else if(y[_]==="&"){let ye=QR(y,_);if(ye==-1)return pt("InvalidChar","char '&' is not expected.",Mt(y,_));_=ye}else if(O===!0&&!Td(y[_]))return pt("InvalidXml","Extra text at the end",Mt(y,_));y[_]==="<"&&_--}}else{if(Td(y[_]))continue;return pt("InvalidChar","char '"+y[_]+"' is not expected.",Mt(y,_))}if(E){if(P.length==1)return pt("InvalidTag","Unclosed tag '"+P[0].tagName+"'.",Mt(y,P[0].tagStartPos));if(P.length>0)return pt("InvalidXml","Invalid '"+JSON.stringify(P.map(_=>_.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return pt("InvalidXml","Start tag expected.",1);return!0}s(KR,"validate"),n(KR,"validate");function Td(y){return y===" "||y===" "||y===`
|
|
383
383
|
`||y==="\r"}s(Td,"isWhiteSpace"),n(Td,"isWhiteSpace");function Pd(y,R){let P=R;for(;R<y.length;R++)if(y[R]=="?"||y[R]==" "){let E=y.substr(P,R-P);if(R>5&&E==="xml")return pt("InvalidXml","XML declaration allowed only at the start of the document.",Mt(y,R));if(y[R]=="?"&&y[R+1]==">"){R++;break}else continue}return R}s(Pd,"readPI"),n(Pd,"readPI");function Ad(y,R){if(y.length>R+5&&y[R+1]==="-"&&y[R+2]==="-"){for(R+=3;R<y.length;R++)if(y[R]==="-"&&y[R+1]==="-"&&y[R+2]===">"){R+=2;break}}else if(y.length>R+8&&y[R+1]==="D"&&y[R+2]==="O"&&y[R+3]==="C"&&y[R+4]==="T"&&y[R+5]==="Y"&&y[R+6]==="P"&&y[R+7]==="E"){let P=1;for(R+=8;R<y.length;R++)if(y[R]==="<")P++;else if(y[R]===">"&&(P--,P===0))break}else if(y.length>R+9&&y[R+1]==="["&&y[R+2]==="C"&&y[R+3]==="D"&&y[R+4]==="A"&&y[R+5]==="T"&&y[R+6]==="A"&&y[R+7]==="["){for(R+=8;R<y.length;R++)if(y[R]==="]"&&y[R+1]==="]"&&y[R+2]===">"){R+=2;break}}return R}s(Ad,"readCommentAndCDATA"),n(Ad,"readCommentAndCDATA");var oM='"',iM="'";function WR(y,R){let P="",E="",O=!1;for(;R<y.length;R++){if(y[R]===oM||y[R]===iM)E===""?E=y[R]:E!==y[R]||(E="");else if(y[R]===">"&&E===""){O=!0;break}P+=y[R]}return E!==""?!1:{value:P,index:R,tagClosed:O}}s(WR,"readAttributeStr"),n(WR,"readAttributeStr");var sM=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function kd(y,R){let P=p(y,sM),E={};for(let O=0;O<P.length;O++){if(P[O][1].length===0)return pt("InvalidAttr","Attribute '"+P[O][2]+"' has no space in starting.",_o(P[O]));if(P[O][3]!==void 0&&P[O][4]===void 0)return pt("InvalidAttr","Attribute '"+P[O][2]+"' is without value.",_o(P[O]));if(P[O][3]===void 0&&!R.allowBooleanAttributes)return pt("InvalidAttr","boolean attribute '"+P[O][2]+"' is not allowed.",_o(P[O]));let _=P[O][2];if(!XR(_))return pt("InvalidAttr","Attribute '"+_+"' is an invalid name.",_o(P[O]));if(!E.hasOwnProperty(_))E[_]=1;else return pt("InvalidAttr","Attribute '"+_+"' is repeated.",_o(P[O]))}return!0}s(kd,"validateAttributeString"),n(kd,"validateAttributeString");function YR(y,R){let P=/\d/;for(y[R]==="x"&&(R++,P=/[\da-fA-F]/);R<y.length;R++){if(y[R]===";")return R;if(!y[R].match(P))break}return-1}s(YR,"validateNumberAmpersand"),n(YR,"validateNumberAmpersand");function QR(y,R){if(R++,y[R]===";")return-1;if(y[R]==="#")return R++,YR(y,R);let P=0;for(;R<y.length;R++,P++)if(!(y[R].match(/\w/)&&P<20)){if(y[R]===";")break;return-1}return R}s(QR,"validateAmpersand"),n(QR,"validateAmpersand");function pt(y,R,P){return{err:{code:y,msg:R,line:P.line||P,col:P.col}}}s(pt,"getErrorObject"),n(pt,"getErrorObject");function XR(y){return m(y)}s(XR,"validateAttrName"),n(XR,"validateAttrName");function N(y){return m(y)}s(N,"validateTagName"),n(N,"validateTagName");function Mt(y,R){let P=y.substring(0,R).split(/\r?\n/);return{line:P.length,col:P[P.length-1].length+1}}s(Mt,"getLineNumberForPosition"),n(Mt,"getLineNumberForPosition");function _o(y){return y.startIndex+y[1].length}s(_o,"getPositionFromMatch"),n(_o,"getPositionFromMatch");var aM=class{static{s(this,"XMLParser")}static{n(this,"XMLParser")}constructor(y){this.externalEntities={},this.options=i(y)}parse(y,R){if(typeof y!="string"&&y.toString)y=y.toString();else if(typeof y!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(R){R===!0&&(R={});let O=KR(y,R);if(O!==!0)throw Error(`${O.err.msg}:${O.err.line}:${O.err.col}`)}let P=new Oe(this.options);P.addExternalEntities(this.externalEntities);let E=P.parseXml(y);return this.options.preserveOrder||E===void 0?E:GR(E,this.options)}addEntity(y,R){if(R.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(y.indexOf("&")!==-1||y.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(R==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[y]=R}static getMetaDataSymbol(){return f.getMetaDataSymbol()}};return new aM(t)},"getXmlParser");var ZR=class extends rr{static{s(this,"XmlToJsonOutboundPolicy")}static policyType="xml-to-json";parser;parseOnStatusCodes;constructor(e,n){super(e,n),Se(this.options,this.policyName).optional("removeNSPrefix","boolean").optional("ignoreProcessingInstructions","boolean").optional("ignoreDeclarations","boolean").optional("ignoreAttributes","boolean").optional("stopNodes","array").optional("attributeNamePrefix","string").optional("textNodeName","string").optional("trimValues","boolean"),this.parseOnStatusCodes=e.parseOnStatusCodes?qn(e.parseOnStatusCodes):void 0,this.parser=K0({removeNSPrefix:e?.removeNSPrefix??!0,ignorePiTags:e?.ignoreProcessingInstructions??!0,ignoreDeclaration:e?.ignoreDeclarations??!0,ignoreAttributes:e?.ignoreAttributes??!0,stopNodes:e?.stopNodes??[],attributeNamePrefix:e?.attributeNamePrefix??"@_",textNodeName:e?.textNodeName??"#text",trimValues:e?.trimValues??!0})}async handler(e,n,o){if(this.parseOnStatusCodes&&!this.parseOnStatusCodes.includes(e.status))return e;let r;try{let c=await e.text();r=this.parser.parse(c)}catch(c){let u=`XmlToJsonOutboundPolicy - Error parsing XML contents in policy '${this.policyName}'.`;throw o.log.error(u,c),new Z(u)}let i=new Headers(e.headers);return i.set("content-type","application/json"),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:i})}};var HR=class{static{s(this,"ServiceProviderImpl")}services=new Map;addService(e,n){if(this.services.get(e))throw new Pe(`A service with the name ${e} already exists -- you cannot have duplicate services`);this.services.set(e,n)}getService(e){return this.services.get(e)}};var FR=class{static{s(this,"ApiKeyConsumerClient")}bucketId;cacheDurationSeconds;cacheNamePromise;constructor(e){this.bucketId=e?.bucketId,this.cacheDurationSeconds=e?.cacheDurationSeconds??60}getCacheName(e){return this.cacheNamePromise||(this.cacheNamePromise=Me("zuplo-get-consumer",{bucketId:e})),this.cacheNamePromise}async get(e){B("utility.get-consumer");let n=io(),o=this.bucketId??ze.ZUPLO_SERVICE_BUCKET_ID;if(!o)throw new I("ApiKeyConsumerClient - no bucketId provided and no default bucket is configured for this environment. Pass `bucketId` explicitly (find it in the Zuplo portal under Settings > API Key Buckets).");if(!o.startsWith("bckt_"))throw new I(`ApiKeyConsumerClient - bucketId "${o}" is not a valid bucket id. Bucket ids start with "bckt_" (e.g. "bckt_2HaK3odRyJle6NJSu8mzNKBC30BYxllxL"); a bucket name (e.g. "zprj-...-working-copy") is not accepted here. Find the bucket id in the Zuplo portal under Settings > API Key Buckets.`);if(!e||e.trim()==="")throw new I("ApiKeyConsumerClient.get - consumerId is required and cannot be empty");let r=await this.getCacheName(o),i=new De(r,n);if(this.cacheDurationSeconds>0){let d=await i.get(e);if(d)return d}let a=`/v2/key-auth/${encodeURIComponent(o)}/consumers/${encodeURIComponent(e)}`,c=await Ud(a),u={id:c.id,name:c.name,createdOn:c.createdOn,updatedOn:c.updatedOn};return c.description!==void 0&&(u.description=c.description),c.metadata!==void 0&&(u.metadata=c.metadata),this.cacheDurationSeconds>0&&i.put(e,u,this.cacheDurationSeconds),u}};var W0=10,Y0=3e4,va=class{static{s(this,"BackgroundLoader")}#e=new Map;#t;#r;#n;#o;#i={};constructor(e,n){if(typeof n=="number"){let o=n;this.#r=o*1e3,this.#o=Y0,this.#n=W0}else{let o=n;this.#r=o.ttlSeconds*1e3,this.#o=o.loaderTimeoutSeconds?o.loaderTimeoutSeconds*1e3:Y0,this.#n=W0}this.#t=e}#s(e){return e.expiry<=new Date}#a(e){let n=this.#i[e];return!(n===void 0||n===0)}#u(e){let n=this.#e.get(e);if(n&&!this.#s(n))return n.data}async get(e){let n=this.#u(e);if(n)return this.#l(e),n;if(this.#a(e))try{await c6(()=>this.#u(e)!==void 0||!this.#a(e),this.#o+this.#n+1,this.#n);let o=this.#u(e);if(o)return o}catch{}return this.#c(e)}#l(e){if(!this.#a(e)){let n=this.#c(e);_r().waitUntil(n)}}async#c(e){try{this.#i[e]===void 0&&(this.#i[e]=0),this.#i[e]++;let n=await Promise.race([this.#t(e),scheduler.wait(this.#o)]);if(n===void 0)throw new I(`BackgroundLoader: Loader timed out after ${this.#o} ms.`);return this.#e.set(e,{data:n,expiry:new Date(Date.now()+this.#r)}),n}finally{this.#i[e]--}}};async function c6(t,e,n){let o=Date.now();for(;!t();){let r=Date.now()-o;if(r>e)throw new I(`BackgroundLoader: Timeout waiting for an on-going loader after ${r} ms.`);await scheduler.wait(n)}}s(c6,"waitUntilTrue");import{SpanStatusCode as Q0,trace as X0}from"@opentelemetry/api";var eM=s(async(t,e,n)=>{let o=je.instance.routeData.policies,r=Bo([t],o);if(r.length===0)throw new Z(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);let i=r[0];return await X0.getTracer("pipeline").startActiveSpan(`policy:${i.policyName}`,async u=>{try{Go(u,i);let d=await i.handler(e,n);if(d instanceof Request||d instanceof we||d instanceof Response)return d instanceof Response||d instanceof we?d:new we(d);{let p=new I(`Invalid state - invalid handler on policy '${i.policyName}' invoked via 'invokeInboundPolicy' on route '${n.route.path}'. The result of an inbound policy must be a Response or Request.`);throw u.setStatus({code:Q0.ERROR}),u.recordException(p),p}}finally{u.end()}})},"invokeInboundPolicy"),tM=s(async(t,e,n,o)=>{let r=je.instance.routeData.policies,i=us([t],r);if(i.length===0)throw new Z(`Invalid 'invokeOutboundPolicy call' - no policy '${t}' found.`);let a=i[0];return await X0.getTracer("pipeline").startActiveSpan(`policy:${a.policyName}`,async d=>{try{Go(d,a);let p=await a.handler(e,n,o);if(p instanceof Response)return p;{let m=new I(`Invalid state - invalid handler on policy '${a.policyName}' invoked via 'invokeOutboundPolicy' on route '${o.route.path}. The result of an outbound policy must be a Response.`);throw d.setStatus({code:Q0.ERROR}),d.recordException(m),m}}finally{d.end()}})},"invokeOutboundPolicy");function u6(t){let e={};if(!t)return e;try{let n=t.split(","),o={};return n.forEach(r=>{let[i,a]=r.split("=");i&&a&&(o[i.trim()]=a.trim())}),o.asnum&&(e[nc]=o.asnum),o.zip&&(e[rc]=o.zip.split("+")[0]),o.dma&&(e[oc]=o.dma),o.region_code&&(e[ic]=o.region_code),o.timezone&&(e[sc]=o.timezone),o.city&&(e[Ya]=o.city),o.continent&&(e[Qa]=o.continent),o.country_code&&(e[Xa]=o.country_code),o.long&&(e[ec]=o.long),o.lat&&(e[tc]=o.lat),e}catch{return{}}}s(u6,"parseEdgeScapeHeader");function nM(t,e){let n=u6(e);for(let[o,r]of Object.entries(n))t.has(o)||t.set(o,r)}s(nM,"setZpHeadersFromAkamaiEdgeScapeHeader");var Wc=class{static{s(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e;let n=e.get(ES);if(n){let o=new Headers(e);nM(o,n),this.#e=o}}get asn(){try{let e=this.#e.get(nc);if(typeof e=="string")return parseInt(e,10)}catch{}}get asOrganization(){return this.#e.get(CS)??void 0}get city(){return this.#e.get(aS)??this.#e.get(Ya)??void 0}get continent(){return this.#e.get(cS)??this.#e.get(Qa)??void 0}get country(){return this.#e.get(uS)??this.#e.get(Xa)??void 0}get latitude(){return this.#e.get(dS)??this.#e.get(tc)??void 0}get longitude(){return this.#e.get(lS)??this.#e.get(ec)??void 0}get colo(){return this.#e.get(TS)??void 0}get postalCode(){return this.#e.get(gS)??this.#e.get(rc)??void 0}get metroCode(){return this.#e.get(fS)??this.#e.get(oc)??void 0}get region(){return this.#e.get(pS)??this.#e.get(PS)??void 0}get regionCode(){return this.#e.get(mS)??this.#e.get(ic)??void 0}get timezone(){return this.#e.get(hS)??this.#e.get(sc)??void 0}get httpProtocol(){return this.#e.get(AS)??void 0}get clientCert(){return this.#e.get(yS)??void 0}get clientMtlsVerificationStatus(){return this.#e.get(bS)??void 0}get clientMtlsVerificationReason(){return this.#e.get(wS)??void 0}get clientCertFingerprintSha256(){return this.#e.get(vS)??void 0}get clientCertNotBefore(){return this.#e.get(RS)??void 0}get clientCertNotAfter(){return this.#e.get(SS)??void 0}get clientCertIssuerDn(){return this.#e.get(IS)??void 0}get clientCertSubjectDn(){return this.#e.get(xS)??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,httpProtocol:this.httpProtocol,clientCert:this.clientCert,clientMtlsVerificationStatus:this.clientMtlsVerificationStatus,clientMtlsVerificationReason:this.clientMtlsVerificationReason,clientCertFingerprintSha256:this.clientCertFingerprintSha256,clientCertNotBefore:this.clientCertNotBefore,clientCertNotAfter:this.clientCertNotAfter,clientCertIssuerDn:this.clientCertIssuerDn,clientCertSubjectDn:this.clientCertSubjectDn}}};function Zr(t){return{contextId:t.contextId,incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom,parentContext:t.parentContext,analyticsContext:t.analyticsContext}}s(Zr,"createRewriteContext");var ss=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(e,n){super("responseSending"),this.request=e,this.mutableResponse=n}request;mutableResponse},as=class extends Event{static{s(this,"ResponseSentEvent")}constructor(e,n){super("responseSent"),this.request=e,this.response=n}request;response},it=class t{static{s(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(e,n){if(!t.#e.has(e)){let o=new t(n);return t.#e.set(e,o),o}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${e.requestId}'`)}static getContextExtensions(e){let n=t.#e.get(e);if(!n)throw new Z(`Invalid state, could not get ZuploContext extensions for context with requestId '${e.requestId}'`);return n}latestRequest;auditLogEventId="";#t;#r;#n;constructor(e){this.latestRequest=e,this.#t=[],this.#r=[],this.#n=[]}addResponseSendingHook(e){this.#r.push(e)}addResponseSendingFinalHook(e){this.#t.push(e)}addHandlerResponseHook(e){this.#n.push(e)}onResponseSendingFinal=s(async(e,n,o)=>{for(let r of this.#t)await r(e,n,o)},"onResponseSendingFinal");onResponseSending=s(async(e,n,o)=>{let r=e,i=T.instance.build.COMPATIBILITY_FLAGS.chainResponseSendingHooks;for(let a of this.#r)r=await a(i?r:e,n,o);return r},"onResponseSending");onHandlerResponse=s(async(e,n,o)=>{for(let r of this.#n)await r(e,n,o)},"onHandlerResponse")},Yc=class extends EventTarget{static{s(this,"SystemZuploContext")}constructor({logger:e,route:n,requestId:o,event:r,custom:i,incomingRequestProperties:a,parentContext:c}){super(),this.log=Object.freeze(e),this.route=n,this.requestId=o,this.custom=i,this.incomingRequestProperties=a,this.parentContext=c,this.#e=r,this.invokeInboundPolicy=(u,d)=>eM(u,d,this),this.contextId=crypto.randomUUID(),this.invokeOutboundPolicy=(u,d,p)=>tM(u,d,p,this),this.invokeRoute=async(u,d)=>{let p=u;typeof u=="string"&&u.startsWith("/")&&(p=new URL(u,"http://localhost"));let m=new we(p,d);return je.instance.handleRequest(m,this,{parentContext:this})},this.waitUntil=u=>{this.#e.waitUntil(u)},this.addResponseSendingHook=u=>{it.getContextExtensions(this).addResponseSendingHook(u)},this.addResponseSendingFinalHook=u=>{it.getContextExtensions(this).addResponseSendingFinalHook(u)},this.analyticsContext=new LS(o),Object.freeze(this)}#e;contextId;requestId;log;route;custom;incomingRequestProperties;parentContext;analyticsContext;invokeInboundPolicy;invokeOutboundPolicy;invokeRoute;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(e,n,o){B("context.addEventListener");let r=s(i=>{try{typeof n=="function"?n(i):n.handleEvent(i)}catch(a){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),a}},"wrapped");super.addEventListener(e,r,o)}removeEventListener(e,n,o){B("context.removeEventListener"),super.removeEventListener(e,n,o)}};export{dc as a,No as b,ht as c,wM as d,vM as e,Dd as f,ut as g,Kr as h,RM as i,Wr as j,B as k,Ud as l,jd as m,Qt as n,Tr as o,es as p,Yr as q,$ as r,mt as s,Qr as t,Zd as u,Hd as v,be as w,Gt as x,ce as y,rr as z,Wd as A,tp as B,BM as C,jo as D,ss as E,as as F,Op as G,tt as H,Gx as I,Bx as J,lD as K,Qx as L,Zp as M,wD as N,Hp as O,M as P,pz as Q,Ze as R,vt as S,Uz as T,$e as U,se as V,Nt as W,fe as X,rj as Y,xy as Z,l as _,Re as $,WP as aa,YP as ba,QP as ca,XP as da,eA as ea,tA as fa,nA as ga,iA as ha,Ky as ia,Yy as ja,Xy as ka,nb as la,ob as ma,sb as na,cb as oa,lb as pa,mb as qa,hb as ra,wb as sa,Sb as ta,xb as ua,Cb as va,ha as wa,ya as xa,ba as ya,Eb as za,Ra as Aa,$b as Ba,Mb as Ca,lZ as Da,Lb as Ea,Nb as Fa,wA as Ga,vA as Ha,RA as Ia,jb as Ja,Hb as Ka,Bb as La,NA as Ma,jA as Na,qA as Oa,KA as Pa,WA as Qa,YA as Ra,QA as Sa,rk as Ta,ok as Ua,aw as Va,ak as Wa,zl as Xa,f1 as Ya,cw as Za,Dt as _a,gk as $a,mw as ab,fw as bb,bk as cb,yw as db,vk as eb,Rk as fb,Sk as gb,Ik as hb,xk as ib,Ck as jb,_k as kb,Lk as lb,Cw as mb,Uk as nb,zk as ob,jk as pb,Yk as qb,Qk as rb,Xk as sb,eE as tb,iE as ub,lE as vb,dE as wb,Jl as xb,AH as yb,gE as zb,yE as Ab,bE as Bb,Gr as Cb,Di as Db,Ge as Eb,at as Fb,Yn as Gb,GIe as Hb,Oa as Ib,KIe as Jb,WIe as Kb,pn as Lb,XIe as Mb,exe as Nb,txe as Ob,nxe as Pb,$a as Qb,rxe as Rb,Co as Sb,cxe as Tb,Ql as Ub,To as Vb,zi as Wb,ov as Xb,vxe as Yb,iv as Zb,sv as _b,av as $b,cv as ac,uv as bc,lv as cc,dv as dc,pv as ec,mv as fc,fv as gc,gv as hc,vTe as ic,xn as jc,mn as kc,u_ as lc,id as mc,jF as nc,rd as oc,m_ as pc,pB as qc,yv as rc,ft as sc,M_ as tc,AB as uc,kB as vc,Cv as wc,QTe as xc,XTe as yc,ePe as zc,J_ as Ac,K_ as Bc,SPe as Cc,IPe as Dc,Tv as Ec,ja as Fc,ud as Gc,xPe as Hc,Q_ as Ic,APe as Jc,qa as Kc,KB as Lc,WB as Mc,Av as Nc,DPe as Oc,nO as Pc,rO as Qc,qPe as Rc,ZPe as Sc,HPe as Tc,FPe as Uc,oO as Vc,iO as Wc,aO as Xc,Qn as Yc,Ir as Zc,XB as _c,e2 as $c,QPe as ad,XPe as bd,eAe as cd,tAe as dd,Xn as ed,o2 as fd,mAe as gd,lO as hd,xAe as id,Ov as jd,s2 as kd,f2 as ld,h2 as md,mO as nd,zAe as od,jAe as pd,qAe as qd,yO as rd,GAe as sd,BAe as td,VAe as ud,Uv as vd,md as wd,zv as xd,nke as yd,rke as zd,oke as Ad,ike as Bd,m$ as Cd,Pn as Dd,Xv as Ed,Dke as Fd,f$ as Gd,Uke as Hd,rR as Id,oR as Jd,w$ as Kd,X4 as Ld,x$ as Md,lR as Nd,M$ as Od,pR as Pd,H$ as Qd,mR as Rd,gR as Sd,G$ as Td,B$ as Ud,V$ as Vd,bR as Wd,vR as Xd,e0 as Yd,t0 as Zd,n0 as _d,r0 as $d,o0 as ae,s0 as be,IR as ce,vV as de,d0 as ee,PR as fe,y0 as ge,b0 as he,w0 as ie,$V as je,v0 as ke,R0 as le,S0 as me,I0 as ne,x0 as oe,_R as pe,T0 as qe,P0 as re,OR as se,$R as te,E0 as ue,O0 as ve,$0 as we,NR as xe,L0 as ye,q0 as ze,jR as Ae,Z0 as Be,J0 as Ce,ZR as De,HR as Ee,FR as Fe,va as Ge};
|
|
384
|
-
/*! For license information please see chunk-
|
|
385
|
-
//# sourceMappingURL=chunk-
|
|
384
|
+
/*! For license information please see chunk-DBFG5V2I.js.LEGAL.txt */
|
|
385
|
+
//# sourceMappingURL=chunk-DBFG5V2I.js.map
|