@zuplo/otel 6.71.2 → 6.71.3
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/README.md +169 -0
- package/out/esm/chunk-U3KEMFL3.js +26 -0
- package/out/esm/chunk-U3KEMFL3.js.map +1 -0
- package/out/esm/index.js +1 -1
- package/out/types/index.d.ts +105 -1
- package/package.json +2 -2
- package/out/esm/chunk-V3GNZRVP.js +0 -26
- package/out/esm/chunk-V3GNZRVP.js.map +0 -1
package/README.md
CHANGED
|
@@ -1 +1,170 @@
|
|
|
1
1
|
# OpenTelemetry for Zuplo
|
|
2
|
+
|
|
3
|
+
`@zuplo/otel` instruments your Zuplo API with
|
|
4
|
+
[OpenTelemetry](https://opentelemetry.io/) — incoming requests, policies,
|
|
5
|
+
handlers, and outbound `fetch` — and exports the resulting spans over OTLP/HTTP
|
|
6
|
+
to one or more destinations.
|
|
7
|
+
|
|
8
|
+
## Getting started
|
|
9
|
+
|
|
10
|
+
Register the plugin from your project's `zuplo.runtime.ts`:
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { RuntimeExtensions, environment } from "@zuplo/runtime";
|
|
14
|
+
import { OpenTelemetryPlugin } from "@zuplo/otel";
|
|
15
|
+
|
|
16
|
+
export function runtimeInit(runtime: RuntimeExtensions) {
|
|
17
|
+
runtime.addPlugin(
|
|
18
|
+
new OpenTelemetryPlugin({
|
|
19
|
+
service: { name: "my-api" },
|
|
20
|
+
exporter: {
|
|
21
|
+
url: environment.OTLP_ENDPOINT,
|
|
22
|
+
headers: { "api-key": environment.OTLP_API_KEY },
|
|
23
|
+
},
|
|
24
|
+
})
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Every configuration requires a `service` (used for the `service.*` resource
|
|
30
|
+
attributes) plus one of the destination shapes described below. Only the HTTP(S)
|
|
31
|
+
OTLP protocol is supported.
|
|
32
|
+
|
|
33
|
+
## Usage configurations
|
|
34
|
+
|
|
35
|
+
### Single destination — OTLP exporter
|
|
36
|
+
|
|
37
|
+
The simplest setup: point a single OTLP/HTTP exporter at your collector. Use
|
|
38
|
+
`headers` for authentication.
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
new OpenTelemetryPlugin({
|
|
42
|
+
service: { name: "my-api", version: "1.0.0" },
|
|
43
|
+
exporter: {
|
|
44
|
+
url: environment.OTLP_ENDPOINT,
|
|
45
|
+
headers: { authorization: `Bearer ${environment.OTEL_TOKEN}` },
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Single destination — separate logs and traces endpoints
|
|
51
|
+
|
|
52
|
+
When your backend exposes distinct endpoints for logs and traces, provide both.
|
|
53
|
+
The shared `headers` are sent to each.
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
new OpenTelemetryPlugin({
|
|
57
|
+
service: { name: "my-api" },
|
|
58
|
+
logUrl: environment.OTLP_LOG_ENDPOINT,
|
|
59
|
+
traceUrl: environment.OTLP_TRACE_ENDPOINT,
|
|
60
|
+
headers: { authorization: `Bearer ${environment.OTEL_TOKEN}` },
|
|
61
|
+
});
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Multiple destinations — span processors
|
|
65
|
+
|
|
66
|
+
To send spans to **more than one** destination, build a span processor per
|
|
67
|
+
destination and pass them as `spanProcessors`. Each processor batches and
|
|
68
|
+
flushes independently, so one slow or failing exporter does not block the
|
|
69
|
+
others. Spans are produced once per request and fan out to every processor.
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
import {
|
|
73
|
+
OpenTelemetryPlugin,
|
|
74
|
+
OTLPSpanExporter,
|
|
75
|
+
BatchTraceSpanProcessor,
|
|
76
|
+
} from "@zuplo/otel";
|
|
77
|
+
|
|
78
|
+
runtime.addPlugin(
|
|
79
|
+
new OpenTelemetryPlugin({
|
|
80
|
+
service: { name: "my-api" },
|
|
81
|
+
spanProcessors: [
|
|
82
|
+
// Your own collector
|
|
83
|
+
new BatchTraceSpanProcessor(
|
|
84
|
+
new OTLPSpanExporter({ url: environment.PRIMARY_OTLP_ENDPOINT })
|
|
85
|
+
),
|
|
86
|
+
// A second destination, with its own auth
|
|
87
|
+
new BatchTraceSpanProcessor(
|
|
88
|
+
new OTLPSpanExporter({
|
|
89
|
+
url: environment.SECONDARY_OTLP_ENDPOINT,
|
|
90
|
+
headers: {
|
|
91
|
+
authorization: `Bearer ${environment.SECONDARY_OTLP_TOKEN}`,
|
|
92
|
+
},
|
|
93
|
+
})
|
|
94
|
+
),
|
|
95
|
+
],
|
|
96
|
+
})
|
|
97
|
+
);
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`spanProcessors` accepts any OpenTelemetry `SpanProcessor`, so you can mix in
|
|
101
|
+
standard processors — for example, a console exporter for local debugging:
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
import {
|
|
105
|
+
OpenTelemetryPlugin,
|
|
106
|
+
OTLPSpanExporter,
|
|
107
|
+
BatchTraceSpanProcessor,
|
|
108
|
+
} from "@zuplo/otel";
|
|
109
|
+
import {
|
|
110
|
+
ConsoleSpanExporter,
|
|
111
|
+
SimpleSpanProcessor,
|
|
112
|
+
} from "@opentelemetry/sdk-trace-base";
|
|
113
|
+
|
|
114
|
+
new OpenTelemetryPlugin({
|
|
115
|
+
service: { name: "my-api" },
|
|
116
|
+
spanProcessors: [
|
|
117
|
+
new BatchTraceSpanProcessor(
|
|
118
|
+
new OTLPSpanExporter({ url: environment.OTLP_ENDPOINT })
|
|
119
|
+
),
|
|
120
|
+
new SimpleSpanProcessor(new ConsoleSpanExporter()),
|
|
121
|
+
],
|
|
122
|
+
});
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Resource attributes
|
|
126
|
+
|
|
127
|
+
Every span is automatically tagged with Zuplo's service, cloud, and build
|
|
128
|
+
identifiers. Use `resourceAttributes` to add your own — they are merged **on top
|
|
129
|
+
of** the defaults, so a key you set here overrides the default of the same name.
|
|
130
|
+
This is useful when a downstream sink keys ingestion on specific attributes.
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
new OpenTelemetryPlugin({
|
|
134
|
+
service: { name: "my-api" },
|
|
135
|
+
spanProcessors: [
|
|
136
|
+
new BatchTraceSpanProcessor(
|
|
137
|
+
new OTLPSpanExporter({ url: environment.OTLP_ENDPOINT })
|
|
138
|
+
),
|
|
139
|
+
],
|
|
140
|
+
resourceAttributes: {
|
|
141
|
+
"zuplo.account_id": "acme",
|
|
142
|
+
"zuplo.project_id": "my-api",
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Sampling
|
|
148
|
+
|
|
149
|
+
Head sampling is configured via `sampling.headSampler`. Pass a ratio to sample a
|
|
150
|
+
fraction of traces (defaults to sampling everything):
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
new OpenTelemetryPlugin({
|
|
154
|
+
service: { name: "my-api" },
|
|
155
|
+
exporter: { url: environment.OTLP_ENDPOINT },
|
|
156
|
+
sampling: {
|
|
157
|
+
headSampler: { ratio: 0.1 }, // sample 10% of requests
|
|
158
|
+
},
|
|
159
|
+
});
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Exports
|
|
163
|
+
|
|
164
|
+
| Export | Purpose |
|
|
165
|
+
| ------------------------- | ------------------------------------------------------------------------- |
|
|
166
|
+
| `OpenTelemetryPlugin` | The plugin registered via `runtime.addPlugin(...)`. |
|
|
167
|
+
| `TraceConfig` | Type of the plugin's configuration object. |
|
|
168
|
+
| `OTLPSpanExporter` | OTLP/HTTP span exporter; pair with a span processor. |
|
|
169
|
+
| `OTLPExporterConfig` | Configuration (`url`, optional `headers`) for an OTLP exporter. |
|
|
170
|
+
| `BatchTraceSpanProcessor` | Per-trace batching span processor; wrap an exporter to add a destination. |
|
|
@@ -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 Ct=Object.defineProperty;var n=(r,e)=>Ct(r,"name",{value:e,configurable:!0});import{Buffer as yt}from"node:buffer";globalThis.Buffer=yt;import{ExportResultCode as Ae}from"@opentelemetry/core";import{JsonLogsSerializer as Et,JsonTraceSerializer as wt}from"@opentelemetry/otlp-transformer";import{BackgroundDispatcher as Ie}from"@zuplo/runtime";function Lt(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}n(Lt,"isPlainObject");function we(r){if(r==null)return"";if(Array.isArray(r)){for(let e=0;e<r.length;e+=1)r[e]=we(r[e]);return r}return Lt(r)&&H(r),r}n(we,"sanitizeValue");function H(r){Object.keys(r).forEach(e=>{r[e]=we(r[e])})}n(H,"sanitizeEmptyAttributes");var ue=Symbol("unwrap");function Oe(r){return r&&!!r[ue]}n(Oe,"isWrapped");function vt(r){return r!==null&&typeof r=="object"||typeof r=="function"}n(vt,"isProxyable");function U(r,e,t=!0){if(Oe(r)||!vt(r))return r;let o=Object.assign({},e);return o.get=(s,i,a)=>{if(i===ue)return r;if(e.get)return e.get(s,i,a);if(i==="bind")return()=>a;if(t)return de(s,i)},o.apply=(s,i,a)=>{if(e.apply)return e.apply(S(s),S(i),a)},new Proxy(r,o)}n(U,"wrap");function S(r){return r&&Oe(r)?r[ue]:r}n(S,"unwrap");function de(r,e,t){let o=S(r);t=S(t)||o;let s=Reflect.get(o,e);return typeof s=="function"?s.constructor.name==="RpcProperty"?(...i)=>o[e](...i):s.bind(t):s}n(de,"passthroughGet");var Fe={accept:"application/json","content-type":"application/json"},b=class{static{n(this,"OTLPSpanExporter")}headers;url;constructor(e){this.url=e.url,this.headers=Object.assign({},Fe,e.headers)}export(e,t){e.forEach(o=>{this.batcher.enqueue(o)}),t({code:Ae.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{H(a.attributes)});let t=new TextDecoder,o=wt.serializeRequest(e),s=t.decode(o),i=await S(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 Ie(this.dispatchFunction,{msDelay:10})},B=class{static{n(this,"OTLPLogExporter")}headers;url;batcher;constructor(e,t){this.url=e.url,this.headers=Object.assign({},Fe,e.headers),this.batcher=new Ie(this.dispatchFunction,{msDelay:t?.scheduledDelayMillis??10})}export(e,t){e.forEach(o=>{this.batcher.enqueue(o)}),t({code:Ae.SUCCESS})}shutdown(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{H(a.attributes)});let t=new TextDecoder,o=Et.serializeRequest(e),s=t.decode(o),i=await S(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 wr,trackFeature as Or}from"@zuplo/runtime";import{context as V,propagation as qe,SpanKind as Ke,SpanStatusCode as Mt,trace as Ht}from"@opentelemetry/api";import{context as Ve}from"@opentelemetry/api";import{W3CTraceContextPropagator as kt}from"@opentelemetry/core";var j=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],t=>{})}};import{SpanStatusCode as Ot,TraceFlags as ke}from"@opentelemetry/api";import{ParentBasedSampler as Ne,TraceIdRatioBasedSampler as At}from"@opentelemetry/sdk-trace-base";import{SemanticAttributes as ge}from"@zuplo/runtime";function De(r){return e=>{let t=e.localRootSpan;return t.attributes[ge.SystemTrace]??t.attributes[ge.RouteSystem]??t.attributes[ge.RouteTrace]===!1?!1:r(e)}}n(De,"internalTailSampler");function Ge(r){return e=>r.reduce((t,o)=>t||o(e),!1)}n(Ge,"multiTailSampler");var Me=n(r=>(r.localRootSpan.spanContext().traceFlags&ke.SAMPLED)===ke.SAMPLED,"isHeadSampled"),He=n(r=>r.localRootSpan.status.code===Ot.ERROR,"isRootErrorSpan");function Ue(r){let e=new At(r.ratio);return typeof r.acceptRemote=="boolean"&&!r.acceptRemote?new Ne({root:e,remoteParentSampled:e,remoteParentNotSampled:e}):new Ne({root:e})}n(Ue,"createSampler");import{ExportResultCode as It}from"@opentelemetry/core";function Ft(){let r=T();return r||console.log("Could not find config for sampling, sending everything by default"),r?r.sampling.tailSampler:()=>!0}n(Ft,"getSampler");var me=class{static{n(this,"TraceState")}unexportedSpans=[];inprogressSpans=new Set;exporter;exportPromises=[];localRootSpan;traceDecision;isFlushed=!1;constructor(e){this.exporter=e}addSpan(e){let t=e;this.localRootSpan=this.localRootSpan||t,this.unexportedSpans.push(t),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=Ft();this.traceDecision=e({traceId:this.localRootSpan.spanContext().traceId,localRootSpan:this.localRootSpan,spans:this.unexportedSpans})}this.unexportedSpans=this.traceDecision?this.unexportedSpans:[]}async flush(){if(this.unexportedSpans.length>0){let e=this.unexportedSpans.filter(t=>this.isSpanInProgress(t));for(let t of e)console.log(`Span ${t.spanContext().spanId} was not ended properly`),t.end();this.sample(),this.exportPromises.push(this.exportSpans([...this.unexportedSpans])),this.unexportedSpans=[]}this.exportPromises.length>0&&(await Promise.allSettled(this.exportPromises),this.exportPromises=[],this.isFlushed=!0)}isSpanInProgress(e){return this.inprogressSpans.has(e.spanContext().spanId)}async exportSpans(e){let t=T();if(!t){console.log("No config found for exporting spans, skipping export");return}let o=t.postProcessor(e);await scheduler.wait(1),await new Promise((i,a)=>{this.exporter.export(o,c=>{c.code===It.SUCCESS?i():(console.log(`exporting spans failed! ${c.error}`),a(c.error))})})}},_=class{constructor(e){this.exporter=e}exporter;static{n(this,"BatchTraceSpanProcessor")}traces={};getTraceState(e){let t=this.traces[e]||new me(this.exporter);return this.traces[e]=t,t}onStart(e,t){let o=e.spanContext().traceId;this.getTraceState(o).addSpan(e)}onEnd(e){let t=e.spanContext().traceId,o=this.getTraceState(t);o.endSpan(e).catch(s=>{console.log(s,"Failed to end span")}).finally(()=>{o.hasFinished()&&delete this.traces[t]})}async forceFlush(e){if(e)await this.getTraceState(e).flush(),delete this.traces[e];else{let t=Object.values(this.traces).map(o=>o.flush);await Promise.allSettled(t),this.traces={}}}async shutdown(){await this.forceFlush()}};function Be(r){return!!r.spanProcessors}n(Be,"isSpanProcessorConfig");function je(r){let e=!!r.spanProcessors,t=!!r.logProcessors;return e&&t}n(je,"isProcessorConfig");var ze=Symbol("Otel Tracing Configuration");function $e(r,e=Ve.active()){return e.setValue(ze,r)}n($e,"setConfig");function T(){return Ve.active().getValue(ze)||void 0}n(T,"getActiveConfig");function Nt(r){return!!r.shouldSample}n(Nt,"isSampler");function Dt(r){return!!r.exporter}n(Dt,"isTraceConfigExporter");function Gt(r){return!!r.logUrl&&!!r.traceUrl&&!!r.headers}n(Gt,"isTraceAndLogConfigExporter");function fe(r){let e=[],t=[];Dt(r)?e=[new _(new b(r.exporter))]:Gt(r)?(e=[new _(new b({url:r.traceUrl,headers:r.headers}))],t=[new j(new B({url:r.logUrl,headers:r.headers}))]):je(r)?(e=Array.isArray(r.spanProcessors)?r.spanProcessors:[r.spanProcessors],t=Array.isArray(r.logProcessors)?r.logProcessors:[r.logProcessors]):Be(r)&&(e=Array.isArray(r.spanProcessors)?r.spanProcessors:[r.spanProcessors]);let o=r.sampling?.headSampler||{ratio:1},s=Nt(o)?o:Ue(o);return{fetch:{includeTraceContext:r.fetch?.includeTraceContext??!0},handlers:{fetch:{acceptTraceContext:r.handlers?.fetch?.acceptTraceContext??!0}},postProcessor:r.postProcessor||(i=>i),sampling:{headSampler:s,tailSampler:De(r.sampling?.tailSampler??Ge([Me,He]))},service:r.service,resourceAttributes:r.resourceAttributes,spanProcessors:e,propagator:r.propagator||new kt,instrumentation:{instrumentGlobalFetch:r.instrumentation?.instrumentGlobalFetch??!0},logProcessors:t}}n(fe,"parseConfig");function Ze(r){let e={},t=r.headers;e["http.request.method"]=r.method.toUpperCase(),e["http.request.body.size"]=t.get("content-length"),e["user_agent.original"]=t.get("user-agent"),e["http.mime_type"]=t.get("content-type"),e["http.accepts"]=t.get("accept");let o=new URL(r.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(Ze,"gatherRequestAttributes");function Ye(r){let e={};return e["http.response.status_code"]=r.status,r.headers.get("content-length")==null&&(e["http.response.body.size"]=r.headers.get("content-length")),e["http.mime_type"]=r.headers.get("content-type"),e}n(Ye,"gatherResponseAttributes");function Ut(r){return qe.extract(V.active(),r,{get(e,t){return e.get(t)||void 0},keys(e){return[...e.keys()]}})}n(Ut,"getParentContextFromHeaders");function Bt(r){let e=T();return e===void 0?V.active():(typeof e.handlers.fetch.acceptTraceContext=="function"?e.handlers.fetch.acceptTraceContext(r):e.handlers.fetch.acceptTraceContext??!0)?Ut(r.headers):V.active()}n(Bt,"getParentContextFromRequest");function We(r,e){let t=r;if(t.attributes["http.route"]){let o=e.method.toUpperCase();r.updateName(`${o} ${t.attributes["http.route"]}`)}}n(We,"updateSpanNameOnRoute");var Xe={getInitialSpanInfo:n(r=>{let e=Bt(r),t={"faas.trigger":"http","faas.invocation_id":r.headers.get("zp-rid")??void 0,"cf.ray_id":r.headers.get("cf-ray")??void 0};return Object.assign(t,Ze(r)),{name:`fetchHandler ${r.method.toUpperCase()}`,options:{attributes:t,kind:Ke.SERVER},context:e}},"getInitialSpanInfo"),getAttributesFromResult:n(r=>Ye(r),"getAttributesFromResult"),executionSuccess:We,executionFailed:We};function jt(r,e,t){return U(r,{apply:n((s,i,a)=>{let c=new Request(a[0],a[1]);if(!c.url.startsWith("http"))return Reflect.apply(s,i,a);let l=T();if(!l)return Reflect.apply(s,i,[c]);let u=e(l),m=Ht.getTracer("fetcher"),h={kind:Ke.CLIENT,attributes:t},d=new URL(c.url).host,w=c.method.toUpperCase(),M=typeof t?.name=="string"?t?.name:`${w}: ${d}`;return m.startActiveSpan(M,h,async p=>{try{((typeof u.includeTraceContext=="function"?u.includeTraceContext(c):u.includeTraceContext)??!0)&&qe.inject(V.active(),c.headers,{set:n((ce,pe,P)=>ce.set(pe,typeof P=="string"?P:String(P)),"set")}),p.setAttributes(Ze(c));let ae=await Reflect.apply(s,i,[c]);return p.setAttributes(Ye(ae)),ae}catch(x){throw p.recordException(x),p.setStatus({code:Mt.ERROR}),x}finally{p.end()}})},"apply")},!0)}n(jt,"instrumentClientFetch");function Je(){globalThis.fetch=jt(globalThis.fetch,r=>r.fetch)}n(Je,"instrumentGlobalFetch");import{context as St,context as hr,propagation as Tr,SpanStatusCode as xr,trace as Rt}from"@opentelemetry/api";import{resourceFromAttributes as ve}from"@opentelemetry/resources";import{ATTR_CLOUD_ACCOUNT_ID as Sr,ATTR_CLOUD_PLATFORM as Rr,ATTR_CLOUD_PROVIDER as Pr,ATTR_SERVICE_NAME as br,ATTR_SERVICE_NAMESPACE as _r,ATTR_SERVICE_VERSION as Cr,ATTR_TELEMETRY_SDK_NAME as yr}from"@opentelemetry/semantic-conventions/incubating";import{SemanticAttributes as ie}from"@zuplo/runtime";import{AsyncLocalStorage as Vt}from"node:async_hooks";import{EventEmitter as zt}from"node:events";import{ROOT_CONTEXT as $t}from"@opentelemetry/api";var Wt=["addListener","on","once","prependListener","prependOnceListener"],he=class{static{n(this,"AbstractAsyncHooksContextManager")}bind(e,t){return t instanceof zt?this._bindEventEmitter(e,t):typeof t=="function"?this._bindFunction(e,t):t}_bindFunction(e,t){let o=this,s=n(function(...i){return o.with(e,()=>t.apply(this,i))},"contextWrapper");return Object.defineProperty(s,"length",{enumerable:!1,configurable:!0,writable:!1,value:t.length}),s}_bindEventEmitter(e,t){return this._getPatchMap(t)!==void 0||(this._createPatchMap(t),Wt.forEach(s=>{t[s]!==void 0&&(t[s]=this._patchAddListener(t,t[s],e))}),typeof t.removeListener=="function"&&(t.removeListener=this._patchRemoveListener(t,t.removeListener)),typeof t.off=="function"&&(t.off=this._patchRemoveListener(t,t.off)),typeof t.removeAllListeners=="function"&&(t.removeAllListeners=this._patchRemoveAllListeners(t,t.removeAllListeners))),t}_patchRemoveListener(e,t){let o=this;return function(s,i){let a=o._getPatchMap(e)?.[s];if(a===void 0)return t.call(this,s,i);let c=a.get(i);return t.call(this,s,c||i)}}_patchRemoveAllListeners(e,t){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]),t.apply(this,arguments)}}_patchAddListener(e,t,o){let s=this;return function(i,a){if(s._wrapped)return t.call(this,i,a);let c=s._getPatchMap(e);c===void 0&&(c=s._createPatchMap(e));let l=c[i];l===void 0&&(l=new WeakMap,c[i]=l);let u=s.bind(o,a);l.set(a,u),s._wrapped=!0;try{return t.call(this,i,u)}finally{s._wrapped=!1}}}_createPatchMap(e){let t=Object.create(null);return e[this._kOtListeners]=t,t}_getPatchMap(e){return e[this._kOtListeners]}_kOtListeners=Symbol("OtListeners");_wrapped=!1},z=class extends he{static{n(this,"AsyncLocalStorageContextManager")}_asyncLocalStorage;constructor(){super(),this._asyncLocalStorage=new Vt}active(){return this._asyncLocalStorage.getStore()??$t}with(e,t,o,...s){let i=o==null?t:t.bind(o);return this._asyncLocalStorage.run(e,i,...s)}enable(){return this}disable(){return this._asyncLocalStorage.disable(),this}};import{trace as Sn}from"@opentelemetry/api";import{context as Se,SpanKind as tr,TraceFlags as ot,trace as W}from"@opentelemetry/api";import{sanitizeAttributes as nt}from"@opentelemetry/core";import{RandomIdGenerator as rr,SamplingDecision as or}from"@opentelemetry/sdk-trace-base";import{SpanKind as qt,SpanStatusCode as Kt}from"@opentelemetry/api";import{hrTimeDuration as Zt,isAttributeValue as Yt,isTimeInput as Xt,sanitizeAttributes as Qe}from"@opentelemetry/core";import{ATTR_EXCEPTION_MESSAGE as et,ATTR_EXCEPTION_STACKTRACE as Jt,ATTR_EXCEPTION_TYPE as tt}from"@opentelemetry/semantic-conventions";function Qt(r){let e={};return typeof r=="string"?e[et]=r:(r.code?e[tt]=r.code.toString():r.name&&(e[tt]=r.name),r.message&&(e[et]=r.message),r.stack&&(e[Jt]=r.stack)),e}n(Qt,"transformExceptionAttributes");function Te(r){return[Math.trunc(r/1e3),r%1e3*1e6]}n(Te,"millisToHr");function xe(r){let e=Date.now();if(r){if(r instanceof Date)return Te(r.getTime());if(typeof r=="number")return Te(r);if(Array.isArray(r))return r}else return Te(e);let t=r;throw new Error(`unreachable value: ${JSON.stringify(t)}`)}n(xe,"getHrTime");function er(r){return typeof r=="string"&&r.length>0}n(er,"isAttributeKey");var $=class{static{n(this,"SpanImpl")}name;_spanContext;onEnd;parentSpanId;parentSpanContext;kind;attributes;status={code:Kt.UNSET};endTime=[0,0];_duration=[0,0];startTime;events=[];links;resource;instrumentationScope=rt;_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||qt.INTERNAL,this.attributes=Qe(e.attributes),this.startTime=xe(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,t){return er(e)&&Yt(t)&&(this.attributes[e]=t),this}setAttributes(e){for(let[t,o]of Object.entries(e))this.setAttribute(t,o);return this}addEvent(e,t,o){Xt(t)&&(o=t,t=void 0);let s=Qe(t),i=xe(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=xe(e),this._duration=Zt(this.startTime,this.endTime),this.onEnd(this))}isRecording(){return!this._ended}recordException(e,t){let o=Qt(e);this.addEvent("exception",o,t)}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 it=new rr,st;function nr(r,e){return(r>>e-1&1)*e}n(nr,"getFlagAt");var R=class{static{n(this,"WorkerTracer")}spanProcessors;resource;constructor(e,t){this.spanProcessors=e,this.resource=t}async forceFlush(e){let t=this.spanProcessors.map(async o=>{await o.forceFlush(e)});await Promise.allSettled(t)}addToResource(e){this.resource.merge(e)}startSpan(e,t={},o=Se.active()){t.root&&(o=W.deleteSpan(o));let s=T();if(!s)throw new Error("Config is undefined. This is a bug in the instrumentation logic");let i=W.getSpan(o)?.spanContext(),{traceId:a,randomTraceFlag:c}=sr(i),l=t.kind||tr.INTERNAL,u=nt(t.attributes),h=s.sampling.headSampler.shouldSample(o,a,e,l,u,[]),{decision:d,traceState:w,attributes:M}=h,g=Object.assign({},t.attributes,M,st);st={};let p=it.generateSpanId(),x=i?.spanId,ce=(d===or.RECORD_AND_SAMPLED?ot.SAMPLED:ot.NONE)+c,pe={traceId:a,spanId:p,traceFlags:ce,traceState:w},P=new $({attributes:nt(g),name:e,onEnd:n(le=>{this.spanProcessors.forEach(_t=>{_t.onEnd(le)})},"onEnd"),resource:this.resource,spanContext:pe,parentSpanContext:i,parentSpanId:x,spanKind:l,startTime:t.startTime});return this.spanProcessors.forEach(le=>{le.onStart(P,o)}),P}startActiveSpan(e,...t){let o=t.length>1?t[0]:void 0,s=t.length>2?t[1]:Se.active(),i=t[t.length-1],a=this.startSpan(e,o,s),c=W.setSpan(s,a);return Se.with(c,i,void 0,a)}};function sr(r){if(r&&W.isSpanContextValid(r)){let{traceId:e,traceFlags:t}=r;return{traceId:e,randomTraceFlag:nr(t,2)}}else return{traceId:it.generateTraceId(),randomTraceFlag:2}}n(sr,"getTraceInfo");var Re=class{static{n(this,"PromiseTracker")}_outstandingPromises=[];get outstandingPromiseCount(){return this._outstandingPromises.length}track(e){this._outstandingPromises.push(e)}async wait(){await ar(this._outstandingPromises)}};function ir(r,e,t){return U(r,{apply(s,i,a){return t.track(a[0]),Reflect.apply(s,e,a)}})}n(ir,"createWaitUntil");function at(r){let e=new Re;return{event:new Proxy(r,{get(o,s){if(s==="waitUntil"){let i=Reflect.get(o,s);return ir(i,r,e)}else return de(o,s)}}),tracker:e}}n(at,"proxyExecutionContext");async function ar(r){let e;do e=await Promise.allSettled(r);while(e.length!==r.length);return e}n(ar,"allSettledMutable");var O=class{static{n(this,"NoopLogger")}emit(e){}},ct=new O;var Pe=class{static{n(this,"NoopLoggerProvider")}getLogger(e,t,o){return new O}},q=new Pe;var K=class{static{n(this,"ProxyLogger")}constructor(e,t,o,s){this._provider=e,this.name=t,this.version=o,this.options=s}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):ct}};var A=class{static{n(this,"ProxyLoggerProvider")}getLogger(e,t,o){var s;return(s=this.getDelegateLogger(e,t,o))!==null&&s!==void 0?s:new K(this,e,t,o)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:q}setDelegate(e){this._delegate=e}getDelegateLogger(e,t,o){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getLogger(e,t,o)}};var be=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{};var I=Symbol.for("io.opentelemetry.js.api.logs"),C=be;function pt(r,e,t){return o=>o===r?e:t}n(pt,"makeGetter");var _e=1;var Z=class r{static{n(this,"LogsAPI")}constructor(){this._proxyLoggerProvider=new A}static getInstance(){return this._instance||(this._instance=new r),this._instance}setGlobalLoggerProvider(e){return C[I]?this.getLoggerProvider():(C[I]=pt(_e,e,q),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,t;return(t=(e=C[I])===null||e===void 0?void 0:e.call(C,_e))!==null&&t!==void 0?t:this._proxyLoggerProvider}getLogger(e,t,o){return this.getLoggerProvider().getLogger(e,t,o)}disable(){delete C[I],this._proxyLoggerProvider=new A}};var lt=Z.getInstance();import{diag as D}from"@opentelemetry/api";var y=class{static{n(this,"NoopLogger")}emit(e){}},F=new y;var Ce=class{static{n(this,"NoopLoggerProvider")}getLogger(e,t,o){return new y}},Y=new Ce;var X=class{static{n(this,"ProxyLogger")}constructor(e,t,o,s){this._provider=e,this.name=t,this.version=o,this.options=s}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):F}};var k=class{static{n(this,"ProxyLoggerProvider")}getLogger(e,t,o){var s;return(s=this.getDelegateLogger(e,t,o))!==null&&s!==void 0?s:new X(this,e,t,o)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:Y}setDelegate(e){this._delegate=e}getDelegateLogger(e,t,o){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getLogger(e,t,o)}};var ye=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{};var N=Symbol.for("io.opentelemetry.js.api.logs"),L=ye;function ut(r,e,t){return o=>o===r?e:t}n(ut,"makeGetter");var Le=1;var J=class r{static{n(this,"LogsAPI")}constructor(){this._proxyLoggerProvider=new k}static getInstance(){return this._instance||(this._instance=new r),this._instance}setGlobalLoggerProvider(e){return L[N]?this.getLoggerProvider():(L[N]=ut(Le,e,Y),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,t;return(t=(e=L[N])===null||e===void 0?void 0:e.call(L,Le))!==null&&t!==void 0?t:this._proxyLoggerProvider}getLogger(e,t,o){return this.getLoggerProvider().getLogger(e,t,o)}disable(){delete L[N],this._proxyLoggerProvider=new k}};var Ss=J.getInstance();import{defaultResource as ur}from"@opentelemetry/resources";import{BindOnceFuture as dr,merge as gr}from"@opentelemetry/core";import{context as pr}from"@opentelemetry/api";import{diag as cr}from"@opentelemetry/api";import*as f from"@opentelemetry/api";import{timeInputToHrTime as dt,isAttributeValue as gt}from"@opentelemetry/core";var Q=class{static{n(this,"LogRecord")}hrTime;hrTimeObserved;spanContext;resource;instrumentationScope;attributes={};_severityText;_severityNumber;_body;totalAttributesCount=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 droppedAttributesCount(){return this.totalAttributesCount-Object.keys(this.attributes).length}constructor(e,t,o){let{timestamp:s,observedTimestamp:i,severityNumber:a,severityText:c,body:l,attributes:u={},context:m}=o,h=Date.now();if(this.hrTime=dt(s??h),this.hrTimeObserved=dt(i??h),m){let d=f.trace.getSpanContext(m);d&&f.isSpanContextValid(d)&&(this.spanContext=d)}this.severityNumber=a,this.severityText=c,this.body=l,this.resource=e.resource,this.instrumentationScope=t,this._logRecordLimits=e.logRecordLimits,this.setAttributes(u)}setAttribute(e,t){return this._isLogRecordReadonly()?this:t===null?this:e.length===0?(f.diag.warn(`Invalid attribute key: ${e}`),this):!gt(t)&&!(typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length>0)?(f.diag.warn(`Invalid attribute value set for key: ${e}`),this):(this.totalAttributesCount+=1,Object.keys(this.attributes).length>=this._logRecordLimits.attributeCountLimit&&!Object.prototype.hasOwnProperty.call(this.attributes,e)?(this.droppedAttributesCount===1&&f.diag.warn("Dropping extra attributes."),this):(gt(t)?this.attributes[e]=this._truncateToSize(t):this.attributes[e]=t,this))}setAttributes(e){for(let[t,o]of Object.entries(e))this.setAttribute(t,o);return this}setBody(e){return this.body=e,this}setSeverityNumber(e){return this.severityNumber=e,this}setSeverityText(e){return this.severityText=e,this}_makeReadonly(){this._isReadonly=!0}_truncateToSize(e){let t=this._logRecordLimits.attributeValueLengthLimit;return t<=0?(f.diag.warn(`Attribute value limit must be positive, got ${t}`),e):typeof e=="string"?this._truncateToLimitUtil(e,t):Array.isArray(e)?e.map(o=>typeof o=="string"?this._truncateToLimitUtil(o,t):o):e}_truncateToLimitUtil(e,t){return e.length<=t?e:e.substring(0,t)}_isLogRecordReadonly(){return this._isReadonly&&cr.warn("Can not execute the operation on emitted log record"),this._isReadonly}};var ee=class{static{n(this,"Logger")}instrumentationScope;_sharedState;constructor(e,t){this.instrumentationScope=e,this._sharedState=t}emit(e){let t=e.context||pr.active(),o=new Q(this._sharedState,this.instrumentationScope,{context:t,...e});this._sharedState.activeProcessor.onEmit(o,t),o._makeReadonly()}};import{getNumberFromEnv as v}from"@opentelemetry/core";function mt(){return{forceFlushTimeoutMillis:3e4,logRecordLimits:{attributeValueLengthLimit:v("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT")??1/0,attributeCountLimit:v("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT")??128},includeTraceContext:!0}}n(mt,"loadDefaultConfig");function ft(r){return{attributeCountLimit:r.attributeCountLimit??v("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT")??v("OTEL_ATTRIBUTE_COUNT_LIMIT")??128,attributeValueLengthLimit:r.attributeValueLengthLimit??v("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT")??v("OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT")??1/0}}n(ft,"reconfigureLimits");var te=class{static{n(this,"NoopLogRecordProcessor")}forceFlush(){return Promise.resolve()}onEmit(e,t){}shutdown(){return Promise.resolve()}};import{callWithTimeout as lr}from"@opentelemetry/core";var E=class{static{n(this,"MultiLogRecordProcessor")}processors;forceFlushTimeoutMillis;constructor(e,t){this.processors=e,this.forceFlushTimeoutMillis=t}async forceFlush(){let e=this.forceFlushTimeoutMillis;await Promise.all(this.processors.map(t=>lr(t.forceFlush(),e)))}onEmit(e,t){this.processors.forEach(o=>o.onEmit(e,t))}async shutdown(){await Promise.all(this.processors.map(e=>e.shutdown()))}};var re=class{static{n(this,"LoggerProviderSharedState")}resource;forceFlushTimeoutMillis;logRecordLimits;processors;loggers=new Map;activeProcessor;registeredLogRecordProcessors=[];constructor(e,t,o,s){this.resource=e,this.forceFlushTimeoutMillis=t,this.logRecordLimits=o,this.processors=s,s.length>0?(this.registeredLogRecordProcessors=s,this.activeProcessor=new E(this.registeredLogRecordProcessors,this.forceFlushTimeoutMillis)):this.activeProcessor=new te}};var mr="unknown",G=class{static{n(this,"LoggerProvider")}_shutdownOnce;_sharedState;constructor(e={}){let t=gr({},mt(),e),o=e.resource??ur();this._sharedState=new re(o,t.forceFlushTimeoutMillis,ft(t.logRecordLimits),e?.processors??[]),this._shutdownOnce=new dr(this._shutdown,this)}getLogger(e,t,o){if(this._shutdownOnce.isCalled)return D.warn("A shutdown LoggerProvider cannot provide a Logger"),F;e||D.warn("Logger requested without instrumentation scope name.");let s=e||mr,i=`${s}@${t||""}:${o?.schemaUrl||""}`;return this._sharedState.loggers.has(i)||this._sharedState.loggers.set(i,new ee({name:s,version:t,schemaUrl:o?.schemaUrl},this._sharedState)),this._sharedState.loggers.get(i)}addLogRecordProcessor(e){this._sharedState.registeredLogRecordProcessors.length===0&&this._sharedState.activeProcessor.shutdown().catch(t=>D.error("Error while trying to shutdown current log record processor",t)),this._sharedState.registeredLogRecordProcessors.push(e),this._sharedState.activeProcessor=new E(this._sharedState.registeredLogRecordProcessors,this._sharedState.forceFlushTimeoutMillis)}forceFlush(){return this._shutdownOnce.isCalled?(D.warn("invalid attempt to force flush after LoggerProvider shutdown"),this._shutdownOnce.promise):this._sharedState.activeProcessor.forceFlush()}shutdown(){return this._shutdownOnce.isCalled?(D.warn("shutdown may only be called once per LoggerProvider"),this._shutdownOnce.promise):this._shutdownOnce.call()}_shutdown(){return this._sharedState.activeProcessor.shutdown()}};var oe=class{static{n(this,"ZuploOtelLogger")}baseLogger;constructor(e){this.baseLogger=e}emit(e){this.baseLogger.emit(e)}};var ne=class extends G{static{n(this,"ZuploLoggerProvider")}getLogger(e,t,o){let s=super.getLogger(e,t,o);return new oe(s)}register(){lt.setGlobalLoggerProvider(this)}};import{trace as fr}from"@opentelemetry/api";var se=class{static{n(this,"ZuploTracerProvider")}spanProcessors;resource;tracers={};constructor(e,t){this.spanProcessors=e,this.resource=t}getTracer(e,t,o){let s=`${e}@${t||""}:${o?.schemaUrl||""}`;return this.tracers[s]||(this.tracers[s]=new R(this.spanProcessors,this.resource)),this.tracers[s]}register(){fr.setGlobalTracerProvider(this)}};var Lr=n((r,e)=>{let t={[Pr]:"zuplo",[Rr]:"zuplo-api",[Sr]:r.accountName,"cloud.project.id":r.projectName,"cloud.resource_id":r.deploymentName,"cloud.instance_id":r.instanceId,"deployment.environment.name":r.environmentStage,[yr]:"@zuplo/otel",[ie.ZuploBuildId]:r.buildId,[ie.ZuploBuildVersion]:r.zuploVersion,[ie.ZuploBuildCompatibilityDate]:r.compatibilityDate,[ie.ZuploEnvironmentType]:r.environmentType},o=ve({[br]:e.service.name,[_r]:e.service.namespace,[Cr]:e.service.version}),s=ve(t).merge(o);return e.resourceAttributes?s.merge(ve(e.resourceAttributes)):s},"createResource"),ht=!1;function Tt(r,e){if(!ht){e.instrumentation.instrumentGlobalFetch&&Je(),Tr.setGlobalPropagator(e.propagator);let t=Lr(r,e);new se(e.spanProcessors,t).register(),e.logProcessors.length>0&&new ne({resource:t,processors:e.logProcessors}).register(),hr.setGlobalContextManager(new z),ht=!0}}n(Tt,"init");function Pt(r,e){return typeof e=="function"?t=>{let o=fe(e(t));return Tt(r,o),o}:()=>{let t=fe(e);return Tt(r,t),t}}n(Pt,"createInitializer");async function vr(r,e){let t=Rt.getTracer("export");t instanceof R?(await scheduler.wait(1),await e?.wait(),await t.forceFlush(r)):console.error("The global tracer is not of type WorkerTracer and can not export spans")}n(vr,"exportSpans");var xt=!0;function Er(r){return(e,t)=>{let[o,s]=t,{event:i,tracker:a}=at(s),c=r.instrumentTrigger?r.instrumentTrigger(o):o,l=Rt.getTracer("handler"),{name:u,options:m,context:h}=r.getInitialSpanInfo(o),d=m.attributes||{};d["faas.coldstart"]=xt,m.attributes=d,xt=!1;let w=h||St.active();return l.startActiveSpan(u,m,w,async g=>{try{let p=await e(c,i);if(r.getAttributesFromResult){let x=r.getAttributesFromResult(p);g.setAttributes(x)}return r.executionSuccess&&r.executionSuccess(g,o,p),p}catch(p){throw g.recordException(p),g.setStatus({code:xr.ERROR}),r.executionFailed&&r.executionFailed(g,o,p),p}finally{g.end(),s.waitUntil(vr(g.spanContext().traceId,a))}})}}n(Er,"createHandlerFlowFn");function bt(r,e,t){return(o,s)=>{let i=e(o),a=$e(i),c=Er(t);return St.with(a,c,o,r,[o,s])}}n(bt,"createHandlerProxy");var rt={name:"@zuplo/otel"};var Ee=class extends wr{static{n(this,"OpenTelemetryPlugin")}config;constructor(e){super(),Or("opentelemetry"),this.config=e}instrument(e){let t=Pt(e,this.config);return{requestHandlerProxy:n(s=>bt(s,t,Xe),"requestHandlerProxy")}}};export{b as a,_ as b,Ee as c};
|
|
26
|
+
//# sourceMappingURL=chunk-U3KEMFL3.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","../../../node_modules/@opentelemetry/api-logs/src/NoopLogger.ts","../../../node_modules/@opentelemetry/api-logs/src/NoopLoggerProvider.ts","../../../node_modules/@opentelemetry/api-logs/src/ProxyLogger.ts","../../../node_modules/@opentelemetry/api-logs/src/ProxyLoggerProvider.ts","../../../node_modules/@opentelemetry/api-logs/src/platform/browser/globalThis.ts","../../../node_modules/@opentelemetry/api-logs/src/internal/global-utils.ts","../../../node_modules/@opentelemetry/api-logs/src/api/logs.ts","../../../node_modules/@opentelemetry/api-logs/src/index.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/NoopLogger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/NoopLoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/ProxyLogger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/ProxyLoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/platform/browser/globalThis.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/internal/global-utils.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/api/logs.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/index.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/Logger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LogRecord.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/config.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/LoggerProviderSharedState.ts","@zuplo/otel/logger.ts","@zuplo/otel/logprovider.ts","@zuplo/otel/traceprovider.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;iFAAA,OAAS,UAAAA,OAAc,cAEvB,WAAW,OAASA,GCFpB,OAAuB,oBAAAC,OAAwB,sBAC/C,OACE,sBAAAC,GACA,uBAAAC,OACK,kCAOP,OAAS,wBAAAC,OAA4B,iBCXrC,SAASC,GAAcC,EAAkD,CACvE,OAAO,OAAOA,GAAU,UAAYA,IAAU,MAAQ,CAAC,MAAM,QAAQA,CAAK,CAC5E,CAFSC,EAAAF,GAAA,iBAIT,SAASG,GAAcF,EAAyB,CAC9C,GAAIA,GAAU,KACZ,MAAO,GAGT,GAAI,MAAM,QAAQA,CAAK,EAAG,CACxB,QAASG,EAAI,EAAGA,EAAIH,EAAM,OAAQG,GAAK,EACrCH,EAAMG,CAAC,EAAID,GAAcF,EAAMG,CAAC,CAAC,EAEnC,OAAOH,CACT,CAEA,OAAID,GAAcC,CAAK,GACrBI,EAAwBJ,CAAK,EACtBA,CAIX,CAlBSC,EAAAC,GAAA,iBAuBF,SAASE,EAAwBC,EAAqC,CAC3E,OAAO,KAAKA,CAAU,EAAE,QAASC,GAAQ,CACvCD,EAAWC,CAAG,EAAIJ,GAAcG,EAAWC,CAAG,CAAC,CACjD,CAAC,CACH,CAJgBL,EAAAG,EAAA,2BC3BhB,IAAMG,GAAe,OAAO,QAAQ,EAI7B,SAASC,GAAaC,EAA6B,CACxD,OAAOA,GAAQ,CAAC,CAAEA,EAAoBF,EAAY,CACpD,CAFgBG,EAAAF,GAAA,aAKT,SAASG,GAAYF,EAAW,CACrC,OACGA,IAAS,MAAQ,OAAOA,GAAS,UAAa,OAAOA,GAAS,UAEnE,CAJgBC,EAAAC,GAAA,eAMT,SAASC,EACdH,EACAI,EACAC,EAA2B,GACxB,CACH,GAAIN,GAAUC,CAAI,GAAK,CAACE,GAAYF,CAAI,EACtC,OAAOA,EAET,IAAMM,EAAe,OAAO,OAAO,CAAC,EAAGF,CAAO,EAC9C,OAAAE,EAAa,IAAM,CAACC,EAAQC,EAAMC,IAAa,CAC7C,GAAID,IAASV,GACX,OAAOE,EAEP,GAAII,EAAQ,IACV,OAAOA,EAAQ,IAAIG,EAAQC,EAAMC,CAAQ,EACpC,GAAID,IAAS,OAClB,MAAO,IAAMC,EACR,GAAIJ,EACT,OAAOK,GAAeH,EAAQC,CAAI,CAGxC,EACAF,EAAa,MAAQ,CAACC,EAAQI,EAASC,IAAa,CAClD,GAAIR,EAAQ,MACV,OAAOA,EAAQ,MAAMS,EAAON,CAAM,EAAGM,EAAOF,CAAO,EAAGC,CAAQ,CAElE,EACO,IAAI,MAAMZ,EAAMM,CAAY,CACrC,CA5BgBL,EAAAE,EAAA,QA8BT,SAASU,EAAyBb,EAAY,CACnD,OAAIA,GAAQD,GAAUC,CAAI,EACjBA,EAAKF,EAAY,EAEjBE,CAEX,CANgBC,EAAAY,EAAA,UAQT,SAASH,GAEdH,EACAC,EAEAG,EACA,CACA,IAAMG,EAAkBD,EAAON,CAAM,EACrCI,EAAUE,EAAOF,CAAO,GAAKG,EAC7B,IAAMC,EAAQ,QAAQ,IAAID,EAAiBN,CAAI,EAC/C,OAAI,OAAOO,GAAU,WACfA,EAAM,YAAY,OAAS,cACtB,IAAIC,IAAoBF,EAAgBN,CAAI,EAAE,GAAGQ,CAAI,EAEvDD,EAAM,KAAKJ,CAAO,EAElBI,CAEX,CAlBgBd,EAAAS,GAAA,kBFrChB,IAAMO,GAAyC,CAC7C,OAAQ,mBACR,eAAgB,kBAClB,EASaC,EAAN,KAA+C,CA5BtD,MA4BsD,CAAAC,EAAA,yBAC5C,QACA,IACR,YAAYC,EAA4B,CACtC,KAAK,IAAMA,EAAO,IAClB,KAAK,QAAU,OAAO,OAAO,CAAC,EAAGH,GAAgBG,EAAO,OAAO,CACjE,CAEA,OACEC,EACAC,EACM,CACND,EAAM,QAASE,GAAS,CACtB,KAAK,QAAQ,QAAQA,CAAI,CAC3B,CAAC,EACDD,EAAe,CAAE,KAAME,GAAiB,OAAQ,CAAC,CACnD,CAEA,UAA0B,CAGxB,OAAO,QAAQ,QAAQ,CACzB,CAEA,YAA6B,CAG3B,OAAO,QAAQ,QAAQ,CACzB,CAEA,iBAAmBL,EAAA,MAAOE,GAA0B,CAClD,GAAIA,EAAM,SAAW,EACnB,OAGFA,EAAM,QAASE,GAAS,CACtBE,EAAwBF,EAAK,UAAqC,CACpE,CAAC,EAED,IAAMG,EAAU,IAAI,YACdC,EAAgBC,GAAoB,iBAAiBP,CAAK,EAE1DQ,EAAOH,EAAQ,OAAOC,CAAa,EAEnCG,EAAW,MAAMC,EAAO,KAAK,EAAE,KAAK,IAAK,CAC7C,OAAQ,OACR,KAAAF,EACA,QAAS,KAAK,OAChB,CAAC,EAGD,GAAI,CAACC,EAAS,GACZ,GAAI,CACF,IAAME,EAAO,MAAMF,EAAS,KAAK,EAEjC,MAAM,IAAI,MAAM,2BAA2BA,EAAS,MAAM,IAAIE,CAAI,EAAE,CACtE,OAASC,EAAK,CACZ,MAAM,IAAI,MAAM,0BAA0BA,EAAI,OAAO,EAAE,CACzD,CAEJ,EA9BmB,oBAgCnB,QAAU,IAAIC,GAAmC,KAAK,iBAAkB,CACtE,QAAS,EACX,CAAC,CACH,EAEaC,EAAN,KAAmD,CA/F1D,MA+F0D,CAAAhB,EAAA,wBAChD,QACA,IACA,QAER,YAAYiB,EAAkCC,EAA4B,CACxE,KAAK,IAAMD,EAAa,IACxB,KAAK,QAAU,OAAO,OAAO,CAAC,EAAGnB,GAAgBmB,EAAa,OAAO,EACrE,KAAK,QAAU,IAAIF,GACjB,KAAK,iBACL,CACE,QAASG,GAAa,sBAAwB,EAChD,CACF,CACF,CAEA,OACEC,EACAhB,EACM,CACNgB,EAAK,QAASC,GAAQ,CACpB,KAAK,QAAQ,QAAQA,CAAG,CAC1B,CAAC,EACDjB,EAAe,CAAE,KAAME,GAAiB,OAAQ,CAAC,CACnD,CAEA,UAA0B,CAGxB,OAAO,QAAQ,QAAQ,CACzB,CAEA,iBAAmBL,EAAA,MAAOmB,GAA8B,CACtD,GAAIA,EAAK,SAAW,EAClB,OAGFA,EAAK,QAASC,GAAQ,CACpBd,EAAwBc,EAAI,UAAqC,CACnE,CAAC,EAED,IAAMb,EAAU,IAAI,YACdC,EAAgBa,GAAmB,iBAAiBF,CAAI,EACxDT,EAAOH,EAAQ,OAAOC,CAAa,EAEnCG,EAAW,MAAMC,EAAO,KAAK,EAAE,KAAK,IAAK,CAC7C,OAAQ,OACR,KAAAF,EACA,QAAS,KAAK,OAChB,CAAC,EAGD,GAAI,CAACC,EAAS,GACZ,GAAI,CACF,IAAME,EAAO,MAAMF,EAAS,KAAK,EAEjC,MAAM,IAAI,MACR,8BAA8BA,EAAS,MAAM,IAAIE,CAAI,EACvD,CACF,OAASC,EAAK,CACZ,MAAM,IAAI,MAAM,8BAA8BA,EAAI,OAAO,EAAE,CAC7D,CAEJ,EA/BmB,mBAgCrB,EG/JA,OAGE,mBAAAQ,GACA,gBAAAC,OACK,iBCLP,OAEE,WAAWC,EAGX,eAAAC,GAEA,YAAAC,GAEA,kBAAAC,GACA,SAAAC,OACK,qBCXP,OAAS,WAAAC,OAAe,qBACxB,OAAS,6BAAAC,OAAiC,sBCUnC,IAAMC,EAAN,KAAwD,CAX/D,MAW+D,CAAAC,EAAA,4BACrD,SAER,YAAYC,EAA6B,CACvC,KAAK,SAAWA,CAClB,CAEA,YAA4B,CAE1B,OAAO,QAAQ,QAAQ,CACzB,CAEA,UAA0B,CAExB,OAAO,QAAQ,QAAQ,CACzB,CAEA,OAAOC,EAA4B,CACjC,KAAK,SAAS,OAAO,CAACA,CAAS,EAAIC,GAAY,CAK/C,CAAC,CACH,CACF,ECpCA,OAAS,kBAAAC,GAAgB,cAAAC,OAAkB,qBAC3C,OACE,sBAAAC,GAGA,4BAAAC,OACK,gCACP,OAAS,sBAAAC,OAA0B,iBAiB5B,SAASC,GAAoBC,EAAqC,CACvE,OAAQC,GAAc,CACpB,IAAMC,EAAgBD,EAAU,cAChC,OACEC,EAAc,WAAWC,GAAmB,WAAW,GACvDD,EAAc,WAAWC,GAAmB,WAAW,GACvDD,EAAc,WAAWC,GAAmB,UAAU,IAAM,GAErD,GAEFH,EAAQC,CAAS,CAC1B,CACF,CAZgBG,EAAAL,GAAA,uBAcT,SAASM,GAAiBC,EAAwC,CACvE,OAAQL,GACCK,EAAS,OACd,CAACC,EAAQP,IAAYO,GAAUP,EAAQC,CAAS,EAChD,EACF,CAEJ,CAPgBG,EAAAC,GAAA,oBAST,IAAMG,GAA8BJ,EAACH,IACpBA,EAAU,cAEf,YAAY,EAAE,WAAaQ,GAAW,WACrDA,GAAW,QAJ4B,iBAQ9BC,GAAgCN,EAACH,GACtBA,EAAU,cACX,OAAO,OAASU,GAAe,MAFT,mBAKtC,SAASC,GAAcC,EAA0C,CACtE,IAAMC,EAAe,IAAIC,GAAyBF,EAAK,KAAK,EAC5D,OAAI,OAAOA,EAAK,cAAiB,WAAa,CAACA,EAAK,aAC3C,IAAIG,GAAmB,CAC5B,KAAMF,EACN,oBAAqBA,EACrB,uBAAwBA,CAC1B,CAAC,EAEM,IAAIE,GAAmB,CAAE,KAAMF,CAAa,CAAC,CAExD,CAXgBV,EAAAQ,GAAA,iBC1DhB,OAAS,oBAAAK,OAAwB,sBAMjC,SAASC,IAA2B,CAClC,IAAMC,EAAOC,EAAgB,EAC7B,OAAKD,GACH,QAAQ,IACN,mEACF,EAEKA,EAAOA,EAAK,SAAS,YAAc,IAAM,EAClD,CARSE,EAAAH,GAAA,cAUT,IAAMI,GAAN,KAAiB,CAlBjB,MAkBiB,CAAAD,EAAA,mBACP,gBAAkC,CAAC,EACnC,gBAAkB,IAAI,IACtB,SACA,eAAkC,CAAC,EACnC,cACA,cACR,UAAY,GAEZ,YAAYE,EAAwB,CAClC,KAAK,SAAWA,CAClB,CAEA,QAAQC,EAAkB,CACxB,IAAMC,EAAeD,EACrB,KAAK,cAAgB,KAAK,eAAiBC,EAC3C,KAAK,gBAAgB,KAAKA,CAAY,EACtC,KAAK,gBAAgB,IAAID,EAAK,YAAY,EAAE,MAAM,CACpD,CAEA,aAAc,CACZ,OAAO,KAAK,gBAAgB,OAAS,GAAK,KAAK,SACjD,CAEA,MAAM,QAAQA,EAAmC,CAC/C,KAAK,gBAAgB,OAAOA,EAAK,YAAY,EAAE,MAAM,EACjD,KAAK,gBAAgB,OAAS,GAChC,MAAM,KAAK,MAAM,CAErB,CAEA,QAAS,CACP,GAAI,KAAK,gBAAkB,QAAa,KAAK,gBAAgB,OAAS,EAAG,CACvE,IAAME,EAAUR,GAAW,EAC3B,KAAK,cAAgBQ,EAAQ,CAC3B,QAAS,KAAK,cAAe,YAAY,EAAE,QAC3C,cAAe,KAAK,cACpB,MAAO,KAAK,eACd,CAAC,CACH,CACA,KAAK,gBAAkB,KAAK,cAAgB,KAAK,gBAAkB,CAAC,CACtE,CAEA,MAAM,OAAuB,CAC3B,GAAI,KAAK,gBAAgB,OAAS,EAAG,CACnC,IAAMC,EAAkB,KAAK,gBAAgB,OAAQH,GACnD,KAAK,iBAAiBA,CAAI,CAC5B,EACA,QAAWA,KAAQG,EACjB,QAAQ,IAAI,QAAQH,EAAK,YAAY,EAAE,MAAM,yBAAyB,EACtEA,EAAK,IAAI,EAEX,KAAK,OAAO,EACZ,KAAK,eAAe,KAAK,KAAK,YAAY,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC,EACpE,KAAK,gBAAkB,CAAC,CAC1B,CACI,KAAK,eAAe,OAAS,IAC/B,MAAM,QAAQ,WAAW,KAAK,cAAc,EAC5C,KAAK,eAAiB,CAAC,EACvB,KAAK,UAAY,GAErB,CAEQ,iBAAiBA,EAAoB,CAC3C,OAAO,KAAK,gBAAgB,IAAIA,EAAK,YAAY,EAAE,MAAM,CAC3D,CAEA,MAAc,YAAYI,EAAsC,CAC9D,IAAMC,EAAST,EAAgB,EAC/B,GAAI,CAACS,EAAQ,CAEX,QAAQ,IAAI,sDAAsD,EAClE,MACF,CACA,IAAMC,EAAiBD,EAAO,cAAcD,CAAK,EACjD,MAAM,UAAU,KAAK,CAAC,EAWtB,MAVgB,IAAI,QAAc,CAACG,EAASC,IAAW,CACrD,KAAK,SAAS,OAAOF,EAAiBG,GAAW,CAC3CA,EAAO,OAASC,GAAiB,QACnCH,EAAQ,GAER,QAAQ,IAAI,2BAA2BE,EAAO,KAAK,EAAE,EACrDD,EAAOC,EAAO,KAAK,EAEvB,CAAC,CACH,CAAC,CAEH,CACF,EAWaE,EAAN,KAAqE,CAG1E,YAAoBZ,EAAwB,CAAxB,cAAAA,CAAyB,CAAzB,SAxHtB,MAqH4E,CAAAF,EAAA,gCAClE,OAAsC,CAAC,EAI/C,cAAce,EAA6B,CACzC,IAAMC,EAAa,KAAK,OAAOD,CAAO,GAAK,IAAId,GAAW,KAAK,QAAQ,EACvE,YAAK,OAAOc,CAAO,EAAIC,EAChBA,CACT,CAEA,QAAQb,EAAYc,EAA8B,CAChD,IAAMF,EAAUZ,EAAK,YAAY,EAAE,QACnC,KAAK,cAAcY,CAAO,EAAE,QAAQZ,CAAI,CAC1C,CAEA,MAAMA,EAA0B,CAC9B,IAAMY,EAAUZ,EAAK,YAAY,EAAE,QAC7Ba,EAAa,KAAK,cAAcD,CAAO,EAGxCC,EACF,QAAQb,CAAI,EACZ,MAAOe,GAAQ,CACd,QAAQ,IAAIA,EAAK,oBAAoB,CACvC,CAAC,EACA,QAAQ,IAAM,CACTF,EAAW,YAAY,GACzB,OAAO,KAAK,OAAOD,CAAO,CAE9B,CAAC,CACL,CAEA,MAAM,WAAWA,EAAkC,CACjD,GAAIA,EACF,MAAM,KAAK,cAAcA,CAAO,EAAE,MAAM,EACxC,OAAO,KAAK,OAAOA,CAAO,MACrB,CACL,IAAMI,EAAW,OAAO,OAAO,KAAK,MAAM,EAAE,IACzCH,GAA2BA,EAAW,KACzC,EACA,MAAM,QAAQ,WAAWG,CAAQ,EACjC,KAAK,OAAS,CAAC,CACjB,CACF,CAEA,MAAM,UAA0B,CAC9B,MAAM,KAAK,WAAW,CACxB,CACF,ECsEO,SAASC,GACdC,EACqC,CAGrC,MAF0B,CAAC,CAAEA,EAC1B,cAEL,CANgBC,EAAAF,GAAA,yBAQT,SAASG,GACdF,EACuC,CACvC,IAAMG,EAAoB,CAAC,CAAEH,EAC1B,eACGI,EAAmB,CAAC,CAAEJ,EACzB,cACH,OAAOG,GAAqBC,CAC9B,CARgBH,EAAAC,GAAA,qBJtNhB,IAAMG,GAAe,OAAO,4BAA4B,EAIjD,SAASC,GAAUC,EAA6BC,EAAMC,GAAQ,OAAO,EAAG,CAC7E,OAAOD,EAAI,SAASH,GAAcE,CAAM,CAC1C,CAFgBG,EAAAJ,GAAA,aAIT,SAASK,GAAmD,CAEjE,OADeF,GAAQ,OAAO,EAAE,SAASJ,EAAY,GACpC,MACnB,CAHgBK,EAAAC,EAAA,mBAKhB,SAASC,GACPC,EACoB,CACpB,MAAO,CAAC,CAAEA,EAAoB,YAChC,CAJSH,EAAAE,GAAA,aAMT,SAASE,GACPP,EAC+B,CAC/B,MAAO,CAAC,CAAEA,EAA+B,QAC3C,CAJSG,EAAAI,GAAA,yBAMT,SAASC,GACPR,EACqC,CACrC,MACE,CAAC,CAAEA,EAAqC,QACxC,CAAC,CAAEA,EAAqC,UACxC,CAAC,CAAEA,EAAqC,OAE5C,CARSG,EAAAK,GAAA,+BAUF,SAASC,GAAYC,EAA4C,CACtE,IAAIC,EAAkC,CAAC,EACnCC,EAAsC,CAAC,EACvCL,GAAsBG,CAAQ,EAEhCC,EAAiB,CACf,IAAIE,EAAwB,IAAIC,EAAiBJ,EAAS,QAAQ,CAAC,CACrE,EACSF,GAA4BE,CAAQ,GAE7CC,EAAiB,CACf,IAAIE,EACF,IAAIC,EAAiB,CACnB,IAAKJ,EAAS,SACd,QAASA,EAAS,OACpB,CAAC,CACH,CACF,EACAE,EAAgB,CACd,IAAIG,EACF,IAAIC,EAAgB,CAClB,IAAKN,EAAS,OACd,QAASA,EAAS,OACpB,CAAC,CACH,CACF,GACSO,GAAkBP,CAAQ,GAEnCC,EAAiB,MAAM,QAAQD,EAAS,cAAc,EAClDA,EAAS,eACT,CAACA,EAAS,cAAc,EAC5BE,EAAgB,MAAM,QAAQF,EAAS,aAAa,EAChDA,EAAS,cACT,CAACA,EAAS,aAAa,GAClBQ,GAAsBR,CAAQ,IAEvCC,EAAiB,MAAM,QAAQD,EAAS,cAAc,EAClDA,EAAS,eACT,CAACA,EAAS,cAAc,GAG9B,IAAMS,EAAiBT,EAAS,UAAU,aAAe,CAAE,MAAO,CAAE,EAC9DU,EAAcf,GAAUc,CAAc,EACxCA,EACAE,GAAcF,CAAc,EAEhC,MAAO,CACL,MAAO,CACL,oBAAqBT,EAAS,OAAO,qBAAuB,EAC9D,EACA,SAAU,CACR,MAAO,CACL,mBACEA,EAAS,UAAU,OAAO,oBAAsB,EACpD,CACF,EACA,cAAeA,EAAS,gBAAmBY,GAA0BA,GACrE,SAAU,CACR,YAAAF,EACA,YAAaG,GACXb,EAAS,UAAU,aACjBc,GAAiB,CAACC,GAAeC,EAAe,CAAC,CACrD,CACF,EACA,QAAShB,EAAS,QAClB,mBAAoBA,EAAS,mBAC7B,eAAAC,EACA,WAAYD,EAAS,YAAc,IAAIiB,GACvC,gBAAiB,CACf,sBACEjB,EAAS,iBAAiB,uBAAyB,EACvD,EACA,cAAeE,CACjB,CACF,CA1EgBT,EAAAM,GAAA,eD7BT,SAASmB,GAAwBC,EAA8B,CACpE,IAAMC,EAAyC,CAAC,EAC1CC,EAAUF,EAAQ,QAExBC,EAAM,qBAAqB,EAAID,EAAQ,OAAO,YAAY,EAC1DC,EAAM,wBAAwB,EAAIC,EAAQ,IAAI,gBAAgB,EAC9DD,EAAM,qBAAqB,EAAIC,EAAQ,IAAI,YAAY,EACvDD,EAAM,gBAAgB,EAAIC,EAAQ,IAAI,cAAc,EACpDD,EAAM,cAAc,EAAIC,EAAQ,IAAI,QAAQ,EAE5C,IAAMC,EAAI,IAAI,IAAIH,EAAQ,GAAG,EAC7B,OAAAC,EAAM,UAAU,EAAI,GAAGE,EAAE,QAAQ,KAAKA,EAAE,IAAI,GAAGA,EAAE,QAAQ,GAAGA,EAAE,MAAM,GACpEF,EAAM,gBAAgB,EAAIE,EAAE,KAC5BF,EAAM,YAAY,EAAIE,EAAE,SACxBF,EAAM,UAAU,EAAIE,EAAE,SACtBF,EAAM,WAAW,EAAIE,EAAE,OAEhBF,CACT,CAlBgBG,EAAAL,GAAA,2BAoBT,SAASM,GAAyBC,EAAgC,CACvE,IAAML,EAAyC,CAAC,EAChD,OAAAA,EAAM,2BAA2B,EAAIK,EAAS,OAC1CA,EAAS,QAAQ,IAAI,gBAAgB,GAAM,OAC7CL,EAAM,yBAAyB,EAAIK,EAAS,QAAQ,IAAI,gBAAgB,GAE1EL,EAAM,gBAAgB,EAAIK,EAAS,QAAQ,IAAI,cAAc,EACtDL,CACT,CARgBG,EAAAC,GAAA,4BAUT,SAASE,GAA4BL,EAA2B,CACrE,OAAOM,GAAY,QAAQC,EAAW,OAAO,EAAGP,EAAS,CACvD,IAAIA,EAASQ,EAAK,CAChB,OAAOR,EAAQ,IAAIQ,CAAG,GAAK,MAC7B,EACA,KAAKR,EAAS,CACZ,MAAO,CAAC,GAAGA,EAAQ,KAAK,CAAC,CAC3B,CACF,CAAC,CACH,CATgBE,EAAAG,GAAA,+BAWhB,SAASI,GAA4BX,EAAkB,CACrD,IAAMY,EAAeC,EAAgB,EAErC,OAAID,IAAiB,OACZH,EAAW,OAAO,GAIzB,OAAOG,EAAa,SAAS,MAAM,oBAAuB,WACtDA,EAAa,SAAS,MAAM,mBAAmBZ,CAAO,EACrDY,EAAa,SAAS,MAAM,oBAAsB,IAErDL,GAA4BP,EAAQ,OAAO,EAC3CS,EAAW,OAAO,CACxB,CAdSL,EAAAO,GAAA,+BAgBT,SAASG,GAAsBC,EAAYf,EAAkB,CAC3D,IAAMgB,EAAWD,EACjB,GAAIC,EAAS,WAAW,YAAY,EAAG,CACrC,IAAMC,EAASjB,EAAQ,OAAO,YAAY,EAC1Ce,EAAK,WAAW,GAAGE,CAAM,IAAID,EAAS,WAAW,YAAY,CAAC,EAAE,CAClE,CACF,CANSZ,EAAAU,GAAA,yBAQF,IAAMI,GAGT,CACF,mBAAoBd,EAACJ,GAAY,CAC/B,IAAMmB,EAAcR,GAA4BX,CAAO,EACjDoB,EAAa,CAChB,eAAiB,OACjB,qBAAuBpB,EAAQ,QAAQ,IAAI,QAAQ,GAAK,OACxD,YAAcA,EAAQ,QAAQ,IAAI,QAAQ,GAAK,MAClD,EACA,cAAO,OAAOoB,EAAYrB,GAAwBC,CAAO,CAAC,EAOnD,CACL,KAAM,gBAFOA,EAAQ,OAAO,YAAY,CAEZ,GAC5B,QAAS,CACP,WAAAoB,EACA,KAAMC,GAAS,MACjB,EACA,QAASF,CACX,CACF,EAtBoB,sBAuBpB,wBAAyBf,EAACE,GACjBD,GAAyBC,CAAQ,EADjB,2BAGzB,iBAAkBQ,GAClB,gBAAiBA,EACnB,EAGO,SAASQ,GACdC,EACAC,EACAvB,EACc,CAsDd,OAAOwB,EAAKF,EArDgC,CAC1C,MAAOnB,EAAA,CAACsB,EAAQC,EAASC,IAA2C,CAClE,IAAM5B,EAAU,IAAI,QAAQ4B,EAAS,CAAC,EAAGA,EAAS,CAAC,CAAC,EACpD,GAAI,CAAC5B,EAAQ,IAAI,WAAW,MAAM,EAChC,OAAO,QAAQ,MAAM0B,EAAQC,EAASC,CAAQ,EAGhD,IAAMC,EAAehB,EAAgB,EACrC,GAAI,CAACgB,EACH,OAAO,QAAQ,MAAMH,EAAQC,EAAS,CAAC3B,CAAO,CAAC,EAEjD,IAAM8B,EAASN,EAASK,CAAY,EAE9BE,EAASC,GAAM,UAAU,SAAS,EAClCC,EAAuB,CAAE,KAAMZ,GAAS,OAAQ,WAAYpB,CAAM,EAElEiC,EAAO,IAAI,IAAIlC,EAAQ,GAAG,EAAE,KAC5BiB,EAASjB,EAAQ,OAAO,YAAY,EACpCmC,EACJ,OAAOlC,GAAQ,MAAY,SACvBA,GAAQ,KACR,GAAGgB,CAAM,KAAKiB,CAAI,GA6BxB,OA5BgBH,EAAO,gBACrBI,EACAF,EACA,MAAOlB,GAAS,CACd,GAAI,GAEA,OAAOe,EAAO,qBAAwB,WAClCA,EAAO,oBAAoB9B,CAAO,EAClC8B,EAAO,sBACc,KACzBtB,GAAY,OAAOC,EAAW,OAAO,EAAGT,EAAQ,QAAS,CACvD,IAAKI,EAAA,CAACgC,GAAGC,GAAGC,IACVF,GAAE,IAAIC,GAAG,OAAOC,GAAM,SAAWA,EAAI,OAAOA,CAAC,CAAC,EAD3C,MAEP,CAAC,EAEHvB,EAAK,cAAchB,GAAwBC,CAAO,CAAC,EACnD,IAAMM,GAAW,MAAM,QAAQ,MAAMoB,EAAQC,EAAS,CAAC3B,CAAO,CAAC,EAC/D,OAAAe,EAAK,cAAcV,GAAyBC,EAAQ,CAAC,EAC9CA,EACT,OAASiC,EAAgB,CACvB,MAAAxB,EAAK,gBAAgBwB,CAAkB,EACvCxB,EAAK,UAAU,CAAE,KAAMyB,GAAe,KAAM,CAAC,EACvCD,CACR,QAAE,CACAxB,EAAK,IAAI,CACX,CACF,CACF,CAEF,EAlDO,QAmDT,EAC8B,EAAI,CACpC,CA3DgBX,EAAAkB,GAAA,yBA6DT,SAASmB,IAA8B,CAC5C,WAAW,MAAQnB,GACjB,WAAW,MACVQ,GAAWA,EAAO,KACrB,CACF,CALgB1B,EAAAqC,GAAA,yBMrMhB,OACE,WAAWC,GACX,WAAAC,GAEA,eAAAC,GACA,kBAAAC,GACA,SAAAC,OACK,qBACP,OAAmB,0BAAAC,OAA8B,2BACjD,OACE,yBAAAC,GACA,uBAAAC,GACA,uBAAAC,GACA,qBAAAC,GACA,0BAAAC,GACA,wBAAAC,GACA,2BAAAC,OACK,iDACP,OACE,sBAAAC,OAGK,iBCNP,OAAS,qBAAAC,OAAyB,mBAClC,OAAS,gBAAAC,OAAoB,cAC7B,OAAkC,gBAAAC,OAAoB,qBAatD,IAAMC,GAAuB,CAC3B,cACA,KACA,OACA,kBACA,qBACF,EAEeC,GAAf,KAA0E,CAvC1E,MAuC0E,CAAAC,EAAA,yCAoBxE,KAAQC,EAAkBC,EAAc,CACtC,OAAIA,aAAkBC,GACb,KAAK,kBAAkBF,EAASC,CAAM,EAG3C,OAAOA,GAAW,WACb,KAAK,cAAcD,EAASC,CAAM,EAEpCA,CACT,CAGQ,cAAkCD,EAAkBC,EAAc,CACxE,IAAME,EAAU,KACVC,EAAiBL,EAAA,YAA0BM,EAAiB,CAChE,OAAOF,EAAQ,KAAKH,EAAS,IAAMC,EAAO,MAAM,KAAMI,CAAI,CAAC,CAC7D,EAFuB,kBAGvB,cAAO,eAAeD,EAAgB,SAAU,CAC9C,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOH,EAAO,MAChB,CAAC,EAMMG,CACT,CASQ,kBACNJ,EACAM,EACG,CAEH,OADY,KAAK,aAAaA,CAAE,IACpB,SACZ,KAAK,gBAAgBA,CAAE,EAGvBT,GAAqB,QAASU,GAAe,CACvCD,EAAGC,CAAU,IAAM,SACvBD,EAAGC,CAAU,EAAI,KAAK,kBAAkBD,EAAIA,EAAGC,CAAU,EAAGP,CAAO,EACrE,CAAC,EAEG,OAAOM,EAAG,gBAAmB,aAC/BA,EAAG,eAAiB,KAAK,qBAAqBA,EAAIA,EAAG,cAAc,GAEjE,OAAOA,EAAG,KAAQ,aACpBA,EAAG,IAAM,KAAK,qBAAqBA,EAAIA,EAAG,GAAG,GAG3C,OAAOA,EAAG,oBAAuB,aACnCA,EAAG,mBAAqB,KAAK,yBAC3BA,EACAA,EAAG,kBACL,IAEKA,CACT,CAUQ,qBAAqBA,EAAkBE,EAAoB,CACjE,IAAMC,EAAiB,KACvB,OAAO,SAAuBC,EAAeC,EAAsB,CACjE,IAAMC,EAASH,EAAe,aAAaH,CAAE,IAAII,CAAK,EACtD,GAAIE,IAAW,OACb,OAAOJ,EAAS,KAAK,KAAME,EAAOC,CAAQ,EAE5C,IAAME,EAAkBD,EAAO,IAAID,CAAQ,EAC3C,OAAOH,EAAS,KAAK,KAAME,EAAOG,GAAmBF,CAAQ,CAC/D,CACF,CAUQ,yBAAyBL,EAAkBE,EAAoB,CACrE,IAAMC,EAAiB,KACvB,OAAO,SAAuBC,EAAe,CAC3C,IAAMI,EAAML,EAAe,aAAaH,CAAE,EAC1C,OAAIQ,IAAQ,SAEN,UAAU,SAAW,EACvBL,EAAe,gBAAgBH,CAAE,EACxBQ,EAAIJ,CAAK,IAAM,QACxB,OAAOI,EAAIJ,CAAK,GAIbF,EAAS,MAAM,KAAM,SAAS,CACvC,CACF,CASQ,kBACNF,EAEAE,EACAR,EACA,CACA,IAAMS,EAAiB,KACvB,OAAO,SAAuBC,EAAeC,EAAsB,CASjE,GAAIF,EAAe,SACjB,OAAOD,EAAS,KAAK,KAAME,EAAOC,CAAQ,EAE5C,IAAIG,EAAML,EAAe,aAAaH,CAAE,EACpCQ,IAAQ,SACVA,EAAML,EAAe,gBAAgBH,CAAE,GAEzC,IAAIS,EAAYD,EAAIJ,CAAK,EACrBK,IAAc,SAChBA,EAAY,IAAI,QAChBD,EAAIJ,CAAK,EAAIK,GAEf,IAAMF,EAAkBJ,EAAe,KAAKT,EAASW,CAAQ,EAE7DI,EAAU,IAAIJ,EAAUE,CAAe,EAKvCJ,EAAe,SAAW,GAC1B,GAAI,CACF,OAAOD,EAAS,KAAK,KAAME,EAAOG,CAAe,CACnD,QAAE,CACAJ,EAAe,SAAW,EAC5B,CACF,CACF,CAEQ,gBAAgBH,EAA4B,CAClD,IAAMQ,EAAM,OAAO,OAAO,IAAI,EAE9B,OAACR,EAAW,KAAK,aAAa,EAAIQ,EAC3BA,CACT,CACQ,aAAaR,EAAwC,CAC3D,OAAQA,EAAa,KAAK,aAAa,CACzC,CAEiB,cAAgB,OAAO,aAAa,EAC7C,SAAW,EACrB,EAEaU,EAAN,cAA8ClB,EAAiC,CA7OtF,MA6OsF,CAAAC,EAAA,wCAC5E,mBAER,aAAc,CACZ,MAAM,EACN,KAAK,mBAAqB,IAAIkB,EAChC,CAEA,QAAkB,CAChB,OAAO,KAAK,mBAAmB,SAAS,GAAKC,EAC/C,CAEA,KACElB,EACAmB,EACAC,KACGf,EACY,CACf,IAAMgB,EAAKD,GAAW,KAAOD,EAAKA,EAAG,KAAKC,CAAO,EACjD,OAAO,KAAK,mBAAmB,IAAIpB,EAASqB,EAAa,GAAGhB,CAAI,CAClE,CAEA,QAAe,CACb,OAAO,IACT,CAEA,SAAgB,CACd,YAAK,mBAAmB,QAAQ,EACzB,IACT,CACF,EC3QA,OAAS,SAAAiB,OAAa,qBCAtB,OAEE,WAAWC,GAIX,YAAAC,GAEA,cAAAC,GAEA,SAAAC,MACK,qBACP,OAAS,sBAAAC,OAA0B,sBAEnC,OACE,qBAAAC,GAEA,oBAAAC,OAEK,gCCnBP,OAQE,YAAAC,GAEA,kBAAAC,OAEK,qBACP,OACE,kBAAAC,GAEA,oBAAAC,GACA,eAAAC,GACA,sBAAAC,OACK,sBAGP,OACE,0BAAAC,GACA,6BAAAC,GACA,uBAAAC,OACK,sCAkBP,SAASC,GAA6BC,EAAkC,CACtE,IAAMC,EAAyB,CAAC,EAChC,OAAI,OAAOD,GAAc,SACvBC,EAAWC,EAAsB,EAAIF,GAEjCA,EAAU,KACZC,EAAWE,EAAmB,EAAIH,EAAU,KAAK,SAAS,EACjDA,EAAU,OACnBC,EAAWE,EAAmB,EAAIH,EAAU,MAE1CA,EAAU,UACZC,EAAWC,EAAsB,EAAIF,EAAU,SAE7CA,EAAU,QACZC,EAAWG,EAAyB,EAAIJ,EAAU,QAG/CC,CACT,CAlBSI,EAAAN,GAAA,gCAoBT,SAASO,GAAWC,EAAwB,CAC1C,MAAO,CAAC,KAAK,MAAMA,EAAS,GAAI,EAAIA,EAAS,IAAQ,GAAG,CAC1D,CAFSF,EAAAC,GAAA,cAIT,SAASE,GAAUC,EAA2B,CAC5C,IAAMC,EAAM,KAAK,IAAI,EACrB,GAAKD,EAEE,IAAIA,aAAiB,KAC1B,OAAOH,GAAWG,EAAM,QAAQ,CAAC,EAC5B,GAAI,OAAOA,GAAU,SAE1B,OAAOH,GAAWG,CAAK,EAClB,GAAI,MAAM,QAAQA,CAAK,EAC5B,OAAOA,MAPP,QAAOH,GAAWI,CAAG,EAUvB,IAAMC,EAAWF,EACjB,MAAM,IAAI,MAAM,sBAAsB,KAAK,UAAUE,CAAC,CAAC,EAAE,CAC3D,CAfSN,EAAAG,GAAA,aAkBT,SAASI,GAAeC,EAA6B,CACnD,OAAO,OAAOA,GAAQ,UAAYA,EAAI,OAAS,CACjD,CAFSR,EAAAO,GAAA,kBAIF,IAAME,EAAN,KAA6C,CA1FpD,MA0FoD,CAAAT,EAAA,iBAClD,KACiB,aACA,MACR,aACA,kBACA,KACA,WACT,OAAqB,CACnB,KAAMU,GAAe,KACvB,EACA,QAAkB,CAAC,EAAG,CAAC,EACf,UAAoB,CAAC,EAAG,CAAC,EACxB,UACA,OAAuB,CAAC,EACxB,MACA,SACT,qBAA6CC,GACrC,OAAkB,GAClB,wBAAkC,EAClC,oBAA8B,EAC9B,mBAA6B,EAErC,YAAYC,EAAgB,CAC1B,KAAK,KAAOA,EAAK,KACjB,KAAK,aAAeA,EAAK,YACzB,KAAK,aAAeA,EAAK,aACzB,KAAK,kBAAoBA,EAAK,kBAC9B,KAAK,KAAOA,EAAK,UAAYC,GAAS,SACtC,KAAK,WAAaC,GAAmBF,EAAK,UAAU,EACpD,KAAK,UAAYT,GAAUS,EAAK,SAAS,EACzC,KAAK,MAAQA,EAAK,OAAS,CAAC,EAC5B,KAAK,SAAWA,EAAK,SACrB,KAAK,MAAQA,EAAK,KACpB,CAEA,QAAQG,EAAkB,CACxB,YAAK,MAAM,KAAKA,CAAI,EACb,IACT,CACA,SAASC,EAAqB,CAC5B,YAAK,MAAM,KAAK,GAAGA,CAAK,EACjB,IACT,CAEA,aAA2B,CACzB,OAAO,KAAK,YACd,CAEA,aAAaR,EAAaS,EAA8B,CACtD,OAAIV,GAAeC,CAAG,GAAKU,GAAiBD,CAAK,IAC/C,KAAK,WAAWT,CAAG,EAAIS,GAElB,IACT,CAEA,cAAcrB,EAA8B,CAC1C,OAAW,CAACY,EAAKS,CAAK,IAAK,OAAO,QAAQrB,CAAU,EAClD,KAAK,aAAaY,EAAKS,CAAK,EAE9B,OAAO,IACT,CAEA,SACEE,EACAC,EACAC,EACM,CACFC,GAAYF,CAAqB,IACnCC,EAAYD,EACZA,EAAwB,QAG1B,IAAMxB,EAAakB,GAAmBM,CAAqB,EACrDG,EAAOpB,GAAUkB,CAAS,EAChC,YAAK,OAAO,KAAK,CAAE,KAAAF,EAAM,WAAAvB,EAAY,KAAA2B,CAAK,CAAC,EACpC,IACT,CAEA,UAAUC,EAA0B,CAClC,YAAK,OAASA,EACP,IACT,CAEA,WAAWL,EAAoB,CAC7B,YAAK,KAAOA,EACL,IACT,CAEA,IAAIM,EAA2B,CACzB,KAAK,SAGT,KAAK,OAAS,GACd,KAAK,QAAUtB,GAAUsB,CAAO,EAChC,KAAK,UAAYC,GAAe,KAAK,UAAW,KAAK,OAAO,EAC5D,KAAK,MAAM,IAAI,EACjB,CAEA,aAAuB,CACrB,MAAO,CAAC,KAAK,MACf,CAEA,gBAAgB/B,EAAsB4B,EAAwB,CAC5D,IAAM3B,EAAaF,GAA6BC,CAAS,EACzD,KAAK,SAAS,YAAaC,EAAY2B,CAAI,CAC7C,CAEA,IAAI,UAAmB,CACrB,OAAO,KAAK,SACd,CAEA,IAAI,OAAiB,CACnB,OAAO,KAAK,MACd,CAEA,IAAI,wBAAiC,CACnC,OAAO,KAAK,uBACd,CAEA,IAAI,oBAA6B,CAC/B,OAAO,KAAK,mBACd,CAEA,IAAI,mBAA4B,CAC9B,OAAO,KAAK,kBACd,CACF,EDtLA,IAAMI,GAAiC,IAAIC,GAEvCC,GAEJ,SAASC,GAAUC,EAAsBC,EAA0B,CACjE,OAASD,GAAiBC,EAAW,EAAM,GAAKA,CAClD,CAFSC,EAAAH,GAAA,aAIF,IAAMI,EAAN,KAAqC,CA3C5C,MA2C4C,CAAAD,EAAA,qBACzB,eACA,SACjB,YAAYE,EAAiCC,EAAoB,CAC/D,KAAK,eAAiBD,EACtB,KAAK,SAAWC,CAClB,CAEA,MAAM,WAAWC,EAAkB,CACjC,IAAMC,EAAW,KAAK,eAAe,IAAI,MAAOC,GAAkB,CAChE,MAAMA,EAAc,WAAWF,CAAO,CACxC,CAAC,EACD,MAAM,QAAQ,WAAWC,CAAQ,CACnC,CAEA,cAAcE,EAAiB,CAC7B,KAAK,SAAS,MAAMA,CAAK,CAC3B,CAEA,UACEC,EACAC,EAAuB,CAAC,EACxBC,EAAUC,GAAW,OAAO,EACtB,CACFF,EAAQ,OACVC,EAAUE,EAAM,WAAWF,CAAO,GAGpC,IAAMG,EAASC,EAAgB,EAC/B,GAAI,CAACD,EACH,MAAM,IAAI,MACR,iEACF,EAEF,IAAME,EAAoBH,EAAM,QAAQF,CAAO,GAAG,YAAY,EACxD,CAAE,QAAAN,EAAS,gBAAAY,CAAgB,EAAIC,GAAaF,CAAiB,EAE7DG,EAAWT,EAAQ,MAAQU,GAAS,SACpCC,EAAiBC,GAAmBZ,EAAQ,UAAU,EAEtDa,EADUT,EAAO,SAAS,YACC,aAC/BH,EACAN,EACAI,EACAU,EACAE,EACA,CAAC,CACH,EACM,CAAE,SAAAG,EAAU,WAAAC,EAAY,WAAYC,CAAM,EAAIH,EAE9CI,EAAa,OAAO,OACxB,CAAC,EACDjB,EAAQ,WACRgB,EACA7B,EACF,EACAA,GAAyB,CAAC,EAE1B,IAAM+B,EAASjC,GAAY,eAAe,EACpCkC,EAAeb,GAAmB,OAMlCc,IAHJN,IAAaO,GAAiB,mBAC1BC,GAAW,QACXA,GAAW,MACef,EAC1BgB,GAAc,CAAE,QAAA5B,EAAS,OAAAuB,EAAQ,WAAAE,GAAY,WAAAL,CAAW,EAExDS,EAAO,IAAIC,EAAS,CACxB,WAAYb,GAAmBK,CAAU,EACzC,KAAAlB,EACA,MAAOR,EAACiC,IAAS,CACf,KAAK,eAAe,QAASE,IAAO,CAClCA,GAAG,MAAMF,EAA+B,CAC1C,CAAC,CACH,EAJO,SAKP,SAAU,KAAK,SACf,YAAAD,GACA,kBAAAjB,EACA,aAAAa,EACA,SAAAV,EACA,UAAWT,EAAQ,SACrB,CAAC,EACD,YAAK,eAAe,QAAS0B,IAAO,CAClCA,GAAG,QAAQF,EAAMvB,CAAO,CAC1B,CAAC,EACMuB,CACT,CAiBA,gBACEzB,KACG4B,EACY,CACf,IAAM3B,EAAU2B,EAAK,OAAS,EAAKA,EAAK,CAAC,EAAoB,OACvDC,EACJD,EAAK,OAAS,EAAKA,EAAK,CAAC,EAAgBzB,GAAW,OAAO,EACvD2B,EAAKF,EAAKA,EAAK,OAAS,CAAC,EAEzBH,EAAO,KAAK,UAAUzB,EAAMC,EAAS4B,CAAa,EAClDE,EAAqB3B,EAAM,QAAQyB,EAAeJ,CAAI,EAE5D,OAAOtB,GAAW,KAAK4B,EAAoBD,EAAI,OAAWL,CAAI,CAChE,CACF,EAMA,SAASO,GAAaC,EAGpB,CACA,GAAIA,GAAqBC,EAAM,mBAAmBD,CAAiB,EAAG,CACpE,GAAM,CAAE,QAAAE,EAAS,WAAAC,CAAW,EAAIH,EAChC,MAAO,CAAE,QAAAE,EAAS,gBAAiBE,GAAUD,EAAY,CAAC,CAAE,CAC9D,KACE,OAAO,CACL,QAASE,GAAY,gBAAgB,EACrC,gBAAiB,CACnB,CAEJ,CAbSC,EAAAP,GAAA,gBD5JF,IAAMQ,GAAN,KAAqB,CAX5B,MAW4B,CAAAC,EAAA,uBAC1B,qBAA2C,CAAC,EAE5C,IAAI,yBAA0B,CAC5B,OAAO,KAAK,qBAAqB,MACnC,CAEA,MAAMC,EAAiC,CACrC,KAAK,qBAAqB,KAAKA,CAAO,CACxC,CAEA,MAAM,MAAO,CACX,MAAMC,GAAkB,KAAK,oBAAoB,CACnD,CACF,EAEA,SAASC,GACPC,EACAC,EACAC,EACa,CAOb,OAAOC,EAAKH,EAN+B,CACzC,MAAMI,EAAQC,EAAUC,EAAU,CAChC,OAAAJ,EAAQ,MAAMI,EAAS,CAAC,CAAC,EAClB,QAAQ,MAAMF,EAAQH,EAASK,CAAQ,CAChD,CACF,CACuB,CACzB,CAZSV,EAAAG,GAAA,mBAcF,SAASQ,GACdN,EACmB,CACnB,IAAMC,EAAU,IAAIP,GAWpB,MAAO,CAAE,MAVG,IAAI,MAAMM,EAAS,CAC7B,IAAIG,EAAQI,EAAM,CAChB,GAAIA,IAAS,YAAa,CACxB,IAAMR,EAAK,QAAQ,IAAII,EAAQI,CAAI,EACnC,OAAOT,GAAgBC,EAAIC,EAASC,CAAO,CAC7C,KACE,QAAOO,GAAeL,EAAQI,CAAI,CAEtC,CACF,CAAC,EACoB,QAAAN,CAAQ,CAC/B,CAfgBN,EAAAW,GAAA,yBAgChB,eAAeG,GACbC,EAC0C,CAC1C,IAAIC,EAGJ,GACEA,EAAS,MAAM,QAAQ,WAAWD,CAAQ,QACnCC,EAAO,SAAWD,EAAS,QACpC,OAAOC,CACT,CAVeC,EAAAH,GAAA,qBGtDT,IAAOI,EAAP,KAAiB,CAnBvB,MAmBuB,CAAAC,EAAA,mBACrB,KAAKC,EAAqB,CAAS,GAGxBC,GAAc,IAAIH,ECFzB,IAAOI,GAAP,KAAyB,CArB/B,MAqB+B,CAAAC,EAAA,2BAC7B,UACEC,EACAC,EACAC,EAAoC,CAEpC,OAAO,IAAIC,CACb,GAGWC,EAAuB,IAAIN,GCVlC,IAAOO,EAAP,KAAkB,CArBxB,MAqBwB,CAAAC,EAAA,oBAItB,YACUC,EACQC,EACAC,EACAC,EAAmC,CAH3C,KAAA,UAAAH,EACQ,KAAA,KAAAC,EACA,KAAA,QAAAC,EACA,KAAA,QAAAC,CACf,CAOH,KAAKC,EAAoB,CACvB,KAAK,WAAU,EAAG,KAAKA,CAAS,CAClC,CAMQ,YAAU,CAChB,GAAI,KAAK,UACP,OAAO,KAAK,UAEd,IAAMC,EAAS,KAAK,UAAU,kBAC5B,KAAK,KACL,KAAK,QACL,KAAK,OAAO,EAEd,OAAKA,GAGL,KAAK,UAAYA,EACV,KAAK,WAHHC,EAIX,GCrCI,IAAOC,EAAP,KAA0B,CAtBhC,MAsBgC,CAAAC,EAAA,4BAG9B,UACEC,EACAC,EACAC,EAAmC,OAEnC,OACEC,EAAA,KAAK,kBAAkBH,EAAMC,EAASC,CAAO,KAAC,MAAAC,IAAA,OAAAA,EAC9C,IAAIC,EAAY,KAAMJ,EAAMC,EAASC,CAAO,CAEhD,CAEA,aAAW,OACT,OAAOC,EAAA,KAAK,aAAS,MAAAA,IAAA,OAAAA,EAAIE,CAC3B,CAKA,YAAYC,EAAwB,CAClC,KAAK,UAAYA,CACnB,CAEA,kBACEN,EACAC,EACAC,EAAmC,OAEnC,OAAOC,EAAA,KAAK,aAAS,MAAAA,IAAA,OAAA,OAAAA,EAAE,UAAUH,EAAMC,EAASC,CAAO,CACzD,GCxBK,IAAMK,GACX,OAAO,YAAe,SAClB,WACA,OAAO,MAAS,SACd,KACA,OAAO,QAAW,SAChB,OACA,OAAO,QAAW,SACf,OACA,CAAA,ECnBN,IAAMC,EAAsB,OAAO,IAAI,8BAA8B,EAO/DC,EAAUC,GAUjB,SAAUC,GACdC,EACAC,EACAC,EAAW,CAEX,OAAQC,GACNA,IAAYH,EAAkBC,EAAWC,CAC7C,CAPgBE,EAAAL,GAAA,cAgBT,IAAMM,GAAsC,ECxB7C,IAAOC,EAAP,MAAOC,CAAO,CA5BpB,MA4BoB,CAAAC,EAAA,gBAKlB,aAAA,CAFQ,KAAA,qBAAuB,IAAIC,CAEZ,CAEhB,OAAO,aAAW,CACvB,OAAK,KAAK,YACR,KAAK,UAAY,IAAIF,GAGhB,KAAK,SACd,CAEO,wBAAwBG,EAAwB,CACrD,OAAIC,EAAQC,CAAmB,EACtB,KAAK,kBAAiB,GAG/BD,EAAQC,CAAmB,EAAIC,GAC7BC,GACAJ,EACAK,CAAoB,EAEtB,KAAK,qBAAqB,YAAYL,CAAQ,EAEvCA,EACT,CAOO,mBAAiB,SACtB,OACEM,GAAAC,EAAAN,EAAQC,CAAmB,KAAC,MAAAK,IAAA,OAAA,OAAAA,EAAA,KAAAN,EAAGG,EAAmC,KAAC,MAAAE,IAAA,OAAAA,EACnE,KAAK,oBAET,CAOO,UACLE,EACAC,EACAC,EAAuB,CAEvB,OAAO,KAAK,kBAAiB,EAAG,UAAUF,EAAMC,EAASC,CAAO,CAClE,CAGO,SAAO,CACZ,OAAOT,EAAQC,CAAmB,EAClC,KAAK,qBAAuB,IAAIH,CAClC,GCvDK,IAAMY,GAAOC,EAAQ,YAAW,ECjBvC,OAAS,QAAAC,MAAY,qBCIf,IAAOC,EAAP,KAAiB,CAnBvB,MAmBuB,CAAAC,EAAA,mBACrB,KAAKC,EAAqB,CAAS,GAGxBC,EAAc,IAAIH,ECFzB,IAAOI,GAAP,KAAyB,CArB/B,MAqB+B,CAAAC,EAAA,2BAC7B,UACEC,EACAC,EACAC,EAAoC,CAEpC,OAAO,IAAIC,CACb,GAGWC,EAAuB,IAAIN,GCVlC,IAAOO,EAAP,KAAkB,CArBxB,MAqBwB,CAAAC,EAAA,oBAItB,YACUC,EACQC,EACAC,EACAC,EAAmC,CAH3C,KAAA,UAAAH,EACQ,KAAA,KAAAC,EACA,KAAA,QAAAC,EACA,KAAA,QAAAC,CACf,CAOH,KAAKC,EAAoB,CACvB,KAAK,WAAU,EAAG,KAAKA,CAAS,CAClC,CAMQ,YAAU,CAChB,GAAI,KAAK,UACP,OAAO,KAAK,UAEd,IAAMC,EAAS,KAAK,UAAU,kBAC5B,KAAK,KACL,KAAK,QACL,KAAK,OAAO,EAEd,OAAKA,GAGL,KAAK,UAAYA,EACV,KAAK,WAHHC,CAIX,GCrCI,IAAOC,EAAP,KAA0B,CAtBhC,MAsBgC,CAAAC,EAAA,4BAG9B,UACEC,EACAC,EACAC,EAAmC,OAEnC,OACEC,EAAA,KAAK,kBAAkBH,EAAMC,EAASC,CAAO,KAAC,MAAAC,IAAA,OAAAA,EAC9C,IAAIC,EAAY,KAAMJ,EAAMC,EAASC,CAAO,CAEhD,CAEA,aAAW,OACT,OAAOC,EAAA,KAAK,aAAS,MAAAA,IAAA,OAAAA,EAAIE,CAC3B,CAKA,YAAYC,EAAwB,CAClC,KAAK,UAAYA,CACnB,CAEA,kBACEN,EACAC,EACAC,EAAmC,OAEnC,OAAOC,EAAA,KAAK,aAAS,MAAAA,IAAA,OAAA,OAAAA,EAAE,UAAUH,EAAMC,EAASC,CAAO,CACzD,GCxBK,IAAMK,GACX,OAAO,YAAe,SAClB,WACA,OAAO,MAAS,SACd,KACA,OAAO,QAAW,SAChB,OACA,OAAO,QAAW,SACf,OACA,CAAA,ECnBN,IAAMC,EAAsB,OAAO,IAAI,8BAA8B,EAO/DC,EAAUC,GAUjB,SAAUC,GACdC,EACAC,EACAC,EAAW,CAEX,OAAQC,GACNA,IAAYH,EAAkBC,EAAWC,CAC7C,CAPgBE,EAAAL,GAAA,cAgBT,IAAMM,GAAsC,ECxB7C,IAAOC,EAAP,MAAOC,CAAO,CA5BpB,MA4BoB,CAAAC,EAAA,gBAKlB,aAAA,CAFQ,KAAA,qBAAuB,IAAIC,CAEZ,CAEhB,OAAO,aAAW,CACvB,OAAK,KAAK,YACR,KAAK,UAAY,IAAIF,GAGhB,KAAK,SACd,CAEO,wBAAwBG,EAAwB,CACrD,OAAIC,EAAQC,CAAmB,EACtB,KAAK,kBAAiB,GAG/BD,EAAQC,CAAmB,EAAIC,GAC7BC,GACAJ,EACAK,CAAoB,EAEtB,KAAK,qBAAqB,YAAYL,CAAQ,EAEvCA,EACT,CAOO,mBAAiB,SACtB,OACEM,GAAAC,EAAAN,EAAQC,CAAmB,KAAC,MAAAK,IAAA,OAAA,OAAAA,EAAA,KAAAN,EAAGG,EAAmC,KAAC,MAAAE,IAAA,OAAAA,EACnE,KAAK,oBAET,CAOO,UACLE,EACAC,EACAC,EAAuB,CAEvB,OAAO,KAAK,kBAAiB,EAAG,UAAUF,EAAMC,EAASC,CAAO,CAClE,CAGO,SAAO,CACZ,OAAOT,EAAQC,CAAmB,EAClC,KAAK,qBAAuB,IAAIH,CAClC,GCvDK,IAAMY,GAAOC,EAAQ,YAAW,ERdvC,OAAS,mBAAAC,OAAuB,2BAChC,OAAS,kBAAAC,GAAgB,SAAAC,OAAa,sBSDtC,OAAS,WAAAC,OAAe,qBCFxB,OAAyB,QAAAC,OAAY,qBAErC,UAAYC,MAAS,qBACrB,OACE,qBAAAC,GACA,oBAAAC,OAEK,sBAQD,IAAOC,EAAP,KAAgB,CA/BtB,MA+BsB,CAAAC,EAAA,kBACX,OACA,eACA,YACA,SACA,qBACA,WAAoC,CAAA,EACrC,cACA,gBACA,MACA,qBAA+B,EAE/B,YAAuB,GACd,iBAEjB,IAAI,aAAaC,EAAgC,CAC3C,KAAK,qBAAoB,IAG7B,KAAK,cAAgBA,EACvB,CACA,IAAI,cAAY,CACd,OAAO,KAAK,aACd,CAEA,IAAI,eAAeC,EAAkD,CAC/D,KAAK,qBAAoB,IAG7B,KAAK,gBAAkBA,EACzB,CACA,IAAI,gBAAc,CAChB,OAAO,KAAK,eACd,CAEA,IAAI,KAAKC,EAAyB,CAC5B,KAAK,qBAAoB,IAG7B,KAAK,MAAQA,EACf,CACA,IAAI,MAAI,CACN,OAAO,KAAK,KACd,CAEA,IAAI,wBAAsB,CACxB,OAAO,KAAK,qBAAuB,OAAO,KAAK,KAAK,UAAU,EAAE,MAClE,CAEA,YACEC,EACAC,EACAC,EAA4B,CAE5B,GAAM,CACJ,UAAAC,EACA,kBAAAC,EACA,eAAAN,EACA,aAAAD,EACA,KAAAE,EACA,WAAAM,EAAa,CAAA,EACb,QAAAC,CAAO,EACLJ,EAEEK,EAAM,KAAK,IAAG,EAIpB,GAHA,KAAK,OAASC,GAAkBL,GAAaI,CAAG,EAChD,KAAK,eAAiBC,GAAkBJ,GAAqBG,CAAG,EAE5DD,EAAS,CACX,IAAMG,EAAkB,QAAM,eAAeH,CAAO,EAChDG,GAAmB,qBAAmBA,CAAW,IACnD,KAAK,YAAcA,GAGvB,KAAK,eAAiBX,EACtB,KAAK,aAAeD,EACpB,KAAK,KAAOE,EACZ,KAAK,SAAWC,EAAa,SAC7B,KAAK,qBAAuBC,EAC5B,KAAK,iBAAmBD,EAAa,gBACrC,KAAK,cAAcK,CAAU,CAC/B,CAEO,aAAaK,EAAaC,EAAgB,CAC/C,OAAI,KAAK,qBAAoB,EACpB,KAELA,IAAU,KACL,KAELD,EAAI,SAAW,GACb,OAAK,KAAK,0BAA0BA,CAAG,EAAE,EACtC,MAGP,CAACE,GAAiBD,CAAK,GACvB,EACE,OAAOA,GAAU,UACjB,CAAC,MAAM,QAAQA,CAAK,GACpB,OAAO,KAAKA,CAAK,EAAE,OAAS,IAG1B,OAAK,KAAK,wCAAwCD,CAAG,EAAE,EACpD,OAET,KAAK,sBAAwB,EAE3B,OAAO,KAAK,KAAK,UAAU,EAAE,QAC3B,KAAK,iBAAiB,qBACxB,CAAC,OAAO,UAAU,eAAe,KAAK,KAAK,WAAYA,CAAG,GAGtD,KAAK,yBAA2B,GAC9B,OAAK,KAAK,4BAA4B,EAErC,OAELE,GAAiBD,CAAK,EACxB,KAAK,WAAWD,CAAG,EAAI,KAAK,gBAAgBC,CAAK,EAEjD,KAAK,WAAWD,CAAG,EAAIC,EAElB,MACT,CAEO,cAAcN,EAAyB,CAC5C,OAAW,CAACQ,EAAGC,CAAC,IAAK,OAAO,QAAQT,CAAU,EAC5C,KAAK,aAAaQ,EAAGC,CAAC,EAExB,OAAO,IACT,CAEO,QAAQf,EAAa,CAC1B,YAAK,KAAOA,EACL,IACT,CAEO,kBAAkBD,EAAsC,CAC7D,YAAK,eAAiBA,EACf,IACT,CAEO,gBAAgBD,EAAoB,CACzC,YAAK,aAAeA,EACb,IACT,CAOA,eAAa,CACX,KAAK,YAAc,EACrB,CAEQ,gBAAgBc,EAAqB,CAC3C,IAAMI,EAAQ,KAAK,iBAAiB,0BAEpC,OAAIA,GAAS,GAEP,OAAK,KAAK,+CAA+CA,CAAK,EAAE,EAC7DJ,GAIL,OAAOA,GAAU,SACZ,KAAK,qBAAqBA,EAAOI,CAAK,EAI3C,MAAM,QAAQJ,CAAK,EACbA,EAAa,IAAIK,GACvB,OAAOA,GAAQ,SAAW,KAAK,qBAAqBA,EAAKD,CAAK,EAAIC,CAAG,EAKlEL,CACT,CAEQ,qBAAqBA,EAAeI,EAAa,CACvD,OAAIJ,EAAM,QAAUI,EACXJ,EAEFA,EAAM,UAAU,EAAGI,CAAK,CACjC,CAEQ,sBAAoB,CAC1B,OAAI,KAAK,aACPE,GAAK,KAAK,qDAAqD,EAE1D,KAAK,WACd,GDzMI,IAAOC,GAAP,KAAa,CAvBnB,MAuBmB,CAAAC,EAAA,eAEC,qBACR,aAFV,YACkBC,EACRC,EAAuC,CAD/B,KAAA,qBAAAD,EACR,KAAA,aAAAC,CACP,CAEI,KAAKC,EAA4B,CACtC,IAAMC,EAAiBD,EAAU,SAAWE,GAAQ,OAAM,EAMpDC,EAAoB,IAAIC,EAC5B,KAAK,aACL,KAAK,qBACL,CACE,QAASH,EACT,GAAGD,EACJ,EAMH,KAAK,aAAa,gBAAgB,OAAOG,EAAmBF,CAAc,EAK1EE,EAAkB,cAAa,CACjC,GEtCF,OAAS,oBAAAE,MAAwB,sBAG3B,SAAUC,IAAiB,CAC/B,MAAO,CACL,wBAAyB,IACzB,gBAAiB,CACf,0BACEC,EAAiB,6CAA6C,GAC9D,IACF,oBACEA,EAAiB,sCAAsC,GAAK,KAEhE,oBAAqB,GAEzB,CAZgBC,EAAAF,GAAA,qBAmBV,SAAUG,GACdC,EAAgC,CAEhC,MAAO,CAIL,oBACEA,EAAgB,qBAChBH,EAAiB,sCAAsC,GACvDA,EAAiB,4BAA4B,GAC7C,IAIF,0BACEG,EAAgB,2BAChBH,EAAiB,6CAA6C,GAC9DA,EAAiB,mCAAmC,GACpD,IAEN,CArBgBC,EAAAC,GAAA,qBClBV,IAAOE,GAAP,KAA6B,CApBnC,MAoBmC,CAAAC,EAAA,+BACjC,YAAU,CACR,OAAO,QAAQ,QAAO,CACxB,CAEA,OAAOC,EAA+BC,EAAiB,CAAS,CAEhE,UAAQ,CACN,OAAO,QAAQ,QAAO,CACxB,GCbF,OAAS,mBAAAC,OAAuB,sBAS1B,IAAOC,EAAP,KAA8B,CAzBpC,MAyBoC,CAAAC,EAAA,gCAEhB,WACA,wBAFlB,YACkBC,EACAC,EAA+B,CAD/B,KAAA,WAAAD,EACA,KAAA,wBAAAC,CACf,CAEI,MAAM,YAAU,CACrB,IAAMC,EAAU,KAAK,wBACrB,MAAM,QAAQ,IACZ,KAAK,WAAW,IAAIC,GAClBC,GAAgBD,EAAU,WAAU,EAAID,CAAO,CAAC,CACjD,CAEL,CAEO,OAAOG,EAAsBC,EAAiB,CACnD,KAAK,WAAW,QAAQN,GACtBA,EAAW,OAAOK,EAAWC,CAAO,CAAC,CAEzC,CAEO,MAAM,UAAQ,CACnB,MAAM,QAAQ,IAAI,KAAK,WAAW,IAAIH,GAAaA,EAAU,SAAQ,CAAE,CAAC,CAC1E,GCzBI,IAAOI,GAAP,KAAgC,CAvBtC,MAuBsC,CAAAC,EAAA,kCAMzB,SACA,wBACA,gBACA,WARF,QAA+B,IAAI,IAC5C,gBACS,8BAAsD,CAAA,EAE/D,YACWC,EACAC,EACAC,EACAC,EAAgC,CAHhC,KAAA,SAAAH,EACA,KAAA,wBAAAC,EACA,KAAA,gBAAAC,EACA,KAAA,WAAAC,EAELA,EAAW,OAAS,GACtB,KAAK,8BAAgCA,EACrC,KAAK,gBAAkB,IAAIC,EACzB,KAAK,8BACL,KAAK,uBAAuB,GAG9B,KAAK,gBAAkB,IAAIC,EAE/B,GdfK,IAAMC,GAAsB,UAEtBC,EAAP,KAAqB,CA9B3B,MA8B2B,CAAAC,EAAA,uBACjB,cACS,aAEjB,YAAYC,EAA+B,CAAA,EAAE,CAC3C,IAAMC,EAAeC,GAAM,CAAA,EAAIC,GAAiB,EAAIH,CAAM,EACpDI,EAAWJ,EAAO,UAAYK,GAAe,EACnD,KAAK,aAAe,IAAIC,GACtBF,EACAH,EAAa,wBACbM,GAAkBN,EAAa,eAAe,EAC9CD,GAAQ,YAAc,CAAA,CAAE,EAE1B,KAAK,cAAgB,IAAIQ,GAAe,KAAK,UAAW,IAAI,CAC9D,CAKO,UACLC,EACAC,EACAC,EAA+B,CAE/B,GAAI,KAAK,cAAc,SACrB,OAAAC,EAAK,KAAK,mDAAmD,EACtDC,EAGJJ,GACHG,EAAK,KAAK,sDAAsD,EAElE,IAAME,EAAaL,GAAQZ,GACrBkB,EAAM,GAAGD,CAAU,IAAIJ,GAAW,EAAE,IAAIC,GAAS,WAAa,EAAE,GACtE,OAAK,KAAK,aAAa,QAAQ,IAAII,CAAG,GACpC,KAAK,aAAa,QAAQ,IACxBA,EACA,IAAIC,GACF,CAAE,KAAMF,EAAY,QAAAJ,EAAS,UAAWC,GAAS,SAAS,EAC1D,KAAK,YAAY,CAClB,EAIE,KAAK,aAAa,QAAQ,IAAII,CAAG,CAC1C,CAQO,sBAAsBE,EAA6B,CACpD,KAAK,aAAa,8BAA8B,SAAW,GAG7D,KAAK,aAAa,gBACf,SAAQ,EACR,MAAMC,GACLN,EAAK,MACH,8DACAM,CAAG,CACJ,EAGP,KAAK,aAAa,8BAA8B,KAAKD,CAAS,EAC9D,KAAK,aAAa,gBAAkB,IAAIE,EACtC,KAAK,aAAa,8BAClB,KAAK,aAAa,uBAAuB,CAE7C,CAOO,YAAU,CAEf,OAAI,KAAK,cAAc,UACrBP,EAAK,KAAK,8DAA8D,EACjE,KAAK,cAAc,SAErB,KAAK,aAAa,gBAAgB,WAAU,CACrD,CAQO,UAAQ,CACb,OAAI,KAAK,cAAc,UACrBA,EAAK,KAAK,qDAAqD,EACxD,KAAK,cAAc,SAErB,KAAK,cAAc,KAAI,CAChC,CAEQ,WAAS,CACf,OAAO,KAAK,aAAa,gBAAgB,SAAQ,CACnD,GenIK,IAAMQ,GAAN,KAAwC,CAF/C,MAE+C,CAAAC,EAAA,wBACrC,WAER,YAAYC,EAAoB,CAC9B,KAAK,WAAaA,CACpB,CAEA,KAAKC,EAA4B,CAC/B,KAAK,WAAW,KAAKA,CAAS,CAChC,CACF,ECRO,IAAMC,GAAN,cAAkCC,CAAmB,CAJ5D,MAI4D,CAAAC,EAAA,4BACjD,UACPC,EACAC,EACAC,EACQ,CACR,IAAMC,EAAa,MAAM,UAAUH,EAAMC,EAAUC,CAAQ,EAC3D,OAAO,IAAIE,GAAgBD,CAAU,CACvC,CAEA,UAAW,CACTE,GAAK,wBAAwB,IAAI,CACnC,CACF,ECjBA,OAIE,SAAAC,OACK,qBAYA,IAAMC,GAAN,KAAoD,CAjB3D,MAiB2D,CAAAC,EAAA,4BACjD,eACA,SACA,QAAkC,CAAC,EAE3C,YAAYC,EAAiCC,EAAoB,CAC/D,KAAK,eAAiBD,EACtB,KAAK,SAAWC,CAClB,CAEA,UAAUC,EAAcC,EAAkBC,EAAiC,CACzE,IAAMC,EAAM,GAAGH,CAAI,IAAIC,GAAW,EAAE,IAAIC,GAAS,WAAa,EAAE,GAChE,OAAK,KAAK,QAAQC,CAAG,IACnB,KAAK,QAAQA,CAAG,EAAI,IAAIC,EAAa,KAAK,eAAgB,KAAK,QAAQ,GAElE,KAAK,QAAQD,CAAG,CACzB,CAEA,UAAiB,CACfE,GAAM,wBAAwB,IAAI,CACpC,CACF,E9BQO,IAAMC,GAAiBC,EAAA,CAC5BC,EACAC,IACa,CACb,IAAMC,EAAuB,CAC3B,CAACC,EAAmB,EAAG,QACvB,CAACC,EAAmB,EAAG,YACvB,CAACC,EAAqB,EAAGL,EAAQ,YACjC,mBAAoBA,EAAQ,YAC5B,oBAAqBA,EAAQ,eAC7B,oBAAqBA,EAAQ,WAC5B,8BAAgCA,EAAQ,iBAGzC,CAACM,EAAuB,EAAG,cAG3B,CAACC,GAAmB,YAAY,EAAGP,EAAQ,QAC3C,CAACO,GAAmB,iBAAiB,EAAGP,EAAQ,aAChD,CAACO,GAAmB,2BAA2B,EAAGP,EAAQ,kBAC1D,CAACO,GAAmB,oBAAoB,EAAGP,EAAQ,eACrD,EACMQ,EAAkBC,GAAuB,CAC7C,CAACC,EAAiB,EAAGT,EAAO,QAAQ,KACpC,CAACU,EAAsB,EAAGV,EAAO,QAAQ,UACzC,CAACW,EAAoB,EAAGX,EAAO,QAAQ,OACzC,CAAC,EACKY,EACJJ,GAAuBP,CAAoB,EAAE,MAAMM,CAAe,EAIpE,OAAIP,EAAO,mBACFY,EAAS,MAAMJ,GAAuBR,EAAO,kBAAkB,CAAC,EAElEY,CACT,EApC8B,kBAsC1BC,GAAc,GAElB,SAASC,GACPf,EACAC,EACM,CACN,GAAI,CAACa,GAAa,CACZb,EAAO,gBAAgB,uBACzBe,GAAsB,EAExBC,GAAY,oBAAoBhB,EAAO,UAAU,EACjD,IAAMiB,EAAepB,GAAeE,EAASC,CAAM,EAE7B,IAAIkB,GACxBlB,EAAO,eACPiB,CACF,EACc,SAAS,EACnBjB,EAAO,cAAc,OAAS,GACT,IAAImB,GAAoB,CAC7C,SAAUF,EACV,WAAYjB,EAAO,aACrB,CAAC,EACc,SAAS,EAE1BoB,GAAQ,wBAAwB,IAAIC,CAAiC,EACrER,GAAc,EAChB,CACF,CA1BSf,EAAAgB,GAAA,QA4BF,SAASQ,GACdvB,EACAC,EACa,CACb,OAAI,OAAOA,GAAW,WACZuB,GAAY,CAClB,IAAMC,EAAOC,GAAYzB,EAAOuB,CAAO,CAAC,EACxC,OAAAT,GAAKf,EAASyB,CAAI,EACXA,CACT,EAEO,IAAM,CACX,IAAMA,EAAOC,GAAYzB,CAAM,EAC/B,OAAAc,GAAKf,EAASyB,CAAI,EACXA,CACT,CAEJ,CAjBgB1B,EAAAwB,GAAA,qBAmBhB,eAAeI,GAAYC,EAAiBC,EAA0B,CACpE,IAAMC,EAASC,GAAM,UAAU,QAAQ,EACnCD,aAAkBE,GACpB,MAAM,UAAU,KAAK,CAAC,EACtB,MAAMH,GAAS,KAAK,EACpB,MAAMC,EAAO,WAAWF,CAAO,GAG/B,QAAQ,MACN,wEACF,CAEJ,CAZe7B,EAAA4B,GAAA,eAoBf,IAAIM,GAAY,GAChB,SAASC,GACPC,EAI+B,CAC/B,MAAO,CAACC,EAAWC,IAAS,CAC1B,GAAM,CAACb,EAASH,CAAO,EAAIgB,EAErB,CAAE,MAAOC,EAAY,QAAAT,CAAQ,EAAIU,GAAsBlB,CAAO,EAE9DmB,EAAsBL,EAAgB,kBACxCA,EAAgB,kBAAkBX,CAAO,EACzCA,EAEEM,EAASC,GAAM,UAAU,SAAS,EAElC,CACJ,KAAAU,EACA,QAAAzC,EACA,QAAS0C,CACX,EAAIP,EAAgB,mBAAmBX,CAAO,EACxCmB,EAAQ3C,EAAQ,YAAc,CAAC,EACrC2C,EAAM,gBAAgB,EAAIV,GAC1BjC,EAAQ,WAAa2C,EACrBV,GAAY,GAEZ,IAAMW,EAAgBF,GAAeG,GAAW,OAAO,EAgCvD,OA/Bef,EAAO,gBACpBW,EACAzC,EACA4C,EACA,MAAOE,GAAS,CACd,GAAI,CACF,IAAMC,EAAS,MAAMX,EAAUI,EAAqBF,CAAU,EAE9D,GAAIH,EAAgB,wBAAyB,CAC3C,IAAMa,EAAab,EAAgB,wBAAwBY,CAAM,EACjED,EAAK,cAAcE,CAAU,CAC/B,CAEA,OAAIb,EAAgB,kBAClBA,EAAgB,iBAAiBW,EAAMtB,EAASuB,CAAM,EAEjDA,CACT,OAASE,EAAO,CACd,MAAAH,EAAK,gBAAgBG,CAAkB,EACvCH,EAAK,UAAU,CAAE,KAAMI,GAAe,KAAM,CAAC,EACzCf,EAAgB,iBAClBA,EAAgB,gBAAgBW,EAAMtB,EAASyB,CAAK,EAEhDA,CACR,QAAE,CACAH,EAAK,IAAI,EACTzB,EAAQ,UAAUM,GAAYmB,EAAK,YAAY,EAAE,QAASjB,CAAO,CAAC,CACpE,CACF,CACF,CAGF,CACF,CA7DS9B,EAAAmC,GAAA,uBAgEF,SAASiB,GACdf,EACAgB,EACAjB,EACiB,CACjB,MAAO,CAACX,EAAY6B,IAAwD,CAC1E,IAAMpD,EAASmD,EAAY5B,CAAO,EAC5BH,EAAUiC,GAAUrD,CAAM,EAE1BsD,EAASrB,GAA0BC,CAAe,EACxD,OAAOU,GAAW,KAAKxB,EAASkC,EAAQ/B,EAASY,EAAW,CAACZ,EAAS6B,CAAG,CAAC,CAC5E,CACF,CAZgBtD,EAAAoD,GAAA,sBAcT,IAAMK,GAA8B,CACzC,KAAM,aACR,EPzIO,IAAMC,GAAN,cAAkCC,EAAgB,CAjGzD,MAiGyD,CAAAC,EAAA,4BAC/C,OAER,YAAYC,EAAqB,CAC/B,MAAM,EACNC,GAAa,eAAe,EAC5B,KAAK,OAASD,CAChB,CAES,WAAWE,EAElB,CACA,IAAMC,EAAcC,GAAkBF,EAAS,KAAK,MAAM,EAK1D,MAAO,CAAE,oBAJwCH,EAACM,GACzCC,GAAmBD,EAASF,EAAaI,EAAoB,EADrB,sBAIpB,CAC/B,CACF","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","spans","config","processedSpans","resolve","reject","result","ExportResultCode","BatchTraceSpanProcessor","traceId","traceState","parentContext","err","promises","isSpanProcessorConfig","config","__name","isProcessorConfig","hasSpanProcessors","hasLogProcessors","configSymbol","setConfig","config","ctx","context","__name","getActiveConfig","isSampler","sampler","isTraceConfigExporter","isTraceAndLogConfigExporter","parseConfig","supplied","spanProcessors","logProcessors","BatchTraceSpanProcessor","OTLPSpanExporter","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","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","allSettledMutable","createWaitUntil","fn","context","tracker","wrap","target","_thisArg","argArray","proxyExecutionContext","prop","passthroughGet","allSettledMutable","promises","values","__name","NoopLogger","__name","_logRecord","NOOP_LOGGER","NoopLoggerProvider","__name","_name","_version","_options","NoopLogger","NOOP_LOGGER_PROVIDER","ProxyLogger","__name","_provider","name","version","options","logRecord","logger","NOOP_LOGGER","ProxyLoggerProvider","__name","name","version","options","_a","ProxyLogger","NOOP_LOGGER_PROVIDER","delegate","_globalThis","GLOBAL_LOGS_API_KEY","_global","_globalThis","makeGetter","requiredVersion","instance","fallback","version","__name","API_BACKWARDS_COMPATIBILITY_VERSION","LogsAPI","_LogsAPI","__name","ProxyLoggerProvider","provider","_global","GLOBAL_LOGS_API_KEY","makeGetter","API_BACKWARDS_COMPATIBILITY_VERSION","NOOP_LOGGER_PROVIDER","_b","_a","name","version","options","logs","LogsAPI","diag","NoopLogger","__name","_logRecord","NOOP_LOGGER","NoopLoggerProvider","__name","_name","_version","_options","NoopLogger","NOOP_LOGGER_PROVIDER","ProxyLogger","__name","_provider","name","version","options","logRecord","logger","NOOP_LOGGER","ProxyLoggerProvider","__name","name","version","options","_a","ProxyLogger","NOOP_LOGGER_PROVIDER","delegate","_globalThis","GLOBAL_LOGS_API_KEY","_global","_globalThis","makeGetter","requiredVersion","instance","fallback","version","__name","API_BACKWARDS_COMPATIBILITY_VERSION","LogsAPI","_LogsAPI","__name","ProxyLoggerProvider","provider","_global","GLOBAL_LOGS_API_KEY","makeGetter","API_BACKWARDS_COMPATIBILITY_VERSION","NOOP_LOGGER_PROVIDER","_b","_a","name","version","options","logs","LogsAPI","defaultResource","BindOnceFuture","merge","context","diag","api","timeInputToHrTime","isAttributeValue","LogRecord","__name","severityText","severityNumber","body","_sharedState","instrumentationScope","logRecord","timestamp","observedTimestamp","attributes","context","now","timeInputToHrTime","spanContext","key","value","isAttributeValue","k","v","limit","val","diag","Logger","__name","instrumentationScope","_sharedState","logRecord","currentContext","context","logRecordInstance","LogRecord","getNumberFromEnv","loadDefaultConfig","getNumberFromEnv","__name","reconfigureLimits","logRecordLimits","NoopLogRecordProcessor","__name","_logRecord","_context","callWithTimeout","MultiLogRecordProcessor","__name","processors","forceFlushTimeoutMillis","timeout","processor","callWithTimeout","logRecord","context","LoggerProviderSharedState","__name","resource","forceFlushTimeoutMillis","logRecordLimits","processors","MultiLogRecordProcessor","NoopLogRecordProcessor","DEFAULT_LOGGER_NAME","LoggerProvider","__name","config","mergedConfig","merge","loadDefaultConfig","resource","defaultResource","LoggerProviderSharedState","reconfigureLimits","BindOnceFuture","name","version","options","diag","NOOP_LOGGER","loggerName","key","Logger","processor","err","MultiLogRecordProcessor","ZuploOtelLogger","__name","baseLogger","logRecord","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","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","OpenTelemetryPlugin","TelemetryPlugin","__name","config","trackFeature","options","initializer","createInitializer","wrapped","createHandlerProxy","fetchInstrumentation"]}
|
package/out/esm/index.js
CHANGED
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
import{a}from"./chunk-
|
|
25
|
+
import{a,b,c}from"./chunk-U3KEMFL3.js";export{b as BatchTraceSpanProcessor,a as OTLPSpanExporter,c as OpenTelemetryPlugin};
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
package/out/types/index.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
import { Attributes } from "@opentelemetry/api";
|
|
2
|
+
import { BackgroundDispatcher } from "@zuplo/runtime";
|
|
3
|
+
import { Context } from "@opentelemetry/api";
|
|
4
|
+
import { ExportResult } from "@opentelemetry/core";
|
|
1
5
|
import { LogRecordProcessor } from "@opentelemetry/sdk-logs";
|
|
2
6
|
import { ReadableSpan } from "@opentelemetry/sdk-trace-base";
|
|
3
7
|
import { RequestHandlerProxy } from "@zuplo/runtime";
|
|
4
8
|
import { Sampler } from "@opentelemetry/sdk-trace-base";
|
|
9
|
+
import { Span } from "@opentelemetry/api";
|
|
10
|
+
import { SpanExporter } from "@opentelemetry/sdk-trace-base";
|
|
5
11
|
import { SpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
6
12
|
import { TelemetryInitializationOptions } from "@zuplo/runtime";
|
|
7
13
|
import { TelemetryPlugin } from "@zuplo/runtime";
|
|
@@ -9,6 +15,25 @@ import { TextMapPropagator } from "@opentelemetry/api";
|
|
|
9
15
|
|
|
10
16
|
declare type AcceptTraceContextFn = (request: Request) => boolean;
|
|
11
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Span processor that batches spans per trace and flushes them to the given
|
|
20
|
+
* `OTLPSpanExporter` (or any `SpanExporter`). This is the Zuplo-aware
|
|
21
|
+
* processor used internally; it is exported so consumers can register an
|
|
22
|
+
* additional span destination via `TraceConfig.spanProcessors`.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export declare class BatchTraceSpanProcessor implements TraceFlushableSpanProcessor {
|
|
27
|
+
private exporter;
|
|
28
|
+
private traces;
|
|
29
|
+
constructor(exporter: SpanExporter);
|
|
30
|
+
getTraceState(traceId: string): TraceState;
|
|
31
|
+
onStart(span: Span, parentContext: Context): void;
|
|
32
|
+
onEnd(span: ReadableSpan): void;
|
|
33
|
+
forceFlush(traceId?: TraceId): Promise<void>;
|
|
34
|
+
shutdown(): Promise<void>;
|
|
35
|
+
}
|
|
36
|
+
|
|
12
37
|
declare interface FetcherConfig {
|
|
13
38
|
includeTraceContext?: boolean | IncludeTraceContextFn;
|
|
14
39
|
}
|
|
@@ -135,11 +160,40 @@ export declare class OpenTelemetryPlugin extends TelemetryPlugin {
|
|
|
135
160
|
};
|
|
136
161
|
}
|
|
137
162
|
|
|
138
|
-
|
|
163
|
+
/**
|
|
164
|
+
* Configuration for an OTLP/HTTP exporter.
|
|
165
|
+
*
|
|
166
|
+
* Only the HTTP(S) protocol is supported. Use `headers` to pass
|
|
167
|
+
* authentication (e.g. `{ authorization: "Bearer <token>" }`).
|
|
168
|
+
*
|
|
169
|
+
* @public
|
|
170
|
+
*/
|
|
171
|
+
export declare interface OTLPExporterConfig {
|
|
139
172
|
url: string;
|
|
140
173
|
headers?: Record<string, string>;
|
|
141
174
|
}
|
|
142
175
|
|
|
176
|
+
/**
|
|
177
|
+
* Exports spans to an OTLP/HTTP endpoint as OTLP JSON. Pair with a
|
|
178
|
+
* `BatchTraceSpanProcessor` and pass it via `TraceConfig.spanProcessors`
|
|
179
|
+
* to send spans to an additional destination.
|
|
180
|
+
*
|
|
181
|
+
* @public
|
|
182
|
+
*/
|
|
183
|
+
export declare class OTLPSpanExporter implements SpanExporter {
|
|
184
|
+
private headers;
|
|
185
|
+
private url;
|
|
186
|
+
constructor(config: OTLPExporterConfig);
|
|
187
|
+
export(
|
|
188
|
+
spans: ReadableSpan[],
|
|
189
|
+
resultCallback: (result: ExportResult) => void
|
|
190
|
+
): void;
|
|
191
|
+
shutdown(): Promise<void>;
|
|
192
|
+
forceFlush?(): Promise<void>;
|
|
193
|
+
dispatchFunction: (spans: ReadableSpan[]) => Promise<void>;
|
|
194
|
+
batcher: BackgroundDispatcher<ReadableSpan>;
|
|
195
|
+
}
|
|
196
|
+
|
|
143
197
|
declare interface ParentRatioSamplingConfig {
|
|
144
198
|
acceptRemote?: boolean;
|
|
145
199
|
ratio: number;
|
|
@@ -275,6 +329,32 @@ declare interface TraceConfigBase {
|
|
|
275
329
|
sampling?: SamplingConfig;
|
|
276
330
|
propagator?: TextMapPropagator;
|
|
277
331
|
instrumentation?: InstrumentationOptions;
|
|
332
|
+
/**
|
|
333
|
+
* Additional OpenTelemetry Resource attributes to attach to every span
|
|
334
|
+
* emitted by this provider. Merged on top of the Zuplo-supplied resource
|
|
335
|
+
* (service / cloud / build identifiers), so any key set here overrides the
|
|
336
|
+
* default of the same name.
|
|
337
|
+
*
|
|
338
|
+
* Use this to tag spans with the attributes a downstream sink expects — for
|
|
339
|
+
* example, when fanning out to a second OTLP destination that keys ingestion
|
|
340
|
+
* on `zuplo.account_id` / `zuplo.project_id`:
|
|
341
|
+
*
|
|
342
|
+
* @example
|
|
343
|
+
* ```typescript
|
|
344
|
+
* const config: TraceConfig = {
|
|
345
|
+
* service: { name: "my-api" },
|
|
346
|
+
* spanProcessors: [
|
|
347
|
+
* new BatchTraceSpanProcessor(new OTLPSpanExporter(byoExporterConfig)),
|
|
348
|
+
* new BatchTraceSpanProcessor(new OTLPSpanExporter(zuploExporterConfig)),
|
|
349
|
+
* ],
|
|
350
|
+
* resourceAttributes: {
|
|
351
|
+
* "zuplo.account_id": "acme",
|
|
352
|
+
* "zuplo.project_id": "my-api",
|
|
353
|
+
* },
|
|
354
|
+
* };
|
|
355
|
+
* ```
|
|
356
|
+
*/
|
|
357
|
+
resourceAttributes?: Attributes;
|
|
278
358
|
}
|
|
279
359
|
|
|
280
360
|
/**
|
|
@@ -293,4 +373,28 @@ declare interface TraceConfigSpanProcessors extends TraceConfigBase {
|
|
|
293
373
|
spanProcessors: SpanProcessor | SpanProcessor[];
|
|
294
374
|
}
|
|
295
375
|
|
|
376
|
+
declare type TraceFlushableSpanProcessor = SpanProcessor & {
|
|
377
|
+
forceFlush: (traceId?: string) => Promise<void>;
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
declare type TraceId = string;
|
|
381
|
+
|
|
382
|
+
declare class TraceState {
|
|
383
|
+
private unexportedSpans;
|
|
384
|
+
private inprogressSpans;
|
|
385
|
+
private exporter;
|
|
386
|
+
private exportPromises;
|
|
387
|
+
private localRootSpan?;
|
|
388
|
+
private traceDecision?;
|
|
389
|
+
isFlushed: boolean;
|
|
390
|
+
constructor(exporter: SpanExporter);
|
|
391
|
+
addSpan(span: Span): void;
|
|
392
|
+
hasFinished(): boolean;
|
|
393
|
+
endSpan(span: ReadableSpan): Promise<void>;
|
|
394
|
+
sample(): void;
|
|
395
|
+
flush(): Promise<void>;
|
|
396
|
+
private isSpanInProgress;
|
|
397
|
+
private exportSpans;
|
|
398
|
+
}
|
|
399
|
+
|
|
296
400
|
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zuplo/otel",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.71.
|
|
4
|
+
"version": "6.71.3",
|
|
5
5
|
"repository": "https://github.com/zuplo/zuplo",
|
|
6
6
|
"author": "Zuplo, Inc.",
|
|
7
7
|
"exports": {
|
|
@@ -40,6 +40,6 @@
|
|
|
40
40
|
"@opentelemetry/semantic-conventions": "1.34.0"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"@zuplo/runtime": "6.71.
|
|
43
|
+
"@zuplo/runtime": "6.71.3"
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -1,26 +0,0 @@
|
|
|
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 Ct=Object.defineProperty;var n=(r,e)=>Ct(r,"name",{value:e,configurable:!0});import{Buffer as yt}from"node:buffer";globalThis.Buffer=yt;import{TelemetryPlugin as wr,trackFeature as Or}from"@zuplo/runtime";import{context as j,propagation as We,SpanKind as qe,SpanStatusCode as Mt,trace as Ht}from"@opentelemetry/api";import{context as Ve}from"@opentelemetry/api";import{W3CTraceContextPropagator as kt}from"@opentelemetry/core";import{ExportResultCode as Oe}from"@opentelemetry/core";import{JsonLogsSerializer as Et,JsonTraceSerializer as wt}from"@opentelemetry/otlp-transformer";import{BackgroundDispatcher as Ae}from"@zuplo/runtime";function Lt(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}n(Lt,"isPlainObject");function Ee(r){if(r==null)return"";if(Array.isArray(r)){for(let e=0;e<r.length;e+=1)r[e]=Ee(r[e]);return r}return Lt(r)&&H(r),r}n(Ee,"sanitizeValue");function H(r){Object.keys(r).forEach(e=>{r[e]=Ee(r[e])})}n(H,"sanitizeEmptyAttributes");var ue=Symbol("unwrap");function we(r){return r&&!!r[ue]}n(we,"isWrapped");function vt(r){return r!==null&&typeof r=="object"||typeof r=="function"}n(vt,"isProxyable");function U(r,e,t=!0){if(we(r)||!vt(r))return r;let o=Object.assign({},e);return o.get=(s,i,a)=>{if(i===ue)return r;if(e.get)return e.get(s,i,a);if(i==="bind")return()=>a;if(t)return de(s,i)},o.apply=(s,i,a)=>{if(e.apply)return e.apply(S(s),S(i),a)},new Proxy(r,o)}n(U,"wrap");function S(r){return r&&we(r)?r[ue]:r}n(S,"unwrap");function de(r,e,t){let o=S(r);t=S(t)||o;let s=Reflect.get(o,e);return typeof s=="function"?s.constructor.name==="RpcProperty"?(...i)=>o[e](...i):s.bind(t):s}n(de,"passthroughGet");var Ie={accept:"application/json","content-type":"application/json"},E=class{static{n(this,"OTLPSpanExporter")}headers;url;constructor(e){this.url=e.url,this.headers=Object.assign({},Ie,e.headers)}export(e,t){e.forEach(o=>{this.batcher.enqueue(o)}),t({code:Oe.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{H(a.attributes)});let t=new TextDecoder,o=wt.serializeRequest(e),s=t.decode(o),i=await S(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 Ae(this.dispatchFunction,{msDelay:10})},B=class{static{n(this,"OTLPLogExporter")}headers;url;batcher;constructor(e,t){this.url=e.url,this.headers=Object.assign({},Ie,e.headers),this.batcher=new Ae(this.dispatchFunction,{msDelay:t?.scheduledDelayMillis??10})}export(e,t){e.forEach(o=>{this.batcher.enqueue(o)}),t({code:Oe.SUCCESS})}shutdown(){return Promise.resolve()}dispatchFunction=n(async e=>{if(e.length===0)return;e.forEach(a=>{H(a.attributes)});let t=new TextDecoder,o=Et.serializeRequest(e),s=t.decode(o),i=await S(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")};var V=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],t=>{})}};import{SpanStatusCode as Ot,TraceFlags as Fe}from"@opentelemetry/api";import{ParentBasedSampler as ke,TraceIdRatioBasedSampler as At}from"@opentelemetry/sdk-trace-base";import{SemanticAttributes as ge}from"@zuplo/runtime";function Ne(r){return e=>{let t=e.localRootSpan;return t.attributes[ge.SystemTrace]??t.attributes[ge.RouteSystem]??t.attributes[ge.RouteTrace]===!1?!1:r(e)}}n(Ne,"internalTailSampler");function De(r){return e=>r.reduce((t,o)=>t||o(e),!1)}n(De,"multiTailSampler");var Ge=n(r=>(r.localRootSpan.spanContext().traceFlags&Fe.SAMPLED)===Fe.SAMPLED,"isHeadSampled"),Me=n(r=>r.localRootSpan.status.code===Ot.ERROR,"isRootErrorSpan");function He(r){let e=new At(r.ratio);return typeof r.acceptRemote=="boolean"&&!r.acceptRemote?new ke({root:e,remoteParentSampled:e,remoteParentNotSampled:e}):new ke({root:e})}n(He,"createSampler");import{ExportResultCode as It}from"@opentelemetry/core";function Ft(){let r=T();return r||console.log("Could not find config for sampling, sending everything by default"),r?r.sampling.tailSampler:()=>!0}n(Ft,"getSampler");var me=class{static{n(this,"TraceState")}unexportedSpans=[];inprogressSpans=new Set;exporter;exportPromises=[];localRootSpan;traceDecision;isFlushed=!1;constructor(e){this.exporter=e}addSpan(e){let t=e;this.localRootSpan=this.localRootSpan||t,this.unexportedSpans.push(t),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=Ft();this.traceDecision=e({traceId:this.localRootSpan.spanContext().traceId,localRootSpan:this.localRootSpan,spans:this.unexportedSpans})}this.unexportedSpans=this.traceDecision?this.unexportedSpans:[]}async flush(){if(this.unexportedSpans.length>0){let e=this.unexportedSpans.filter(t=>this.isSpanInProgress(t));for(let t of e)console.log(`Span ${t.spanContext().spanId} was not ended properly`),t.end();this.sample(),this.exportPromises.push(this.exportSpans([...this.unexportedSpans])),this.unexportedSpans=[]}this.exportPromises.length>0&&(await Promise.allSettled(this.exportPromises),this.exportPromises=[],this.isFlushed=!0)}isSpanInProgress(e){return this.inprogressSpans.has(e.spanContext().spanId)}async exportSpans(e){let t=T();if(!t){console.log("No config found for exporting spans, skipping export");return}let o=t.postProcessor(e);await scheduler.wait(1),await new Promise((i,a)=>{this.exporter.export(o,c=>{c.code===It.SUCCESS?i():(console.log(`exporting spans failed! ${c.error}`),a(c.error))})})}},w=class{constructor(e){this.exporter=e}static{n(this,"BatchTraceSpanProcessor")}traces={};getTraceState(e){let t=this.traces[e]||new me(this.exporter);return this.traces[e]=t,t}onStart(e,t){let o=e.spanContext().traceId;this.getTraceState(o).addSpan(e)}onEnd(e){let t=e.spanContext().traceId,o=this.getTraceState(t);o.endSpan(e).catch(s=>{console.log(s,"Failed to end span")}).finally(()=>{o.hasFinished()&&delete this.traces[t]})}async forceFlush(e){if(e)await this.getTraceState(e).flush(),delete this.traces[e];else{let t=Object.values(this.traces).map(o=>o.flush);await Promise.allSettled(t),this.traces={}}}async shutdown(){await this.forceFlush()}};function Ue(r){return!!r.spanProcessors}n(Ue,"isSpanProcessorConfig");function Be(r){let e=!!r.spanProcessors,t=!!r.logProcessors;return e&&t}n(Be,"isProcessorConfig");var je=Symbol("Otel Tracing Configuration");function ze(r,e=Ve.active()){return e.setValue(je,r)}n(ze,"setConfig");function T(){return Ve.active().getValue(je)||void 0}n(T,"getActiveConfig");function Nt(r){return!!r.shouldSample}n(Nt,"isSampler");function Dt(r){return!!r.exporter}n(Dt,"isTraceConfigExporter");function Gt(r){return!!r.logUrl&&!!r.traceUrl&&!!r.headers}n(Gt,"isTraceAndLogConfigExporter");function fe(r){let e=[],t=[];Dt(r)?e=[new w(new E(r.exporter))]:Gt(r)?(e=[new w(new E({url:r.traceUrl,headers:r.headers}))],t=[new V(new B({url:r.logUrl,headers:r.headers}))]):Be(r)?(e=Array.isArray(r.spanProcessors)?r.spanProcessors:[r.spanProcessors],t=Array.isArray(r.logProcessors)?r.logProcessors:[r.logProcessors]):Ue(r)&&(e=Array.isArray(r.spanProcessors)?r.spanProcessors:[r.spanProcessors]);let o=r.sampling?.headSampler||{ratio:1},s=Nt(o)?o:He(o);return{fetch:{includeTraceContext:r.fetch?.includeTraceContext??!0},handlers:{fetch:{acceptTraceContext:r.handlers?.fetch?.acceptTraceContext??!0}},postProcessor:r.postProcessor||(i=>i),sampling:{headSampler:s,tailSampler:Ne(r.sampling?.tailSampler??De([Ge,Me]))},service:r.service,spanProcessors:e,propagator:r.propagator||new kt,instrumentation:{instrumentGlobalFetch:r.instrumentation?.instrumentGlobalFetch??!0},logProcessors:t}}n(fe,"parseConfig");function Ke(r){let e={},t=r.headers;e["http.request.method"]=r.method.toUpperCase(),e["http.request.body.size"]=t.get("content-length"),e["user_agent.original"]=t.get("user-agent"),e["http.mime_type"]=t.get("content-type"),e["http.accepts"]=t.get("accept");let o=new URL(r.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(Ke,"gatherRequestAttributes");function Ze(r){let e={};return e["http.response.status_code"]=r.status,r.headers.get("content-length")==null&&(e["http.response.body.size"]=r.headers.get("content-length")),e["http.mime_type"]=r.headers.get("content-type"),e}n(Ze,"gatherResponseAttributes");function Ut(r){return We.extract(j.active(),r,{get(e,t){return e.get(t)||void 0},keys(e){return[...e.keys()]}})}n(Ut,"getParentContextFromHeaders");function Bt(r){let e=T();return e===void 0?j.active():(typeof e.handlers.fetch.acceptTraceContext=="function"?e.handlers.fetch.acceptTraceContext(r):e.handlers.fetch.acceptTraceContext??!0)?Ut(r.headers):j.active()}n(Bt,"getParentContextFromRequest");function $e(r,e){let t=r;if(t.attributes["http.route"]){let o=e.method.toUpperCase();r.updateName(`${o} ${t.attributes["http.route"]}`)}}n($e,"updateSpanNameOnRoute");var Ye={getInitialSpanInfo:n(r=>{let e=Bt(r),t={"faas.trigger":"http","faas.invocation_id":r.headers.get("zp-rid")??void 0,"cf.ray_id":r.headers.get("cf-ray")??void 0};return Object.assign(t,Ke(r)),{name:`fetchHandler ${r.method.toUpperCase()}`,options:{attributes:t,kind:qe.SERVER},context:e}},"getInitialSpanInfo"),getAttributesFromResult:n(r=>Ze(r),"getAttributesFromResult"),executionSuccess:$e,executionFailed:$e};function Vt(r,e,t){return U(r,{apply:n((s,i,a)=>{let c=new Request(a[0],a[1]);if(!c.url.startsWith("http"))return Reflect.apply(s,i,a);let l=T();if(!l)return Reflect.apply(s,i,[c]);let u=e(l),m=Ht.getTracer("fetcher"),h={kind:qe.CLIENT,attributes:t},d=new URL(c.url).host,v=c.method.toUpperCase(),M=typeof t?.name=="string"?t?.name:`${v}: ${d}`;return m.startActiveSpan(M,h,async p=>{try{((typeof u.includeTraceContext=="function"?u.includeTraceContext(c):u.includeTraceContext)??!0)&&We.inject(j.active(),c.headers,{set:n((ce,pe,P)=>ce.set(pe,typeof P=="string"?P:String(P)),"set")}),p.setAttributes(Ke(c));let ae=await Reflect.apply(s,i,[c]);return p.setAttributes(Ze(ae)),ae}catch(x){throw p.recordException(x),p.setStatus({code:Mt.ERROR}),x}finally{p.end()}})},"apply")},!0)}n(Vt,"instrumentClientFetch");function Xe(){globalThis.fetch=Vt(globalThis.fetch,r=>r.fetch)}n(Xe,"instrumentGlobalFetch");import{context as St,context as hr,propagation as Tr,SpanStatusCode as xr,trace as Rt}from"@opentelemetry/api";import{resourceFromAttributes as ft}from"@opentelemetry/resources";import{ATTR_CLOUD_ACCOUNT_ID as Sr,ATTR_CLOUD_PLATFORM as Rr,ATTR_CLOUD_PROVIDER as Pr,ATTR_SERVICE_NAME as br,ATTR_SERVICE_NAMESPACE as _r,ATTR_SERVICE_VERSION as Cr,ATTR_TELEMETRY_SDK_NAME as yr}from"@opentelemetry/semantic-conventions/incubating";import{SemanticAttributes as ie}from"@zuplo/runtime";import{AsyncLocalStorage as jt}from"node:async_hooks";import{EventEmitter as zt}from"node:events";import{ROOT_CONTEXT as $t}from"@opentelemetry/api";var Wt=["addListener","on","once","prependListener","prependOnceListener"],he=class{static{n(this,"AbstractAsyncHooksContextManager")}bind(e,t){return t instanceof zt?this._bindEventEmitter(e,t):typeof t=="function"?this._bindFunction(e,t):t}_bindFunction(e,t){let o=this,s=n(function(...i){return o.with(e,()=>t.apply(this,i))},"contextWrapper");return Object.defineProperty(s,"length",{enumerable:!1,configurable:!0,writable:!1,value:t.length}),s}_bindEventEmitter(e,t){return this._getPatchMap(t)!==void 0||(this._createPatchMap(t),Wt.forEach(s=>{t[s]!==void 0&&(t[s]=this._patchAddListener(t,t[s],e))}),typeof t.removeListener=="function"&&(t.removeListener=this._patchRemoveListener(t,t.removeListener)),typeof t.off=="function"&&(t.off=this._patchRemoveListener(t,t.off)),typeof t.removeAllListeners=="function"&&(t.removeAllListeners=this._patchRemoveAllListeners(t,t.removeAllListeners))),t}_patchRemoveListener(e,t){let o=this;return function(s,i){let a=o._getPatchMap(e)?.[s];if(a===void 0)return t.call(this,s,i);let c=a.get(i);return t.call(this,s,c||i)}}_patchRemoveAllListeners(e,t){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]),t.apply(this,arguments)}}_patchAddListener(e,t,o){let s=this;return function(i,a){if(s._wrapped)return t.call(this,i,a);let c=s._getPatchMap(e);c===void 0&&(c=s._createPatchMap(e));let l=c[i];l===void 0&&(l=new WeakMap,c[i]=l);let u=s.bind(o,a);l.set(a,u),s._wrapped=!0;try{return t.call(this,i,u)}finally{s._wrapped=!1}}}_createPatchMap(e){let t=Object.create(null);return e[this._kOtListeners]=t,t}_getPatchMap(e){return e[this._kOtListeners]}_kOtListeners=Symbol("OtListeners");_wrapped=!1},z=class extends he{static{n(this,"AsyncLocalStorageContextManager")}_asyncLocalStorage;constructor(){super(),this._asyncLocalStorage=new jt}active(){return this._asyncLocalStorage.getStore()??$t}with(e,t,o,...s){let i=o==null?t:t.bind(o);return this._asyncLocalStorage.run(e,i,...s)}enable(){return this}disable(){return this._asyncLocalStorage.disable(),this}};import{trace as Sn}from"@opentelemetry/api";import{context as Se,SpanKind as tr,TraceFlags as rt,trace as W}from"@opentelemetry/api";import{sanitizeAttributes as ot}from"@opentelemetry/core";import{RandomIdGenerator as rr,SamplingDecision as or}from"@opentelemetry/sdk-trace-base";import{SpanKind as qt,SpanStatusCode as Kt}from"@opentelemetry/api";import{hrTimeDuration as Zt,isAttributeValue as Yt,isTimeInput as Xt,sanitizeAttributes as Je}from"@opentelemetry/core";import{ATTR_EXCEPTION_MESSAGE as Qe,ATTR_EXCEPTION_STACKTRACE as Jt,ATTR_EXCEPTION_TYPE as et}from"@opentelemetry/semantic-conventions";function Qt(r){let e={};return typeof r=="string"?e[Qe]=r:(r.code?e[et]=r.code.toString():r.name&&(e[et]=r.name),r.message&&(e[Qe]=r.message),r.stack&&(e[Jt]=r.stack)),e}n(Qt,"transformExceptionAttributes");function Te(r){return[Math.trunc(r/1e3),r%1e3*1e6]}n(Te,"millisToHr");function xe(r){let e=Date.now();if(r){if(r instanceof Date)return Te(r.getTime());if(typeof r=="number")return Te(r);if(Array.isArray(r))return r}else return Te(e);let t=r;throw new Error(`unreachable value: ${JSON.stringify(t)}`)}n(xe,"getHrTime");function er(r){return typeof r=="string"&&r.length>0}n(er,"isAttributeKey");var $=class{static{n(this,"SpanImpl")}name;_spanContext;onEnd;parentSpanId;parentSpanContext;kind;attributes;status={code:Kt.UNSET};endTime=[0,0];_duration=[0,0];startTime;events=[];links;resource;instrumentationScope=tt;_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||qt.INTERNAL,this.attributes=Je(e.attributes),this.startTime=xe(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,t){return er(e)&&Yt(t)&&(this.attributes[e]=t),this}setAttributes(e){for(let[t,o]of Object.entries(e))this.setAttribute(t,o);return this}addEvent(e,t,o){Xt(t)&&(o=t,t=void 0);let s=Je(t),i=xe(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=xe(e),this._duration=Zt(this.startTime,this.endTime),this.onEnd(this))}isRecording(){return!this._ended}recordException(e,t){let o=Qt(e);this.addEvent("exception",o,t)}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 st=new rr,nt;function nr(r,e){return(r>>e-1&1)*e}n(nr,"getFlagAt");var R=class{static{n(this,"WorkerTracer")}spanProcessors;resource;constructor(e,t){this.spanProcessors=e,this.resource=t}async forceFlush(e){let t=this.spanProcessors.map(async o=>{await o.forceFlush(e)});await Promise.allSettled(t)}addToResource(e){this.resource.merge(e)}startSpan(e,t={},o=Se.active()){t.root&&(o=W.deleteSpan(o));let s=T();if(!s)throw new Error("Config is undefined. This is a bug in the instrumentation logic");let i=W.getSpan(o)?.spanContext(),{traceId:a,randomTraceFlag:c}=sr(i),l=t.kind||tr.INTERNAL,u=ot(t.attributes),h=s.sampling.headSampler.shouldSample(o,a,e,l,u,[]),{decision:d,traceState:v,attributes:M}=h,g=Object.assign({},t.attributes,M,nt);nt={};let p=st.generateSpanId(),x=i?.spanId,ce=(d===or.RECORD_AND_SAMPLED?rt.SAMPLED:rt.NONE)+c,pe={traceId:a,spanId:p,traceFlags:ce,traceState:v},P=new $({attributes:ot(g),name:e,onEnd:n(le=>{this.spanProcessors.forEach(_t=>{_t.onEnd(le)})},"onEnd"),resource:this.resource,spanContext:pe,parentSpanContext:i,parentSpanId:x,spanKind:l,startTime:t.startTime});return this.spanProcessors.forEach(le=>{le.onStart(P,o)}),P}startActiveSpan(e,...t){let o=t.length>1?t[0]:void 0,s=t.length>2?t[1]:Se.active(),i=t[t.length-1],a=this.startSpan(e,o,s),c=W.setSpan(s,a);return Se.with(c,i,void 0,a)}};function sr(r){if(r&&W.isSpanContextValid(r)){let{traceId:e,traceFlags:t}=r;return{traceId:e,randomTraceFlag:nr(t,2)}}else return{traceId:st.generateTraceId(),randomTraceFlag:2}}n(sr,"getTraceInfo");var Re=class{static{n(this,"PromiseTracker")}_outstandingPromises=[];get outstandingPromiseCount(){return this._outstandingPromises.length}track(e){this._outstandingPromises.push(e)}async wait(){await ar(this._outstandingPromises)}};function ir(r,e,t){return U(r,{apply(s,i,a){return t.track(a[0]),Reflect.apply(s,e,a)}})}n(ir,"createWaitUntil");function it(r){let e=new Re;return{event:new Proxy(r,{get(o,s){if(s==="waitUntil"){let i=Reflect.get(o,s);return ir(i,r,e)}else return de(o,s)}}),tracker:e}}n(it,"proxyExecutionContext");async function ar(r){let e;do e=await Promise.allSettled(r);while(e.length!==r.length);return e}n(ar,"allSettledMutable");var O=class{static{n(this,"NoopLogger")}emit(e){}},at=new O;var Pe=class{static{n(this,"NoopLoggerProvider")}getLogger(e,t,o){return new O}},q=new Pe;var K=class{static{n(this,"ProxyLogger")}constructor(e,t,o,s){this._provider=e,this.name=t,this.version=o,this.options=s}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):at}};var A=class{static{n(this,"ProxyLoggerProvider")}getLogger(e,t,o){var s;return(s=this.getDelegateLogger(e,t,o))!==null&&s!==void 0?s:new K(this,e,t,o)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:q}setDelegate(e){this._delegate=e}getDelegateLogger(e,t,o){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getLogger(e,t,o)}};var be=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{};var I=Symbol.for("io.opentelemetry.js.api.logs"),b=be;function ct(r,e,t){return o=>o===r?e:t}n(ct,"makeGetter");var _e=1;var Z=class r{static{n(this,"LogsAPI")}constructor(){this._proxyLoggerProvider=new A}static getInstance(){return this._instance||(this._instance=new r),this._instance}setGlobalLoggerProvider(e){return b[I]?this.getLoggerProvider():(b[I]=ct(_e,e,q),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,t;return(t=(e=b[I])===null||e===void 0?void 0:e.call(b,_e))!==null&&t!==void 0?t:this._proxyLoggerProvider}getLogger(e,t,o){return this.getLoggerProvider().getLogger(e,t,o)}disable(){delete b[I],this._proxyLoggerProvider=new A}};var pt=Z.getInstance();import{diag as D}from"@opentelemetry/api";var _=class{static{n(this,"NoopLogger")}emit(e){}},F=new _;var Ce=class{static{n(this,"NoopLoggerProvider")}getLogger(e,t,o){return new _}},Y=new Ce;var X=class{static{n(this,"ProxyLogger")}constructor(e,t,o,s){this._provider=e,this.name=t,this.version=o,this.options=s}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):F}};var k=class{static{n(this,"ProxyLoggerProvider")}getLogger(e,t,o){var s;return(s=this.getDelegateLogger(e,t,o))!==null&&s!==void 0?s:new X(this,e,t,o)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:Y}setDelegate(e){this._delegate=e}getDelegateLogger(e,t,o){var s;return(s=this._delegate)===null||s===void 0?void 0:s.getLogger(e,t,o)}};var ye=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{};var N=Symbol.for("io.opentelemetry.js.api.logs"),C=ye;function lt(r,e,t){return o=>o===r?e:t}n(lt,"makeGetter");var Le=1;var J=class r{static{n(this,"LogsAPI")}constructor(){this._proxyLoggerProvider=new k}static getInstance(){return this._instance||(this._instance=new r),this._instance}setGlobalLoggerProvider(e){return C[N]?this.getLoggerProvider():(C[N]=lt(Le,e,Y),this._proxyLoggerProvider.setDelegate(e),e)}getLoggerProvider(){var e,t;return(t=(e=C[N])===null||e===void 0?void 0:e.call(C,Le))!==null&&t!==void 0?t:this._proxyLoggerProvider}getLogger(e,t,o){return this.getLoggerProvider().getLogger(e,t,o)}disable(){delete C[N],this._proxyLoggerProvider=new k}};var Ss=J.getInstance();import{defaultResource as ur}from"@opentelemetry/resources";import{BindOnceFuture as dr,merge as gr}from"@opentelemetry/core";import{context as pr}from"@opentelemetry/api";import{diag as cr}from"@opentelemetry/api";import*as f from"@opentelemetry/api";import{timeInputToHrTime as ut,isAttributeValue as dt}from"@opentelemetry/core";var Q=class{static{n(this,"LogRecord")}hrTime;hrTimeObserved;spanContext;resource;instrumentationScope;attributes={};_severityText;_severityNumber;_body;totalAttributesCount=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 droppedAttributesCount(){return this.totalAttributesCount-Object.keys(this.attributes).length}constructor(e,t,o){let{timestamp:s,observedTimestamp:i,severityNumber:a,severityText:c,body:l,attributes:u={},context:m}=o,h=Date.now();if(this.hrTime=ut(s??h),this.hrTimeObserved=ut(i??h),m){let d=f.trace.getSpanContext(m);d&&f.isSpanContextValid(d)&&(this.spanContext=d)}this.severityNumber=a,this.severityText=c,this.body=l,this.resource=e.resource,this.instrumentationScope=t,this._logRecordLimits=e.logRecordLimits,this.setAttributes(u)}setAttribute(e,t){return this._isLogRecordReadonly()?this:t===null?this:e.length===0?(f.diag.warn(`Invalid attribute key: ${e}`),this):!dt(t)&&!(typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length>0)?(f.diag.warn(`Invalid attribute value set for key: ${e}`),this):(this.totalAttributesCount+=1,Object.keys(this.attributes).length>=this._logRecordLimits.attributeCountLimit&&!Object.prototype.hasOwnProperty.call(this.attributes,e)?(this.droppedAttributesCount===1&&f.diag.warn("Dropping extra attributes."),this):(dt(t)?this.attributes[e]=this._truncateToSize(t):this.attributes[e]=t,this))}setAttributes(e){for(let[t,o]of Object.entries(e))this.setAttribute(t,o);return this}setBody(e){return this.body=e,this}setSeverityNumber(e){return this.severityNumber=e,this}setSeverityText(e){return this.severityText=e,this}_makeReadonly(){this._isReadonly=!0}_truncateToSize(e){let t=this._logRecordLimits.attributeValueLengthLimit;return t<=0?(f.diag.warn(`Attribute value limit must be positive, got ${t}`),e):typeof e=="string"?this._truncateToLimitUtil(e,t):Array.isArray(e)?e.map(o=>typeof o=="string"?this._truncateToLimitUtil(o,t):o):e}_truncateToLimitUtil(e,t){return e.length<=t?e:e.substring(0,t)}_isLogRecordReadonly(){return this._isReadonly&&cr.warn("Can not execute the operation on emitted log record"),this._isReadonly}};var ee=class{static{n(this,"Logger")}instrumentationScope;_sharedState;constructor(e,t){this.instrumentationScope=e,this._sharedState=t}emit(e){let t=e.context||pr.active(),o=new Q(this._sharedState,this.instrumentationScope,{context:t,...e});this._sharedState.activeProcessor.onEmit(o,t),o._makeReadonly()}};import{getNumberFromEnv as y}from"@opentelemetry/core";function gt(){return{forceFlushTimeoutMillis:3e4,logRecordLimits:{attributeValueLengthLimit:y("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT")??1/0,attributeCountLimit:y("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT")??128},includeTraceContext:!0}}n(gt,"loadDefaultConfig");function mt(r){return{attributeCountLimit:r.attributeCountLimit??y("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT")??y("OTEL_ATTRIBUTE_COUNT_LIMIT")??128,attributeValueLengthLimit:r.attributeValueLengthLimit??y("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT")??y("OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT")??1/0}}n(mt,"reconfigureLimits");var te=class{static{n(this,"NoopLogRecordProcessor")}forceFlush(){return Promise.resolve()}onEmit(e,t){}shutdown(){return Promise.resolve()}};import{callWithTimeout as lr}from"@opentelemetry/core";var L=class{static{n(this,"MultiLogRecordProcessor")}processors;forceFlushTimeoutMillis;constructor(e,t){this.processors=e,this.forceFlushTimeoutMillis=t}async forceFlush(){let e=this.forceFlushTimeoutMillis;await Promise.all(this.processors.map(t=>lr(t.forceFlush(),e)))}onEmit(e,t){this.processors.forEach(o=>o.onEmit(e,t))}async shutdown(){await Promise.all(this.processors.map(e=>e.shutdown()))}};var re=class{static{n(this,"LoggerProviderSharedState")}resource;forceFlushTimeoutMillis;logRecordLimits;processors;loggers=new Map;activeProcessor;registeredLogRecordProcessors=[];constructor(e,t,o,s){this.resource=e,this.forceFlushTimeoutMillis=t,this.logRecordLimits=o,this.processors=s,s.length>0?(this.registeredLogRecordProcessors=s,this.activeProcessor=new L(this.registeredLogRecordProcessors,this.forceFlushTimeoutMillis)):this.activeProcessor=new te}};var mr="unknown",G=class{static{n(this,"LoggerProvider")}_shutdownOnce;_sharedState;constructor(e={}){let t=gr({},gt(),e),o=e.resource??ur();this._sharedState=new re(o,t.forceFlushTimeoutMillis,mt(t.logRecordLimits),e?.processors??[]),this._shutdownOnce=new dr(this._shutdown,this)}getLogger(e,t,o){if(this._shutdownOnce.isCalled)return D.warn("A shutdown LoggerProvider cannot provide a Logger"),F;e||D.warn("Logger requested without instrumentation scope name.");let s=e||mr,i=`${s}@${t||""}:${o?.schemaUrl||""}`;return this._sharedState.loggers.has(i)||this._sharedState.loggers.set(i,new ee({name:s,version:t,schemaUrl:o?.schemaUrl},this._sharedState)),this._sharedState.loggers.get(i)}addLogRecordProcessor(e){this._sharedState.registeredLogRecordProcessors.length===0&&this._sharedState.activeProcessor.shutdown().catch(t=>D.error("Error while trying to shutdown current log record processor",t)),this._sharedState.registeredLogRecordProcessors.push(e),this._sharedState.activeProcessor=new L(this._sharedState.registeredLogRecordProcessors,this._sharedState.forceFlushTimeoutMillis)}forceFlush(){return this._shutdownOnce.isCalled?(D.warn("invalid attempt to force flush after LoggerProvider shutdown"),this._shutdownOnce.promise):this._sharedState.activeProcessor.forceFlush()}shutdown(){return this._shutdownOnce.isCalled?(D.warn("shutdown may only be called once per LoggerProvider"),this._shutdownOnce.promise):this._shutdownOnce.call()}_shutdown(){return this._sharedState.activeProcessor.shutdown()}};var oe=class{static{n(this,"ZuploOtelLogger")}baseLogger;constructor(e){this.baseLogger=e}emit(e){this.baseLogger.emit(e)}};var ne=class extends G{static{n(this,"ZuploLoggerProvider")}getLogger(e,t,o){let s=super.getLogger(e,t,o);return new oe(s)}register(){pt.setGlobalLoggerProvider(this)}};import{trace as fr}from"@opentelemetry/api";var se=class{static{n(this,"ZuploTracerProvider")}spanProcessors;resource;tracers={};constructor(e,t){this.spanProcessors=e,this.resource=t}getTracer(e,t,o){let s=`${e}@${t||""}:${o?.schemaUrl||""}`;return this.tracers[s]||(this.tracers[s]=new R(this.spanProcessors,this.resource)),this.tracers[s]}register(){fr.setGlobalTracerProvider(this)}};var Lr=n((r,e)=>{let t={[Pr]:"zuplo",[Rr]:"zuplo-api",[Sr]:r.accountName,"cloud.project.id":r.projectName,"cloud.resource_id":r.deploymentName,"cloud.instance_id":r.instanceId,"deployment.environment.name":r.environmentStage,[yr]:"@zuplo/otel",[ie.ZuploBuildId]:r.buildId,[ie.ZuploBuildVersion]:r.zuploVersion,[ie.ZuploBuildCompatibilityDate]:r.compatibilityDate,[ie.ZuploEnvironmentType]:r.environmentType},o=ft({[br]:e.service.name,[_r]:e.service.namespace,[Cr]:e.service.version});return ft(t).merge(o)},"createResource"),ht=!1;function Tt(r,e){if(!ht){e.instrumentation.instrumentGlobalFetch&&Xe(),Tr.setGlobalPropagator(e.propagator);let t=Lr(r,e);new se(e.spanProcessors,t).register(),e.logProcessors.length>0&&new ne({resource:t,processors:e.logProcessors}).register(),hr.setGlobalContextManager(new z),ht=!0}}n(Tt,"init");function Pt(r,e){return typeof e=="function"?t=>{let o=fe(e(t));return Tt(r,o),o}:()=>{let t=fe(e);return Tt(r,t),t}}n(Pt,"createInitializer");async function vr(r,e){let t=Rt.getTracer("export");t instanceof R?(await scheduler.wait(1),await e?.wait(),await t.forceFlush(r)):console.error("The global tracer is not of type WorkerTracer and can not export spans")}n(vr,"exportSpans");var xt=!0;function Er(r){return(e,t)=>{let[o,s]=t,{event:i,tracker:a}=it(s),c=r.instrumentTrigger?r.instrumentTrigger(o):o,l=Rt.getTracer("handler"),{name:u,options:m,context:h}=r.getInitialSpanInfo(o),d=m.attributes||{};d["faas.coldstart"]=xt,m.attributes=d,xt=!1;let v=h||St.active();return l.startActiveSpan(u,m,v,async g=>{try{let p=await e(c,i);if(r.getAttributesFromResult){let x=r.getAttributesFromResult(p);g.setAttributes(x)}return r.executionSuccess&&r.executionSuccess(g,o,p),p}catch(p){throw g.recordException(p),g.setStatus({code:xr.ERROR}),r.executionFailed&&r.executionFailed(g,o,p),p}finally{g.end(),s.waitUntil(vr(g.spanContext().traceId,a))}})}}n(Er,"createHandlerFlowFn");function bt(r,e,t){return(o,s)=>{let i=e(o),a=ze(i),c=Er(t);return St.with(a,c,o,r,[o,s])}}n(bt,"createHandlerProxy");var tt={name:"@zuplo/otel"};var ve=class extends wr{static{n(this,"OpenTelemetryPlugin")}config;constructor(e){super(),Or("opentelemetry"),this.config=e}instrument(e){let t=Pt(e,this.config);return{requestHandlerProxy:n(s=>bt(s,t,Ye),"requestHandlerProxy")}}};export{ve as a};
|
|
26
|
-
//# sourceMappingURL=chunk-V3GNZRVP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@zuplo/otel/buffer.ts","@zuplo/otel/plugin.ts","@zuplo/otel/instrumentation/fetch.ts","@zuplo/otel/config.ts","@zuplo/otel/exporter.ts","@zuplo/otel/attributes-utils.ts","@zuplo/otel/wrap.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","../../../node_modules/@opentelemetry/api-logs/src/NoopLogger.ts","../../../node_modules/@opentelemetry/api-logs/src/NoopLoggerProvider.ts","../../../node_modules/@opentelemetry/api-logs/src/ProxyLogger.ts","../../../node_modules/@opentelemetry/api-logs/src/ProxyLoggerProvider.ts","../../../node_modules/@opentelemetry/api-logs/src/platform/browser/globalThis.ts","../../../node_modules/@opentelemetry/api-logs/src/internal/global-utils.ts","../../../node_modules/@opentelemetry/api-logs/src/api/logs.ts","../../../node_modules/@opentelemetry/api-logs/src/index.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/NoopLogger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/NoopLoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/ProxyLogger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/ProxyLoggerProvider.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/platform/browser/globalThis.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/internal/global-utils.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/api/logs.ts","../../../../../node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/api-logs/src/index.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/Logger.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/LogRecord.ts","../../../../../node_modules/@opentelemetry/sdk-logs/src/config.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/LoggerProviderSharedState.ts","@zuplo/otel/logger.ts","@zuplo/otel/logprovider.ts","@zuplo/otel/traceprovider.ts"],"mappings":"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","names":["Buffer","TelemetryPlugin","trackFeature","apiContext","propagation","SpanKind","SpanStatusCode","trace","context","W3CTraceContextPropagator","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","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","spans","config","processedSpans","resolve","reject","result","ExportResultCode","BatchTraceSpanProcessor","traceId","traceState","parentContext","err","promises","isSpanProcessorConfig","config","__name","isProcessorConfig","hasSpanProcessors","hasLogProcessors","configSymbol","setConfig","config","ctx","context","__name","getActiveConfig","isSampler","sampler","isTraceConfigExporter","isTraceAndLogConfigExporter","parseConfig","supplied","spanProcessors","logProcessors","BatchTraceSpanProcessor","OTLPSpanExporter","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","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","allSettledMutable","createWaitUntil","fn","context","tracker","wrap","target","_thisArg","argArray","proxyExecutionContext","prop","passthroughGet","allSettledMutable","promises","values","__name","NoopLogger","__name","_logRecord","NOOP_LOGGER","NoopLoggerProvider","__name","_name","_version","_options","NoopLogger","NOOP_LOGGER_PROVIDER","ProxyLogger","__name","_provider","name","version","options","logRecord","logger","NOOP_LOGGER","ProxyLoggerProvider","__name","name","version","options","_a","ProxyLogger","NOOP_LOGGER_PROVIDER","delegate","_globalThis","GLOBAL_LOGS_API_KEY","_global","_globalThis","makeGetter","requiredVersion","instance","fallback","version","__name","API_BACKWARDS_COMPATIBILITY_VERSION","LogsAPI","_LogsAPI","__name","ProxyLoggerProvider","provider","_global","GLOBAL_LOGS_API_KEY","makeGetter","API_BACKWARDS_COMPATIBILITY_VERSION","NOOP_LOGGER_PROVIDER","_b","_a","name","version","options","logs","LogsAPI","diag","NoopLogger","__name","_logRecord","NOOP_LOGGER","NoopLoggerProvider","__name","_name","_version","_options","NoopLogger","NOOP_LOGGER_PROVIDER","ProxyLogger","__name","_provider","name","version","options","logRecord","logger","NOOP_LOGGER","ProxyLoggerProvider","__name","name","version","options","_a","ProxyLogger","NOOP_LOGGER_PROVIDER","delegate","_globalThis","GLOBAL_LOGS_API_KEY","_global","_globalThis","makeGetter","requiredVersion","instance","fallback","version","__name","API_BACKWARDS_COMPATIBILITY_VERSION","LogsAPI","_LogsAPI","__name","ProxyLoggerProvider","provider","_global","GLOBAL_LOGS_API_KEY","makeGetter","API_BACKWARDS_COMPATIBILITY_VERSION","NOOP_LOGGER_PROVIDER","_b","_a","name","version","options","logs","LogsAPI","defaultResource","BindOnceFuture","merge","context","diag","api","timeInputToHrTime","isAttributeValue","LogRecord","__name","severityText","severityNumber","body","_sharedState","instrumentationScope","logRecord","timestamp","observedTimestamp","attributes","context","now","timeInputToHrTime","spanContext","key","value","isAttributeValue","k","v","limit","val","diag","Logger","__name","instrumentationScope","_sharedState","logRecord","currentContext","context","logRecordInstance","LogRecord","getNumberFromEnv","loadDefaultConfig","getNumberFromEnv","__name","reconfigureLimits","logRecordLimits","NoopLogRecordProcessor","__name","_logRecord","_context","callWithTimeout","MultiLogRecordProcessor","__name","processors","forceFlushTimeoutMillis","timeout","processor","callWithTimeout","logRecord","context","LoggerProviderSharedState","__name","resource","forceFlushTimeoutMillis","logRecordLimits","processors","MultiLogRecordProcessor","NoopLogRecordProcessor","DEFAULT_LOGGER_NAME","LoggerProvider","__name","config","mergedConfig","merge","loadDefaultConfig","resource","defaultResource","LoggerProviderSharedState","reconfigureLimits","BindOnceFuture","name","version","options","diag","NOOP_LOGGER","loggerName","key","Logger","processor","err","MultiLogRecordProcessor","ZuploOtelLogger","__name","baseLogger","logRecord","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","initialised","init","instrumentGlobalFetch","propagation","otelResource","ZuploTracerProvider","ZuploLoggerProvider","context","AsyncLocalStorageContextManager","createInitializer","trigger","conf","parseConfig","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","OpenTelemetryPlugin","TelemetryPlugin","__name","config","trackFeature","options","initializer","createInitializer","wrapped","createHandlerProxy","fetchInstrumentation"]}
|