@equinor/fusion-framework-vite-plugin-spa 5.1.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/TelemetryAdapter-B6JH_RXA.js +91 -0
- package/dist/TelemetryAdapter-B6JH_RXA.js.map +1 -0
- package/dist/create-legacy-browser-delegate-B4z_676L.js +2862 -0
- package/dist/create-legacy-browser-delegate-B4z_676L.js.map +1 -0
- package/dist/enable-dev-server-tracing-DaQc5M9V.js +8137 -0
- package/dist/enable-dev-server-tracing-DaQc5M9V.js.map +1 -0
- package/dist/esm/html/bootstrap.js +17 -0
- package/dist/esm/html/bootstrap.js.map +1 -1
- package/dist/esm/html/enable-dev-server-tracing.js +94 -0
- package/dist/esm/html/enable-dev-server-tracing.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/html/bootstrap.js +115 -98
- package/dist/html/bootstrap.js.map +1 -1
- package/dist/index-BO_d5C6N.js +1570 -0
- package/dist/index-BO_d5C6N.js.map +1 -0
- package/dist/{index-Df9EZ6lh.js → index-CDpTfyge.js} +2 -2
- package/dist/index-CDpTfyge.js.map +1 -0
- package/dist/{module-DzjJ4gjy.js → module-Xg35JJRU.js} +16 -23
- package/dist/module-Xg35JJRU.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/html/enable-dev-server-tracing.d.ts +17 -0
- package/dist/types/html/html.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +17 -6
- package/dist/index-Df9EZ6lh.js.map +0 -1
- package/dist/module-DzjJ4gjy.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enable-dev-server-tracing-DaQc5M9V.js","sources":["../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/baggage/internal/baggage-impl.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/baggage/internal/symbol.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/baggage/utils.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/propagation/TextMapPropagator.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/SamplingResult.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/span_kind.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/status.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeterProvider.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/api/metrics.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/metrics-api.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/propagation/NoopTextMapPropagator.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/baggage/context-helpers.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/api/propagation.js","../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/propagation-api.js","../../../../node_modules/.pnpm/@opentelemetry+context-zone-peer-dep@2.11.0_@opentelemetry+api@1.9.1_zone.js@0.16.3/node_modules/@opentelemetry/context-zone-peer-dep/build/esm/util.js","../../../../node_modules/.pnpm/@opentelemetry+context-zone-peer-dep@2.11.0_@opentelemetry+api@1.9.1_zone.js@0.16.3/node_modules/@opentelemetry/context-zone-peer-dep/build/esm/ZoneContextManager.js","../../../../node_modules/.pnpm/zone.js@0.16.3/node_modules/zone.js/fesm2015/zone.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/baggage/constants.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/baggage/utils.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/baggage/propagation/W3CBaggagePropagator.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/common/attributes.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/platform/browser/environment.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/propagation/composite.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/internal/validators.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/trace/TraceState.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/utils/lodash.merge.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/utils/merge.js","../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/utils/url.js","../../../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/index.js","../../../../node_modules/.pnpm/@opentelemetry+api-logs@0.222.0/node_modules/@opentelemetry/api-logs/build/esm/internal/global-utils.js","../../../../node_modules/.pnpm/@opentelemetry+api-logs@0.222.0/node_modules/@opentelemetry/api-logs/build/esm/NoopLoggerProvider.js","../../../../node_modules/.pnpm/@opentelemetry+api-logs@0.222.0/node_modules/@opentelemetry/api-logs/build/esm/ProxyLogger.js","../../../../node_modules/.pnpm/@opentelemetry+api-logs@0.222.0/node_modules/@opentelemetry/api-logs/build/esm/ProxyLoggerProvider.js","../../../../node_modules/.pnpm/@opentelemetry+api-logs@0.222.0/node_modules/@opentelemetry/api-logs/build/esm/api/logs.js","../../../../node_modules/.pnpm/@opentelemetry+api-logs@0.222.0/node_modules/@opentelemetry/api-logs/build/esm/index.js","../../../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js","../../../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/trace.js","../../../../node_modules/.pnpm/@opentelemetry+exporter-trace-otlp-http@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/semconv.js","../../../../node_modules/.pnpm/@opentelemetry+exporter-trace-otlp-http@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/platform/browser/OTLPTraceExporter.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/enums.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/inspect.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/Span.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/Sampler.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/semconv.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/TracerMetrics.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/version.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/Tracer.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/MultiSpanProcessor.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/sampler/AlwaysOffSampler.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/sampler/AlwaysOnSampler.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/sampler/ParentBasedSampler.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/export/SpanProcessorMetrics.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/export/BatchSpanProcessorBase.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/platform/browser/export/BatchSpanProcessor.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/platform/browser/RandomIdGenerator.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/esm/sampler/TraceIdRatioBasedSampler.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/esm/config.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/esm/utility.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider-shim.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/esm/BatchSpanProcessor-shim.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace-web@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-web/build/esm/StackContextManager.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace-web@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-web/build/esm/WebTracerProvider.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace-web@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-web/build/esm/enums/PerformanceTimingNames.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace-web@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-web/build/esm/semconv.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-trace-web@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-web/build/esm/utils.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation/build/esm/shimmer.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation/build/esm/platform/browser/instrumentation.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation/build/esm/utils.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-document-load@0.67.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-document-load/build/esm/enums/AttributeNames.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-document-load@0.67.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-document-load/build/esm/version.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-document-load@0.67.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-document-load/build/esm/enums/EventNames.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-document-load@0.67.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-document-load/build/esm/utils.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-document-load@0.67.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-document-load/build/esm/instrumentation.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-fetch@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-fetch/build/esm/semconv.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-fetch@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-fetch/build/esm/utils.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-fetch@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-fetch/build/esm/version.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-fetch@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-fetch/build/esm/fetch.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-xml-http-request@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-xml-http-request/build/esm/semconv.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-xml-http-request@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-xml-http-request/build/esm/enums/EventNames.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-xml-http-request@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-xml-http-request/build/esm/utils.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-xml-http-request@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-xml-http-request/build/esm/version.js","../../../../node_modules/.pnpm/@opentelemetry+instrumentation-xml-http-request@0.222.0_@opentelemetry+api@1.9.1_supports-color@10.2.2/node_modules/@opentelemetry/instrumentation-xml-http-request/build/esm/xhr.js","esm/html/enable-dev-server-tracing.js"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport class BaggageImpl {\n constructor(entries) {\n this._entries = entries ? new Map(entries) : new Map();\n }\n getEntry(key) {\n const entry = this._entries.get(key);\n if (!entry) {\n return undefined;\n }\n return Object.assign({}, entry);\n }\n getAllEntries() {\n return Array.from(this._entries.entries());\n }\n setEntry(key, entry) {\n const newBaggage = new BaggageImpl(this._entries);\n newBaggage._entries.set(key, entry);\n return newBaggage;\n }\n removeEntry(key) {\n const newBaggage = new BaggageImpl(this._entries);\n newBaggage._entries.delete(key);\n return newBaggage;\n }\n removeEntries(...keys) {\n const newBaggage = new BaggageImpl(this._entries);\n for (const key of keys) {\n newBaggage._entries.delete(key);\n }\n return newBaggage;\n }\n clear() {\n return new BaggageImpl();\n }\n}\n//# sourceMappingURL=baggage-impl.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Symbol used to make BaggageEntryMetadata an opaque type\n */\nexport const baggageEntryMetadataSymbol = Symbol('BaggageEntryMetadata');\n//# sourceMappingURL=symbol.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { DiagAPI } from '../api/diag';\nimport { BaggageImpl } from './internal/baggage-impl';\nimport { baggageEntryMetadataSymbol } from './internal/symbol';\nconst diag = DiagAPI.instance();\n/**\n * Create a new Baggage with optional entries\n *\n * @param entries An array of baggage entries the new baggage should contain\n */\nexport function createBaggage(entries = {}) {\n return new BaggageImpl(new Map(Object.entries(entries)));\n}\n/**\n * Create a serializable BaggageEntryMetadata object from a string.\n *\n * @param str string metadata. Format is currently not defined by the spec and has no special meaning.\n *\n * @since 1.0.0\n */\nexport function baggageEntryMetadataFromString(str) {\n if (typeof str !== 'string') {\n diag.error(`Cannot create baggage metadata from unknown type: ${typeof str}`);\n str = '';\n }\n return {\n __TYPE__: baggageEntryMetadataSymbol,\n toString() {\n return str;\n },\n };\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @since 1.0.0\n */\nexport const defaultTextMapGetter = {\n get(carrier, key) {\n if (carrier == null) {\n return undefined;\n }\n return carrier[key];\n },\n keys(carrier) {\n if (carrier == null) {\n return [];\n }\n return Object.keys(carrier);\n },\n};\n/**\n * @since 1.0.0\n */\nexport const defaultTextMapSetter = {\n set(carrier, key, value) {\n if (carrier == null) {\n return;\n }\n carrier[key] = value;\n },\n};\n//# sourceMappingURL=TextMapPropagator.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @deprecated use the one declared in @opentelemetry/sdk-trace-base instead.\n * A sampling decision that determines how a {@link Span} will be recorded\n * and collected.\n *\n * @since 1.0.0\n */\nexport var SamplingDecision;\n(function (SamplingDecision) {\n /**\n * `Span.isRecording() === false`, span will not be recorded and all events\n * and attributes will be dropped.\n */\n SamplingDecision[SamplingDecision[\"NOT_RECORD\"] = 0] = \"NOT_RECORD\";\n /**\n * `Span.isRecording() === true`, but `Sampled` flag in {@link TraceFlags}\n * MUST NOT be set.\n */\n SamplingDecision[SamplingDecision[\"RECORD\"] = 1] = \"RECORD\";\n /**\n * `Span.isRecording() === true` AND `Sampled` flag in {@link TraceFlags}\n * MUST be set.\n */\n SamplingDecision[SamplingDecision[\"RECORD_AND_SAMPLED\"] = 2] = \"RECORD_AND_SAMPLED\";\n})(SamplingDecision || (SamplingDecision = {}));\n//# sourceMappingURL=SamplingResult.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @since 1.0.0\n */\nexport var SpanKind;\n(function (SpanKind) {\n /** Default value. Indicates that the span is used internally. */\n SpanKind[SpanKind[\"INTERNAL\"] = 0] = \"INTERNAL\";\n /**\n * Indicates that the span covers server-side handling of an RPC or other\n * remote request.\n */\n SpanKind[SpanKind[\"SERVER\"] = 1] = \"SERVER\";\n /**\n * Indicates that the span covers the client-side wrapper around an RPC or\n * other remote request.\n */\n SpanKind[SpanKind[\"CLIENT\"] = 2] = \"CLIENT\";\n /**\n * Indicates that the span describes producer sending a message to a\n * broker. Unlike client and server, there is no direct critical path latency\n * relationship between producer and consumer spans.\n */\n SpanKind[SpanKind[\"PRODUCER\"] = 3] = \"PRODUCER\";\n /**\n * Indicates that the span describes consumer receiving a message from a\n * broker. Unlike client and server, there is no direct critical path latency\n * relationship between producer and consumer spans.\n */\n SpanKind[SpanKind[\"CONSUMER\"] = 4] = \"CONSUMER\";\n})(SpanKind || (SpanKind = {}));\n//# sourceMappingURL=span_kind.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * An enumeration of status codes.\n *\n * @since 1.0.0\n */\nexport var SpanStatusCode;\n(function (SpanStatusCode) {\n /**\n * The default status.\n */\n SpanStatusCode[SpanStatusCode[\"UNSET\"] = 0] = \"UNSET\";\n /**\n * The operation has been validated by an Application developer or\n * Operator to have completed successfully.\n */\n SpanStatusCode[SpanStatusCode[\"OK\"] = 1] = \"OK\";\n /**\n * The operation contains an error.\n */\n SpanStatusCode[SpanStatusCode[\"ERROR\"] = 2] = \"ERROR\";\n})(SpanStatusCode || (SpanStatusCode = {}));\n//# sourceMappingURL=status.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { NOOP_METER } from './NoopMeter';\n/**\n * An implementation of the {@link MeterProvider} which returns an impotent Meter\n * for all calls to `getMeter`\n */\nexport class NoopMeterProvider {\n getMeter(_name, _version, _options) {\n return NOOP_METER;\n }\n}\nexport const NOOP_METER_PROVIDER = new NoopMeterProvider();\n//# sourceMappingURL=NoopMeterProvider.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { NOOP_METER_PROVIDER } from '../metrics/NoopMeterProvider';\nimport { getGlobal, registerGlobal, unregisterGlobal, } from '../internal/global-utils';\nimport { DiagAPI } from './diag';\nconst API_NAME = 'metrics';\n/**\n * Singleton object which represents the entry point to the OpenTelemetry Metrics API\n */\nexport class MetricsAPI {\n /** Empty private constructor prevents end users from constructing a new instance of the API */\n constructor() { }\n /** Get the singleton instance of the Metrics API */\n static getInstance() {\n if (!this._instance) {\n this._instance = new MetricsAPI();\n }\n return this._instance;\n }\n /**\n * Set the current global meter provider.\n * Returns true if the meter provider was successfully registered, else false.\n */\n setGlobalMeterProvider(provider) {\n return registerGlobal(API_NAME, provider, DiagAPI.instance());\n }\n /**\n * Returns the global meter provider.\n */\n getMeterProvider() {\n return getGlobal(API_NAME) || NOOP_METER_PROVIDER;\n }\n /**\n * Returns a meter from the global meter provider.\n */\n getMeter(name, version, options) {\n return this.getMeterProvider().getMeter(name, version, options);\n }\n /** Remove the global meter provider */\n disable() {\n unregisterGlobal(API_NAME, DiagAPI.instance());\n }\n}\n//# sourceMappingURL=metrics.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// Split module-level variable definition into separate files to allow\n// tree-shaking on each api instance.\nimport { MetricsAPI } from './api/metrics';\n/**\n * Entrypoint for metrics API\n *\n * @since 1.3.0\n */\nexport const metrics = MetricsAPI.getInstance();\n//# sourceMappingURL=metrics-api.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * No-op implementations of {@link TextMapPropagator}.\n */\nexport class NoopTextMapPropagator {\n /** Noop inject function does nothing */\n inject(_context, _carrier) { }\n /** Noop extract function does nothing and returns the input context */\n extract(context, _carrier) {\n return context;\n }\n fields() {\n return [];\n }\n}\n//# sourceMappingURL=NoopTextMapPropagator.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ContextAPI } from '../api/context';\nimport { createContextKey } from '../context/context';\n/**\n * Baggage key\n */\nconst BAGGAGE_KEY = createContextKey('OpenTelemetry Baggage Key');\n/**\n * Retrieve the current baggage from the given context\n *\n * @param {Context} Context that manage all context values\n * @returns {Baggage} Extracted baggage from the context\n */\nexport function getBaggage(context) {\n return context.getValue(BAGGAGE_KEY) || undefined;\n}\n/**\n * Retrieve the current baggage from the active/current context\n *\n * @returns {Baggage} Extracted baggage from the context\n */\nexport function getActiveBaggage() {\n return getBaggage(ContextAPI.getInstance().active());\n}\n/**\n * Store a baggage in the given context\n *\n * @param {Context} Context that manage all context values\n * @param {Baggage} baggage that will be set in the actual context\n */\nexport function setBaggage(context, baggage) {\n return context.setValue(BAGGAGE_KEY, baggage);\n}\n/**\n * Delete the baggage stored in the given context\n *\n * @param {Context} Context that manage all context values\n */\nexport function deleteBaggage(context) {\n return context.deleteValue(BAGGAGE_KEY);\n}\n//# sourceMappingURL=context-helpers.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { getGlobal, registerGlobal, unregisterGlobal, } from '../internal/global-utils';\nimport { NoopTextMapPropagator } from '../propagation/NoopTextMapPropagator';\nimport { defaultTextMapGetter, defaultTextMapSetter, } from '../propagation/TextMapPropagator';\nimport { getBaggage, getActiveBaggage, setBaggage, deleteBaggage, } from '../baggage/context-helpers';\nimport { createBaggage } from '../baggage/utils';\nimport { DiagAPI } from './diag';\nconst API_NAME = 'propagation';\nconst NOOP_TEXT_MAP_PROPAGATOR = new NoopTextMapPropagator();\n/**\n * Singleton object which represents the entry point to the OpenTelemetry Propagation API\n *\n * @since 1.0.0\n */\nexport class PropagationAPI {\n /** Empty private constructor prevents end users from constructing a new instance of the API */\n constructor() {\n this.createBaggage = createBaggage;\n this.getBaggage = getBaggage;\n this.getActiveBaggage = getActiveBaggage;\n this.setBaggage = setBaggage;\n this.deleteBaggage = deleteBaggage;\n }\n /** Get the singleton instance of the Propagator API */\n static getInstance() {\n if (!this._instance) {\n this._instance = new PropagationAPI();\n }\n return this._instance;\n }\n /**\n * Set the current propagator.\n *\n * @returns true if the propagator was successfully registered, else false\n */\n setGlobalPropagator(propagator) {\n return registerGlobal(API_NAME, propagator, DiagAPI.instance());\n }\n /**\n * Inject context into a carrier to be propagated inter-process\n *\n * @param context Context carrying tracing data to inject\n * @param carrier carrier to inject context into\n * @param setter Function used to set values on the carrier\n */\n inject(context, carrier, setter = defaultTextMapSetter) {\n return this._getGlobalPropagator().inject(context, carrier, setter);\n }\n /**\n * Extract context from a carrier\n *\n * @param context Context which the newly created context will inherit from\n * @param carrier Carrier to extract context from\n * @param getter Function used to extract keys from a carrier\n */\n extract(context, carrier, getter = defaultTextMapGetter) {\n return this._getGlobalPropagator().extract(context, carrier, getter);\n }\n /**\n * Return a list of all fields which may be used by the propagator.\n */\n fields() {\n return this._getGlobalPropagator().fields();\n }\n /** Remove the global propagator */\n disable() {\n unregisterGlobal(API_NAME, DiagAPI.instance());\n }\n _getGlobalPropagator() {\n return getGlobal(API_NAME) || NOOP_TEXT_MAP_PROPAGATOR;\n }\n}\n//# sourceMappingURL=propagation.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// Split module-level variable definition into separate files to allow\n// tree-shaking on each api instance.\nimport { PropagationAPI } from './api/propagation';\n/**\n * Entrypoint for propagation API\n *\n * @since 1.0.0\n */\nexport const propagation = PropagationAPI.getInstance();\n//# sourceMappingURL=propagation-api.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * check if an object has `addEventListener` and `removeEventListener` functions.\n * Generally only called with a `TargetWithEvents` but may be called with an `unknown` value.\n * @param obj - The object to check.\n */\nexport function isListenerObject(obj) {\n return (typeof obj === 'object' &&\n obj !== null &&\n 'addEventListener' in obj &&\n typeof obj.addEventListener === 'function' &&\n 'removeEventListener' in obj &&\n typeof obj.removeEventListener === 'function');\n}\n//# sourceMappingURL=util.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ROOT_CONTEXT } from '@opentelemetry/api';\nimport { isListenerObject } from './util';\n/* Key name to be used to save a context reference in Zone */\nconst ZONE_CONTEXT_KEY = 'OT_ZONE_CONTEXT';\n/**\n * ZoneContextManager\n * This module provides an easy functionality for tracing action between asynchronous operations in web.\n * It was not possible with standard [StackContextManager]{@link https://github.com/open-telemetry/opentelemetry-js/blob/main/packages/opentelemetry-sdk-trace-web/src/StackContextManager.ts}.\n * It heavily depends on [zone.js]{@link https://www.npmjs.com/package/zone.js}.\n * It stores the information about context in zone. Each Context will have always new Zone;\n * It also supports binding a certain Span to a target that has \"addEventListener\" and \"removeEventListener\".\n * When this happens a new zone is being created and the provided Span is being assigned to this zone.\n */\nexport class ZoneContextManager {\n /**\n * whether the context manager is enabled or not\n */\n _enabled = false;\n /**\n * @param context A context (span) to be executed within target function\n * @param target Function to be executed within the context\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n _bindFunction(context, target) {\n const manager = this;\n const contextWrapper = function (...args) {\n return manager.with(context, () => target.apply(this, args));\n };\n Object.defineProperty(contextWrapper, 'length', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: target.length,\n });\n return contextWrapper;\n }\n /**\n * @param context A context (span) to be bind to target\n * @param obj target object on which the listeners will be patched\n */\n _bindListener(context, obj) {\n const target = obj;\n if (target.__ot_listeners !== undefined) {\n return obj;\n }\n target.__ot_listeners = {};\n if (typeof target.addEventListener === 'function') {\n target.addEventListener = this._patchAddEventListener(target, target.addEventListener, context);\n }\n if (typeof target.removeEventListener === 'function') {\n target.removeEventListener = this._patchRemoveEventListener(target, target.removeEventListener);\n }\n return obj;\n }\n /**\n * Creates a new zone\n * @param zoneName zone name\n * @param context A context (span) to be bind with Zone\n */\n _createZone(zoneName, context) {\n return Zone.current.fork({\n name: zoneName,\n properties: {\n [ZONE_CONTEXT_KEY]: context,\n },\n onCancelTask(parentZoneDelegate, currentZone, targetZone, task) {\n if (task.state === 'notScheduled' || task.state === 'running') {\n return task;\n }\n return parentZoneDelegate.cancelTask(targetZone, task);\n },\n });\n }\n /**\n * Patches addEventListener method\n * @param target any target that has \"addEventListener\" method\n * @param original reference to the patched method\n * @param [context] context to be bind to the listener\n */\n _patchAddEventListener(target, original, context) {\n const contextManager = this;\n return function (event, listener, opts) {\n if (target.__ot_listeners === undefined) {\n target.__ot_listeners = {};\n }\n let listeners = target.__ot_listeners[event];\n if (listeners === undefined) {\n listeners = new WeakMap();\n target.__ot_listeners[event] = listeners;\n }\n const patchedListener = contextManager.bind(context, listener);\n // store a weak reference of the user listener to ours\n listeners.set(listener, patchedListener);\n return original.call(this, event, patchedListener, opts);\n };\n }\n /**\n * Patches removeEventListener method\n * @param target any target that has \"removeEventListener\" method\n * @param original reference to the patched method\n */\n _patchRemoveEventListener(target, original) {\n return function (event, listener) {\n if (target.__ot_listeners === undefined ||\n target.__ot_listeners[event] === undefined) {\n return original.call(this, event, listener);\n }\n const events = target.__ot_listeners[event];\n const patchedListener = events.get(listener);\n events.delete(listener);\n return original.call(this, event, patchedListener || listener);\n };\n }\n /**\n * Returns the active context\n */\n active() {\n if (!this._enabled || !Zone.current) {\n return ROOT_CONTEXT;\n }\n return Zone.current.get(ZONE_CONTEXT_KEY) || ROOT_CONTEXT;\n }\n /**\n * Binds a the certain context or the active one to the target function and then returns the target\n * @param context A context (span) to be bind to target\n * @param target a function or event emitter. When target or one of its callbacks is called,\n * the provided context will be used as the active context for the duration of the call.\n */\n bind(context, target) {\n if (typeof target === 'function') {\n return this._bindFunction(context, target);\n }\n else if (isListenerObject(target)) {\n this._bindListener(context, target);\n }\n return target;\n }\n /**\n * Disable the context manager (clears all the contexts)\n */\n disable() {\n this._enabled = false;\n return this;\n }\n /**\n * Enables the context manager and creates a default(root) context\n */\n enable() {\n this._enabled = true;\n return this;\n }\n /**\n * Calls the callback function [fn] with the provided [context].\n * If [context] is undefined then it will use the active context.\n * The context will be set as active\n * @param context A context (span) to be called with provided callback\n * @param fn Callback function\n * @param thisArg optional receiver to be used for calling fn\n * @param args optional arguments forwarded to fn\n */\n with(context, fn, thisArg, ...args) {\n let zoneName = 'otel:with';\n if (fn.name) {\n zoneName += `:${fn.name}`;\n }\n return this._createZone(zoneName, context).run(fn, thisArg, args);\n }\n}\n//# sourceMappingURL=ZoneContextManager.js.map","'use strict';\n/**\n * @license Angular\n * (c) 2010-2026 Google LLC. https://angular.dev/\n * License: MIT\n */\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\n\n// packages/zone.js/lib/zone-impl.js\nvar global = globalThis;\nfunction __symbol__(name) {\n const rawPrefix = global[\"__Zone_symbol_prefix\"];\n const symbolPrefix = typeof rawPrefix === \"string\" ? rawPrefix : \"__zone_symbol__\";\n return symbolPrefix + name;\n}\nfunction initZone() {\n const performance = global[\"performance\"];\n function mark(name) {\n performance && performance[\"mark\"] && performance[\"mark\"](name);\n }\n function performanceMeasure(name, label) {\n performance && performance[\"measure\"] && performance[\"measure\"](name, label);\n }\n mark(\"Zone\");\n const _ZoneImpl = class _ZoneImpl {\n constructor(parent, zoneSpec) {\n __publicField(this, \"_parent\");\n __publicField(this, \"_name\");\n __publicField(this, \"_properties\");\n __publicField(this, \"_zoneDelegate\");\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || \"unnamed\" : \"<root>\";\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate = new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n static assertZonePatched() {\n if (global[\"Promise\"] !== patches[\"ZoneAwarePromise\"]) {\n throw new Error(\"Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)\");\n }\n }\n static get root() {\n let zone = _ZoneImpl.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n static __load_patch(name, fn, ignoreDuplicate = false) {\n if (Object.hasOwn(patches, name)) {\n const checkDuplicate = global[__symbol__(\"forceDuplicateZoneCheck\")] === true;\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error(\"Already loaded patch: \" + name);\n }\n } else if (!global[\"__Zone_disable_\" + name]) {\n const perfName = \"Zone:\" + name;\n mark(perfName);\n patches[name] = fn(global, _ZoneImpl, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (Object.hasOwn(current._properties, key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error(\"ZoneSpec required!\");\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== \"function\") {\n throw new Error(\"Expecting function got: \" + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function() {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n } finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n } catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n } finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error(\"A task can only be run in the zone of creation! (Creation: \" + (task.zone || NO_ZONE).name + \"; Execution: \" + this.name + \")\");\n }\n const zoneTask = task;\n const { type, data: { isPeriodic = false, isRefreshable = false } = {} } = task;\n if (task.state === notScheduled && (type === eventTask || type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && zoneTask._transitionTo(running, scheduled);\n const previousTask = _currentTask;\n _currentTask = zoneTask;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (type == macroTask && task.data && !isPeriodic && !isRefreshable) {\n task.cancelFn = void 0;\n }\n try {\n return this._zoneDelegate.invokeTask(this, zoneTask, applyThis, applyArgs);\n } catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n } finally {\n const state = task.state;\n if (state !== notScheduled && state !== unknown) {\n if (type == eventTask || isPeriodic || isRefreshable && state === scheduling) {\n reEntryGuard && zoneTask._transitionTo(scheduled, running, scheduling);\n } else {\n const zoneDelegates = zoneTask._zoneDelegates;\n this._updateTaskCount(zoneTask, -1);\n reEntryGuard && zoneTask._transitionTo(notScheduled, running, notScheduled);\n if (isRefreshable) {\n zoneTask._zoneDelegates = zoneDelegates;\n }\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n } catch (err) {\n task._transitionTo(unknown, scheduling, notScheduled);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, void 0));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error(\"A task can only be cancelled in the zone of creation! (Creation: \" + (task.zone || NO_ZONE).name + \"; Execution: \" + this.name + \")\");\n if (task.state !== scheduled && task.state !== running) {\n return;\n }\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n } catch (err) {\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = -1;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n };\n __publicField(_ZoneImpl, \"__symbol__\", __symbol__);\n let ZoneImpl = _ZoneImpl;\n const DELEGATE_ZS = {\n name: \"\",\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class _ZoneDelegate {\n constructor(zone, parentDelegate, zoneSpec) {\n __publicField(this, \"_zone\");\n __publicField(this, \"_taskCounts\", {\n \"microTask\": 0,\n \"macroTask\": 0,\n \"eventTask\": 0\n });\n __publicField(this, \"_forkDlgt\");\n __publicField(this, \"_forkZS\");\n __publicField(this, \"_forkCurrZone\");\n __publicField(this, \"_interceptDlgt\");\n __publicField(this, \"_interceptZS\");\n __publicField(this, \"_interceptCurrZone\");\n __publicField(this, \"_invokeDlgt\");\n __publicField(this, \"_invokeZS\");\n __publicField(this, \"_invokeCurrZone\");\n __publicField(this, \"_handleErrorDlgt\");\n __publicField(this, \"_handleErrorZS\");\n __publicField(this, \"_handleErrorCurrZone\");\n __publicField(this, \"_scheduleTaskDlgt\");\n __publicField(this, \"_scheduleTaskZS\");\n __publicField(this, \"_scheduleTaskCurrZone\");\n __publicField(this, \"_invokeTaskDlgt\");\n __publicField(this, \"_invokeTaskZS\");\n __publicField(this, \"_invokeTaskCurrZone\");\n __publicField(this, \"_cancelTaskDlgt\");\n __publicField(this, \"_cancelTaskZS\");\n __publicField(this, \"_cancelTaskCurrZone\");\n __publicField(this, \"_hasTaskDlgt\");\n __publicField(this, \"_hasTaskDlgtOwner\");\n __publicField(this, \"_hasTaskZS\");\n __publicField(this, \"_hasTaskCurrZone\");\n this._zone = zone;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this._zone : parentDelegate._forkCurrZone);\n this._interceptZS = zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt = zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone = zoneSpec && (zoneSpec.onIntercept ? this._zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt = zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this._zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS = zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone = zoneSpec && (zoneSpec.onHandleError ? this._zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS = zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec && (zoneSpec.onScheduleTask ? this._zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS = zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt = zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone = zoneSpec && (zoneSpec.onInvokeTask ? this._zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS = zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt = zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone = zoneSpec && (zoneSpec.onCancelTask ? this._zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = this._zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this._zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this._zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this._zone;\n }\n }\n }\n get zone() {\n return this._zone;\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) : new ZoneImpl(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ? this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) : callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) : callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ? this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) : true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n } else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n } else if (task.type == microTask) {\n scheduleMicroTask(task);\n } else {\n throw new Error(\"Task is missing scheduleFn.\");\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) : task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n } else {\n if (!task.cancelFn) {\n throw Error(\"Task is not cancelable\");\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n try {\n this._hasTaskZS && this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n } catch (err) {\n this.handleError(targetZone, err);\n }\n }\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error(\"More tasks executed then were scheduled.\");\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts[\"microTask\"] > 0,\n macroTask: counts[\"macroTask\"] > 0,\n eventTask: counts[\"eventTask\"] > 0,\n change: type\n };\n this.hasTask(this._zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n __publicField(this, \"type\");\n __publicField(this, \"source\");\n __publicField(this, \"invoke\");\n __publicField(this, \"callback\");\n __publicField(this, \"data\");\n __publicField(this, \"scheduleFn\");\n __publicField(this, \"cancelFn\");\n __publicField(this, \"_zone\", null);\n __publicField(this, \"runCount\", 0);\n __publicField(this, \"_zoneDelegates\", null);\n __publicField(this, \"_state\", \"notScheduled\");\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error(\"callback is not defined\");\n }\n this.callback = callback;\n const self2 = this;\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n } else {\n this.invoke = function() {\n return ZoneTask.invokeTask.call(global, self2, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n } finally {\n try {\n if (_numberOfNestedTaskFrames === 1 && !global[enableNativeMicrotaskDraining]) {\n drainMicroTaskQueueSynchronously();\n }\n } finally {\n _numberOfNestedTaskFrames--;\n }\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n } else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? \" or '\" + fromState2 + \"'\" : \"\"}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== \"undefined\") {\n return this.data.handleId.toString();\n } else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n const symbolSetTimeout = __symbol__(\"setTimeout\");\n const symbolPromise = __symbol__(\"Promise\");\n const symbolThen = __symbol__(\"then\");\n const enableNativeMicrotaskDraining = __symbol__(\"enable_native_microtask_draining\");\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n var _a;\n if (!nativeMicroTaskQueuePromise && global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n if (nativeMicroTaskQueuePromise) {\n const thenFn = (_a = nativeMicroTaskQueuePromise[symbolThen]) != null ? _a : nativeMicroTaskQueuePromise[\"then\"];\n thenFn.call(nativeMicroTaskQueuePromise, func);\n } else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n const isNativeDrainingEnabled = global[enableNativeMicrotaskDraining];\n const shouldDrainWithNative = isNativeDrainingEnabled && _microTaskQueue.length === 0 && !_isDrainingMicrotaskQueue;\n const shouldDrainWithoutNative = !isNativeDrainingEnabled && _numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0;\n if (shouldDrainWithNative || shouldDrainWithoutNative) {\n nativeScheduleMicroTask(drainMicroTaskQueueSynchronously);\n }\n if (task) {\n _microTaskQueue.push(task);\n }\n }\n function drainMicroTaskQueueSynchronously() {\n if (_isDrainingMicrotaskQueue) {\n return;\n }\n _isDrainingMicrotaskQueue = true;\n try {\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (const task of queue) {\n try {\n task.zone.runTask(task, null, null);\n } catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n } finally {\n if (global[enableNativeMicrotaskDraining]) {\n _isDrainingMicrotaskQueue = false;\n _api.microtaskDrainDone();\n } else {\n try {\n _api.microtaskDrainDone();\n } finally {\n _isDrainingMicrotaskQueue = false;\n }\n }\n }\n }\n const NO_ZONE = { name: \"NO ZONE\" };\n const notScheduled = \"notScheduled\", scheduling = \"scheduling\", scheduled = \"scheduled\", running = \"running\", canceling = \"canceling\", unknown = \"unknown\";\n const microTask = \"microTask\", macroTask = \"macroTask\", eventTask = \"eventTask\";\n const patches = /* @__PURE__ */ Object.create(null);\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask,\n showUncaughtError: () => !ZoneImpl[__symbol__(\"ignoreConsoleErrorUncaughtError\")],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n getGlobalObjects: () => void 0,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => void 0,\n ObjectCreate: () => void 0,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop,\n nativeScheduleMicroTask\n };\n let _currentZoneFrame = { parent: null, zone: new ZoneImpl(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() {\n }\n performanceMeasure(\"Zone\", \"Zone\");\n return ZoneImpl;\n}\n\n// packages/zone.js/lib/zone.js\nfunction loadZone() {\n var _a;\n const global2 = globalThis;\n const checkDuplicate = global2[__symbol__(\"forceDuplicateZoneCheck\")] === true;\n if (global2[\"Zone\"] && (checkDuplicate || typeof global2[\"Zone\"].__symbol__ !== \"function\")) {\n throw new Error(\"Zone already loaded.\");\n }\n (_a = global2[\"Zone\"]) != null ? _a : global2[\"Zone\"] = initZone();\n return global2[\"Zone\"];\n}\n\n// packages/zone.js/lib/common/utils.js\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ObjectDefineProperty = Object.defineProperty;\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\nvar ObjectCreate = Object.create;\nvar ArraySlice = Array.prototype.slice;\nvar ADD_EVENT_LISTENER_STR = \"addEventListener\";\nvar REMOVE_EVENT_LISTENER_STR = \"removeEventListener\";\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = __symbol__(ADD_EVENT_LISTENER_STR);\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = __symbol__(REMOVE_EVENT_LISTENER_STR);\nvar TRUE_STR = \"true\";\nvar FALSE_STR = \"false\";\nvar ZONE_SYMBOL_PREFIX = __symbol__(\"\");\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = __symbol__;\nvar isWindowExists = typeof window !== \"undefined\";\nvar internalWindow = isWindowExists ? window : void 0;\nvar _global = isWindowExists && internalWindow || globalThis;\nvar REMOVE_ATTRIBUTE = \"removeAttribute\";\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === \"function\") {\n args[i] = wrapWithCurrentZone(args[i], source + \"_\" + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor[\"name\"];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate2) => {\n const patched = function() {\n return delegate2.apply(this, bindArguments(arguments, source + \".\" + name));\n };\n attachOriginToPatched(patched, delegate2);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === \"function\" && typeof propertyDesc.set === \"undefined\");\n}\nvar isWebWorker = typeof WorkerGlobalScope !== \"undefined\" && self instanceof WorkerGlobalScope;\nvar isNode = !(\"nw\" in _global) && typeof _global.process !== \"undefined\" && _global.process.toString() === \"[object process]\";\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow[\"HTMLElement\"]);\nvar isMix = typeof _global.process !== \"undefined\" && _global.process.toString() === \"[object process]\" && !isWebWorker && !!(isWindowExists && internalWindow[\"HTMLElement\"]);\nvar zoneSymbolEventNames = /* @__PURE__ */ Object.create(null);\nvar enableBeforeunloadSymbol = zoneSymbol(\"enable_beforeunload\");\nvar wrapFn = function(event) {\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol(\"ON_PROPERTY\" + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === \"error\") {\n const errorEvent = event;\n result = listener && listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n } else {\n result = listener && listener.apply(this, arguments);\n if (\n // https://github.com/angular/angular/issues/47579\n // https://www.w3.org/TR/2011/WD-html5-20110525/history.html#beforeunloadevent\n // This is the only specific case we should check for. The spec defines that the\n // `returnValue` attribute represents the message to show the user. When the event\n // is created, this attribute must be set to the empty string.\n event.type === \"beforeunload\" && // To prevent any breaking changes resulting from this change, given that\n // it was already causing a significant number of failures in G3, we have hidden\n // that behavior behind a global configuration flag. Consumers can enable this\n // flag explicitly if they want the `beforeunload` event to be handled as defined\n // in the specification.\n _global[enableBeforeunloadSymbol] && // The IDL event definition is `attribute DOMString returnValue`, so we check whether\n // `typeof result` is a string.\n typeof result === \"string\"\n ) {\n event.returnValue = result;\n } else if (result != void 0 && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol(\"on\" + prop + \"patched\");\n if (Object.hasOwn(obj, onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n const eventName = prop.slice(2);\n let eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol(\"ON_PROPERTY\" + eventName);\n }\n desc.set = function(newValue) {\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n const previousValue = target[eventNameSymbol];\n if (typeof previousValue === \"function\") {\n target.removeEventListener(eventName, wrapFn);\n }\n originalDescSet == null ? void 0 : originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === \"function\") {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n desc.get = function() {\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n } else if (originalDescGet) {\n let value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === \"function\") {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, \"on\" + properties[i], prototype);\n }\n } else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.slice(0, 2) == \"on\") {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol(\"originalInstance\");\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function() {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error(\"Arg list too long.\");\n }\n };\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function() {\n });\n let prop;\n for (prop in instance) {\n if (className === \"XMLHttpRequest\" && prop === \"responseBlob\")\n continue;\n (function(prop2) {\n if (typeof instance[prop2] === \"function\") {\n _global[className].prototype[prop2] = function() {\n return this[originalInstanceKey][prop2].apply(this[originalInstanceKey], arguments);\n };\n } else {\n ObjectDefineProperty(_global[className].prototype, prop2, {\n set: function(fn) {\n if (typeof fn === \"function\") {\n this[originalInstanceKey][prop2] = wrapWithCurrentZone(fn, className + \".\" + prop2);\n attachOriginToPatched(this[originalInstanceKey][prop2], fn);\n } else {\n this[originalInstanceKey][prop2] = fn;\n }\n },\n get: function() {\n return this[originalInstanceKey][prop2];\n }\n });\n }\n })(prop);\n }\n for (prop in OriginalClass) {\n if (prop !== \"prototype\" && Object.hasOwn(OriginalClass, prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== \"function\") {\n return;\n }\n const symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach((symbol) => {\n const desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function() {\n return src[symbol];\n },\n set: function(value) {\n if (desc && (!desc.writable || typeof desc.set !== \"function\")) {\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nvar shouldCopySymbolProperties = false;\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !Object.hasOwn(proto, name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !Object.hasOwn(proto, delegateName))) {\n delegate = proto[delegateName] = proto[name];\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function() {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function() {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function(self2, args) {\n const meta = metaCreator(self2, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === \"function\") {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n } else {\n return delegate.apply(self2, args);\n }\n });\n}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol(\"OriginalDelegate\")] = original;\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\n\n// packages/zone.js/lib/common/events.js\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames2 = /* @__PURE__ */ Object.create(null);\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = new RegExp(\"^\" + ZONE_SYMBOL_PREFIX + \"(\\\\w+)(true|false)$\");\nvar IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol(\"propagationStopped\");\nvar KNOWN_EVENT_LISTENER_OPTIONS = [\"capture\", \"once\", \"passive\", \"signal\"];\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames2[eventName] = {\n [FALSE_STR]: symbol,\n [TRUE_STR]: symbolCapture\n };\n}\nfunction patchEventTarget(_global2, api, apis, patchOptions) {\n const ADD_EVENT_LISTENER = patchOptions && patchOptions.add || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = patchOptions && patchOptions.rm || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = patchOptions && patchOptions.listeners || \"eventListeners\";\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = patchOptions && patchOptions.rmAll || \"removeAllListeners\";\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = \".\" + ADD_EVENT_LISTENER + \":\";\n const PREPEND_EVENT_LISTENER = \"prependListener\";\n const PREPEND_EVENT_LISTENER_SOURCE = \".\" + PREPEND_EVENT_LISTENER + \":\";\n const invokeTask = function(task, target, event) {\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === \"object\" && delegate.handleEvent) {\n task.callback = (event2) => delegate.handleEvent(event2);\n task.originalDelegate = delegate;\n }\n let error;\n try {\n task.invoke(task, target, [event]);\n } catch (err) {\n error = err;\n }\n const options = task.options;\n if (options && typeof options === \"object\" && options.once) {\n const delegate2 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate2, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n event = event || _global2.event;\n if (!event) {\n return;\n }\n const target = context || event.target || _global2;\n const tasks = target[zoneSymbolEventNames2[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n const errors = [];\n if (tasks.length === 1) {\n const err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n } else {\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n const err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n if (errors.length === 1) {\n throw errors[0];\n } else {\n for (let i = 0; i < errors.length; i++) {\n const err = errors[i];\n api.nativeScheduleMicroTask(() => {\n throw err;\n });\n }\n }\n }\n }\n const globalZoneAwareCallback = function(event) {\n return globalCallback(this, event, false);\n };\n const globalZoneAwareCaptureCallback = function(event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions2) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions2 && patchOptions2.useG !== void 0) {\n useGlobalCallback = patchOptions2.useG;\n }\n const validateHandler = patchOptions2 && patchOptions2.vh;\n let checkDuplicate = true;\n if (patchOptions2 && patchOptions2.chkDup !== void 0) {\n checkDuplicate = patchOptions2.chkDup;\n }\n let returnTarget = false;\n if (patchOptions2 && patchOptions2.rt !== void 0) {\n returnTarget = patchOptions2.rt;\n }\n let proto = obj;\n while (proto && !Object.hasOwn(proto, ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions2 && patchOptions2.eventNameToString;\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] = proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] = proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] = proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions2 && patchOptions2.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions2.prepend)] = proto[patchOptions2.prepend];\n }\n function buildEventListenerOptions(options, passive) {\n if (!passive) {\n return options;\n }\n if (typeof options === \"boolean\") {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === \"object\" && options.passive !== false) {\n options.passive = true;\n return options;\n }\n return options;\n }\n const customScheduleGlobal = function(task) {\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n const customCancelGlobal = function(task) {\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames2[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n task.isRemoved = true;\n if (task.removeAbortListener) {\n task.removeAbortListener();\n task.removeAbortListener = null;\n }\n if (existingTasks.length === 0) {\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function(task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function(task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function(task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function(task, delegate) {\n const typeOfDelegate = typeof delegate;\n return typeOfDelegate === \"function\" && task.callback === delegate || typeOfDelegate === \"object\" && task.originalDelegate === delegate;\n };\n const compare = (patchOptions2 == null ? void 0 : patchOptions2.diff) || compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol(\"UNPATCHED_EVENTS\")];\n const passiveEvents = _global2[zoneSymbol(\"PASSIVE_EVENTS\")];\n function copyEventListenerOptions(options) {\n if (typeof options !== \"object\" || options === null) {\n return options;\n }\n const newOptions = __spreadValues({}, options);\n for (const key of KNOWN_EVENT_LISTENER_OPTIONS) {\n if (!Object.hasOwn(newOptions, key) && key in options) {\n newOptions[key] = options[key];\n }\n }\n return newOptions;\n }\n const makeAddListener = function(nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget2 = false, prepend = false) {\n return function() {\n const target = this || _global2;\n let eventName = arguments[0];\n if (patchOptions2 && patchOptions2.transferEventName) {\n eventName = patchOptions2.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === \"uncaughtException\") {\n return nativeListener.apply(this, arguments);\n }\n let isEventListenerObject = false;\n if (typeof delegate !== \"function\") {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isEventListenerObject = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = buildEventListenerOptions(copyEventListenerOptions(arguments[2]), passive);\n const signal = options == null ? void 0 : options.signal;\n if (signal == null ? void 0 : signal.aborted) {\n return;\n }\n if (unpatchedEvents) {\n for (let i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n } else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === \"boolean\" ? true : options.capture;\n const once = options && typeof options === \"object\" ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames2[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames2[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n return;\n }\n }\n }\n } else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor[\"name\"];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource + (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n taskData.options = options;\n if (once) {\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : void 0;\n if (data) {\n data.taskData = taskData;\n }\n if (signal) {\n taskData.options.signal = void 0;\n }\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n if (signal) {\n taskData.options.signal = signal;\n const onAbort = () => task.zone.cancelTask(task);\n nativeListener.call(signal, \"abort\", onAbort, { once: true });\n task.removeAbortListener = () => signal.removeEventListener(\"abort\", onAbort);\n }\n taskData.target = null;\n if (data) {\n data.taskData = null;\n }\n if (once) {\n taskData.options.once = true;\n }\n if (typeof task.options !== \"boolean\") {\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isEventListenerObject) {\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n } else {\n existingTasks.unshift(task);\n }\n if (returnTarget2) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function() {\n const target = this || _global2;\n let eventName = arguments[0];\n if (patchOptions2 && patchOptions2.transferEventName) {\n eventName = patchOptions2.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === \"boolean\" ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler && !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames2[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n if (!capture && typeof eventName === \"string\") {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + \"ON_PROPERTY\" + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function() {\n const target = this || _global2;\n let eventName = arguments[0];\n if (patchOptions2 && patchOptions2.transferEventName) {\n eventName = patchOptions2.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function() {\n const target = this || _global2;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && evtName !== \"removeListener\") {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, \"removeListener\");\n } else {\n if (patchOptions2 && patchOptions2.transferEventName) {\n eventName = patchOptions2.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames2[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames2[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames2[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n } else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) : captureFalseTasks.slice();\n }\n}\nfunction patchEventPrototype(global2, api) {\n const Event = global2[\"Event\"];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, \"stopImmediatePropagation\", (delegate) => function(self2, args) {\n self2[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n delegate && delegate.apply(self2, args);\n });\n }\n}\n\n// packages/zone.js/lib/common/queue-microtask.js\nfunction patchQueueMicrotask(global2, api) {\n api.patchMethod(global2, \"queueMicrotask\", (delegate) => {\n return function(self2, args) {\n Zone.current.scheduleMicroTask(\"queueMicrotask\", args[0]);\n };\n });\n}\n\n// packages/zone.js/lib/common/timers.js\nvar taskSymbol = zoneSymbol(\"zoneTask\");\nfunction patchTimer(window2, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n data.args[0] = function() {\n return task.invoke.apply(this, arguments);\n };\n const handleOrId = setNative.apply(window2, data.args);\n if (isNumber(handleOrId)) {\n data.handleId = handleOrId;\n } else {\n data.handle = handleOrId;\n data.isRefreshable = isFunction(handleOrId == null ? void 0 : handleOrId.refresh);\n }\n return task;\n }\n function clearTask(task) {\n const { handle, handleId } = task.data;\n return clearNative.call(window2, handle != null ? handle : handleId);\n }\n setNative = patchMethod(window2, setName, (delegate) => function(self2, args) {\n var _a;\n if (isFunction(args[0])) {\n const options = {\n isRefreshable: false,\n isPeriodic: nameSuffix === \"Interval\",\n delay: nameSuffix === \"Timeout\" || nameSuffix === \"Interval\" ? args[1] || 0 : void 0,\n args\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.apply(this, arguments);\n } finally {\n const { handle: handle2, handleId: handleId2, isPeriodic: isPeriodic2, isRefreshable: isRefreshable2 } = options;\n if (!isPeriodic2 && !isRefreshable2) {\n if (handleId2) {\n delete tasksByHandleId[handleId2];\n } else if (handle2) {\n handle2[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n const { handleId, handle, isRefreshable, isPeriodic } = task.data;\n if (handleId) {\n tasksByHandleId[handleId] = task;\n } else if (handle) {\n handle[taskSymbol] = task;\n if (isRefreshable && !isPeriodic) {\n const originalRefresh = handle.refresh;\n handle.refresh = function() {\n const { zone, state } = task;\n if (state === \"notScheduled\") {\n task._state = \"scheduled\";\n zone._updateTaskCount(task, 1);\n } else if (state === \"running\") {\n task._state = \"scheduling\";\n }\n return originalRefresh.call(this);\n };\n }\n }\n return (_a = handle != null ? handle : handleId) != null ? _a : task;\n } else {\n return delegate.apply(window2, args);\n }\n });\n clearNative = patchMethod(window2, cancelName, (delegate) => function(self2, args) {\n const id = args[0];\n let task;\n if (isNumber(id)) {\n task = tasksByHandleId[id];\n delete tasksByHandleId[id];\n } else {\n task = id == null ? void 0 : id[taskSymbol];\n if (task) {\n id[taskSymbol] = null;\n } else {\n task = id;\n }\n }\n if (task == null ? void 0 : task.type) {\n if (task.cancelFn) {\n task.zone.cancelTask(task);\n }\n } else {\n delegate.apply(window2, args);\n }\n });\n}\n\n// packages/zone.js/lib/browser/custom-elements.js\nfunction patchCustomElements(_global2, api) {\n const { isBrowser: isBrowser2, isMix: isMix2 } = api.getGlobalObjects();\n if (!isBrowser2 && !isMix2 || !_global2[\"customElements\"] || !(\"customElements\" in _global2)) {\n return;\n }\n const callbacks = [\n \"connectedCallback\",\n \"disconnectedCallback\",\n \"adoptedCallback\",\n \"attributeChangedCallback\",\n \"formAssociatedCallback\",\n \"formDisabledCallback\",\n \"formResetCallback\",\n \"formStateRestoreCallback\"\n ];\n api.patchCallbacks(api, _global2.customElements, \"customElements\", \"define\", callbacks);\n}\n\n// packages/zone.js/lib/browser/event-target.js\nfunction eventTargetPatch(_global2, api) {\n if (Zone[api.symbol(\"patchEventTarget\")]) {\n return;\n }\n const { eventNames, zoneSymbolEventNames: zoneSymbolEventNames3, TRUE_STR: TRUE_STR2, FALSE_STR: FALSE_STR2, ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX2 } = api.getGlobalObjects();\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR2;\n const trueEventName = eventName + TRUE_STR2;\n const symbol = ZONE_SYMBOL_PREFIX2 + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX2 + trueEventName;\n zoneSymbolEventNames3[eventName] = {};\n zoneSymbolEventNames3[eventName][FALSE_STR2] = symbol;\n zoneSymbolEventNames3[eventName][TRUE_STR2] = symbolCapture;\n }\n const EVENT_TARGET = _global2[\"EventTarget\"];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global2, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global2, api) {\n api.patchEventPrototype(global2, api);\n}\n\n// packages/zone.js/lib/browser/property-descriptor.js\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter((ip) => ip.target === target);\n if (tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter((op) => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction getOnEventNames(target) {\n return Object.getOwnPropertyNames(target).filter((name) => name.startsWith(\"on\") && name.length > 2).map((name) => name.substring(2));\n}\nfunction propertyDescriptorPatch(api, _global2) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol(\"patchEvents\")]) {\n return;\n }\n const ignoreProperties = _global2[\"__Zone_ignore_on_properties\"];\n let patchTargets = [];\n if (isBrowser) {\n const internalWindow2 = window;\n patchTargets = patchTargets.concat([\n \"Document\",\n \"SVGElement\",\n \"Element\",\n \"HTMLElement\",\n \"HTMLBodyElement\",\n \"HTMLMediaElement\",\n \"HTMLFrameSetElement\",\n \"HTMLFrameElement\",\n \"HTMLIFrameElement\",\n \"HTMLMarqueeElement\",\n \"Worker\"\n ]);\n patchFilteredProperties(internalWindow2, getOnEventNames(internalWindow2), ignoreProperties, ObjectGetPrototypeOf(internalWindow2));\n }\n patchTargets = patchTargets.concat([\n \"XMLHttpRequest\",\n \"XMLHttpRequestEventTarget\",\n \"IDBIndex\",\n \"IDBRequest\",\n \"IDBOpenDBRequest\",\n \"IDBDatabase\",\n \"IDBTransaction\",\n \"IDBCursor\",\n \"WebSocket\"\n ]);\n for (let i = 0; i < patchTargets.length; i++) {\n const target = _global2[patchTargets[i]];\n (target == null ? void 0 : target.prototype) && patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n}\n\n// packages/zone.js/lib/browser/browser.js\nfunction patchBrowser(Zone3) {\n Zone3.__load_patch(\"timers\", (global2) => {\n const set = \"set\";\n const clear = \"clear\";\n patchTimer(global2, set, clear, \"Timeout\");\n patchTimer(global2, set, clear, \"Interval\");\n patchTimer(global2, set, clear, \"Immediate\");\n });\n Zone3.__load_patch(\"requestAnimationFrame\", (global2) => {\n patchTimer(global2, \"request\", \"cancel\", \"AnimationFrame\");\n patchTimer(global2, \"mozRequest\", \"mozCancel\", \"AnimationFrame\");\n patchTimer(global2, \"webkitRequest\", \"webkitCancel\", \"AnimationFrame\");\n });\n Zone3.__load_patch(\"blocking\", (global2, Zone4) => {\n const blockingMethods = [\"alert\", \"prompt\", \"confirm\"];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global2, name, (delegate, symbol, name2) => {\n return function(s, args) {\n return Zone4.current.run(delegate, global2, args, name2);\n };\n });\n }\n });\n Zone3.__load_patch(\"EventTarget\", (global2, Zone4, api) => {\n patchEvent(global2, api);\n eventTargetPatch(global2, api);\n const XMLHttpRequestEventTarget = global2[\"XMLHttpRequestEventTarget\"];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global2, api, [XMLHttpRequestEventTarget.prototype]);\n }\n });\n Zone3.__load_patch(\"MutationObserver\", (global2, Zone4, api) => {\n patchClass(\"MutationObserver\");\n patchClass(\"WebKitMutationObserver\");\n });\n Zone3.__load_patch(\"IntersectionObserver\", (global2, Zone4, api) => {\n patchClass(\"IntersectionObserver\");\n });\n Zone3.__load_patch(\"FileReader\", (global2, Zone4, api) => {\n patchClass(\"FileReader\");\n });\n Zone3.__load_patch(\"on_property\", (global2, Zone4, api) => {\n propertyDescriptorPatch(api, global2);\n });\n Zone3.__load_patch(\"customElements\", (global2, Zone4, api) => {\n patchCustomElements(global2, api);\n });\n Zone3.__load_patch(\"XHR\", (global2, Zone4) => {\n patchXHR(global2);\n const XHR_TASK = zoneSymbol(\"xhrTask\");\n const XHR_SYNC = zoneSymbol(\"xhrSync\");\n const XHR_LISTENER = zoneSymbol(\"xhrListener\");\n const XHR_SCHEDULED = zoneSymbol(\"xhrScheduled\");\n const XHR_URL = zoneSymbol(\"xhrURL\");\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol(\"xhrErrorBeforeScheduled\");\n function patchXHR(window2) {\n const XMLHttpRequest = window2[\"XMLHttpRequest\"];\n if (!XMLHttpRequest) {\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window2[\"XMLHttpRequestEventTarget\"];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = \"readystatechange\";\n const SCHEDULED = \"scheduled\";\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n const loadTasks = target[Zone4.__symbol__(\"loadfalse\")];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function() {\n const loadTasks2 = target[Zone4.__symbol__(\"loadfalse\")];\n for (let i = 0; i < loadTasks2.length; i++) {\n if (loadTasks2[i] === task) {\n loadTasks2.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n } else {\n task.invoke();\n }\n } else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() {\n }\n function clearTask(task) {\n const data = task.data;\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, \"open\", () => function(self2, args) {\n self2[XHR_SYNC] = args[2] == false;\n self2[XHR_URL] = args[1];\n return openNative.apply(self2, args);\n });\n const XMLHTTPREQUEST_SOURCE = \"XMLHttpRequest.send\";\n const fetchTaskAborting = zoneSymbol(\"fetchTaskAborting\");\n const fetchTaskScheduling = zoneSymbol(\"fetchTaskScheduling\");\n const sendNative = patchMethod(XMLHttpRequestPrototype, \"send\", () => function(self2, args) {\n if (Zone4.current[fetchTaskScheduling] === true) {\n return sendNative.apply(self2, args);\n }\n if (self2[XHR_SYNC]) {\n return sendNative.apply(self2, args);\n } else {\n const options = {\n target: self2,\n url: self2[XHR_URL],\n isPeriodic: false,\n args,\n aborted: false\n };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self2 && self2[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted && task.state === SCHEDULED) {\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, \"abort\", () => function(self2, args) {\n const task = findPendingTask(self2);\n if (task && typeof task.type == \"string\") {\n if (task.cancelFn == null || task.data && task.data.aborted) {\n return;\n }\n task.zone.cancelTask(task);\n } else if (Zone4.current[fetchTaskAborting] === true) {\n return abortNative.apply(self2, args);\n }\n });\n }\n });\n Zone3.__load_patch(\"geolocation\", (global2) => {\n if (global2[\"navigator\"] && global2[\"navigator\"].geolocation) {\n patchPrototype(global2[\"navigator\"].geolocation, [\"getCurrentPosition\", \"watchPosition\"]);\n }\n });\n Zone3.__load_patch(\"PromiseRejectionEvent\", (global2, Zone4) => {\n function findPromiseRejectionHandler(evtName) {\n return function(e) {\n const eventTasks = findEventTasks(global2, evtName);\n eventTasks.forEach((eventTask) => {\n const PromiseRejectionEvent = global2[\"PromiseRejectionEvent\"];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, {\n promise: e.promise,\n reason: e.rejection\n });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global2[\"PromiseRejectionEvent\"]) {\n Zone4[zoneSymbol(\"unhandledPromiseRejectionHandler\")] = findPromiseRejectionHandler(\"unhandledrejection\");\n Zone4[zoneSymbol(\"rejectionHandledHandler\")] = findPromiseRejectionHandler(\"rejectionhandled\");\n }\n });\n Zone3.__load_patch(\"queueMicrotask\", (global2, Zone4, api) => {\n patchQueueMicrotask(global2, api);\n });\n}\n\n// packages/zone.js/lib/common/promise.js\nfunction patchPromise(Zone3) {\n Zone3.__load_patch(\"ZoneAwarePromise\", (global2, Zone4, api) => {\n const ObjectGetOwnPropertyDescriptor2 = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty2 = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : \"\") + \": \" + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__2 = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global2[__symbol__2(\"DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION\")] !== false;\n const symbolPromise = __symbol__2(\"Promise\");\n const symbolThen = __symbol__2(\"then\");\n const creationTrace = \"__creationTrace__\";\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection && e.zone && e.task) {\n console.error(\"Unhandled Promise rejection:\", rejection instanceof Error ? rejection.message : rejection, \"; Zone:\", e.zone.name, \"; Task:\", e.task && e.task.source, \"; Value:\", rejection, rejection instanceof Error ? rejection.stack : void 0);\n } else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n } catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__2(\"unhandledPromiseRejectionHandler\");\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone4[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === \"function\") {\n handler.call(this, e);\n }\n } catch (err) {\n }\n }\n function isThenable(value) {\n return value && typeof value.then === \"function\";\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__2(\"state\");\n const symbolValue = __symbol__2(\"value\");\n const symbolFinally = __symbol__2(\"finally\");\n const symbolParentPromiseValue = __symbol__2(\"parentPromiseValue\");\n const symbolParentPromiseState = __symbol__2(\"parentPromiseState\");\n const source = \"Promise.then\";\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n } catch (err) {\n resolvePromise(promise, false, err);\n }\n };\n }\n const once = function() {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function() {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = \"Promise resolved with itself\";\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__2(\"currentTaskTrace\");\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n let then = null;\n try {\n if (typeof value === \"object\" || typeof value === \"function\") {\n then = value && value.then;\n }\n } catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n if (state !== REJECTED && value instanceof ZoneAwarePromise && Object.hasOwn(value, symbolState) && Object.hasOwn(value, symbolValue) && value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n } else if (state !== REJECTED && typeof then === \"function\") {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n } catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n } else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n if (state === RESOLVED) {\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n if (state === REJECTED && value instanceof Error) {\n const trace = Zone4.currentTask && Zone4.currentTask.data && Zone4.currentTask.data[creationTrace];\n if (trace) {\n ObjectDefineProperty2(value, CURRENT_TASK_TRACE_SYMBOL, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: trace\n });\n }\n }\n for (let i = 0; i < queue.length; ) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n try {\n throw new Error(\"Uncaught (in promise): \" + readableObjectToString(value) + (value && value.stack ? \"\\n\" + value.stack : \"\"));\n } catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone4.current;\n uncaughtPromiseError.task = Zone4.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask();\n }\n }\n }\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__2(\"rejectionHandledHandler\");\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n try {\n const handler = Zone4[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === \"function\") {\n handler.call(this, { rejection: promise[symbolValue], promise });\n }\n } catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ? typeof onFulfilled === \"function\" ? onFulfilled : forwardResolution : typeof onRejected === \"function\" ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n const value = zone.run(delegate, void 0, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ? [] : [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n } catch (error) {\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = \"function ZoneAwarePromise() { [native code] }\";\n const noop = function() {\n };\n const AggregateError = global2.AggregateError;\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n if (value instanceof ZoneAwarePromise) {\n return value;\n }\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static withResolvers() {\n const result = {};\n result.promise = new ZoneAwarePromise((res, rej) => {\n result.resolve = res;\n result.reject = rej;\n });\n return result;\n }\n static any(values) {\n if (!values || typeof values[Symbol.iterator] !== \"function\") {\n return Promise.reject(new AggregateError([], \"All promises were rejected\"));\n }\n const promises = [];\n let count = 0;\n try {\n for (let v of values) {\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n } catch (err) {\n return Promise.reject(new AggregateError([], \"All promises were rejected\"));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], \"All promises were rejected\"));\n }\n let finished = false;\n const errors = [];\n return new ZoneAwarePromise((resolve, reject) => {\n for (let i = 0; i < promises.length; i++) {\n promises[i].then((v) => {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, (err) => {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, \"All promises were rejected\"));\n }\n });\n }\n });\n }\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: \"fulfilled\", value }),\n errorCallback: (err) => ({ status: \"rejected\", reason: err })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value2) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value2) : value2;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (err) => {\n if (!callback) {\n reject(err);\n } else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n } catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error(\"Must be an instanceof Promise.\");\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = [];\n try {\n const onceWrapper = once();\n executor && executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n } catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return \"Promise\";\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n var _a;\n let C = (_a = this.constructor) == null ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== \"function\") {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone4.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n } else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n var _a;\n let C = (_a = this.constructor) == null ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== \"function\") {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone4.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n } else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n ZoneAwarePromise[\"resolve\"] = ZoneAwarePromise.resolve;\n ZoneAwarePromise[\"reject\"] = ZoneAwarePromise.reject;\n ZoneAwarePromise[\"race\"] = ZoneAwarePromise.race;\n ZoneAwarePromise[\"all\"] = ZoneAwarePromise.all;\n const NativePromise = global2[symbolPromise] = global2[\"Promise\"];\n global2[\"Promise\"] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__2(\"thenPatched\");\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor2(proto, \"then\");\n if (prop && (prop.writable === false || !prop.configurable)) {\n return;\n }\n const originalThen = proto.then;\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function(onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function(self2, args) {\n let resultPromise = fn.apply(self2, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n const nativeTry = NativePromise[\"try\"];\n if (nativeTry && typeof nativeTry === \"function\") {\n ZoneAwarePromise[\"try\"] = nativeTry;\n }\n patchMethod(global2, \"fetch\", (delegate) => zoneify(delegate));\n }\n Promise[Zone4.__symbol__(\"uncaughtPromiseErrors\")] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n}\n\n// packages/zone.js/lib/common/to-string.js\nfunction patchToString(Zone3) {\n Zone3.__load_patch(\"toString\", (global2) => {\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol(\"OriginalDelegate\");\n const PROMISE_SYMBOL = zoneSymbol(\"Promise\");\n const ERROR_SYMBOL = zoneSymbol(\"Error\");\n const newFunctionToString = function toString() {\n if (typeof this === \"function\") {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === \"function\") {\n return originalFunctionToString.call(originalDelegate);\n } else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global2[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global2[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = \"[object Promise]\";\n Object.prototype.toString = function() {\n if (typeof Promise === \"function\" && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n}\n\n// packages/zone.js/lib/browser/browser-util.js\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function(name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function(callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n try {\n if (Object.hasOwn(prototype, callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n } else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n } else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n } catch (e) {\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n// packages/zone.js/lib/browser/api-util.js\nfunction patchUtil(Zone3) {\n Zone3.__load_patch(\"util\", (global2, Zone4, api) => {\n const eventNames = getOnEventNames(global2);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n const SYMBOL_BLACK_LISTED_EVENTS = Zone4.__symbol__(\"BLACK_LISTED_EVENTS\");\n const SYMBOL_UNPATCHED_EVENTS = Zone4.__symbol__(\"UNPATCHED_EVENTS\");\n if (global2[SYMBOL_UNPATCHED_EVENTS]) {\n global2[SYMBOL_BLACK_LISTED_EVENTS] = global2[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global2[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone4[SYMBOL_BLACK_LISTED_EVENTS] = Zone4[SYMBOL_UNPATCHED_EVENTS] = global2[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames: zoneSymbolEventNames2,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n });\n}\n\n// packages/zone.js/lib/browser/rollup-common.js\nfunction patchCommon(Zone3) {\n patchPromise(Zone3);\n patchToString(Zone3);\n patchUtil(Zone3);\n}\n\n// packages/zone.js/lib/browser/rollup-main.js\nvar Zone2 = loadZone();\npatchCommon(Zone2);\npatchBrowser(Zone2);\n","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport const BAGGAGE_KEY_PAIR_SEPARATOR = '=';\nexport const BAGGAGE_PROPERTIES_SEPARATOR = ';';\nexport const BAGGAGE_ITEMS_SEPARATOR = ',';\n// Name of the http header used to propagate the baggage\nexport const BAGGAGE_HEADER = 'baggage';\n// Maximum number of name-value pairs allowed by w3c spec\nexport const BAGGAGE_MAX_NAME_VALUE_PAIRS = 180;\n// Maximum number of bytes per a single name-value pair allowed by w3c spec\nexport const BAGGAGE_MAX_PER_NAME_VALUE_PAIRS = 4096;\n// Maximum total length of all name-value pairs allowed by w3c spec\nexport const BAGGAGE_MAX_TOTAL_LENGTH = 8192;\n//# sourceMappingURL=constants.js.map","import { baggageEntryMetadataFromString } from '@opentelemetry/api';\nimport { BAGGAGE_ITEMS_SEPARATOR, BAGGAGE_PROPERTIES_SEPARATOR, BAGGAGE_KEY_PAIR_SEPARATOR, BAGGAGE_MAX_TOTAL_LENGTH, BAGGAGE_MAX_NAME_VALUE_PAIRS, BAGGAGE_MAX_PER_NAME_VALUE_PAIRS, } from './constants';\nexport function serializeKeyPairs(keyPairs) {\n return keyPairs.reduce((hValue, current) => {\n const value = `${hValue}${hValue !== '' ? BAGGAGE_ITEMS_SEPARATOR : ''}${current}`;\n return value.length > BAGGAGE_MAX_TOTAL_LENGTH ? hValue : value;\n }, '');\n}\nexport function getKeyPairs(baggage) {\n return baggage.getAllEntries().map(([key, value]) => {\n let entry = `${encodeURIComponent(key)}=${encodeURIComponent(value.value)}`;\n // include opaque metadata if provided\n // NOTE: we intentionally don't URI-encode the metadata - that responsibility falls on the metadata implementation\n if (value.metadata !== undefined) {\n entry += BAGGAGE_PROPERTIES_SEPARATOR + value.metadata.toString();\n }\n return entry;\n });\n}\nexport function parsePairKeyValue(entry) {\n if (!entry)\n return;\n const metadataSeparatorIndex = entry.indexOf(BAGGAGE_PROPERTIES_SEPARATOR);\n const keyPairPart = metadataSeparatorIndex === -1\n ? entry\n : entry.substring(0, metadataSeparatorIndex);\n const separatorIndex = keyPairPart.indexOf(BAGGAGE_KEY_PAIR_SEPARATOR);\n if (separatorIndex <= 0)\n return;\n const rawKey = keyPairPart.substring(0, separatorIndex).trim();\n const rawValue = keyPairPart.substring(separatorIndex + 1).trim();\n if (!rawKey || !rawValue)\n return;\n let key;\n let value;\n try {\n key = decodeURIComponent(rawKey);\n value = decodeURIComponent(rawValue);\n }\n catch {\n return;\n }\n let metadata;\n if (metadataSeparatorIndex !== -1 &&\n metadataSeparatorIndex < entry.length - 1) {\n const metadataString = entry.substring(metadataSeparatorIndex + 1);\n metadata = baggageEntryMetadataFromString(metadataString);\n }\n return { key, value, metadata };\n}\n/**\n * Parses a single baggage header string into the provided record, applying limits defined in this package.\n * Uses indexOf/substring in a while loop to avoid allocating a full array of split entries.\n * Returns the updated pair count so callers can track totals across multiple header values.\n */\nexport function parseBaggageHeaderString(value, baggage, count, totalSize) {\n let start = 0;\n while (start < value.length && count < BAGGAGE_MAX_NAME_VALUE_PAIRS) {\n const end = value.indexOf(BAGGAGE_ITEMS_SEPARATOR, start);\n const entryEnd = end === -1 ? value.length : end;\n const entryLength = entryEnd - start;\n if (entryLength <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS) {\n const keyPair = parsePairKeyValue(value.substring(start, entryEnd));\n if (keyPair) {\n // Comma separator is counted for every accepted entry after the first\n const entrySize = (count === 0 ? 0 : 1) + entryLength;\n if (totalSize + entrySize > BAGGAGE_MAX_TOTAL_LENGTH)\n break;\n baggage[keyPair.key] = keyPair.metadata\n ? { value: keyPair.value, metadata: keyPair.metadata }\n : { value: keyPair.value };\n count++;\n totalSize += entrySize;\n }\n }\n if (end === -1)\n break;\n start = end + 1;\n }\n return [count, totalSize];\n}\n/**\n * Parse a string serialized in the baggage HTTP Format (without metadata):\n * https://github.com/w3c/baggage/blob/master/baggage/HTTP_HEADER_FORMAT.md\n */\nexport function parseKeyPairsIntoRecord(value) {\n const result = {};\n if (typeof value === 'string' && value.length > 0) {\n value.split(BAGGAGE_ITEMS_SEPARATOR).forEach(entry => {\n const keyPair = parsePairKeyValue(entry);\n if (keyPair !== undefined && keyPair.value.length > 0) {\n result[keyPair.key] = keyPair.value;\n }\n });\n }\n return result;\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { propagation } from '@opentelemetry/api';\nimport { isTracingSuppressed } from '../../trace/suppress-tracing';\nimport { BAGGAGE_HEADER, BAGGAGE_MAX_NAME_VALUE_PAIRS, BAGGAGE_MAX_PER_NAME_VALUE_PAIRS, } from '../constants';\nimport { getKeyPairs, parseBaggageHeaderString, serializeKeyPairs, } from '../utils';\n/**\n * Propagates {@link Baggage} through Context format propagation.\n *\n * Based on the Baggage specification:\n * https://w3c.github.io/baggage/\n */\nexport class W3CBaggagePropagator {\n inject(context, carrier, setter) {\n const baggage = propagation.getBaggage(context);\n if (!baggage || isTracingSuppressed(context))\n return;\n const keyPairs = getKeyPairs(baggage)\n .filter((pair) => {\n return pair.length <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS;\n })\n .slice(0, BAGGAGE_MAX_NAME_VALUE_PAIRS);\n const headerValue = serializeKeyPairs(keyPairs);\n if (headerValue.length > 0) {\n setter.set(carrier, BAGGAGE_HEADER, headerValue);\n }\n }\n extract(context, carrier, getter) {\n const headerValue = getter.get(carrier, BAGGAGE_HEADER);\n if (!headerValue) {\n return context;\n }\n const baggage = {};\n let count = 0;\n let totalSize = 0;\n if (Array.isArray(headerValue)) {\n for (let i = 0; i < headerValue.length; i++) {\n [count, totalSize] = parseBaggageHeaderString(headerValue[i], baggage, count, totalSize);\n }\n }\n else {\n [count] = parseBaggageHeaderString(headerValue, baggage, count, totalSize);\n }\n if (count === 0) {\n return context;\n }\n return propagation.setBaggage(context, propagation.createBaggage(baggage));\n }\n fields() {\n return [BAGGAGE_HEADER];\n }\n}\n//# sourceMappingURL=W3CBaggagePropagator.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag } from '@opentelemetry/api';\nexport function sanitizeAttributes(attributes) {\n const out = {};\n if (typeof attributes !== 'object' || attributes == null) {\n return out;\n }\n for (const key in attributes) {\n if (!Object.prototype.hasOwnProperty.call(attributes, key)) {\n continue;\n }\n if (!isAttributeKey(key)) {\n diag.warn(`Invalid attribute key: ${key}`);\n continue;\n }\n const val = attributes[key];\n if (!isAttributeValue(val)) {\n diag.warn(`Invalid attribute value set for key: ${key}`);\n continue;\n }\n if (Array.isArray(val)) {\n out[key] = val.slice();\n }\n else {\n out[key] = val;\n }\n }\n return out;\n}\nexport function isAttributeKey(key) {\n return typeof key === 'string' && key !== '';\n}\nexport function isAttributeValue(val) {\n if (val == null) {\n return true;\n }\n if (Array.isArray(val)) {\n return isHomogeneousAttributeValueArray(val);\n }\n return isValidPrimitiveAttributeValueType(typeof val);\n}\nfunction isHomogeneousAttributeValueArray(arr) {\n let type;\n for (const element of arr) {\n // null/undefined elements are allowed\n if (element == null)\n continue;\n const elementType = typeof element;\n if (elementType === type) {\n continue;\n }\n if (!type) {\n if (isValidPrimitiveAttributeValueType(elementType)) {\n type = elementType;\n continue;\n }\n // encountered an invalid primitive\n return false;\n }\n return false;\n }\n return true;\n}\nfunction isValidPrimitiveAttributeValueType(valType) {\n switch (valType) {\n case 'number':\n case 'boolean':\n case 'string':\n return true;\n }\n return false;\n}\n//# sourceMappingURL=attributes.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport function getStringFromEnv(_) {\n return undefined;\n}\nexport function getBooleanFromEnv(_) {\n return undefined;\n}\nexport function getNumberFromEnv(_) {\n return undefined;\n}\nexport function getStringListFromEnv(_) {\n return undefined;\n}\n//# sourceMappingURL=environment.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag } from '@opentelemetry/api';\n/** Combines multiple propagators into a single propagator. */\nexport class CompositePropagator {\n _propagators;\n _fields;\n /**\n * Construct a composite propagator from a list of propagators.\n *\n * @param [config] Configuration object for composite propagator\n */\n constructor(config = {}) {\n this._propagators = config.propagators ?? [];\n const fields = new Set();\n for (const propagator of this._propagators) {\n // older propagators may not have fields function, null check to be sure\n const propagatorFields = typeof propagator.fields === 'function' ? propagator.fields() : [];\n for (const field of propagatorFields) {\n fields.add(field);\n }\n }\n this._fields = Array.from(fields);\n }\n /**\n * Run each of the configured propagators with the given context and carrier.\n * Propagators are run in the order they are configured, so if multiple\n * propagators write the same carrier key, the propagator later in the list\n * will \"win\".\n *\n * @param context Context to inject\n * @param carrier Carrier into which context will be injected\n */\n inject(context, carrier, setter) {\n for (const propagator of this._propagators) {\n try {\n propagator.inject(context, carrier, setter);\n }\n catch (err) {\n diag.warn(`Failed to inject with ${propagator.constructor.name}. Err: ${err.message}`);\n }\n }\n }\n /**\n * Run each of the configured propagators with the given context and carrier.\n * Propagators are run in the order they are configured, so if multiple\n * propagators write the same context key, the propagator later in the list\n * will \"win\".\n *\n * @param context Context to add values to\n * @param carrier Carrier from which to extract context\n */\n extract(context, carrier, getter) {\n return this._propagators.reduce((ctx, propagator) => {\n try {\n return propagator.extract(ctx, carrier, getter);\n }\n catch (err) {\n diag.warn(`Failed to extract with ${propagator.constructor.name}. Err: ${err.message}`);\n }\n return ctx;\n }, context);\n }\n fields() {\n // return a new array so our fields cannot be modified\n return this._fields.slice();\n }\n}\n//# sourceMappingURL=composite.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nconst VALID_KEY_CHAR_RANGE = '[_0-9a-z-*/]';\nconst VALID_KEY = `[a-z]${VALID_KEY_CHAR_RANGE}{0,255}`;\nconst VALID_VENDOR_KEY = `[a-z0-9]${VALID_KEY_CHAR_RANGE}{0,240}@[a-z]${VALID_KEY_CHAR_RANGE}{0,13}`;\nconst VALID_KEY_REGEX = new RegExp(`^(?:${VALID_KEY}|${VALID_VENDOR_KEY})$`);\nconst VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;\nconst INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;\n/**\n * Key is opaque string up to 256 characters printable. It MUST begin with a\n * lowercase letter, and can only contain lowercase letters a-z, digits 0-9,\n * underscores _, dashes -, asterisks *, and forward slashes /.\n * For multi-tenant vendor scenarios, an at sign (@) can be used to prefix the\n * vendor name. Vendors SHOULD set the tenant ID at the beginning of the key.\n * see https://www.w3.org/TR/trace-context/#key\n */\nexport function validateKey(key) {\n return VALID_KEY_REGEX.test(key);\n}\n/**\n * Value is opaque string up to 256 characters printable ASCII RFC0020\n * characters (i.e., the range 0x20 to 0x7E) except comma , and =.\n */\nexport function validateValue(value) {\n return (VALID_VALUE_BASE_REGEX.test(value) &&\n !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value));\n}\n//# sourceMappingURL=validators.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { validateKey, validateValue } from '../internal/validators';\nconst MAX_TRACE_STATE_ITEMS = 32;\nconst MAX_TRACE_STATE_LEN = 512;\nconst LIST_MEMBERS_SEPARATOR = ',';\nconst LIST_MEMBER_KEY_VALUE_SPLITTER = '=';\n/**\n * TraceState must be a class and not a simple object type because of the spec\n * requirement (https://www.w3.org/TR/trace-context/#tracestate-field).\n *\n * Here is the list of allowed mutations:\n * - New key-value pair should be added into the beginning of the list\n * - The value of any key can be updated. Modified keys MUST be moved to the\n * beginning of the list.\n */\nexport class TraceState {\n _length;\n _rawTraceState;\n _internalState;\n constructor(rawTraceState) {\n this._rawTraceState =\n typeof rawTraceState === 'string' ? rawTraceState : '';\n this._length = this._rawTraceState.length;\n }\n set(key, value) {\n if (!validateKey(key) || !validateValue(value)) {\n return this;\n }\n const currState = this._getState();\n const currValue = currState.get(key);\n // Get the new length depending if we already have a value or not\n // - for existing keys we add the difference between the length of the values\n // - for new keys is the key & value lenght plus\n // - +1 for the key/value splitter\n // - +1 for the separator if there are other keys\n let newLength = this._length;\n if (typeof currValue === 'string') {\n newLength += value.length - currValue.length;\n }\n else {\n newLength += key.length + value.length + (currState.size > 0 ? 2 : 1);\n }\n if (newLength > MAX_TRACE_STATE_LEN) {\n return this;\n }\n const newState = new Map(currState);\n newState.delete(key);\n newState.set(key, value);\n return this._fromState(newState, newLength);\n }\n unset(key) {\n const currState = this._getState();\n const currValue = currState.get(key);\n // No need to create a new instance if the key does not exist\n if (typeof currValue !== 'string') {\n return this;\n }\n // Get the new length depending if we already have a value or not\n // - for existing keys we substract key and value length plus\n // - +1 for the key/value splitter\n // - +1 for the separator if there are other keys\n let newLength = this._length - (key.length + currValue.length + 1);\n if (currState.size > 1) {\n // remove separator from length if there's no key or only one.\n newLength = newLength - 1;\n }\n const newState = new Map(currState);\n newState.delete(key);\n return this._fromState(newState, newLength);\n }\n get(key) {\n const currState = this._getState();\n return currState.get(key);\n }\n serialize() {\n // Maps put new entries at the end. We prepend the seralized entry\n // to get the right order according to the spec (updated members go 1st)\n let serialized = '';\n let index = 0;\n for (const entry of this._getState()) {\n if (index > 0) {\n serialized = LIST_MEMBERS_SEPARATOR + serialized;\n }\n serialized =\n `${entry[0]}${LIST_MEMBER_KEY_VALUE_SPLITTER}${entry[1]}` + serialized;\n index++;\n }\n return serialized;\n }\n _getState() {\n if (this._internalState) {\n return this._internalState;\n }\n // Not parsed yet, lets do it\n const vendorMembers = this._rawTraceState.split(LIST_MEMBERS_SEPARATOR);\n // This Map will have the order reversed\n const vendorEntries = new Map();\n let currentLength = 0;\n for (const member of vendorMembers) {\n const m = member.trim();\n const idx = m.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);\n if (idx === -1) {\n continue;\n }\n const key = m.slice(0, idx);\n const value = m.slice(idx + 1);\n if (!validateKey(key) || !validateValue(value)) {\n continue;\n }\n // Skip if adding the new member exceeds the length\n const futureLength = currentLength + m.length + (vendorEntries.size > 0 ? 1 : 0);\n if (futureLength > MAX_TRACE_STATE_LEN) {\n continue;\n }\n // All good, add it\n vendorEntries.set(key, value);\n currentLength = futureLength;\n // Check if we reached the max items\n if (vendorEntries.size >= MAX_TRACE_STATE_ITEMS) {\n break;\n }\n }\n // Now we set the length & the Map in the right order\n this._length = currentLength;\n this._internalState = new Map(Array.from(vendorEntries.entries()).reverse());\n return this._internalState;\n }\n _fromState(state, length) {\n const traceState = Object.create(TraceState.prototype);\n traceState._internalState = state;\n traceState._length = length;\n return traceState;\n }\n}\n//# sourceMappingURL=TraceState.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { isSpanContextValid, trace, TraceFlags } from '@opentelemetry/api';\nimport { isTracingSuppressed } from './suppress-tracing';\nimport { TraceState } from './TraceState';\nexport const TRACE_PARENT_HEADER = 'traceparent';\nexport const TRACE_STATE_HEADER = 'tracestate';\nconst VERSION = '00';\nconst VERSION_PART = '(?!ff)[\\\\da-f]{2}';\nconst TRACE_ID_PART = '(?![0]{32})[\\\\da-f]{32}';\nconst PARENT_ID_PART = '(?![0]{16})[\\\\da-f]{16}';\nconst FLAGS_PART = '[\\\\da-f]{2}';\nconst TRACE_PARENT_REGEX = new RegExp(`^\\\\s?(${VERSION_PART})-(${TRACE_ID_PART})-(${PARENT_ID_PART})-(${FLAGS_PART})(-.*)?\\\\s?$`);\n/**\n * Parses information from the [traceparent] span tag and converts it into {@link SpanContext}\n * @param traceParent - A meta property that comes from server.\n * It should be dynamically generated server side to have the server's request trace Id,\n * a parent span Id that was set on the server's request span,\n * and the trace flags to indicate the server's sampling decision\n * (01 = sampled, 00 = not sampled).\n * for example: '{version}-{traceId}-{spanId}-{sampleDecision}'\n * For more information see {@link https://www.w3.org/TR/trace-context/}\n */\nexport function parseTraceParent(traceParent) {\n const match = TRACE_PARENT_REGEX.exec(traceParent);\n if (!match)\n return null;\n // According to the specification the implementation should be compatible\n // with future versions. If there are more parts, we only reject it if it's using version 00\n // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent\n if (match[1] === '00' && match[5])\n return null;\n return {\n traceId: match[2],\n spanId: match[3],\n traceFlags: parseInt(match[4], 16),\n };\n}\n/**\n * Propagates {@link SpanContext} through Trace Context format propagation.\n *\n * Based on the Trace Context specification:\n * https://www.w3.org/TR/trace-context/\n */\nexport class W3CTraceContextPropagator {\n inject(context, carrier, setter) {\n const spanContext = trace.getSpanContext(context);\n if (!spanContext ||\n isTracingSuppressed(context) ||\n !isSpanContextValid(spanContext))\n return;\n const traceParent = `${VERSION}-${spanContext.traceId}-${spanContext.spanId}-0${Number(spanContext.traceFlags || TraceFlags.NONE).toString(16)}`;\n setter.set(carrier, TRACE_PARENT_HEADER, traceParent);\n if (spanContext.traceState) {\n setter.set(carrier, TRACE_STATE_HEADER, spanContext.traceState.serialize());\n }\n }\n extract(context, carrier, getter) {\n const traceParentHeader = getter.get(carrier, TRACE_PARENT_HEADER);\n if (!traceParentHeader)\n return context;\n const traceParent = Array.isArray(traceParentHeader)\n ? traceParentHeader[0]\n : traceParentHeader;\n if (typeof traceParent !== 'string')\n return context;\n const spanContext = parseTraceParent(traceParent);\n if (!spanContext)\n return context;\n spanContext.isRemote = true;\n const traceStateHeader = getter.get(carrier, TRACE_STATE_HEADER);\n if (traceStateHeader) {\n // If more than one `tracestate` header is found, we merge them into a\n // single header.\n const state = Array.isArray(traceStateHeader)\n ? traceStateHeader.join(',')\n : traceStateHeader;\n spanContext.traceState = new TraceState(typeof state === 'string' ? state : undefined);\n }\n return trace.setSpanContext(context, spanContext);\n }\n fields() {\n return [TRACE_PARENT_HEADER, TRACE_STATE_HEADER];\n }\n}\n//# sourceMappingURL=W3CTraceContextPropagator.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * based on lodash in order to support esm builds without esModuleInterop.\n * lodash is using MIT License.\n **/\nconst objectTag = '[object Object]';\nconst nullTag = '[object Null]';\nconst undefinedTag = '[object Undefined]';\nconst funcProto = Function.prototype;\nconst funcToString = funcProto.toString;\nconst objectCtorString = funcToString.call(Object);\nconst getPrototypeOf = Object.getPrototypeOf;\nconst objectProto = Object.prototype;\nconst hasOwnProperty = objectProto.hasOwnProperty;\nconst symToStringTag = Symbol ? Symbol.toStringTag : undefined;\nconst nativeObjectToString = objectProto.toString;\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nexport function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) !== objectTag) {\n return false;\n }\n const proto = getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n const Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor &&\n funcToString.call(Ctor) === objectCtorString);\n}\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return symToStringTag && symToStringTag in Object(value)\n ? getRawTag(value)\n : objectToString(value);\n}\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n const isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];\n let unmasked = false;\n try {\n value[symToStringTag] = undefined;\n unmasked = true;\n }\n catch {\n // silence\n }\n const result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n }\n else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n//# sourceMappingURL=lodash.merge.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isPlainObject } from './lodash.merge';\nconst MAX_LEVEL = 20;\n/**\n * Merges objects together\n * @param args - objects / values to be merged\n */\nexport function merge(...args) {\n let result = args.shift();\n const objects = new WeakMap();\n while (args.length > 0) {\n result = mergeTwoObjects(result, args.shift(), 0, objects);\n }\n return result;\n}\nfunction takeValue(value) {\n if (isArray(value)) {\n return value.slice();\n }\n return value;\n}\n/**\n * Merges two objects\n * @param one - first object\n * @param two - second object\n * @param level - current deep level\n * @param objects - objects holder that has been already referenced - to prevent\n * cyclic dependency\n */\nfunction mergeTwoObjects(one, two, level = 0, objects) {\n let result;\n if (level > MAX_LEVEL) {\n return undefined;\n }\n level++;\n if (isPrimitive(one) || isPrimitive(two) || isFunction(two)) {\n result = takeValue(two);\n }\n else if (isArray(one)) {\n result = one.slice();\n if (isArray(two)) {\n for (let i = 0, j = two.length; i < j; i++) {\n result.push(takeValue(two[i]));\n }\n }\n else if (isObject(two)) {\n const keys = Object.keys(two);\n for (let i = 0, j = keys.length; i < j; i++) {\n const key = keys[i];\n if (key === '__proto__' ||\n key === 'constructor' ||\n key === 'prototype') {\n continue;\n }\n result[key] = takeValue(two[key]);\n }\n }\n }\n else if (isObject(one)) {\n if (isObject(two)) {\n if (!shouldMerge(one, two)) {\n return two;\n }\n result = Object.assign({}, one);\n const keys = Object.keys(two);\n for (let i = 0, j = keys.length; i < j; i++) {\n const key = keys[i];\n if (key === '__proto__' ||\n key === 'constructor' ||\n key === 'prototype') {\n continue;\n }\n const twoValue = two[key];\n if (isPrimitive(twoValue)) {\n if (typeof twoValue === 'undefined') {\n delete result[key];\n }\n else {\n // result[key] = takeValue(twoValue);\n result[key] = twoValue;\n }\n }\n else {\n const obj1 = result[key];\n const obj2 = twoValue;\n if (wasObjectReferenced(one, key, objects) ||\n wasObjectReferenced(two, key, objects)) {\n delete result[key];\n }\n else {\n if (isObject(obj1) && isObject(obj2)) {\n const arr1 = objects.get(obj1) || [];\n const arr2 = objects.get(obj2) || [];\n arr1.push({ obj: one, key });\n arr2.push({ obj: two, key });\n objects.set(obj1, arr1);\n objects.set(obj2, arr2);\n }\n result[key] = mergeTwoObjects(result[key], twoValue, level, objects);\n }\n }\n }\n }\n else {\n result = two;\n }\n }\n return result;\n}\n/**\n * Function to check if object has been already reference\n * @param obj\n * @param key\n * @param objects\n */\nfunction wasObjectReferenced(obj, key, objects) {\n const arr = objects.get(obj[key]) || [];\n for (let i = 0, j = arr.length; i < j; i++) {\n const info = arr[i];\n if (info.key === key && info.obj === obj) {\n return true;\n }\n }\n return false;\n}\nfunction isArray(value) {\n return Array.isArray(value);\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isObject(value) {\n return (!isPrimitive(value) &&\n !isArray(value) &&\n !isFunction(value) &&\n typeof value === 'object');\n}\nfunction isPrimitive(value) {\n return (typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean' ||\n typeof value === 'undefined' ||\n value instanceof Date ||\n value instanceof RegExp ||\n value === null);\n}\nfunction shouldMerge(one, two) {\n if (!isPlainObject(one) || !isPlainObject(two)) {\n return false;\n }\n return true;\n}\n//# sourceMappingURL=merge.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport function urlMatches(url, urlToMatch) {\n if (typeof urlToMatch === 'string') {\n return url === urlToMatch;\n }\n else {\n return !!url.match(urlToMatch);\n }\n}\n/**\n * Check if {@param url} should be ignored when comparing against {@param ignoredUrls}\n * @param url\n * @param ignoredUrls\n */\nexport function isUrlIgnored(url, ignoredUrls) {\n if (!ignoredUrls) {\n return false;\n }\n for (const ignoreUrl of ignoredUrls) {\n if (urlMatches(url, ignoreUrl)) {\n return true;\n }\n }\n return false;\n}\n//# sourceMappingURL=url.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport const TraceExporterMetricsHelper = {\n name: 'span',\n countItems: (request) => request.length,\n};\n//# sourceMappingURL=index.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport const GLOBAL_LOGS_API_KEY = Symbol.for('io.opentelemetry.js.api.logs');\nexport const _global = globalThis;\n/**\n * Make a function which accepts a version integer and returns the instance of an API if the version\n * is compatible, or a fallback version (usually NOOP) if it is not.\n *\n * @param requiredVersion Backwards compatibility version which is required to return the instance\n * @param instance Instance which should be returned if the required version is compatible\n * @param fallback Fallback instance, usually NOOP, which will be returned if the required version is not compatible\n */\nexport function makeGetter(requiredVersion, instance, fallback) {\n return (version) => version === requiredVersion ? instance : fallback;\n}\n/**\n * A number which should be incremented each time a backwards incompatible\n * change is made to the API. This number is used when an API package\n * attempts to access the global API to ensure it is getting a compatible\n * version. If the global API is not compatible with the API package\n * attempting to get it, a NOOP API implementation will be returned.\n */\nexport const API_BACKWARDS_COMPATIBILITY_VERSION = 1;\n//# sourceMappingURL=global-utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { NoopLogger } from './NoopLogger';\nexport class NoopLoggerProvider {\n getLogger(_name, _version, _options) {\n return new NoopLogger();\n }\n}\nexport const NOOP_LOGGER_PROVIDER = new NoopLoggerProvider();\n//# sourceMappingURL=NoopLoggerProvider.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { NOOP_LOGGER } from './NoopLogger';\nexport class ProxyLogger {\n constructor(provider, name, version, options) {\n this._provider = provider;\n this.name = name;\n this.version = version;\n this.options = options;\n }\n /**\n * Emit a log record. This method should only be used by log appenders.\n *\n * @param logRecord\n */\n emit(logRecord) {\n this._getLogger().emit(logRecord);\n }\n enabled(options) {\n return this._getLogger().enabled(options);\n }\n /**\n * Try to get a logger from the proxy logger provider.\n * If the proxy logger provider has no delegate, return a noop logger.\n */\n _getLogger() {\n if (this._delegate) {\n return this._delegate;\n }\n const logger = this._provider._getDelegateLogger(this.name, this.version, this.options);\n if (!logger) {\n return NOOP_LOGGER;\n }\n this._delegate = logger;\n return this._delegate;\n }\n}\n//# sourceMappingURL=ProxyLogger.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { NOOP_LOGGER_PROVIDER } from './NoopLoggerProvider';\nimport { ProxyLogger } from './ProxyLogger';\nexport class ProxyLoggerProvider {\n getLogger(name, version, options) {\n var _a;\n return ((_a = this._getDelegateLogger(name, version, options)) !== null && _a !== void 0 ? _a : new ProxyLogger(this, name, version, options));\n }\n /**\n * Get the delegate logger provider.\n * Used by tests only.\n * @internal\n */\n _getDelegate() {\n var _a;\n return (_a = this._delegate) !== null && _a !== void 0 ? _a : NOOP_LOGGER_PROVIDER;\n }\n /**\n * Set the delegate logger provider\n * @internal\n */\n _setDelegate(delegate) {\n this._delegate = delegate;\n }\n /**\n * @internal\n */\n _getDelegateLogger(name, version, options) {\n var _a;\n return (_a = this._delegate) === null || _a === void 0 ? void 0 : _a.getLogger(name, version, options);\n }\n}\n//# sourceMappingURL=ProxyLoggerProvider.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { API_BACKWARDS_COMPATIBILITY_VERSION, GLOBAL_LOGS_API_KEY, _global, makeGetter, } from '../internal/global-utils';\nimport { NOOP_LOGGER_PROVIDER } from '../NoopLoggerProvider';\nimport { ProxyLoggerProvider } from '../ProxyLoggerProvider';\nexport class LogsAPI {\n constructor() {\n this._proxyLoggerProvider = new ProxyLoggerProvider();\n }\n static getInstance() {\n if (!this._instance) {\n this._instance = new LogsAPI();\n }\n return this._instance;\n }\n setGlobalLoggerProvider(provider) {\n if (_global[GLOBAL_LOGS_API_KEY]) {\n return this.getLoggerProvider();\n }\n _global[GLOBAL_LOGS_API_KEY] = makeGetter(API_BACKWARDS_COMPATIBILITY_VERSION, provider, NOOP_LOGGER_PROVIDER);\n this._proxyLoggerProvider._setDelegate(provider);\n return provider;\n }\n /**\n * Returns the global logger provider.\n *\n * @returns LoggerProvider\n */\n getLoggerProvider() {\n var _a, _b;\n return ((_b = (_a = _global[GLOBAL_LOGS_API_KEY]) === null || _a === void 0 ? void 0 : _a.call(_global, API_BACKWARDS_COMPATIBILITY_VERSION)) !== null && _b !== void 0 ? _b : this._proxyLoggerProvider);\n }\n /**\n * Returns a Logger, creating one if one with the given name, version,\n * schemaUrl, and attributes is not already created.\n *\n * Getting a Logger may be expensive, especially when `attributes` are\n * provided. Reuse Logger instances where possible instead of calling\n * `getLogger()` on hot paths.\n *\n * @param name The name of the logger or instrumentation library.\n * @param version The version of the logger or instrumentation library.\n * @param options The options of the logger or instrumentation library.\n * @returns {@link Logger}\n */\n getLogger(name, version, options) {\n return this.getLoggerProvider().getLogger(name, version, options);\n }\n /** Remove the global logger provider */\n disable() {\n delete _global[GLOBAL_LOGS_API_KEY];\n this._proxyLoggerProvider = new ProxyLoggerProvider();\n }\n}\n//# sourceMappingURL=logs.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport { SeverityNumber } from './types/LogRecord';\nexport { createNoopLogger } from './NoopLogger';\nimport { LogsAPI } from './api/logs';\nexport const logs = LogsAPI.getInstance();\n//# sourceMappingURL=index.js.map","import { createInstrumentationScope, createResource, toAttributes, } from '../common/internal';\n// Span flags constants matching the OTLP specification\nconst SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK = 0x100;\nconst SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK = 0x200;\n/**\n * Builds the 32-bit span flags value combining the low 8-bit W3C TraceFlags\n * with the HAS_IS_REMOTE and IS_REMOTE bits according to the OTLP spec.\n */\nfunction buildSpanFlagsFrom(traceFlags, isRemote) {\n // low 8 bits are W3C TraceFlags (e.g., sampled)\n let flags = (traceFlags & 0xff) | SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK;\n if (isRemote) {\n flags |= SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK;\n }\n return flags;\n}\nexport function sdkSpanToOtlpSpan(span, encoder) {\n const ctx = span.spanContext();\n const status = span.status;\n const parentSpanId = span.parentSpanContext?.spanId\n ? encoder.encodeSpanContext(span.parentSpanContext?.spanId)\n : undefined;\n return {\n traceId: encoder.encodeSpanContext(ctx.traceId),\n spanId: encoder.encodeSpanContext(ctx.spanId),\n parentSpanId: parentSpanId,\n traceState: ctx.traceState?.serialize(),\n name: span.name,\n // Span kind is offset by 1 because the API does not define a value for unset\n kind: span.kind == null ? 0 : span.kind + 1,\n startTimeUnixNano: encoder.encodeHrTime(span.startTime),\n endTimeUnixNano: encoder.encodeHrTime(span.endTime),\n attributes: toAttributes(span.attributes, encoder),\n droppedAttributesCount: span.droppedAttributesCount,\n events: span.events.map(event => toOtlpSpanEvent(event, encoder)),\n droppedEventsCount: span.droppedEventsCount,\n status: {\n // API and proto enums share the same values\n code: status.code,\n message: status.message,\n },\n links: span.links.map(link => toOtlpLink(link, encoder)),\n droppedLinksCount: span.droppedLinksCount,\n flags: buildSpanFlagsFrom(ctx.traceFlags, span.parentSpanContext?.isRemote),\n };\n}\nexport function toOtlpLink(link, encoder) {\n return {\n attributes: link.attributes ? toAttributes(link.attributes, encoder) : [],\n spanId: encoder.encodeSpanContext(link.context.spanId),\n traceId: encoder.encodeSpanContext(link.context.traceId),\n traceState: link.context.traceState?.serialize(),\n droppedAttributesCount: link.droppedAttributesCount || 0,\n flags: buildSpanFlagsFrom(link.context.traceFlags, link.context.isRemote),\n };\n}\nexport function toOtlpSpanEvent(timedEvent, encoder) {\n return {\n attributes: timedEvent.attributes\n ? toAttributes(timedEvent.attributes, encoder)\n : [],\n name: timedEvent.name,\n timeUnixNano: encoder.encodeHrTime(timedEvent.time),\n droppedAttributesCount: timedEvent.droppedAttributesCount || 0,\n };\n}\nexport function createExportTraceServiceRequest(spans, encoder) {\n return {\n resourceSpans: spanRecordsToResourceSpans(spans, encoder),\n };\n}\nfunction createResourceMap(readableSpans) {\n const resourceMap = new Map();\n for (const record of readableSpans) {\n let ilsMap = resourceMap.get(record.resource);\n if (!ilsMap) {\n ilsMap = new Map();\n resourceMap.set(record.resource, ilsMap);\n }\n // TODO this is duplicated in basic tracer. Consolidate on a common helper in core\n const instrumentationScopeKey = `${record.instrumentationScope.name}@${record.instrumentationScope.version || ''}:${record.instrumentationScope.schemaUrl || ''}`;\n let records = ilsMap.get(instrumentationScopeKey);\n if (!records) {\n records = [];\n ilsMap.set(instrumentationScopeKey, records);\n }\n records.push(record);\n }\n return resourceMap;\n}\nfunction spanRecordsToResourceSpans(readableSpans, encoder) {\n const resourceMap = createResourceMap(readableSpans);\n const out = [];\n const entryIterator = resourceMap.entries();\n let entry = entryIterator.next();\n while (!entry.done) {\n const [resource, ilmMap] = entry.value;\n const scopeResourceSpans = [];\n const ilmIterator = ilmMap.values();\n let ilmEntry = ilmIterator.next();\n while (!ilmEntry.done) {\n const scopeSpans = ilmEntry.value;\n if (scopeSpans.length > 0) {\n const spans = scopeSpans.map(readableSpan => sdkSpanToOtlpSpan(readableSpan, encoder));\n scopeResourceSpans.push({\n scope: createInstrumentationScope(scopeSpans[0].instrumentationScope, encoder),\n spans: spans,\n schemaUrl: scopeSpans[0].instrumentationScope.schemaUrl,\n });\n }\n ilmEntry = ilmIterator.next();\n }\n const processedResource = createResource(resource, encoder);\n const transformedSpans = {\n resource: processedResource,\n scopeSpans: scopeResourceSpans,\n schemaUrl: processedResource.schemaUrl,\n };\n out.push(transformedSpans);\n entry = entryIterator.next();\n }\n return out;\n}\n//# sourceMappingURL=internal.js.map","import { createExportTraceServiceRequest } from '../internal';\nimport { JSON_ENCODER } from '../../common/utils';\nimport { diag } from '@opentelemetry/api';\nexport const JsonTraceSerializer = {\n serializeRequest: (arg) => {\n const request = createExportTraceServiceRequest(arg, JSON_ENCODER);\n const encoder = new TextEncoder();\n return encoder.encode(JSON.stringify(request));\n },\n deserializeResponse: (arg) => {\n if (arg.length === 0) {\n return {};\n }\n const decoder = new TextDecoder();\n try {\n return JSON.parse(decoder.decode(arg));\n }\n catch (err) {\n diag.warn(`Failed to parse trace export response: ${err.message}. Returning empty response`);\n return {};\n }\n },\n};\n//# sourceMappingURL=trace.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * Enum value \"otlp_http_span_exporter\" for attribute {@link ATTR_OTEL_COMPONENT_TYPE}.\n *\n * OTLP span exporter over HTTP with protobuf serialization\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const OTEL_COMPONENT_TYPE_VALUE_OTLP_HTTP_SPAN_EXPORTER = 'otlp_http_span_exporter';\n//# sourceMappingURL=semconv.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { OTLPExporterBase } from '@opentelemetry/otlp-exporter-base';\nimport { JsonTraceSerializer, TraceExporterMetricsHelper, } from '@opentelemetry/otlp-transformer';\nimport { createLegacyOtlpBrowserExportDelegate } from '@opentelemetry/otlp-exporter-base/browser-http';\nimport { OTEL_COMPONENT_TYPE_VALUE_OTLP_HTTP_SPAN_EXPORTER } from '../../semconv';\n/**\n * Collector Trace Exporter for Web\n */\nexport class OTLPTraceExporter extends OTLPExporterBase {\n constructor(config = {}) {\n super(createLegacyOtlpBrowserExportDelegate(config, JsonTraceSerializer, OTEL_COMPONENT_TYPE_VALUE_OTLP_HTTP_SPAN_EXPORTER, TraceExporterMetricsHelper, config.selfObsMeterProvider, 'v1/traces', { 'Content-Type': 'application/json' }));\n }\n}\n//# sourceMappingURL=OTLPTraceExporter.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// Event name definitions\nexport const ExceptionEventName = 'exception';\n//# sourceMappingURL=enums.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Well-known symbol used by Node.js `util.inspect` (and `console.*`) to\n * render an object via a custom representation. Defined as a global Symbol\n * so it works without importing from `node:util`, keeping this module safe\n * for browser builds (where the symbol is simply never looked up).\n */\nexport const inspectCustom = Symbol.for('nodejs.util.inspect.custom');\n/**\n * Collect a Resource's settled attributes without touching the\n * `attributes` getter, which emits diag.error/debug entries when async\n * attribute detectors are still pending. Promise-like (unsettled)\n * entries are silently skipped so logging a Span/Tracer/Provider during\n * startup doesn't recurse through the diag pipeline.\n */\nexport function settledResourceAttributes(resource) {\n const attrs = {};\n for (const [k, v] of resource.getRawAttributes()) {\n if (typeof v?.then === 'function') {\n continue;\n }\n if (v != null) {\n attrs[k] ??= v;\n }\n }\n return attrs;\n}\n/**\n * Build a class-tagged inspect representation. Returns a stub like\n * `[ClassName]` once the recursion budget is exhausted, otherwise returns\n * `ClassName <inspected payload>` so nested fields keep proper coloring,\n * indentation, and depth handling. In environments that don't supply an\n * `inspect` callback (e.g. browsers), falls back to returning the raw\n * payload object.\n */\nexport function formatInspect(className, payload, depth, options, inspect) {\n if (typeof depth === 'number' && depth < 0) {\n const tag = `[${className}]`;\n return options?.stylize ? options.stylize(tag, 'special') : tag;\n }\n if (typeof inspect !== 'function' || !options) {\n return payload;\n }\n const childOptions = {\n ...options,\n depth: options.depth == null ? options.depth : options.depth - 1,\n };\n return `${className} ${inspect(payload, childOptions)}`;\n}\n//# sourceMappingURL=inspect.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag, SpanStatusCode } from '@opentelemetry/api';\nimport { addHrTimes, millisToHrTime, hrTime, hrTimeDuration, isAttributeValue, isTimeInput, isTimeInputHrTime, otperformance, sanitizeAttributes, } from '@opentelemetry/core';\nimport { ATTR_EXCEPTION_MESSAGE, ATTR_EXCEPTION_STACKTRACE, ATTR_EXCEPTION_TYPE, } from '@opentelemetry/semantic-conventions';\nimport { ExceptionEventName } from './enums';\nimport { formatInspect, inspectCustom, settledResourceAttributes, } from './inspect';\n/**\n * This class represents a span.\n */\nexport class SpanImpl {\n // Below properties are included to implement ReadableSpan for export\n // purposes but are not intended to be written-to directly.\n _spanContext;\n kind;\n parentSpanContext;\n attributes = {};\n links = [];\n events = [];\n startTime;\n resource;\n instrumentationScope;\n _droppedAttributesCount = 0;\n _droppedEventsCount = 0;\n _droppedLinksCount = 0;\n _attributesCount = 0;\n name;\n status = {\n code: SpanStatusCode.UNSET,\n };\n endTime = [0, 0];\n _ended = false;\n _duration = [-1, -1];\n _spanProcessor;\n _spanLimits;\n _attributeValueLengthLimit;\n _recordEndMetrics;\n _performanceStartTime;\n _performanceOffset;\n _startTimeProvided;\n /**\n * Constructs a new SpanImpl instance.\n */\n constructor(opts) {\n const now = Date.now();\n this._spanContext = opts.spanContext;\n this._performanceStartTime = otperformance.now();\n this._performanceOffset =\n now - (this._performanceStartTime + otperformance.timeOrigin);\n this._startTimeProvided = opts.startTime != null;\n this._spanLimits = opts.spanLimits;\n this._attributeValueLengthLimit =\n this._spanLimits.attributeValueLengthLimit ?? 0;\n this._spanProcessor = opts.spanProcessor;\n this.name = opts.name;\n this.parentSpanContext = opts.parentSpanContext;\n this.kind = opts.kind;\n if (opts.links) {\n for (const link of opts.links) {\n this.addLink(link);\n }\n }\n this.startTime = this._getTime(opts.startTime ?? now);\n this.resource = opts.resource;\n this.instrumentationScope = opts.scope;\n this._recordEndMetrics = opts.recordEndMetrics;\n if (opts.attributes != null) {\n this.setAttributes(opts.attributes);\n }\n this._spanProcessor.onStart(this, opts.context);\n }\n spanContext() {\n return this._spanContext;\n }\n setAttribute(key, value) {\n if (value == null || this._isSpanEnded())\n return this;\n if (key.length === 0) {\n diag.warn(`Invalid attribute key: ${key}`);\n return this;\n }\n if (!isAttributeValue(value)) {\n diag.warn(`Invalid attribute value set for key: ${key}`);\n return this;\n }\n const { attributeCountLimit } = this._spanLimits;\n const isNewKey = !Object.prototype.hasOwnProperty.call(this.attributes, key);\n if (attributeCountLimit !== undefined &&\n this._attributesCount >= attributeCountLimit &&\n isNewKey) {\n this._droppedAttributesCount++;\n return this;\n }\n this.attributes[key] = this._truncateToSize(value);\n if (isNewKey) {\n this._attributesCount++;\n }\n return this;\n }\n setAttributes(attributes) {\n for (const key in attributes) {\n if (Object.prototype.hasOwnProperty.call(attributes, key)) {\n this.setAttribute(key, attributes[key]);\n }\n }\n return this;\n }\n /**\n *\n * @param name Span Name\n * @param [attributesOrStartTime] Span attributes or start time\n * if type is {@type TimeInput} and 3rd param is undefined\n * @param [timeStamp] Specified time stamp for the event\n */\n addEvent(name, attributesOrStartTime, timeStamp) {\n if (this._isSpanEnded())\n return this;\n const { eventCountLimit } = this._spanLimits;\n if (eventCountLimit === 0) {\n diag.warn('No events allowed.');\n this._droppedEventsCount++;\n return this;\n }\n if (eventCountLimit !== undefined &&\n this.events.length >= eventCountLimit) {\n if (this._droppedEventsCount === 0) {\n diag.debug('Dropping extra events.');\n }\n this.events.shift();\n this._droppedEventsCount++;\n }\n if (isTimeInput(attributesOrStartTime)) {\n if (!isTimeInput(timeStamp)) {\n timeStamp = attributesOrStartTime;\n }\n attributesOrStartTime = undefined;\n }\n const sanitized = sanitizeAttributes(attributesOrStartTime);\n const { attributePerEventCountLimit } = this._spanLimits;\n const attributes = {};\n let droppedAttributesCount = 0;\n let eventAttributesCount = 0;\n for (const attr in sanitized) {\n if (!Object.prototype.hasOwnProperty.call(sanitized, attr)) {\n continue;\n }\n const attrVal = sanitized[attr];\n if (attributePerEventCountLimit !== undefined &&\n eventAttributesCount >= attributePerEventCountLimit) {\n droppedAttributesCount++;\n continue;\n }\n attributes[attr] = this._truncateToSize(attrVal);\n eventAttributesCount++;\n }\n this.events.push({\n name,\n attributes,\n time: this._getTime(timeStamp),\n droppedAttributesCount,\n });\n return this;\n }\n addLink(link) {\n if (this._isSpanEnded())\n return this;\n const { linkCountLimit } = this._spanLimits;\n if (linkCountLimit === 0) {\n this._droppedLinksCount++;\n return this;\n }\n if (linkCountLimit !== undefined && this.links.length >= linkCountLimit) {\n if (this._droppedLinksCount === 0) {\n diag.debug('Dropping extra links.');\n }\n this.links.shift();\n this._droppedLinksCount++;\n }\n const { attributePerLinkCountLimit } = this._spanLimits;\n const sanitized = sanitizeAttributes(link.attributes);\n const attributes = {};\n let droppedAttributesCount = 0;\n let linkAttributesCount = 0;\n for (const attr in sanitized) {\n if (!Object.prototype.hasOwnProperty.call(sanitized, attr)) {\n continue;\n }\n const attrVal = sanitized[attr];\n if (attributePerLinkCountLimit !== undefined &&\n linkAttributesCount >= attributePerLinkCountLimit) {\n droppedAttributesCount++;\n continue;\n }\n attributes[attr] = this._truncateToSize(attrVal);\n linkAttributesCount++;\n }\n const processedLink = { context: link.context };\n if (linkAttributesCount > 0) {\n processedLink.attributes = attributes;\n }\n if (droppedAttributesCount > 0) {\n processedLink.droppedAttributesCount = droppedAttributesCount;\n }\n this.links.push(processedLink);\n return this;\n }\n addLinks(links) {\n for (const link of links) {\n this.addLink(link);\n }\n return this;\n }\n setStatus(status) {\n if (this._isSpanEnded())\n return this;\n if (status.code === SpanStatusCode.UNSET)\n return this;\n if (this.status.code === SpanStatusCode.OK)\n return this;\n const newStatus = { code: status.code };\n // When using try-catch, the caught \"error\" is of type `any`. When then assigning `any` to `status.message`,\n // TypeScript will not error. While this can happen during use of any API, it is more common on Span#setStatus()\n // as it's likely used in a catch-block. Therefore, we validate if `status.message` is actually a string, null, or\n // undefined to avoid an incorrect type causing issues downstream.\n if (status.code === SpanStatusCode.ERROR) {\n if (typeof status.message === 'string') {\n newStatus.message = status.message;\n }\n else if (status.message != null) {\n diag.warn(`Dropping invalid status.message of type '${typeof status.message}', expected 'string'`);\n }\n }\n this.status = newStatus;\n return this;\n }\n updateName(name) {\n if (this._isSpanEnded())\n return this;\n this.name = name;\n return this;\n }\n end(endTime) {\n if (this._isSpanEnded()) {\n diag.error(`${this.name} ${this._spanContext.traceId}-${this._spanContext.spanId} - You can only call end() on a span once.`);\n return;\n }\n this.endTime = this._getTime(endTime);\n this._duration = hrTimeDuration(this.startTime, this.endTime);\n if (this._duration[0] < 0) {\n diag.warn('Inconsistent start and end time, startTime > endTime. Setting span duration to 0ms.', this.startTime, this.endTime);\n this.endTime = this.startTime.slice();\n this._duration = [0, 0];\n }\n if (this._droppedEventsCount > 0) {\n diag.warn(`Dropped ${this._droppedEventsCount} events because eventCountLimit reached`);\n }\n if (this._droppedLinksCount > 0) {\n diag.warn(`Dropped ${this._droppedLinksCount} links because linkCountLimit reached`);\n }\n if (this._spanProcessor.onEnding) {\n this._spanProcessor.onEnding(this);\n }\n this._recordEndMetrics?.();\n this._ended = true;\n this._spanProcessor.onEnd(this);\n }\n _getTime(inp) {\n if (typeof inp === 'number' && inp <= otperformance.now()) {\n // must be a performance timestamp\n // apply correction and convert to hrtime\n return hrTime(inp + this._performanceOffset);\n }\n if (typeof inp === 'number') {\n return millisToHrTime(inp);\n }\n if (inp instanceof Date) {\n return millisToHrTime(inp.getTime());\n }\n if (isTimeInputHrTime(inp)) {\n return inp;\n }\n if (this._startTimeProvided) {\n // if user provided a time for the start manually\n // we can't use duration to calculate event/end times\n return millisToHrTime(Date.now());\n }\n const msDuration = otperformance.now() - this._performanceStartTime;\n return addHrTimes(this.startTime, millisToHrTime(msDuration));\n }\n isRecording() {\n return this._ended === false;\n }\n recordException(exception, time) {\n const attributes = {};\n if (typeof exception === 'string') {\n attributes[ATTR_EXCEPTION_MESSAGE] = exception;\n }\n else if (exception) {\n if (exception.code) {\n attributes[ATTR_EXCEPTION_TYPE] = exception.code.toString();\n }\n else if (exception.name) {\n attributes[ATTR_EXCEPTION_TYPE] = exception.name;\n }\n if (exception.message) {\n attributes[ATTR_EXCEPTION_MESSAGE] = exception.message;\n }\n if (exception.stack) {\n attributes[ATTR_EXCEPTION_STACKTRACE] = exception.stack;\n }\n }\n // these are minimum requirements from spec\n if (attributes[ATTR_EXCEPTION_TYPE] || attributes[ATTR_EXCEPTION_MESSAGE]) {\n this.addEvent(ExceptionEventName, attributes, time);\n }\n else {\n diag.warn(`Failed to record an exception ${exception}`);\n }\n }\n get duration() {\n return this._duration;\n }\n get ended() {\n return this._ended;\n }\n get droppedAttributesCount() {\n return this._droppedAttributesCount;\n }\n get droppedEventsCount() {\n return this._droppedEventsCount;\n }\n get droppedLinksCount() {\n return this._droppedLinksCount;\n }\n _isSpanEnded() {\n if (this._ended) {\n const error = new Error(`Operation attempted on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`);\n diag.warn(`Cannot execute the operation on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`, error);\n }\n return this._ended;\n }\n // Utility function to truncate given value within size\n // for value type of string, will truncate to given limit\n // for type of non-string, will return same value\n _truncateToLimitUtil(value, limit) {\n if (value.length <= limit) {\n return value;\n }\n return value.substring(0, limit);\n }\n /**\n * If the given attribute value is of type string and has more characters than given {@code attributeValueLengthLimit} then\n * return string with truncated to {@code attributeValueLengthLimit} characters\n *\n * If the given attribute value is array of strings then\n * return new array of strings with each element truncated to {@code attributeValueLengthLimit} characters\n *\n * Otherwise return same Attribute {@code value}\n *\n * @param value Attribute value\n * @returns truncated attribute value if required, otherwise same value\n */\n _truncateToSize(value) {\n const limit = this._attributeValueLengthLimit;\n // Check limit\n if (limit <= 0) {\n // Negative values are invalid, so do not truncate\n diag.warn(`Attribute value limit must be positive, got ${limit}`);\n return value;\n }\n // String\n if (typeof value === 'string') {\n return this._truncateToLimitUtil(value, limit);\n }\n // Array of strings\n if (Array.isArray(value)) {\n return value.map(val => typeof val === 'string' ? this._truncateToLimitUtil(val, limit) : val);\n }\n // Other types, no need to apply value length limit\n return value;\n }\n [inspectCustom](depth, options, inspect) {\n const payload = {\n name: this.name,\n kind: this.kind,\n spanContext: this._spanContext,\n parentSpanContext: this.parentSpanContext,\n status: this.status,\n startTime: this.startTime,\n endTime: this.endTime,\n duration: this._duration,\n ended: this._ended,\n attributes: this.attributes,\n events: this.events,\n links: this.links,\n droppedAttributesCount: this._droppedAttributesCount,\n droppedEventsCount: this._droppedEventsCount,\n droppedLinksCount: this._droppedLinksCount,\n instrumentationScope: this.instrumentationScope,\n resource: { attributes: settledResourceAttributes(this.resource) },\n };\n return formatInspect('SpanImpl', payload, depth, options, inspect);\n }\n}\n//# sourceMappingURL=Span.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * A sampling decision that determines how a {@link Span} will be recorded\n * and collected.\n */\nexport var SamplingDecision;\n(function (SamplingDecision) {\n /**\n * `Span.isRecording() === false`, span will not be recorded and all events\n * and attributes will be dropped.\n */\n SamplingDecision[SamplingDecision[\"NOT_RECORD\"] = 0] = \"NOT_RECORD\";\n /**\n * `Span.isRecording() === true`, but `Sampled` flag in {@link TraceFlags}\n * MUST NOT be set.\n */\n SamplingDecision[SamplingDecision[\"RECORD\"] = 1] = \"RECORD\";\n /**\n * `Span.isRecording() === true` AND `Sampled` flag in {@link TraceFlags}\n * MUST be set.\n */\n SamplingDecision[SamplingDecision[\"RECORD_AND_SAMPLED\"] = 2] = \"RECORD_AND_SAMPLED\";\n})(SamplingDecision || (SamplingDecision = {}));\n//# sourceMappingURL=Sampler.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * A name uniquely identifying the instance of the OpenTelemetry component within its containing SDK instance.\n *\n * @example otlp_grpc_span_exporter/0\n * @example custom-name\n *\n * @note Implementations **SHOULD** ensure a low cardinality for this attribute, even across application or SDK restarts.\n * E.g. implementations **MUST NOT** use UUIDs as values for this attribute.\n *\n * Implementations **MAY** achieve these goals by following a `<otel.component.type>/<instance-counter>` pattern, e.g. `batching_span_processor/0`.\n * Hereby `otel.component.type` refers to the corresponding attribute value of the component.\n *\n * The value of `instance-counter` **MAY** be automatically assigned by the component and uniqueness within the enclosing SDK instance **MUST** be guaranteed.\n * For example, `<instance-counter>` **MAY** be implemented by using a monotonically increasing counter (starting with `0`), which is incremented every time an\n * instance of the given component type is started.\n *\n * With this implementation, for example the first Batching Span Processor would have `batching_span_processor/0`\n * as `otel.component.name`, the second one `batching_span_processor/1` and so on.\n * These values will therefore be reused in the case of an application restart.\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_OTEL_COMPONENT_NAME = 'otel.component.name';\n/**\n * A name identifying the type of the OpenTelemetry component.\n *\n * @example batching_span_processor\n * @example com.example.MySpanExporter\n *\n * @note If none of the standardized values apply, implementations **SHOULD** use the language-defined name of the type.\n * E.g. for Java the fully qualified classname **SHOULD** be used in this case.\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_OTEL_COMPONENT_TYPE = 'otel.component.type';\n/**\n * Determines whether the span has a parent span, and if so, [whether it is a remote parent](https://opentelemetry.io/docs/specs/otel/trace/api/#isremote)\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_OTEL_SPAN_PARENT_ORIGIN = 'otel.span.parent.origin';\n/**\n * The result value of the sampler for this span\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_OTEL_SPAN_SAMPLING_RESULT = 'otel.span.sampling_result';\n/**\n * The number of spans for which the processing has finished, either successful or failed.\n *\n * @note For successful processing, `error.type` **MUST NOT** be set. For failed processing, `error.type` **MUST** contain the failure cause.\n * For the SDK Simple and Batching Span Processor a span is considered to be processed already when it has been submitted to the exporter, not when the corresponding export call has finished.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_PROCESSOR_SPAN_PROCESSED = 'otel.sdk.processor.span.processed';\n/**\n * The maximum number of spans the queue of a given instance of an SDK span processor can hold.\n *\n * @note Only applies to span processors which use a queue, e.g. the SDK Batching Span Processor.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_PROCESSOR_SPAN_QUEUE_CAPACITY = 'otel.sdk.processor.span.queue.capacity';\n/**\n * The number of spans in the queue of a given instance of an SDK span processor.\n *\n * @note Only applies to span processors which use a queue, e.g. the SDK Batching Span Processor.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_PROCESSOR_SPAN_QUEUE_SIZE = 'otel.sdk.processor.span.queue.size';\n/**\n * The number of created spans with `recording=true` for which the end operation has not been called yet.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_SPAN_LIVE = 'otel.sdk.span.live';\n/**\n * The number of created spans.\n *\n * @note Implementations **MUST** record this metric for all spans, even for non-recording ones.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_SPAN_STARTED = 'otel.sdk.span.started';\n/**\n * Enum value \"batching_span_processor\" for attribute {@link ATTR_OTEL_COMPONENT_TYPE}.\n *\n * The builtin SDK batching span processor\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const OTEL_COMPONENT_TYPE_VALUE_BATCHING_SPAN_PROCESSOR = 'batching_span_processor';\n/**\n * Enum value \"simple_span_processor\" for attribute {@link ATTR_OTEL_COMPONENT_TYPE}.\n *\n * The builtin SDK simple span processor\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const OTEL_COMPONENT_TYPE_VALUE_SIMPLE_SPAN_PROCESSOR = 'simple_span_processor';\n//# sourceMappingURL=semconv.js.map","import { SamplingDecision } from './Sampler';\nimport { ATTR_OTEL_SPAN_PARENT_ORIGIN, ATTR_OTEL_SPAN_SAMPLING_RESULT, METRIC_OTEL_SDK_SPAN_LIVE, METRIC_OTEL_SDK_SPAN_STARTED, } from './semconv';\n/**\n * Generates `otel.sdk.span.*` metrics.\n * https://opentelemetry.io/docs/specs/semconv/otel/sdk-metrics/#span-metrics\n */\nexport class TracerMetrics {\n startedSpans;\n liveSpans;\n constructor(meter) {\n this.startedSpans = meter.createCounter(METRIC_OTEL_SDK_SPAN_STARTED, {\n unit: '{span}',\n description: 'The number of created spans.',\n });\n this.liveSpans = meter.createUpDownCounter(METRIC_OTEL_SDK_SPAN_LIVE, {\n unit: '{span}',\n description: 'The number of currently live spans.',\n });\n }\n startSpan(parentSpanCtx, samplingDecision) {\n const samplingDecisionStr = samplingDecisionToString(samplingDecision);\n this.startedSpans.add(1, {\n [ATTR_OTEL_SPAN_PARENT_ORIGIN]: parentOrigin(parentSpanCtx),\n [ATTR_OTEL_SPAN_SAMPLING_RESULT]: samplingDecisionStr,\n });\n if (samplingDecision === SamplingDecision.NOT_RECORD) {\n return () => { };\n }\n const liveSpanAttributes = {\n [ATTR_OTEL_SPAN_SAMPLING_RESULT]: samplingDecisionStr,\n };\n this.liveSpans.add(1, liveSpanAttributes);\n return () => {\n this.liveSpans.add(-1, liveSpanAttributes);\n };\n }\n}\nfunction parentOrigin(parentSpanContext) {\n if (!parentSpanContext) {\n return 'none';\n }\n if (parentSpanContext.isRemote) {\n return 'remote';\n }\n return 'local';\n}\nfunction samplingDecisionToString(decision) {\n switch (decision) {\n case SamplingDecision.RECORD_AND_SAMPLED:\n return 'RECORD_AND_SAMPLE';\n case SamplingDecision.RECORD:\n return 'RECORD_ONLY';\n case SamplingDecision.NOT_RECORD:\n return 'DROP';\n }\n}\n//# sourceMappingURL=TracerMetrics.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.11.0';\n//# sourceMappingURL=version.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport * as api from '@opentelemetry/api';\nimport { sanitizeAttributes, isTracingSuppressed } from '@opentelemetry/core';\nimport { SpanImpl } from './Span';\nimport { TracerMetrics } from './TracerMetrics';\nimport { VERSION } from './version';\nimport { formatInspect, inspectCustom, settledResourceAttributes, } from './inspect';\n/**\n * This class represents a basic tracer.\n */\nexport class Tracer {\n _sampler;\n _spanLimits;\n _idGenerator;\n instrumentationScope;\n _resource;\n _spanProcessor;\n _tracerMetrics;\n /**\n * Constructs a new Tracer instance.\n */\n constructor(instrumentationScope, options) {\n this.instrumentationScope = instrumentationScope;\n this._sampler = options.sampler;\n this._spanLimits = options.spanLimits;\n this._resource = options.resource;\n this._idGenerator = options.idGenerator;\n this._spanProcessor = options.spanProcessor;\n const meter = options.meterProvider.getMeter('@opentelemetry/sdk-trace', VERSION);\n this._tracerMetrics = new TracerMetrics(meter);\n }\n /**\n * Starts a new Span or returns the default NoopSpan based on the sampling\n * decision.\n */\n startSpan(name, options = {}, context = api.context.active()) {\n // remove span from context in case a root span is requested via options\n if (options.root) {\n context = api.trace.deleteSpan(context);\n }\n const parentSpan = api.trace.getSpan(context);\n if (isTracingSuppressed(context)) {\n api.diag.debug('Instrumentation suppressed, returning Noop Span');\n const nonRecordingSpan = api.trace.wrapSpanContext(api.INVALID_SPAN_CONTEXT);\n return nonRecordingSpan;\n }\n const parentSpanContext = parentSpan?.spanContext();\n const spanId = this._idGenerator.generateSpanId();\n let validParentSpanContext;\n let traceId;\n let traceState;\n if (!parentSpanContext ||\n !api.trace.isSpanContextValid(parentSpanContext)) {\n // New root span.\n traceId = this._idGenerator.generateTraceId();\n }\n else {\n // New child span.\n traceId = parentSpanContext.traceId;\n traceState = parentSpanContext.traceState;\n validParentSpanContext = parentSpanContext;\n }\n const spanKind = options.kind ?? api.SpanKind.INTERNAL;\n const links = (options.links ?? []).map(link => {\n return {\n context: link.context,\n attributes: sanitizeAttributes(link.attributes),\n };\n });\n const attributes = sanitizeAttributes(options.attributes);\n // make sampling decision\n const samplingResult = this._sampler.shouldSample(context, traceId, name, spanKind, attributes, links);\n const recordEndMetrics = this._tracerMetrics.startSpan(parentSpanContext, samplingResult.decision);\n traceState = samplingResult.traceState ?? traceState;\n const traceFlags = samplingResult.decision === api.SamplingDecision.RECORD_AND_SAMPLED\n ? api.TraceFlags.SAMPLED\n : api.TraceFlags.NONE;\n const spanContext = { traceId, spanId, traceFlags, traceState };\n if (samplingResult.decision === api.SamplingDecision.NOT_RECORD) {\n api.diag.debug('Recording is off, propagating context in a non-recording span');\n const nonRecordingSpan = api.trace.wrapSpanContext(spanContext);\n return nonRecordingSpan;\n }\n // Set initial span attributes. The attributes object may have been mutated\n // by the sampler, so we sanitize the merged attributes before setting them.\n const initAttributes = sanitizeAttributes(Object.assign(attributes, samplingResult.attributes));\n const span = new SpanImpl({\n resource: this._resource,\n scope: this.instrumentationScope,\n context,\n spanContext,\n name,\n kind: spanKind,\n links,\n parentSpanContext: validParentSpanContext,\n attributes: initAttributes,\n startTime: options.startTime,\n spanProcessor: this._spanProcessor,\n spanLimits: this._spanLimits,\n recordEndMetrics,\n });\n return span;\n }\n startActiveSpan(name, arg2, arg3, arg4) {\n let opts;\n let ctx;\n let fn;\n if (arguments.length < 2) {\n return;\n }\n else if (arguments.length === 2) {\n fn = arg2;\n }\n else if (arguments.length === 3) {\n opts = arg2;\n fn = arg3;\n }\n else {\n opts = arg2;\n ctx = arg3;\n fn = arg4;\n }\n const parentContext = ctx ?? api.context.active();\n const span = this.startSpan(name, opts, parentContext);\n const contextWithSpanSet = api.trace.setSpan(parentContext, span);\n return api.context.with(contextWithSpanSet, fn, undefined, span);\n }\n [inspectCustom](depth, options, inspect) {\n const payload = {\n instrumentationScope: this.instrumentationScope,\n resource: { attributes: settledResourceAttributes(this._resource) },\n spanLimits: this._spanLimits,\n };\n return formatInspect('Tracer', payload, depth, options, inspect);\n }\n}\n//# sourceMappingURL=Tracer.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { globalErrorHandler } from '@opentelemetry/core';\n/**\n * Implementation of the {@link SpanProcessor} that simply forwards all\n * received events to a list of {@link SpanProcessor}s.\n */\nexport class MultiSpanProcessor {\n _spanProcessors;\n constructor(spanProcessors) {\n this._spanProcessors = spanProcessors;\n }\n forceFlush() {\n const promises = [];\n for (const spanProcessor of this._spanProcessors) {\n promises.push(spanProcessor.forceFlush());\n }\n return new Promise(resolve => {\n Promise.all(promises)\n .then(() => {\n resolve();\n })\n .catch(error => {\n globalErrorHandler(error || new Error('MultiSpanProcessor: forceFlush failed'));\n resolve();\n });\n });\n }\n onStart(span, context) {\n for (const spanProcessor of this._spanProcessors) {\n spanProcessor.onStart(span, context);\n }\n }\n onEnding(span) {\n for (const spanProcessor of this._spanProcessors) {\n if (spanProcessor.onEnding) {\n spanProcessor.onEnding(span);\n }\n }\n }\n onEnd(span) {\n for (const spanProcessor of this._spanProcessors) {\n spanProcessor.onEnd(span);\n }\n }\n shutdown() {\n const promises = [];\n for (const spanProcessor of this._spanProcessors) {\n promises.push(spanProcessor.shutdown());\n }\n return new Promise((resolve, reject) => {\n Promise.all(promises).then(() => {\n resolve();\n }, reject);\n });\n }\n}\n//# sourceMappingURL=MultiSpanProcessor.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { SamplingDecision } from '../Sampler';\n/** Sampler that samples no traces. */\nexport class AlwaysOffSampler {\n shouldSample() {\n return {\n decision: SamplingDecision.NOT_RECORD,\n };\n }\n toString() {\n return 'AlwaysOffSampler';\n }\n}\n//# sourceMappingURL=AlwaysOffSampler.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { SamplingDecision } from '../Sampler';\n/** Sampler that samples all traces. */\nexport class AlwaysOnSampler {\n shouldSample() {\n return {\n decision: SamplingDecision.RECORD_AND_SAMPLED,\n };\n }\n toString() {\n return 'AlwaysOnSampler';\n }\n}\n//# sourceMappingURL=AlwaysOnSampler.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { isSpanContextValid, TraceFlags, trace } from '@opentelemetry/api';\nimport { globalErrorHandler } from '@opentelemetry/core';\nimport { AlwaysOffSampler } from './AlwaysOffSampler';\nimport { AlwaysOnSampler } from './AlwaysOnSampler';\n/**\n * A composite sampler that either respects the parent span's sampling decision\n * or delegates to `delegateSampler` for root spans.\n */\nexport class ParentBasedSampler {\n _root;\n _remoteParentSampled;\n _remoteParentNotSampled;\n _localParentSampled;\n _localParentNotSampled;\n constructor(config) {\n this._root = config.root;\n if (!this._root) {\n globalErrorHandler(new Error('ParentBasedSampler must have a root sampler configured'));\n this._root = new AlwaysOnSampler();\n }\n this._remoteParentSampled =\n config.remoteParentSampled ?? new AlwaysOnSampler();\n this._remoteParentNotSampled =\n config.remoteParentNotSampled ?? new AlwaysOffSampler();\n this._localParentSampled =\n config.localParentSampled ?? new AlwaysOnSampler();\n this._localParentNotSampled =\n config.localParentNotSampled ?? new AlwaysOffSampler();\n }\n shouldSample(context, traceId, spanName, spanKind, attributes, links) {\n const parentContext = trace.getSpanContext(context);\n if (!parentContext || !isSpanContextValid(parentContext)) {\n return this._root.shouldSample(context, traceId, spanName, spanKind, attributes, links);\n }\n if (parentContext.isRemote) {\n if (parentContext.traceFlags & TraceFlags.SAMPLED) {\n return this._remoteParentSampled.shouldSample(context, traceId, spanName, spanKind, attributes, links);\n }\n return this._remoteParentNotSampled.shouldSample(context, traceId, spanName, spanKind, attributes, links);\n }\n if (parentContext.traceFlags & TraceFlags.SAMPLED) {\n return this._localParentSampled.shouldSample(context, traceId, spanName, spanKind, attributes, links);\n }\n return this._localParentNotSampled.shouldSample(context, traceId, spanName, spanKind, attributes, links);\n }\n toString() {\n return `ParentBased{root=${this._root.toString()}, remoteParentSampled=${this._remoteParentSampled.toString()}, remoteParentNotSampled=${this._remoteParentNotSampled.toString()}, localParentSampled=${this._localParentSampled.toString()}, localParentNotSampled=${this._localParentNotSampled.toString()}}`;\n }\n}\n//# sourceMappingURL=ParentBasedSampler.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ATTR_ERROR_TYPE } from '@opentelemetry/semantic-conventions';\nimport { ATTR_OTEL_COMPONENT_NAME, ATTR_OTEL_COMPONENT_TYPE, METRIC_OTEL_SDK_PROCESSOR_SPAN_PROCESSED, METRIC_OTEL_SDK_PROCESSOR_SPAN_QUEUE_CAPACITY, METRIC_OTEL_SDK_PROCESSOR_SPAN_QUEUE_SIZE, } from '../semconv';\nconst componentCounter = new Map();\nexport class SpanProcessorMetrics {\n processedSpans;\n queueSize;\n queueSizeCallback;\n standardAttrs;\n droppedAttrs;\n constructor(componentType, meter, queueConfig) {\n const counter = componentCounter.get(componentType) ?? 0;\n componentCounter.set(componentType, counter + 1);\n this.standardAttrs = {\n [ATTR_OTEL_COMPONENT_TYPE]: componentType,\n [ATTR_OTEL_COMPONENT_NAME]: `${componentType}/${counter}`,\n };\n this.droppedAttrs = {\n ...this.standardAttrs,\n [ATTR_ERROR_TYPE]: 'queue_full',\n };\n this.processedSpans = meter.createCounter(METRIC_OTEL_SDK_PROCESSOR_SPAN_PROCESSED, {\n unit: '{span}',\n description: 'The number of spans for which the processing has finished, either successful or failed.',\n });\n if (queueConfig) {\n const { capacity, getQueueSize } = queueConfig;\n const queueCapacity = meter.createUpDownCounter(METRIC_OTEL_SDK_PROCESSOR_SPAN_QUEUE_CAPACITY, {\n unit: '{span}',\n description: 'The maximum number of spans the queue of a given instance of an SDK span processor can hold.',\n });\n queueCapacity.add(capacity, this.standardAttrs);\n this.queueSize = meter.createObservableUpDownCounter(METRIC_OTEL_SDK_PROCESSOR_SPAN_QUEUE_SIZE, {\n unit: '{span}',\n description: 'The number of spans in the queue of a given instance of an SDK span processor.',\n });\n this.queueSizeCallback = result => result.observe(getQueueSize(), this.standardAttrs);\n this.queueSize.addCallback(this.queueSizeCallback);\n }\n }\n dropSpans(count) {\n this.processedSpans.add(count, this.droppedAttrs);\n }\n finishSpans(count, error) {\n if (!error) {\n this.processedSpans.add(count, this.standardAttrs);\n return;\n }\n const attrs = {\n ...this.standardAttrs,\n [ATTR_ERROR_TYPE]: error.name,\n };\n this.processedSpans.add(count, attrs);\n }\n shutdown() {\n if (this.queueSize && this.queueSizeCallback) {\n this.queueSize.removeCallback(this.queueSizeCallback);\n }\n }\n}\n//# sourceMappingURL=SpanProcessorMetrics.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { context, createNoopMeter, diag, TraceFlags } from '@opentelemetry/api';\nimport { BindOnceFuture, ExportResultCode, globalErrorHandler, suppressTracing, } from '@opentelemetry/core';\nimport { SpanProcessorMetrics } from './SpanProcessorMetrics';\nimport { OTEL_COMPONENT_TYPE_VALUE_BATCHING_SPAN_PROCESSOR } from '../semconv';\n/**\n * Implementation of the {@link SpanProcessor} that batches spans exported by\n * the SDK then pushes them to the exporter pipeline.\n */\nexport class BatchSpanProcessorBase {\n _maxExportBatchSize;\n _maxQueueSize;\n _scheduledDelayMillis;\n _exportTimeoutMillis;\n _exporter;\n _metrics;\n _isExporting = false;\n _finishedSpans = [];\n _timer;\n _shutdownOnce;\n _droppedSpansCount = 0;\n constructor(options) {\n this._exporter = options.exporter;\n this._maxExportBatchSize = options.maxExportBatchSize ?? 512;\n this._maxQueueSize = options.maxQueueSize ?? 2048;\n this._scheduledDelayMillis = options.scheduledDelayMillis ?? 5000;\n this._exportTimeoutMillis = options.exportTimeoutMillis ?? 30000;\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n if (this._maxExportBatchSize > this._maxQueueSize) {\n diag.warn('BatchSpanProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize');\n this._maxExportBatchSize = this._maxQueueSize;\n }\n const meter = options.selfObsMeterProvider\n ? options.selfObsMeterProvider.getMeter('@opentelemetry/sdk-trace')\n : createNoopMeter();\n this._metrics = new SpanProcessorMetrics(OTEL_COMPONENT_TYPE_VALUE_BATCHING_SPAN_PROCESSOR, meter, {\n capacity: this._maxQueueSize,\n getQueueSize: () => this._finishedSpans.length,\n });\n }\n forceFlush() {\n if (this._shutdownOnce.isCalled) {\n return this._shutdownOnce.promise;\n }\n return this._flushAll();\n }\n // does nothing.\n onStart(_span, _parentContext) { }\n onEnd(span) {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n if ((span.spanContext().traceFlags & TraceFlags.SAMPLED) === 0) {\n return;\n }\n this._addToBuffer(span);\n }\n shutdown() {\n return this._shutdownOnce.call();\n }\n _shutdown() {\n return Promise.resolve()\n .then(() => {\n return this.onShutdown();\n })\n .then(() => {\n return this._flushAll();\n })\n .then(() => {\n this._metrics.shutdown();\n return this._exporter.shutdown();\n });\n }\n /** Add a span in the buffer. */\n _addToBuffer(span) {\n if (this._finishedSpans.length >= this._maxQueueSize) {\n // limit reached, drop span\n if (this._droppedSpansCount === 0) {\n diag.debug('maxQueueSize reached, dropping spans');\n }\n this._droppedSpansCount++;\n this._metrics.dropSpans(1);\n return;\n }\n if (this._droppedSpansCount > 0) {\n // some spans were dropped, log once with count of spans dropped\n diag.warn(`Dropped ${this._droppedSpansCount} spans because maxQueueSize reached`);\n this._droppedSpansCount = 0;\n }\n this._finishedSpans.push(span);\n this._maybeStartTimer();\n }\n /**\n * Send all spans to the exporter respecting the batch size limit\n * This function is used only on forceFlush or shutdown,\n * for all other cases _flush should be used\n * */\n _flushAll() {\n return new Promise((resolve, reject) => {\n const promises = [];\n // calculate number of batches\n const count = Math.ceil(this._finishedSpans.length / this._maxExportBatchSize);\n for (let i = 0, j = count; i < j; i++) {\n promises.push(this._flushOneBatch());\n }\n Promise.all(promises)\n .then(() => {\n resolve();\n })\n .catch(reject);\n });\n }\n _flushOneBatch() {\n this._clearTimer();\n if (this._finishedSpans.length === 0) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n // don't wait anymore for export, this way the next batch can start\n reject(new Error('Timeout'));\n }, this._exportTimeoutMillis);\n // prevent downstream exporter calls from generating spans\n context.with(suppressTracing(context.active()), () => {\n // Reset the finished spans buffer here because the next invocations of the _flush method\n // could pass the same finished spans to the exporter if the buffer is cleared\n // outside the execution of this callback.\n let spans;\n if (this._finishedSpans.length <= this._maxExportBatchSize) {\n spans = this._finishedSpans;\n this._finishedSpans = [];\n }\n else {\n spans = this._finishedSpans.splice(0, this._maxExportBatchSize);\n }\n const doExport = () => this._exporter.export(spans, result => {\n clearTimeout(timer);\n this._metrics.finishSpans(spans.length, result.error);\n if (result.code === ExportResultCode.SUCCESS) {\n resolve();\n }\n else {\n reject(result.error ??\n new Error('BatchSpanProcessor: span export failed'));\n }\n });\n let pendingResources = null;\n for (let i = 0, len = spans.length; i < len; i++) {\n const span = spans[i];\n if (span.resource.asyncAttributesPending &&\n span.resource.waitForAsyncAttributes) {\n pendingResources ??= [];\n pendingResources.push(span.resource.waitForAsyncAttributes());\n }\n }\n // Avoid scheduling a promise to make the behavior more predictable and easier to test\n if (pendingResources === null) {\n doExport();\n }\n else {\n Promise.all(pendingResources).then(doExport, err => {\n globalErrorHandler(err);\n reject(err);\n });\n }\n });\n });\n }\n _maybeStartTimer() {\n if (this._isExporting)\n return;\n const flush = () => {\n this._isExporting = true;\n this._flushOneBatch()\n .finally(() => {\n this._isExporting = false;\n if (this._finishedSpans.length > 0) {\n this._clearTimer();\n this._maybeStartTimer();\n }\n })\n .catch(e => {\n this._isExporting = false;\n globalErrorHandler(e);\n });\n };\n // we only wait if the queue doesn't have enough elements yet\n if (this._finishedSpans.length >= this._maxExportBatchSize) {\n return flush();\n }\n if (this._timer !== undefined)\n return;\n this._timer = setTimeout(() => flush(), this._scheduledDelayMillis);\n // depending on runtime, this may be a 'number' or NodeJS.Timeout\n if (typeof this._timer !== 'number') {\n this._timer.unref();\n }\n }\n _clearTimer() {\n if (this._timer !== undefined) {\n clearTimeout(this._timer);\n this._timer = undefined;\n }\n }\n}\n//# sourceMappingURL=BatchSpanProcessorBase.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { BatchSpanProcessorBase } from '../../../export/BatchSpanProcessorBase';\nimport { globalErrorHandler } from '@opentelemetry/core';\nexport class BatchSpanProcessor extends BatchSpanProcessorBase {\n _visibilityChangeListener;\n _pageHideListener;\n constructor(options) {\n super(options);\n this.onInit(options);\n }\n onInit(options) {\n if (options.disableAutoFlushOnDocumentHide !== true &&\n typeof document !== 'undefined') {\n this._visibilityChangeListener = () => {\n if (document.visibilityState === 'hidden') {\n this.forceFlush().catch(error => {\n globalErrorHandler(error);\n });\n }\n };\n this._pageHideListener = () => {\n this.forceFlush().catch(error => {\n globalErrorHandler(error);\n });\n };\n document.addEventListener('visibilitychange', this._visibilityChangeListener);\n // use 'pagehide' event as a fallback for Safari; see https://bugs.webkit.org/show_bug.cgi?id=116769\n document.addEventListener('pagehide', this._pageHideListener);\n }\n }\n onShutdown() {\n if (typeof document !== 'undefined') {\n if (this._visibilityChangeListener) {\n document.removeEventListener('visibilitychange', this._visibilityChangeListener);\n }\n if (this._pageHideListener) {\n document.removeEventListener('pagehide', this._pageHideListener);\n }\n }\n }\n}\n//# sourceMappingURL=BatchSpanProcessor.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nconst TRACE_ID_BYTES = 16;\nconst SPAN_ID_BYTES = 8;\nconst TRACE_BUFFER = new Uint8Array(TRACE_ID_BYTES);\nconst SPAN_BUFFER = new Uint8Array(SPAN_ID_BYTES);\n// Byte-to-hex lookup is faster than toString(16) in browsers\nconst HEX = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * Fills buffer with random bytes, ensuring at least one is non-zero\n * per W3C Trace Context spec.\n */\nfunction randomFill(buf) {\n for (let i = 0; i < buf.length; i++) {\n buf[i] = (Math.random() * 256) >>> 0;\n }\n // Ensure non-zero\n for (let i = 0; i < buf.length; i++) {\n if (buf[i] > 0)\n return;\n }\n buf[buf.length - 1] = 1;\n}\nfunction toHex(buf) {\n let hex = '';\n for (let i = 0; i < buf.length; i++) {\n hex += HEX[buf[i]];\n }\n return hex;\n}\nexport class RandomIdGenerator {\n /**\n * Returns a random 16-byte trace ID formatted/encoded as a 32 lowercase hex\n * characters corresponding to 128 bits.\n */\n generateTraceId() {\n randomFill(TRACE_BUFFER);\n return toHex(TRACE_BUFFER);\n }\n /**\n * Returns a random 8-byte span ID formatted/encoded as a 16 lowercase hex\n * characters corresponding to 64 bits.\n */\n generateSpanId() {\n randomFill(SPAN_BUFFER);\n return toHex(SPAN_BUFFER);\n }\n}\n//# sourceMappingURL=RandomIdGenerator.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { createNoopMeter } from '@opentelemetry/api';\nimport { defaultResource } from '@opentelemetry/resources';\nimport { Tracer } from './Tracer';\nimport { MultiSpanProcessor } from './MultiSpanProcessor';\nimport { ParentBasedSampler } from './sampler/ParentBasedSampler';\nimport { AlwaysOnSampler } from './sampler/AlwaysOnSampler';\nimport { RandomIdGenerator } from './platform';\nimport { formatInspect, inspectCustom, settledResourceAttributes, } from './inspect';\nvar ForceFlushState;\n(function (ForceFlushState) {\n ForceFlushState[ForceFlushState[\"resolved\"] = 0] = \"resolved\";\n ForceFlushState[ForceFlushState[\"timeout\"] = 1] = \"timeout\";\n ForceFlushState[ForceFlushState[\"error\"] = 2] = \"error\";\n ForceFlushState[ForceFlushState[\"unresolved\"] = 3] = \"unresolved\";\n})(ForceFlushState || (ForceFlushState = {}));\n/**\n * This class represents a basic tracer provider which platform libraries can extend\n */\nexport class TracerProvider {\n _resource;\n _activeSpanProcessor;\n _forceFlushTimeoutMillis;\n _tracerOptions;\n _tracers = new Map();\n constructor(options = {}) {\n this._forceFlushTimeoutMillis = options.forceFlushTimeoutMillis ?? 30000;\n this._resource = options.resource ?? defaultResource();\n const spanProcessors = options.spanProcessors ?? [];\n this._activeSpanProcessor = new MultiSpanProcessor(spanProcessors);\n this._tracerOptions = {\n resource: this._resource,\n sampler: options.sampler ??\n new ParentBasedSampler({\n root: new AlwaysOnSampler(),\n }),\n spanLimits: {\n attributeCountLimit: options.spanLimits?.attributeCountLimit ?? 128,\n attributeValueLengthLimit: options.spanLimits?.attributeValueLengthLimit ?? Infinity,\n eventCountLimit: options.spanLimits?.eventCountLimit ?? 128,\n linkCountLimit: options.spanLimits?.linkCountLimit ?? 128,\n attributePerEventCountLimit: options.spanLimits?.attributePerEventCountLimit ?? 128,\n attributePerLinkCountLimit: options.spanLimits?.attributePerLinkCountLimit ?? 128,\n },\n idGenerator: options.idGenerator || new RandomIdGenerator(),\n spanProcessor: this._activeSpanProcessor,\n meterProvider: options.meterProvider ?? {\n getMeter() {\n return createNoopMeter();\n },\n },\n };\n }\n getTracer(name, version, options) {\n const key = `${name}@${version || ''}:${options?.schemaUrl || ''}`;\n if (!this._tracers.has(key)) {\n this._tracers.set(key, new Tracer({ name, version, schemaUrl: options?.schemaUrl }, this._tracerOptions));\n }\n return this._tracers.get(key);\n }\n forceFlush(options) {\n const timeout = options?.timeoutMillis ?? this._forceFlushTimeoutMillis;\n const promises = this._activeSpanProcessor['_spanProcessors'].map((spanProcessor) => {\n return new Promise(resolve => {\n let state;\n const timeoutInterval = setTimeout(() => {\n resolve(new Error(`Span processor did not completed within timeout period of ${timeout} ms`));\n state = ForceFlushState.timeout;\n }, timeout);\n spanProcessor\n .forceFlush()\n .then(() => {\n clearTimeout(timeoutInterval);\n if (state !== ForceFlushState.timeout) {\n state = ForceFlushState.resolved;\n resolve(state);\n }\n })\n .catch(error => {\n clearTimeout(timeoutInterval);\n state = ForceFlushState.error;\n resolve(error);\n });\n });\n });\n return new Promise((resolve, reject) => {\n Promise.all(promises)\n .then(results => {\n const errors = results.filter(result => result !== ForceFlushState.resolved);\n if (errors.length > 0) {\n reject(errors);\n }\n else {\n resolve();\n }\n })\n .catch(error => reject([error]));\n });\n }\n shutdown() {\n return this._activeSpanProcessor.shutdown();\n }\n [inspectCustom](depth, options, inspect) {\n const processors = this._activeSpanProcessor['_spanProcessors'];\n const payload = {\n resource: { attributes: settledResourceAttributes(this._resource) },\n tracers: Array.from(this._tracers.keys()),\n spanProcessors: processors.map(p => p.constructor?.name ?? 'SpanProcessor'),\n };\n return formatInspect('TracerProvider', payload, depth, options, inspect);\n }\n}\n//# sourceMappingURL=TracerProvider.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { isValidTraceId } from '@opentelemetry/api';\nimport { SamplingDecision } from '../Sampler';\n/** Sampler that samples a given fraction of traces based of trace id deterministically. */\nexport class TraceIdRatioBasedSampler {\n _ratio;\n _upperBound;\n constructor(ratio = 0) {\n this._ratio = this._normalize(ratio);\n this._upperBound =\n this._ratio === 1 ? 0x100000000 : Math.floor(this._ratio * 0xffffffff);\n }\n shouldSample(context, traceId) {\n return {\n decision: isValidTraceId(traceId) && this._accumulate(traceId) < this._upperBound\n ? SamplingDecision.RECORD_AND_SAMPLED\n : SamplingDecision.NOT_RECORD,\n };\n }\n toString() {\n return `TraceIdRatioBased{${this._ratio}}`;\n }\n _normalize(ratio) {\n if (typeof ratio !== 'number' || isNaN(ratio))\n return 0;\n return ratio >= 1 ? 1 : ratio <= 0 ? 0 : ratio;\n }\n _accumulate(traceId) {\n let accumulation = 0;\n for (let i = 0; i < 32; i += 8) {\n let part = 0;\n for (let j = 0; j < 8; j++) {\n const c = traceId.charCodeAt(i + j);\n // Convert hex char code to value: '0'-'9' -> 0-9, 'a'-'f' -> 10-15, 'A'-'F' -> 10-15\n const v = c < 58 ? c - 48 : c < 71 ? c - 55 : c - 87;\n part = (part << 4) | v;\n }\n accumulation = (accumulation ^ part) >>> 0;\n }\n return accumulation;\n }\n}\n//# sourceMappingURL=TraceIdRatioBasedSampler.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag } from '@opentelemetry/api';\nimport { getNumberFromEnv, getStringFromEnv } from '@opentelemetry/core';\nimport { AlwaysOffSampler, AlwaysOnSampler, ParentBasedSampler, TraceIdRatioBasedSampler, } from '@opentelemetry/sdk-trace';\nvar TracesSamplerValues;\n(function (TracesSamplerValues) {\n TracesSamplerValues[\"AlwaysOff\"] = \"always_off\";\n TracesSamplerValues[\"AlwaysOn\"] = \"always_on\";\n TracesSamplerValues[\"ParentBasedAlwaysOff\"] = \"parentbased_always_off\";\n TracesSamplerValues[\"ParentBasedAlwaysOn\"] = \"parentbased_always_on\";\n TracesSamplerValues[\"ParentBasedTraceIdRatio\"] = \"parentbased_traceidratio\";\n TracesSamplerValues[\"TraceIdRatio\"] = \"traceidratio\";\n})(TracesSamplerValues || (TracesSamplerValues = {}));\nconst DEFAULT_RATIO = 1;\n/**\n * Load default configuration. For fields with primitive values, any user-provided\n * value will override the corresponding default value. For fields with\n * non-primitive values (like `spanLimits`), the user-provided value will be\n * used to extend the default value.\n */\n// object needs to be wrapped in this function and called when needed otherwise\n// envs are parsed before tests are ran - causes tests using these envs to fail\nexport function loadDefaultConfig() {\n return {\n sampler: buildSamplerFromEnv(),\n forceFlushTimeoutMillis: 30000,\n generalLimits: {\n attributeValueLengthLimit: getNumberFromEnv('OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT') ?? Infinity,\n attributeCountLimit: getNumberFromEnv('OTEL_ATTRIBUTE_COUNT_LIMIT') ?? 128,\n },\n spanLimits: {\n attributeValueLengthLimit: getNumberFromEnv('OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT') ?? Infinity,\n attributeCountLimit: getNumberFromEnv('OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT') ?? 128,\n linkCountLimit: getNumberFromEnv('OTEL_SPAN_LINK_COUNT_LIMIT') ?? 128,\n eventCountLimit: getNumberFromEnv('OTEL_SPAN_EVENT_COUNT_LIMIT') ?? 128,\n attributePerEventCountLimit: getNumberFromEnv('OTEL_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMIT') ?? 128,\n attributePerLinkCountLimit: getNumberFromEnv('OTEL_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMIT') ?? 128,\n },\n };\n}\n/**\n * Based on environment, builds a sampler, complies with specification.\n */\nexport function buildSamplerFromEnv() {\n const sampler = getStringFromEnv('OTEL_TRACES_SAMPLER') ??\n TracesSamplerValues.ParentBasedAlwaysOn;\n switch (sampler) {\n case TracesSamplerValues.AlwaysOn:\n return new AlwaysOnSampler();\n case TracesSamplerValues.AlwaysOff:\n return new AlwaysOffSampler();\n case TracesSamplerValues.ParentBasedAlwaysOn:\n return new ParentBasedSampler({\n root: new AlwaysOnSampler(),\n });\n case TracesSamplerValues.ParentBasedAlwaysOff:\n return new ParentBasedSampler({\n root: new AlwaysOffSampler(),\n });\n case TracesSamplerValues.TraceIdRatio:\n return new TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv());\n case TracesSamplerValues.ParentBasedTraceIdRatio:\n return new ParentBasedSampler({\n root: new TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv()),\n });\n default:\n diag.error(`OTEL_TRACES_SAMPLER value \"${sampler}\" invalid, defaulting to \"${TracesSamplerValues.ParentBasedAlwaysOn}\".`);\n return new ParentBasedSampler({\n root: new AlwaysOnSampler(),\n });\n }\n}\nfunction getSamplerProbabilityFromEnv() {\n const probability = getNumberFromEnv('OTEL_TRACES_SAMPLER_ARG');\n if (probability == null) {\n diag.error(`OTEL_TRACES_SAMPLER_ARG is blank, defaulting to ${DEFAULT_RATIO}.`);\n return DEFAULT_RATIO;\n }\n if (probability < 0 || probability > 1) {\n diag.error(`OTEL_TRACES_SAMPLER_ARG=${probability} was given, but it is out of range ([0..1]), defaulting to ${DEFAULT_RATIO}.`);\n return DEFAULT_RATIO;\n }\n return probability;\n}\n//# sourceMappingURL=config.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { getNumberFromEnv } from '@opentelemetry/core';\nexport const DEFAULT_ATTRIBUTE_COUNT_LIMIT = 128;\nexport const DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT = Infinity;\n/**\n * When general limits are provided and model specific limits are not,\n * configures the model specific limits by using the values from the general ones.\n * @param userConfig User provided tracer configuration\n */\nexport function reconfigureLimits(userConfig) {\n const spanLimits = Object.assign({}, userConfig.spanLimits);\n /**\n * Reassign span attribute count limit to use first non null value defined by user or use default value\n */\n spanLimits.attributeCountLimit =\n userConfig.spanLimits?.attributeCountLimit ??\n userConfig.generalLimits?.attributeCountLimit ??\n getNumberFromEnv('OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT') ??\n getNumberFromEnv('OTEL_ATTRIBUTE_COUNT_LIMIT') ??\n DEFAULT_ATTRIBUTE_COUNT_LIMIT;\n /**\n * Reassign span attribute value length limit to use first non null value defined by user or use default value\n */\n spanLimits.attributeValueLengthLimit =\n userConfig.spanLimits?.attributeValueLengthLimit ??\n userConfig.generalLimits?.attributeValueLengthLimit ??\n getNumberFromEnv('OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT') ??\n getNumberFromEnv('OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT') ??\n DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT;\n return Object.assign({}, userConfig, { spanLimits });\n}\n//# sourceMappingURL=utility.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { merge } from '@opentelemetry/core';\nimport { loadDefaultConfig } from './config';\nimport { reconfigureLimits } from './utility';\nimport { TracerProvider } from '@opentelemetry/sdk-trace';\n/**\n * A TracerProvider implementation that reads configuration defaults from\n * OTEL_* environment variables per\n * https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/\n */\nexport class BasicTracerProvider extends TracerProvider {\n constructor(config = {}) {\n const mergedConfig = merge({}, loadDefaultConfig(), reconfigureLimits(config));\n delete mergedConfig.generalLimits;\n super(mergedConfig);\n }\n}\n//# sourceMappingURL=BasicTracerProvider-shim.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { getNumberFromEnv } from '@opentelemetry/core';\nimport { BatchSpanProcessor as BatchSpanProcessNoEnvConfig } from '@opentelemetry/sdk-trace';\n/**\n * A BatchSpanProcessor that applies `OTEL_*` environment variable fallbacks per\n * https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/\n */\nexport class BatchSpanProcessor extends BatchSpanProcessNoEnvConfig {\n constructor(exporter, config) {\n if (!config) {\n config = {};\n }\n const envFallbacks = [\n ['maxExportBatchSize', 'OTEL_BSP_MAX_EXPORT_BATCH_SIZE'],\n ['maxQueueSize', 'OTEL_BSP_MAX_QUEUE_SIZE'],\n ['scheduledDelayMillis', 'OTEL_BSP_SCHEDULE_DELAY'],\n ['exportTimeoutMillis', 'OTEL_BSP_EXPORT_TIMEOUT'],\n ];\n for (const [configName, envName] of envFallbacks) {\n if (config[configName] === undefined) {\n const envFallback = getNumberFromEnv(envName);\n if (envFallback !== undefined) {\n config[configName] = envFallback;\n }\n }\n }\n super({ exporter, ...config });\n }\n}\n//# sourceMappingURL=BatchSpanProcessor-shim.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ROOT_CONTEXT } from '@opentelemetry/api';\n/**\n * Stack Context Manager for managing the state in web\n * it doesn't fully support the async calls though\n */\nexport class StackContextManager {\n /**\n * whether the context manager is enabled or not\n */\n _enabled = false;\n /**\n * Keeps the reference to current context\n */\n _currentContext = ROOT_CONTEXT;\n /**\n *\n * @param context\n * @param target Function to be executed within the context\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n _bindFunction(context = ROOT_CONTEXT, target) {\n const manager = this;\n const contextWrapper = function (...args) {\n return manager.with(context, () => target.apply(this, args));\n };\n Object.defineProperty(contextWrapper, 'length', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: target.length,\n });\n return contextWrapper;\n }\n /**\n * Returns the active context\n */\n active() {\n return this._currentContext;\n }\n /**\n * Binds a the certain context or the active one to the target function and then returns the target\n * @param context A context (span) to be bind to target\n * @param target a function or event emitter. When target or one of its callbacks is called,\n * the provided context will be used as the active context for the duration of the call.\n */\n bind(context, target) {\n // if no specific context to propagate is given, we use the current one\n if (context === undefined) {\n context = this.active();\n }\n if (typeof target === 'function') {\n return this._bindFunction(context, target);\n }\n return target;\n }\n /**\n * Disable the context manager (clears the current context)\n */\n disable() {\n this._currentContext = ROOT_CONTEXT;\n this._enabled = false;\n return this;\n }\n /**\n * Enables the context manager and creates a default(root) context\n */\n enable() {\n if (this._enabled) {\n return this;\n }\n this._enabled = true;\n this._currentContext = ROOT_CONTEXT;\n return this;\n }\n /**\n * Calls the callback function [fn] with the provided [context]. If [context] is undefined then it will use the window.\n * The context will be set as active\n * @param context\n * @param fn Callback function\n * @param thisArg optional receiver to be used for calling fn\n * @param args optional arguments forwarded to fn\n */\n with(context, fn, thisArg, ...args) {\n const previousContext = this._currentContext;\n this._currentContext = context || ROOT_CONTEXT;\n try {\n return fn.call(thisArg, ...args);\n }\n finally {\n this._currentContext = previousContext;\n }\n }\n}\n//# sourceMappingURL=StackContextManager.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';\nimport { StackContextManager } from './StackContextManager';\nimport { trace, context, propagation } from '@opentelemetry/api';\nimport { CompositePropagator, W3CBaggagePropagator, W3CTraceContextPropagator, } from '@opentelemetry/core';\nfunction setupContextManager(contextManager) {\n // null means 'do not register'\n if (contextManager === null) {\n return;\n }\n // undefined means 'register default'\n if (contextManager === undefined) {\n const defaultContextManager = new StackContextManager();\n defaultContextManager.enable();\n context.setGlobalContextManager(defaultContextManager);\n return;\n }\n contextManager.enable();\n context.setGlobalContextManager(contextManager);\n}\nfunction setupPropagator(propagator) {\n // null means 'do not register'\n if (propagator === null) {\n return;\n }\n // undefined means 'register default'\n if (propagator === undefined) {\n propagation.setGlobalPropagator(new CompositePropagator({\n propagators: [\n new W3CTraceContextPropagator(),\n new W3CBaggagePropagator(),\n ],\n }));\n return;\n }\n propagation.setGlobalPropagator(propagator);\n}\n/**\n * This class represents a web tracer with {@link StackContextManager}\n */\nexport class WebTracerProvider extends BasicTracerProvider {\n /**\n * Constructs a new Tracer instance.\n * @param config Web Tracer config\n */\n constructor(config = {}) {\n super(config);\n }\n /**\n * Register this TracerProvider for use with the OpenTelemetry API.\n * Undefined values may be replaced with defaults, and\n * null values will be skipped.\n *\n * @param config Configuration object for SDK registration\n */\n register(config = {}) {\n trace.setGlobalTracerProvider(this);\n setupPropagator(config.propagator);\n setupContextManager(config.contextManager);\n }\n}\n//# sourceMappingURL=WebTracerProvider.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport var PerformanceTimingNames;\n(function (PerformanceTimingNames) {\n PerformanceTimingNames[\"CONNECT_END\"] = \"connectEnd\";\n PerformanceTimingNames[\"CONNECT_START\"] = \"connectStart\";\n PerformanceTimingNames[\"DECODED_BODY_SIZE\"] = \"decodedBodySize\";\n PerformanceTimingNames[\"DOM_COMPLETE\"] = \"domComplete\";\n PerformanceTimingNames[\"DOM_CONTENT_LOADED_EVENT_END\"] = \"domContentLoadedEventEnd\";\n PerformanceTimingNames[\"DOM_CONTENT_LOADED_EVENT_START\"] = \"domContentLoadedEventStart\";\n PerformanceTimingNames[\"DOM_INTERACTIVE\"] = \"domInteractive\";\n PerformanceTimingNames[\"DOMAIN_LOOKUP_END\"] = \"domainLookupEnd\";\n PerformanceTimingNames[\"DOMAIN_LOOKUP_START\"] = \"domainLookupStart\";\n PerformanceTimingNames[\"ENCODED_BODY_SIZE\"] = \"encodedBodySize\";\n PerformanceTimingNames[\"FETCH_START\"] = \"fetchStart\";\n PerformanceTimingNames[\"LOAD_EVENT_END\"] = \"loadEventEnd\";\n PerformanceTimingNames[\"LOAD_EVENT_START\"] = \"loadEventStart\";\n PerformanceTimingNames[\"NAVIGATION_START\"] = \"navigationStart\";\n PerformanceTimingNames[\"REDIRECT_END\"] = \"redirectEnd\";\n PerformanceTimingNames[\"REDIRECT_START\"] = \"redirectStart\";\n PerformanceTimingNames[\"REQUEST_START\"] = \"requestStart\";\n PerformanceTimingNames[\"RESPONSE_END\"] = \"responseEnd\";\n PerformanceTimingNames[\"RESPONSE_START\"] = \"responseStart\";\n PerformanceTimingNames[\"SECURE_CONNECTION_START\"] = \"secureConnectionStart\";\n PerformanceTimingNames[\"START_TIME\"] = \"startTime\";\n PerformanceTimingNames[\"UNLOAD_EVENT_END\"] = \"unloadEventEnd\";\n PerformanceTimingNames[\"UNLOAD_EVENT_START\"] = \"unloadEventStart\";\n})(PerformanceTimingNames || (PerformanceTimingNames = {}));\n//# sourceMappingURL=PerformanceTimingNames.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * Deprecated, use `http.response.header.<key>` instead.\n *\n * @example 3495\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `http.response.header.<key>`.\n */\nexport const ATTR_HTTP_RESPONSE_CONTENT_LENGTH = 'http.response_content_length';\n/**\n * Deprecated, use `http.response.body.size` instead.\n *\n * @example 5493\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replace by `http.response.body.size`.\n */\nexport const ATTR_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = 'http.response_content_length_uncompressed';\n//# sourceMappingURL=semconv.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { PerformanceTimingNames as PTN } from './enums/PerformanceTimingNames';\nimport { hrTimeToNanoseconds, timeInputToHrTime, urlMatches, } from '@opentelemetry/core';\nimport { ATTR_HTTP_RESPONSE_CONTENT_LENGTH, ATTR_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED, } from './semconv';\n// Used to normalize relative URLs\nlet urlNormalizingAnchor;\nfunction getUrlNormalizingAnchor() {\n if (!urlNormalizingAnchor) {\n urlNormalizingAnchor = document.createElement('a');\n }\n return urlNormalizingAnchor;\n}\n/**\n * Helper function to be able to use enum as typed key in type and in interface when using forEach\n * @param obj\n * @param key\n */\nexport function hasKey(obj, key) {\n return key in obj;\n}\n/**\n * Helper function for starting an event on span based on {@link PerformanceEntries}\n * @param span\n * @param performanceName name of performance entry for time start\n * @param entries\n * @param ignoreZeros\n */\nexport function addSpanNetworkEvent(span, performanceName, entries, ignoreZeros = true) {\n if (hasKey(entries, performanceName) &&\n typeof entries[performanceName] === 'number' &&\n !(ignoreZeros && entries[performanceName] === 0)) {\n return span.addEvent(performanceName, entries[performanceName]);\n }\n return undefined;\n}\n/**\n * Helper function for adding network events and content length attributes.\n */\nexport function addSpanNetworkEvents(span, resource, ignoreNetworkEvents = false, ignoreZeros, skipOldSemconvContentLengthAttrs) {\n if (ignoreZeros === undefined) {\n ignoreZeros = resource[PTN.START_TIME] !== 0;\n }\n if (!ignoreNetworkEvents) {\n addSpanNetworkEvent(span, PTN.FETCH_START, resource, ignoreZeros);\n addSpanNetworkEvent(span, PTN.DOMAIN_LOOKUP_START, resource, ignoreZeros);\n addSpanNetworkEvent(span, PTN.DOMAIN_LOOKUP_END, resource, ignoreZeros);\n addSpanNetworkEvent(span, PTN.CONNECT_START, resource, ignoreZeros);\n addSpanNetworkEvent(span, PTN.SECURE_CONNECTION_START, resource, ignoreZeros);\n addSpanNetworkEvent(span, PTN.CONNECT_END, resource, ignoreZeros);\n addSpanNetworkEvent(span, PTN.REQUEST_START, resource, ignoreZeros);\n addSpanNetworkEvent(span, PTN.RESPONSE_START, resource, ignoreZeros);\n addSpanNetworkEvent(span, PTN.RESPONSE_END, resource, ignoreZeros);\n }\n if (!skipOldSemconvContentLengthAttrs) {\n // This block adds content-length-related span attributes using the\n // *old* HTTP semconv (v1.7.0).\n const encodedLength = resource[PTN.ENCODED_BODY_SIZE];\n if (encodedLength !== undefined) {\n span.setAttribute(ATTR_HTTP_RESPONSE_CONTENT_LENGTH, encodedLength);\n }\n const decodedLength = resource[PTN.DECODED_BODY_SIZE];\n // Spec: Not set if transport encoding not used (in which case encoded and decoded sizes match)\n if (decodedLength !== undefined && encodedLength !== decodedLength) {\n span.setAttribute(ATTR_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED, decodedLength);\n }\n }\n}\n/**\n * sort resources by startTime\n * @param filteredResources\n */\nexport function sortResources(filteredResources) {\n return filteredResources.slice().sort((a, b) => {\n const valueA = a[PTN.FETCH_START];\n const valueB = b[PTN.FETCH_START];\n if (valueA > valueB) {\n return 1;\n }\n else if (valueA < valueB) {\n return -1;\n }\n return 0;\n });\n}\n/** Returns the origin if present (if in browser context). */\nfunction getOrigin() {\n return typeof location !== 'undefined' ? location.origin : undefined;\n}\n/**\n * Get closest performance resource ignoring the resources that have been\n * already used.\n * @param spanUrl\n * @param startTimeHR\n * @param endTimeHR\n * @param resources\n * @param ignoredResources\n * @param initiatorType\n */\nexport function getResource(spanUrl, startTimeHR, endTimeHR, resources, ignoredResources = new WeakSet(), initiatorType) {\n // de-relativize the URL before usage (does no harm to absolute URLs)\n const parsedSpanUrl = parseUrl(spanUrl);\n spanUrl = parsedSpanUrl.toString();\n const filteredResources = filterResourcesForSpan(spanUrl, startTimeHR, endTimeHR, resources, ignoredResources, initiatorType);\n if (filteredResources.length === 0) {\n return {\n mainRequest: undefined,\n };\n }\n if (filteredResources.length === 1) {\n return {\n mainRequest: filteredResources[0],\n };\n }\n const sorted = sortResources(filteredResources);\n if (parsedSpanUrl.origin !== getOrigin() && sorted.length > 1) {\n let corsPreFlightRequest = sorted[0];\n let mainRequest = findMainRequest(sorted, corsPreFlightRequest[PTN.RESPONSE_END], endTimeHR);\n const responseEnd = corsPreFlightRequest[PTN.RESPONSE_END];\n const fetchStart = mainRequest[PTN.FETCH_START];\n // no corsPreFlightRequest\n if (fetchStart < responseEnd) {\n mainRequest = corsPreFlightRequest;\n corsPreFlightRequest = undefined;\n }\n return {\n corsPreFlightRequest,\n mainRequest,\n };\n }\n else {\n return {\n mainRequest: filteredResources[0],\n };\n }\n}\n/**\n * Will find the main request skipping the cors pre flight requests\n * @param resources\n * @param corsPreFlightRequestEndTime\n * @param spanEndTimeHR\n */\nfunction findMainRequest(resources, corsPreFlightRequestEndTime, spanEndTimeHR) {\n const spanEndTime = hrTimeToNanoseconds(spanEndTimeHR);\n const minTime = hrTimeToNanoseconds(timeInputToHrTime(corsPreFlightRequestEndTime));\n let mainRequest = resources[1];\n let bestGap;\n const length = resources.length;\n for (let i = 1; i < length; i++) {\n const resource = resources[i];\n const resourceStartTime = hrTimeToNanoseconds(timeInputToHrTime(resource[PTN.FETCH_START]));\n const resourceEndTime = hrTimeToNanoseconds(timeInputToHrTime(resource[PTN.RESPONSE_END]));\n const currentGap = spanEndTime - resourceEndTime;\n if (resourceStartTime >= minTime && (!bestGap || currentGap < bestGap)) {\n bestGap = currentGap;\n mainRequest = resource;\n }\n }\n return mainRequest;\n}\n/**\n * Filter all resources that has started and finished according to span start time and end time.\n * It will return the closest resource to a start time\n * @param spanUrl\n * @param startTimeHR\n * @param endTimeHR\n * @param resources\n * @param ignoredResources\n */\nfunction filterResourcesForSpan(spanUrl, startTimeHR, endTimeHR, resources, ignoredResources, initiatorType) {\n const startTime = hrTimeToNanoseconds(startTimeHR);\n const endTime = hrTimeToNanoseconds(endTimeHR);\n let filteredResources = resources.filter(resource => {\n const resourceStartTime = hrTimeToNanoseconds(timeInputToHrTime(resource[PTN.FETCH_START]));\n const resourceEndTime = hrTimeToNanoseconds(timeInputToHrTime(resource[PTN.RESPONSE_END]));\n return (resource.initiatorType.toLowerCase() ===\n (initiatorType || 'xmlhttprequest') &&\n resource.name === spanUrl &&\n resourceStartTime >= startTime &&\n resourceEndTime <= endTime);\n });\n if (filteredResources.length > 0) {\n filteredResources = filteredResources.filter(resource => {\n return !ignoredResources.has(resource);\n });\n }\n return filteredResources;\n}\n/**\n * Parses url using URL constructor or fallback to anchor element.\n * @param url\n */\nexport function parseUrl(url) {\n if (typeof URL === 'function') {\n return new URL(url, typeof document !== 'undefined'\n ? document.baseURI\n : typeof location !== 'undefined' // Some JS runtimes (e.g. Deno) don't define this\n ? location.href\n : undefined);\n }\n const element = getUrlNormalizingAnchor();\n element.href = url;\n return element;\n}\n/**\n * Parses url using URL constructor or fallback to anchor element and serialize\n * it to a string.\n *\n * Performs the steps described in https://html.spec.whatwg.org/multipage/urls-and-fetching.html#parse-a-url\n *\n * @param url\n */\nexport function normalizeUrl(url) {\n const urlLike = parseUrl(url);\n return urlLike.href;\n}\n/**\n * Get element XPath\n * @param target - target element\n * @param optimised - when id attribute of element is present the xpath can be\n * simplified to contain id\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getElementXPath(target, optimised) {\n if (target.nodeType === Node.DOCUMENT_NODE) {\n return '/';\n }\n const targetValue = getNodeValue(target, optimised);\n if (optimised && targetValue.indexOf('@id') > 0) {\n return targetValue;\n }\n let xpath = '';\n if (target.parentNode) {\n xpath += getElementXPath(target.parentNode, optimised);\n }\n xpath += targetValue;\n return xpath;\n}\n/**\n * get node index within the siblings\n * @param target\n */\nfunction getNodeIndex(target) {\n if (!target.parentNode) {\n return 0;\n }\n const allowedTypes = [target.nodeType];\n if (target.nodeType === Node.CDATA_SECTION_NODE) {\n allowedTypes.push(Node.TEXT_NODE);\n }\n let elements = Array.from(target.parentNode.childNodes);\n elements = elements.filter((element) => {\n const localName = element.localName;\n return (allowedTypes.indexOf(element.nodeType) >= 0 &&\n localName === target.localName);\n });\n if (elements.length >= 1) {\n return elements.indexOf(target) + 1; // xpath starts from 1\n }\n // if there are no other similar child xpath doesn't need index\n return 0;\n}\n/**\n * get node value for xpath\n * @param target\n * @param optimised\n */\nfunction getNodeValue(target, optimised) {\n const nodeType = target.nodeType;\n const index = getNodeIndex(target);\n let nodeValue;\n if (nodeType === Node.ELEMENT_NODE) {\n const id = target.getAttribute('id');\n if (optimised && id) {\n return `//*[@id=\"${id}\"]`;\n }\n nodeValue = target.localName;\n }\n else if (nodeType === Node.TEXT_NODE ||\n nodeType === Node.CDATA_SECTION_NODE) {\n nodeValue = 'text()';\n }\n else if (nodeType === Node.COMMENT_NODE) {\n nodeValue = 'comment()';\n }\n else {\n return '';\n }\n // if index is 1 it can be omitted in xpath\n if (nodeValue && index > 1) {\n return `/${nodeValue}[${index}]`;\n }\n return `/${nodeValue}`;\n}\n/**\n * Checks if trace headers should be propagated\n * @param spanUrl\n * @private\n */\nexport function shouldPropagateTraceHeaders(spanUrl, propagateTraceHeaderCorsUrls) {\n let propagateTraceHeaderUrls = propagateTraceHeaderCorsUrls || [];\n if (typeof propagateTraceHeaderUrls === 'string' ||\n propagateTraceHeaderUrls instanceof RegExp) {\n propagateTraceHeaderUrls = [propagateTraceHeaderUrls];\n }\n const parsedSpanUrl = parseUrl(spanUrl);\n if (parsedSpanUrl.origin === getOrigin()) {\n return true;\n }\n else {\n return propagateTraceHeaderUrls.some(propagateTraceHeaderUrl => urlMatches(spanUrl, propagateTraceHeaderUrl));\n }\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// Default to complaining loudly when things don't go according to plan.\n// eslint-disable-next-line no-console\nlet logger = console.error.bind(console);\n// Sets a property on an object, preserving its enumerability.\n// This function assumes that the property is already writable.\nfunction defineProperty(obj, name, value) {\n const enumerable = !!obj[name] &&\n Object.prototype.propertyIsEnumerable.call(obj, name);\n Object.defineProperty(obj, name, {\n configurable: true,\n enumerable,\n writable: true,\n value,\n });\n}\nexport const wrap = (nodule, name, wrapper) => {\n if (!nodule || !nodule[name]) {\n logger('no original function ' + String(name) + ' to wrap');\n return;\n }\n if (!wrapper) {\n logger('no wrapper function');\n logger(new Error().stack);\n return;\n }\n const original = nodule[name];\n if (typeof original !== 'function' || typeof wrapper !== 'function') {\n logger('original object and wrapper must be functions');\n return;\n }\n const wrapped = wrapper(original, name);\n defineProperty(wrapped, '__original', original);\n defineProperty(wrapped, '__unwrap', () => {\n if (nodule[name] === wrapped) {\n defineProperty(nodule, name, original);\n }\n });\n defineProperty(wrapped, '__wrapped', true);\n defineProperty(nodule, name, wrapped);\n return wrapped;\n};\nexport const massWrap = (nodules, names, wrapper) => {\n if (!nodules) {\n logger('must provide one or more modules to patch');\n logger(new Error().stack);\n return;\n }\n else if (!Array.isArray(nodules)) {\n nodules = [nodules];\n }\n if (!(names && Array.isArray(names))) {\n logger('must provide one or more functions to wrap on modules');\n return;\n }\n nodules.forEach(nodule => {\n names.forEach(name => {\n wrap(nodule, name, wrapper);\n });\n });\n};\nexport const unwrap = (nodule, name) => {\n if (!nodule || !nodule[name]) {\n logger('no function to unwrap.');\n logger(new Error().stack);\n return;\n }\n const wrapped = nodule[name];\n if (!wrapped.__unwrap) {\n logger('no original to unwrap to -- has ' +\n String(name) +\n ' already been unwrapped?');\n }\n else {\n wrapped.__unwrap();\n return;\n }\n};\nexport const massUnwrap = (nodules, names) => {\n if (!nodules) {\n logger('must provide one or more modules to patch');\n logger(new Error().stack);\n return;\n }\n else if (!Array.isArray(nodules)) {\n nodules = [nodules];\n }\n if (!(names && Array.isArray(names))) {\n logger('must provide one or more functions to unwrap on modules');\n return;\n }\n nodules.forEach(nodule => {\n names.forEach(name => {\n unwrap(nodule, name);\n });\n });\n};\nexport default function shimmer(options) {\n if (options && options.logger) {\n if (typeof options.logger !== 'function') {\n logger(\"new logger isn't a function, not replacing\");\n }\n else {\n logger = options.logger;\n }\n }\n}\nshimmer.wrap = wrap;\nshimmer.massWrap = massWrap;\nshimmer.unwrap = unwrap;\nshimmer.massUnwrap = massUnwrap;\n//# sourceMappingURL=shimmer.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag, metrics, trace } from '@opentelemetry/api';\nimport { logs } from '@opentelemetry/api-logs';\nimport * as shimmer from './shimmer';\n/**\n * Base abstract internal class for instrumenting node and web plugins\n */\nexport class InstrumentationAbstract {\n _config = {};\n _tracer;\n _meter;\n _logger;\n _diag;\n instrumentationName;\n instrumentationVersion;\n constructor(instrumentationName, instrumentationVersion, config) {\n this.instrumentationName = instrumentationName;\n this.instrumentationVersion = instrumentationVersion;\n this.setConfig(config);\n this._diag = diag.createComponentLogger({\n namespace: instrumentationName,\n });\n this._tracer = trace.getTracer(instrumentationName, instrumentationVersion);\n this._meter = metrics.getMeter(instrumentationName, instrumentationVersion);\n this._logger = logs.getLogger(instrumentationName, instrumentationVersion);\n this._updateMetricInstruments();\n }\n /* Api to wrap instrumented method */\n _wrap = shimmer.wrap;\n /* Api to unwrap instrumented methods */\n _unwrap = shimmer.unwrap;\n /* Api to mass wrap instrumented method */\n _massWrap = shimmer.massWrap;\n /* Api to mass unwrap instrumented methods */\n _massUnwrap = shimmer.massUnwrap;\n /* Returns meter */\n get meter() {\n return this._meter;\n }\n /**\n * Sets MeterProvider to this plugin\n * @param meterProvider\n */\n setMeterProvider(meterProvider) {\n this._meter = meterProvider.getMeter(this.instrumentationName, this.instrumentationVersion);\n this._updateMetricInstruments();\n }\n /* Returns logger */\n get logger() {\n return this._logger;\n }\n /**\n * Sets LoggerProvider to this plugin\n * @param loggerProvider\n */\n setLoggerProvider(loggerProvider) {\n this._logger = loggerProvider.getLogger(this.instrumentationName, this.instrumentationVersion);\n }\n /**\n * @experimental\n *\n * Get module definitions defined by {@link init}.\n * This can be used for experimental compile-time instrumentation.\n *\n * @returns an array of {@link InstrumentationModuleDefinition}\n */\n getModuleDefinitions() {\n const initResult = this.init() ?? [];\n if (!Array.isArray(initResult)) {\n return [initResult];\n }\n return initResult;\n }\n /**\n * Sets the new metric instruments with the current Meter.\n */\n _updateMetricInstruments() {\n return;\n }\n /* Returns InstrumentationConfig */\n getConfig() {\n return this._config;\n }\n /**\n * Sets InstrumentationConfig to this plugin\n * @param config\n */\n setConfig(config) {\n // copy config first level properties to ensure they are immutable.\n // nested properties are not copied, thus are mutable from the outside.\n this._config = {\n enabled: true,\n ...config,\n };\n }\n /**\n * Sets TracerProvider to this plugin\n * @param tracerProvider\n */\n setTracerProvider(tracerProvider) {\n this._tracer = tracerProvider.getTracer(this.instrumentationName, this.instrumentationVersion);\n }\n /* Returns tracer */\n get tracer() {\n return this._tracer;\n }\n /**\n * Execute span customization hook, if configured, and log any errors.\n * Any semantics of the trigger and info are defined by the specific instrumentation.\n * @param hookHandler The optional hook handler which the user has configured via instrumentation config\n * @param triggerName The name of the trigger for executing the hook for logging purposes\n * @param span The span to which the hook should be applied\n * @param info The info object to be passed to the hook, with useful data the hook may use\n */\n _runSpanCustomizationHook(hookHandler, triggerName, span, info) {\n if (!hookHandler) {\n return;\n }\n try {\n hookHandler(span, info);\n }\n catch (e) {\n this._diag.error('Error running span customization hook due to exception in handler', { triggerName }, e);\n }\n }\n}\n//# sourceMappingURL=instrumentation.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { InstrumentationAbstract } from '../../instrumentation';\n/**\n * Base abstract class for instrumenting web plugins\n */\nexport class InstrumentationBase extends InstrumentationAbstract {\n constructor(instrumentationName, instrumentationVersion, config) {\n super(instrumentationName, instrumentationVersion, config);\n if (this._config.enabled) {\n this.enable();\n }\n }\n}\n//# sourceMappingURL=instrumentation.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * function to execute patched function and being able to catch errors\n * @param execute - function to be executed\n * @param onFinish - callback to run when execute finishes\n */\nexport function safeExecuteInTheMiddle(execute, onFinish, preventThrowingError) {\n let error;\n let result;\n try {\n result = execute();\n }\n catch (e) {\n error = e;\n }\n finally {\n onFinish(error, result);\n if (error && !preventThrowingError) {\n // eslint-disable-next-line no-unsafe-finally\n throw error;\n }\n // eslint-disable-next-line no-unsafe-finally\n return result;\n }\n}\n/**\n * Async function to execute patched function and being able to catch errors\n * @param execute - function to be executed\n * @param onFinish - callback to run when execute finishes\n */\nexport async function safeExecuteInTheMiddleAsync(execute, onFinish, preventThrowingError) {\n let error;\n let result;\n try {\n result = await execute();\n }\n catch (e) {\n error = e;\n }\n finally {\n await onFinish(error, result);\n if (error && !preventThrowingError) {\n // eslint-disable-next-line no-unsafe-finally\n throw error;\n }\n // eslint-disable-next-line no-unsafe-finally\n return result;\n }\n}\n/**\n * Checks if certain function has been already wrapped\n * @param func\n */\nexport function isWrapped(func) {\n return (typeof func === 'function' &&\n typeof func.__original === 'function' &&\n typeof func.__unwrap === 'function' &&\n func.__wrapped === true);\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport var AttributeNames;\n(function (AttributeNames) {\n AttributeNames[\"DOCUMENT_LOAD\"] = \"documentLoad\";\n AttributeNames[\"DOCUMENT_FETCH\"] = \"documentFetch\";\n AttributeNames[\"RESOURCE_FETCH\"] = \"resourceFetch\";\n})(AttributeNames || (AttributeNames = {}));\n//# sourceMappingURL=AttributeNames.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// this is autogenerated file, see scripts/version-update.js\nexport const PACKAGE_VERSION = '0.67.0';\nexport const PACKAGE_NAME = '@opentelemetry/instrumentation-document-load';\n//# sourceMappingURL=version.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport var EventNames;\n(function (EventNames) {\n EventNames[\"FIRST_PAINT\"] = \"firstPaint\";\n EventNames[\"FIRST_CONTENTFUL_PAINT\"] = \"firstContentfulPaint\";\n})(EventNames || (EventNames = {}));\n//# sourceMappingURL=EventNames.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { otperformance } from '@opentelemetry/core';\nimport { hasKey, PerformanceTimingNames as PTN, } from '@opentelemetry/sdk-trace-web';\nimport { EventNames } from './enums/EventNames';\nexport const getPerformanceNavigationEntries = () => {\n const entries = {};\n const performanceNavigationTiming = otperformance.getEntriesByType?.('navigation')[0];\n if (performanceNavigationTiming) {\n const keys = Object.values(PTN);\n keys.forEach((key) => {\n if (hasKey(performanceNavigationTiming, key)) {\n const value = performanceNavigationTiming[key];\n if (typeof value === 'number') {\n entries[key] = value;\n }\n }\n });\n }\n else {\n // // fallback to previous version\n const perf = otperformance;\n const performanceTiming = perf.timing;\n if (performanceTiming) {\n const keys = Object.values(PTN);\n keys.forEach((key) => {\n if (hasKey(performanceTiming, key)) {\n const value = performanceTiming[key];\n if (typeof value === 'number') {\n entries[key] = value;\n }\n }\n });\n }\n }\n return entries;\n};\nconst performancePaintNames = {\n 'first-paint': EventNames.FIRST_PAINT,\n 'first-contentful-paint': EventNames.FIRST_CONTENTFUL_PAINT,\n};\nexport const addSpanPerformancePaintEvents = (span) => {\n const performancePaintTiming = otperformance.getEntriesByType?.('paint');\n if (performancePaintTiming) {\n performancePaintTiming.forEach(({ name, startTime }) => {\n if (hasKey(performancePaintNames, name)) {\n span.addEvent(performancePaintNames[name], startTime);\n }\n });\n }\n};\n//# sourceMappingURL=utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { context, propagation, trace, ROOT_CONTEXT, } from '@opentelemetry/api';\nimport { otperformance, TRACE_PARENT_HEADER } from '@opentelemetry/core';\nimport { addSpanNetworkEvent, addSpanNetworkEvents, hasKey, PerformanceTimingNames as PTN, } from '@opentelemetry/sdk-trace-web';\nimport { InstrumentationBase, safeExecuteInTheMiddle, } from '@opentelemetry/instrumentation';\nimport { ATTR_URL_FULL, ATTR_USER_AGENT_ORIGINAL, } from '@opentelemetry/semantic-conventions';\nimport { AttributeNames } from './enums/AttributeNames';\n/** @knipignore */\nimport { PACKAGE_NAME, PACKAGE_VERSION } from './version';\nimport { addSpanPerformancePaintEvents, getPerformanceNavigationEntries, } from './utils';\n/**\n * This class represents a document load plugin\n */\nexport class DocumentLoadInstrumentation extends InstrumentationBase {\n component = 'document-load';\n version = '1';\n moduleName = this.component;\n constructor(config = {}) {\n super(PACKAGE_NAME, PACKAGE_VERSION, config);\n }\n init() { }\n /**\n * callback to be executed when page is loaded\n */\n _onDocumentLoaded() {\n // Timeout is needed as load event doesn't have yet the performance metrics for loadEnd.\n // Support for event \"loadend\" is very limited and cannot be used\n window.setTimeout(() => {\n this._collectPerformance();\n });\n }\n /**\n * Adds spans for all resources\n * @param rootSpan\n */\n _addResourcesSpans(rootSpan) {\n const resources = otperformance.getEntriesByType?.('resource');\n if (resources) {\n resources.forEach(resource => {\n this._initResourceSpan(resource, rootSpan);\n });\n }\n }\n /**\n * Collects information about performance and creates appropriate spans\n */\n _collectPerformance() {\n const metaElement = Array.from(document.getElementsByTagName('meta')).find(e => e.getAttribute('name') === TRACE_PARENT_HEADER);\n const entries = getPerformanceNavigationEntries();\n const traceparent = (metaElement && metaElement.content) || '';\n context.with(propagation.extract(ROOT_CONTEXT, { traceparent }), () => {\n const rootSpan = this._startSpan(AttributeNames.DOCUMENT_LOAD, PTN.FETCH_START, entries);\n if (!rootSpan) {\n return;\n }\n context.with(trace.setSpan(context.active(), rootSpan), () => {\n const fetchSpan = this._startSpan(AttributeNames.DOCUMENT_FETCH, PTN.FETCH_START, entries);\n if (fetchSpan) {\n fetchSpan.setAttribute(ATTR_URL_FULL, location.href);\n context.with(trace.setSpan(context.active(), fetchSpan), () => {\n addSpanNetworkEvents(fetchSpan, entries, this.getConfig().ignoreNetworkEvents);\n this._addCustomAttributesOnSpan(fetchSpan, this.getConfig().applyCustomAttributesOnSpan?.documentFetch);\n this._endSpan(fetchSpan, PTN.RESPONSE_END, entries);\n });\n }\n });\n rootSpan.setAttribute(ATTR_URL_FULL, location.href);\n rootSpan.setAttribute(ATTR_USER_AGENT_ORIGINAL, navigator.userAgent);\n this._addResourcesSpans(rootSpan);\n if (!this.getConfig().ignoreNetworkEvents) {\n addSpanNetworkEvent(rootSpan, PTN.FETCH_START, entries);\n addSpanNetworkEvent(rootSpan, PTN.UNLOAD_EVENT_START, entries);\n addSpanNetworkEvent(rootSpan, PTN.UNLOAD_EVENT_END, entries);\n addSpanNetworkEvent(rootSpan, PTN.DOM_INTERACTIVE, entries);\n addSpanNetworkEvent(rootSpan, PTN.DOM_CONTENT_LOADED_EVENT_START, entries);\n addSpanNetworkEvent(rootSpan, PTN.DOM_CONTENT_LOADED_EVENT_END, entries);\n addSpanNetworkEvent(rootSpan, PTN.DOM_COMPLETE, entries);\n addSpanNetworkEvent(rootSpan, PTN.LOAD_EVENT_START, entries);\n addSpanNetworkEvent(rootSpan, PTN.LOAD_EVENT_END, entries);\n }\n if (!this.getConfig().ignorePerformancePaintEvents) {\n addSpanPerformancePaintEvents(rootSpan);\n }\n this._addCustomAttributesOnSpan(rootSpan, this.getConfig().applyCustomAttributesOnSpan?.documentLoad);\n this._endSpan(rootSpan, PTN.LOAD_EVENT_END, entries);\n });\n }\n /**\n * Helper function for ending span\n * @param span\n * @param performanceName name of performance entry for time end\n * @param entries\n */\n _endSpan(span, performanceName, entries) {\n // span can be undefined when entries are missing the certain performance - the span will not be created\n if (span) {\n if (hasKey(entries, performanceName)) {\n span.end(entries[performanceName]);\n }\n else {\n // just end span\n span.end();\n }\n }\n }\n /**\n * Creates and ends a span with network information about resource added as timed events\n * @param resource\n * @param parentSpan\n */\n _initResourceSpan(resource, parentSpan) {\n const span = this._startSpan(AttributeNames.RESOURCE_FETCH, PTN.FETCH_START, resource, parentSpan);\n if (span) {\n span.setAttribute(ATTR_URL_FULL, resource.name);\n addSpanNetworkEvents(span, resource, this.getConfig().ignoreNetworkEvents);\n this._addCustomAttributesOnResourceSpan(span, resource, this.getConfig().applyCustomAttributesOnSpan?.resourceFetch);\n this._endSpan(span, PTN.RESPONSE_END, resource);\n }\n }\n /**\n * Helper function for starting a span\n * @param spanName name of span\n * @param performanceName name of performance entry for time start\n * @param entries\n * @param parentSpan\n */\n _startSpan(spanName, performanceName, entries, parentSpan) {\n if (hasKey(entries, performanceName) &&\n typeof entries[performanceName] === 'number') {\n const span = this.tracer.startSpan(spanName, {\n startTime: entries[performanceName],\n }, parentSpan ? trace.setSpan(context.active(), parentSpan) : undefined);\n return span;\n }\n return undefined;\n }\n /**\n * executes callback {_onDocumentLoaded} when the page is loaded\n */\n _waitForPageLoad() {\n if (window.document.readyState === 'complete') {\n this._onDocumentLoaded();\n }\n else {\n this._onDocumentLoaded = this._onDocumentLoaded.bind(this);\n window.addEventListener('load', this._onDocumentLoaded);\n }\n }\n /**\n * adds custom attributes to root span if configured\n */\n _addCustomAttributesOnSpan(span, applyCustomAttributesOnSpan) {\n if (applyCustomAttributesOnSpan) {\n safeExecuteInTheMiddle(() => applyCustomAttributesOnSpan(span), error => {\n if (!error) {\n return;\n }\n this._diag.error('addCustomAttributesOnSpan', error);\n }, true);\n }\n }\n /**\n * adds custom attributes to span if configured\n */\n _addCustomAttributesOnResourceSpan(span, resource, applyCustomAttributesOnSpan) {\n if (applyCustomAttributesOnSpan) {\n safeExecuteInTheMiddle(() => applyCustomAttributesOnSpan(span, resource), error => {\n if (!error) {\n return;\n }\n this._diag.error('addCustomAttributesOnResourceSpan', error);\n }, true);\n }\n }\n /**\n * implements enable function\n */\n enable() {\n // remove previously attached load to avoid adding the same event twice\n // in case of multiple enable calling.\n window.removeEventListener('load', this._onDocumentLoaded);\n this._waitForPageLoad();\n }\n /**\n * implements disable function\n */\n disable() {\n window.removeEventListener('load', this._onDocumentLoaded);\n }\n}\n//# sourceMappingURL=instrumentation.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) header. For requests using transport encoding, this should be the compressed size.\n *\n * @example 3495\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_HTTP_REQUEST_BODY_SIZE = 'http.request.body.size';\n//# sourceMappingURL=semconv.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// Much of the logic here overlaps with the same utils file in opentelemetry-instrumentation-xml-http-request\n// These may be unified in the future.\nimport { diag } from '@opentelemetry/api';\nimport { getStringListFromEnv } from '@opentelemetry/core';\nconst DIAG_LOGGER = diag.createComponentLogger({\n namespace: '@opentelemetry/opentelemetry-instrumentation-fetch/utils',\n});\n/**\n * Helper function to determine payload content length for fetch requests\n *\n * The fetch API is kinda messy: there are a couple of ways the body can be passed in.\n *\n * In all cases, the body param can be some variation of ReadableStream,\n * and ReadableStreams can only be read once! We want to avoid consuming the body here,\n * because that would mean that the body never gets sent with the actual fetch request.\n *\n * Either the first arg is a Request object, which can be cloned\n * so we can clone that object and read the body of the clone\n * without disturbing the original argument\n * However, reading the body here can only be done async; the body() method returns a promise\n * this means this entire function has to return a promise\n *\n * OR the first arg is a url/string\n * in which case the second arg has type RequestInit\n * RequestInit is NOT cloneable, but RequestInit.body is writable\n * so we can chain it into ReadableStream.pipeThrough()\n *\n * ReadableStream.pipeThrough() lets us process a stream and returns a new stream\n * So we can measure the body length as it passes through the pie, but need to attach\n * the new stream to the original request\n * so that the browser still has access to the body.\n *\n * @param body\n * @returns promise that resolves to the content length of the body\n */\nexport function getFetchBodyLength(...args) {\n if (args[0] instanceof URL || typeof args[0] === 'string') {\n const requestInit = args[1];\n if (!requestInit?.body) {\n return Promise.resolve();\n }\n if (requestInit.body instanceof ReadableStream) {\n const { body, length } = _getBodyNonDestructively(requestInit.body);\n requestInit.body = body;\n return length;\n }\n else {\n return Promise.resolve(getXHRBodyLength(requestInit.body));\n }\n }\n else {\n const info = args[0];\n if (!info?.body) {\n return Promise.resolve();\n }\n return info\n .clone()\n .text()\n .then(t => getByteLength(t));\n }\n}\nfunction _getBodyNonDestructively(body) {\n // can't read a ReadableStream without destroying it\n // but we CAN pipe it through and return a new ReadableStream\n // some (older) platforms don't expose the pipeThrough method and in that scenario, we're out of luck;\n // there's no way to read the stream without consuming it.\n if (!body.pipeThrough) {\n DIAG_LOGGER.warn('Platform has ReadableStream but not pipeThrough!');\n return {\n body,\n length: Promise.resolve(undefined),\n };\n }\n let length = 0;\n let resolveLength;\n const lengthPromise = new Promise(resolve => {\n resolveLength = resolve;\n });\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n const bytearray = (await chunk);\n length += bytearray.byteLength;\n controller.enqueue(chunk);\n },\n flush() {\n resolveLength(length);\n },\n });\n return {\n body: body.pipeThrough(transform),\n length: lengthPromise,\n };\n}\nfunction isDocument(value) {\n return typeof Document !== 'undefined' && value instanceof Document;\n}\n/**\n * Helper function to determine payload content length for XHR requests\n * @param body\n * @returns content length\n */\nexport function getXHRBodyLength(body) {\n if (isDocument(body)) {\n return new XMLSerializer().serializeToString(document).length;\n }\n // XMLHttpRequestBodyInit expands to the following:\n if (typeof body === 'string') {\n return getByteLength(body);\n }\n if (body instanceof Blob) {\n return body.size;\n }\n if (body instanceof FormData) {\n return getFormDataSize(body);\n }\n if (body instanceof URLSearchParams) {\n return getByteLength(body.toString());\n }\n // ArrayBuffer | ArrayBufferView\n if (body.byteLength !== undefined) {\n return body.byteLength;\n }\n DIAG_LOGGER.warn('unknown body type');\n return undefined;\n}\nconst TEXT_ENCODER = new TextEncoder();\nfunction getByteLength(s) {\n return TEXT_ENCODER.encode(s).byteLength;\n}\nfunction getFormDataSize(formData) {\n let size = 0;\n for (const [key, value] of formData.entries()) {\n size += key.length;\n if (value instanceof Blob) {\n size += value.size;\n }\n else {\n size += value.length;\n }\n }\n return size;\n}\n/**\n * Normalize an HTTP request method string per `http.request.method` spec\n * https://github.com/open-telemetry/semantic-conventions/blob/main/docs/http/http-spans.md#http-client-span\n */\nexport function normalizeHttpRequestMethod(method) {\n const knownMethods = getKnownMethods();\n const methUpper = method.toUpperCase();\n if (methUpper in knownMethods) {\n return methUpper;\n }\n else {\n return '_OTHER';\n }\n}\nconst DEFAULT_KNOWN_METHODS = {\n CONNECT: true,\n DELETE: true,\n GET: true,\n HEAD: true,\n OPTIONS: true,\n PATCH: true,\n POST: true,\n PUT: true,\n TRACE: true,\n // QUERY from https://datatracker.ietf.org/doc/draft-ietf-httpbis-safe-method-w-body/\n QUERY: true,\n};\nlet knownMethods;\nfunction getKnownMethods() {\n if (knownMethods === undefined) {\n const cfgMethods = getStringListFromEnv('OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS');\n if (cfgMethods && cfgMethods.length > 0) {\n knownMethods = {};\n cfgMethods.forEach(m => {\n knownMethods[m] = true;\n });\n }\n else {\n knownMethods = DEFAULT_KNOWN_METHODS;\n }\n }\n return knownMethods;\n}\nconst HTTP_PORT_FROM_PROTOCOL = {\n 'https:': '443',\n 'http:': '80',\n};\nexport function serverPortFromUrl(url) {\n const serverPort = Number(url.port || HTTP_PORT_FROM_PROTOCOL[url.protocol]);\n // Guard with `if (serverPort)` because `Number('') === 0`.\n if (serverPort && !isNaN(serverPort)) {\n return serverPort;\n }\n else {\n return undefined;\n }\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '0.222.0';\n//# sourceMappingURL=version.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { context, propagation, SpanKind, SpanStatusCode, trace, } from '@opentelemetry/api';\nimport { InstrumentationBase, safeExecuteInTheMiddle, } from '@opentelemetry/instrumentation';\nimport * as core from '@opentelemetry/core';\nimport * as web from '@opentelemetry/sdk-trace-web';\nimport { ATTR_HTTP_REQUEST_BODY_SIZE } from './semconv';\nimport { ATTR_ERROR_TYPE, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_REQUEST_METHOD_ORIGINAL, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_SERVER_ADDRESS, ATTR_SERVER_PORT, ATTR_URL_FULL, } from '@opentelemetry/semantic-conventions';\nimport { getFetchBodyLength, normalizeHttpRequestMethod, serverPortFromUrl, } from './utils';\nimport { VERSION } from './version';\n// how long to wait for observer to collect information about resources\n// this is needed as event \"load\" is called before observer\n// hard to say how long it should really wait, seems like 300ms is\n// safe enough\nconst OBSERVER_WAIT_TIME_MS = 300;\nconst hasBrowserPerformanceAPI = typeof PerformanceObserver !== 'undefined';\n/**\n * This class represents a fetch plugin for auto instrumentation\n */\nexport class FetchInstrumentation extends InstrumentationBase {\n component = 'fetch';\n version = VERSION;\n moduleName = this.component;\n _usedResources = new WeakSet();\n _tasksCount = 0;\n constructor(config = {}) {\n super('@opentelemetry/instrumentation-fetch', VERSION, config);\n }\n init() { }\n /**\n * Add cors pre flight child span\n * @param span\n * @param corsPreFlightRequest\n */\n _addChildSpan(span, corsPreFlightRequest) {\n const childSpan = this.tracer.startSpan('CORS Preflight', {\n startTime: corsPreFlightRequest[web.PerformanceTimingNames.FETCH_START],\n }, trace.setSpan(context.active(), span));\n web.addSpanNetworkEvents(childSpan, corsPreFlightRequest, this.getConfig().ignoreNetworkEvents, undefined, true);\n childSpan.end(corsPreFlightRequest[web.PerformanceTimingNames.RESPONSE_END]);\n }\n /**\n * Adds more attributes to span just before ending it\n * @param span\n * @param response\n */\n _addFinalSpanAttributes(span, response) {\n const parsedUrl = web.parseUrl(response.url);\n span.setAttribute(ATTR_HTTP_RESPONSE_STATUS_CODE, response.status);\n // TODO: Set server.{address,port} at span creation for sampling decisions\n // (a \"SHOULD\" requirement in semconv).\n span.setAttribute(ATTR_SERVER_ADDRESS, parsedUrl.hostname);\n const serverPort = serverPortFromUrl(parsedUrl);\n if (serverPort) {\n span.setAttribute(ATTR_SERVER_PORT, serverPort);\n }\n }\n /**\n * Add headers\n * @param options\n * @param spanUrl\n */\n _addHeaders(options, spanUrl) {\n if (!web.shouldPropagateTraceHeaders(spanUrl, this.getConfig().propagateTraceHeaderCorsUrls)) {\n const headers = {};\n propagation.inject(context.active(), headers);\n if (Object.keys(headers).length > 0) {\n this._diag.debug('headers inject skipped due to CORS policy');\n }\n return;\n }\n if (options instanceof Request) {\n // This mutates `Request.headers` in-place, because it is read-only\n // (per https://developer.mozilla.org/en-US/docs/Web/API/Request/headers),\n // so we cannot (easily) replace it.\n propagation.inject(context.active(), options.headers, {\n set: (h, k, v) => h.set(k, typeof v === 'string' ? v : String(v)),\n });\n }\n else {\n // Otherwise, create a new Headers to avoid mutating the caller's\n // possibly re-used headers.\n const headers = new Headers(options.headers);\n propagation.inject(context.active(), headers, {\n set: (h, k, v) => h.set(k, typeof v === 'string' ? v : String(v)),\n });\n options.headers = headers;\n }\n }\n /**\n * Clears the resource timings and all resources assigned with spans\n * when {@link FetchPluginConfig.clearTimingResources} is\n * set to true (default false)\n * @private\n */\n _clearResources() {\n if (this._tasksCount === 0 && this.getConfig().clearTimingResources) {\n performance.clearResourceTimings();\n this._usedResources = new WeakSet();\n }\n }\n /**\n * Creates a new span\n * @param url\n * @param options\n */\n _createSpan(url, options = {}) {\n if (core.isUrlIgnored(url, this.getConfig().ignoreUrls)) {\n this._diag.debug('ignoring span as url matches ignored url');\n return;\n }\n const attributes = {};\n const origMethod = options.method;\n const normMethod = normalizeHttpRequestMethod(options.method || 'GET');\n const name = normMethod;\n attributes[ATTR_HTTP_REQUEST_METHOD] = normMethod;\n if (normMethod !== origMethod) {\n attributes[ATTR_HTTP_REQUEST_METHOD_ORIGINAL] = origMethod;\n }\n attributes[ATTR_URL_FULL] = url;\n return this.tracer.startSpan(name, {\n kind: SpanKind.CLIENT,\n attributes,\n });\n }\n /**\n * Finds appropriate resource and add network events to the span\n * @param span\n * @param resourcesObserver\n * @param endTime\n */\n _findResourceAndAddNetworkEvents(span, resourcesObserver, endTime) {\n let resources = resourcesObserver.entries;\n if (!resources.length) {\n if (!performance.getEntriesByType) {\n return;\n }\n // fallback - either Observer is not available or it took longer\n // then OBSERVER_WAIT_TIME_MS and observer didn't collect enough\n // information\n resources = performance.getEntriesByType('resource');\n }\n const resource = web.getResource(resourcesObserver.spanUrl, resourcesObserver.startTime, endTime, resources, this._usedResources, 'fetch');\n if (resource.mainRequest) {\n const mainRequest = resource.mainRequest;\n this._markResourceAsUsed(mainRequest);\n const corsPreFlightRequest = resource.corsPreFlightRequest;\n if (corsPreFlightRequest) {\n this._addChildSpan(span, corsPreFlightRequest);\n this._markResourceAsUsed(corsPreFlightRequest);\n }\n web.addSpanNetworkEvents(span, mainRequest, this.getConfig().ignoreNetworkEvents, undefined, true);\n }\n }\n /**\n * Marks certain [resource]{@link PerformanceResourceTiming} when information\n * from this is used to add events to span.\n * This is done to avoid reusing the same resource again for next span\n * @param resource\n */\n _markResourceAsUsed(resource) {\n this._usedResources.add(resource);\n }\n /**\n * Finish span, add attributes, network events etc.\n * @param span\n * @param spanData\n * @param response\n */\n _endSpan(span, spanData, response) {\n const endTime = core.millisToHrTime(Date.now());\n const performanceEndTime = core.hrTime();\n this._addFinalSpanAttributes(span, response);\n // https://github.com/open-telemetry/semantic-conventions/blob/main/docs/http/http-spans.md#status\n if (response.status >= 400) {\n span.setStatus({ code: SpanStatusCode.ERROR });\n span.setAttribute(ATTR_ERROR_TYPE, String(response.status));\n }\n setTimeout(() => {\n spanData.observer?.disconnect();\n this._findResourceAndAddNetworkEvents(span, spanData, performanceEndTime);\n this._tasksCount--;\n this._clearResources();\n span.end(endTime);\n }, OBSERVER_WAIT_TIME_MS);\n }\n /**\n * Patches the constructor of fetch\n */\n _patchConstructor() {\n return original => {\n const plugin = this;\n return function patchConstructor(...args) {\n if (!plugin._isEnabled) {\n return original.apply(this, args);\n }\n const self = this;\n const url = web.parseUrl(args[0] instanceof Request ? args[0].url : String(args[0])).href;\n // Per the Fetch spec, when fetch() is called with a Request object\n // and a separate init object, the init properties override the\n // Request's properties. Merge them into a new Request so that\n // downstream consumers (hooks, header injection, the actual fetch\n // call) see the correct final values.\n // See: https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#parameters\n let options;\n if (args[0] instanceof Request) {\n options = args[1] != null ? new Request(args[0], args[1]) : args[0];\n }\n else {\n options = args[1] || {};\n }\n const createdSpan = plugin._createSpan(url, options);\n if (!createdSpan) {\n return original.apply(this, args);\n }\n const spanData = plugin._prepareSpanData(url);\n if (plugin.getConfig().measureRequestSize) {\n getFetchBodyLength(...args)\n .then(bodyLength => {\n if (!bodyLength)\n return;\n createdSpan.setAttribute(ATTR_HTTP_REQUEST_BODY_SIZE, bodyLength);\n })\n .catch(error => {\n plugin._diag.warn('getFetchBodyLength', error);\n });\n }\n function endSpanOnError(span, error) {\n plugin._applyAttributesAfterFetch(span, options, error);\n plugin._endSpan(span, spanData, {\n status: error.status || 0,\n statusText: error.message,\n url,\n });\n }\n function endSpanOnSuccess(span, response) {\n plugin._applyAttributesAfterFetch(span, options, response);\n if (response.status >= 200 && response.status < 400) {\n plugin._endSpan(span, spanData, response);\n }\n else {\n plugin._endSpan(span, spanData, {\n status: response.status,\n statusText: response.statusText,\n url,\n });\n }\n }\n function onSuccess(span, response) {\n try {\n // Clone the response and eagerly consume the clone to detect\n // when the body transfer completes. The original response is\n // returned to the caller untouched so that it passes internal\n // brand-checks required by APIs such as\n // WebAssembly.compileStreaming.\n // TODO: Switch to a consumer-driven model and drop `resClone`.\n // Keeping eager consumption here to preserve current behavior and avoid breaking existing tests.\n // Context: discussion in PR #5894 → https://github.com/open-telemetry/opentelemetry-js/pull/5894\n const resClone = response.clone();\n const body = resClone.body;\n if (body) {\n const reader = body.getReader();\n const read = () => {\n reader.read().then(({ done }) => {\n if (done) {\n endSpanOnSuccess(span, response);\n }\n else {\n read();\n }\n }, error => {\n endSpanOnError(span, error);\n });\n };\n read();\n }\n else {\n // some older browsers don't have .body implemented\n endSpanOnSuccess(span, response);\n }\n }\n catch (error) {\n // Setup failed (e.g. clone() or getReader() threw).\n // End the span and clean up so _tasksCount doesn't leak.\n plugin._diag.error('Failed to read fetch response body', error);\n plugin._endSpan(span, spanData, {\n status: 0,\n url,\n });\n }\n return response;\n }\n function onError(span, error) {\n try {\n endSpanOnError(span, error);\n }\n catch (e) {\n // endSpanOnError failed — fall back to ending the span\n // directly so _tasksCount doesn't leak.\n plugin._diag.error('Failed to end span on fetch error', e);\n plugin._endSpan(span, spanData, {\n status: error.status || 0,\n url,\n });\n }\n throw error;\n }\n return context.with(trace.setSpan(context.active(), createdSpan), () => {\n // Call request hook before injection so hooks cannot tamper with propagation headers.\n // Also, this means the hook will see `options.headers` in the same type as passed in,\n // rather than as a `Headers` instance set by `_addHeaders()`.\n plugin._callRequestHook(createdSpan, options);\n plugin._addHeaders(options, url);\n plugin._tasksCount++;\n return original\n .apply(self, options instanceof Request ? [options] : [url, options])\n .then(onSuccess.bind(self, createdSpan), onError.bind(self, createdSpan));\n });\n };\n };\n }\n _applyAttributesAfterFetch(span, request, result) {\n const applyCustomAttributesOnSpan = this.getConfig().applyCustomAttributesOnSpan;\n if (applyCustomAttributesOnSpan) {\n safeExecuteInTheMiddle(() => applyCustomAttributesOnSpan(span, request, result), error => {\n if (!error) {\n return;\n }\n this._diag.error('applyCustomAttributesOnSpan', error);\n }, true);\n }\n }\n _callRequestHook(span, request) {\n const requestHook = this.getConfig().requestHook;\n if (requestHook) {\n safeExecuteInTheMiddle(() => requestHook(span, request), error => {\n if (!error) {\n return;\n }\n this._diag.error('requestHook', error);\n }, true);\n }\n }\n /**\n * Prepares a span data - needed later for matching appropriate network\n * resources\n * @param spanUrl\n */\n _prepareSpanData(spanUrl) {\n const startTime = core.hrTime();\n const entries = [];\n if (typeof PerformanceObserver !== 'function') {\n return { entries, startTime, spanUrl };\n }\n const observer = new PerformanceObserver(list => {\n const perfObsEntries = list.getEntries();\n perfObsEntries.forEach(entry => {\n if (entry.initiatorType === 'fetch' && entry.name === spanUrl) {\n entries.push(entry);\n }\n });\n });\n observer.observe({\n entryTypes: ['resource'],\n });\n return { entries, observer, startTime, spanUrl };\n }\n /**\n * implements enable function\n */\n enable() {\n if (!hasBrowserPerformanceAPI) {\n this._diag.warn('this instrumentation is intended for web usage only, it does not instrument server-side fetch()');\n return;\n }\n if (this._isEnabled) {\n return;\n }\n if (this._isFetchPatched) {\n this._diag.debug('fetch constructor already patched');\n this._isEnabled = true;\n return;\n }\n try {\n // `_wrap` throws if a third-party script has locked globalThis.fetch via\n // Object.defineProperty(window, 'fetch', { writable: false, ... }).\n this._wrap(globalThis, 'fetch', this._patchConstructor());\n this._isFetchPatched = true;\n this._isEnabled = true;\n }\n catch (err) {\n this._diag.warn('Failed to patch globalThis.fetch; instrumentation will not be enabled. ' +\n 'Another script may have locked globalThis.fetch via Object.defineProperty.', err);\n }\n }\n /**\n * deactivates fetch instrumentation\n */\n disable() {\n if (!hasBrowserPerformanceAPI) {\n return;\n }\n if (!this._isEnabled) {\n return;\n }\n this._isEnabled = false;\n this._usedResources = new WeakSet();\n }\n}\n//# sourceMappingURL=fetch.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) header. For requests using transport encoding, this should be the compressed size.\n *\n * @example 3495\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_HTTP_REQUEST_BODY_SIZE = 'http.request.body.size';\n//# sourceMappingURL=semconv.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport var EventNames;\n(function (EventNames) {\n EventNames[\"METHOD_OPEN\"] = \"open\";\n EventNames[\"METHOD_SEND\"] = \"send\";\n EventNames[\"EVENT_ABORT\"] = \"abort\";\n EventNames[\"EVENT_ERROR\"] = \"error\";\n EventNames[\"EVENT_LOAD\"] = \"loaded\";\n EventNames[\"EVENT_TIMEOUT\"] = \"timeout\";\n})(EventNames || (EventNames = {}));\n//# sourceMappingURL=EventNames.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// Much of the logic here overlaps with the same utils file in opentelemetry-instrumentation-fetch\n// These may be unified in the future.\nimport * as api from '@opentelemetry/api';\nimport { getStringListFromEnv } from '@opentelemetry/core';\nconst DIAG_LOGGER = api.diag.createComponentLogger({\n namespace: '@opentelemetry/opentelemetry-instrumentation-xml-http-request/utils',\n});\nfunction isDocument(value) {\n return typeof Document !== 'undefined' && value instanceof Document;\n}\n/**\n * Helper function to determine payload content length for XHR requests\n * @param body\n * @returns content length\n */\nexport function getXHRBodyLength(body) {\n if (isDocument(body)) {\n return new XMLSerializer().serializeToString(document).length;\n }\n // XMLHttpRequestBodyInit expands to the following:\n if (typeof body === 'string') {\n return getByteLength(body);\n }\n if (body instanceof Blob) {\n return body.size;\n }\n if (body instanceof FormData) {\n return getFormDataSize(body);\n }\n if (body instanceof URLSearchParams) {\n return getByteLength(body.toString());\n }\n // ArrayBuffer | ArrayBufferView\n if (body.byteLength !== undefined) {\n return body.byteLength;\n }\n DIAG_LOGGER.warn('unknown body type');\n return undefined;\n}\nconst TEXT_ENCODER = new TextEncoder();\nfunction getByteLength(s) {\n return TEXT_ENCODER.encode(s).byteLength;\n}\nfunction getFormDataSize(formData) {\n let size = 0;\n for (const [key, value] of formData.entries()) {\n size += key.length;\n if (value instanceof Blob) {\n size += value.size;\n }\n else {\n size += value.length;\n }\n }\n return size;\n}\n/**\n * Normalize an HTTP request method string per `http.request.method` spec\n * https://github.com/open-telemetry/semantic-conventions/blob/main/docs/http/http-spans.md#http-client-span\n */\nexport function normalizeHttpRequestMethod(method) {\n const knownMethods = getKnownMethods();\n const methUpper = method.toUpperCase();\n if (methUpper in knownMethods) {\n return methUpper;\n }\n else {\n return '_OTHER';\n }\n}\nconst DEFAULT_KNOWN_METHODS = {\n CONNECT: true,\n DELETE: true,\n GET: true,\n HEAD: true,\n OPTIONS: true,\n PATCH: true,\n POST: true,\n PUT: true,\n TRACE: true,\n // QUERY from https://datatracker.ietf.org/doc/draft-ietf-httpbis-safe-method-w-body/\n QUERY: true,\n};\nlet knownMethods;\nfunction getKnownMethods() {\n if (knownMethods === undefined) {\n const cfgMethods = getStringListFromEnv('OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS');\n if (cfgMethods && cfgMethods.length > 0) {\n knownMethods = {};\n cfgMethods.forEach(m => {\n knownMethods[m] = true;\n });\n }\n else {\n knownMethods = DEFAULT_KNOWN_METHODS;\n }\n }\n return knownMethods;\n}\nconst HTTP_PORT_FROM_PROTOCOL = {\n 'https:': '443',\n 'http:': '80',\n};\nexport function serverPortFromUrl(url) {\n const serverPort = Number(url.port || HTTP_PORT_FROM_PROTOCOL[url.protocol]);\n // Guard with `if (serverPort)` because `Number('') === 0`.\n if (serverPort && !isNaN(serverPort)) {\n return serverPort;\n }\n else {\n return undefined;\n }\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '0.222.0';\n//# sourceMappingURL=version.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport * as api from '@opentelemetry/api';\nimport { InstrumentationBase, safeExecuteInTheMiddle, } from '@opentelemetry/instrumentation';\nimport { hrTime, isUrlIgnored, otperformance } from '@opentelemetry/core';\nimport { addSpanNetworkEvents, getResource, PerformanceTimingNames as PTN, shouldPropagateTraceHeaders, parseUrl, } from '@opentelemetry/sdk-trace-web';\nimport { ATTR_ERROR_TYPE, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_REQUEST_METHOD_ORIGINAL, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_SERVER_ADDRESS, ATTR_SERVER_PORT, ATTR_URL_FULL, } from '@opentelemetry/semantic-conventions';\nimport { ATTR_HTTP_REQUEST_BODY_SIZE } from './semconv';\nimport { EventNames } from './enums/EventNames';\nimport { normalizeHttpRequestMethod, serverPortFromUrl, getXHRBodyLength, } from './utils';\nimport { VERSION } from './version';\n// how long to wait for observer to collect information about resources\n// this is needed as event \"load\" is called before observer\n// hard to say how long it should really wait, seems like 300ms is\n// safe enough\nconst OBSERVER_WAIT_TIME_MS = 300;\n/**\n * This class represents a XMLHttpRequest plugin for auto instrumentation\n */\nexport class XMLHttpRequestInstrumentation extends InstrumentationBase {\n component = 'xml-http-request';\n version = VERSION;\n moduleName = this.component;\n _tasksCount = 0;\n _xhrMem = new WeakMap();\n _usedResources = new WeakSet();\n constructor(config = {}) {\n super('@opentelemetry/instrumentation-xml-http-request', VERSION, config);\n }\n init() { }\n /**\n * Adds custom headers to XMLHttpRequest\n * @param xhr\n * @param spanUrl\n * @private\n */\n _addHeaders(xhr, spanUrl) {\n const url = parseUrl(spanUrl).href;\n if (!shouldPropagateTraceHeaders(url, this.getConfig().propagateTraceHeaderCorsUrls)) {\n const headers = {};\n api.propagation.inject(api.context.active(), headers);\n if (Object.keys(headers).length > 0) {\n this._diag.debug('headers inject skipped due to CORS policy');\n }\n return;\n }\n const headers = {};\n api.propagation.inject(api.context.active(), headers);\n Object.keys(headers).forEach(key => {\n xhr.setRequestHeader(key, String(headers[key]));\n });\n }\n /**\n * Add cors pre flight child span\n * @param span\n * @param corsPreFlightRequest\n * @private\n */\n _addChildSpan(span, corsPreFlightRequest) {\n api.context.with(api.trace.setSpan(api.context.active(), span), () => {\n const childSpan = this.tracer.startSpan('CORS Preflight', {\n startTime: corsPreFlightRequest[PTN.FETCH_START],\n });\n addSpanNetworkEvents(childSpan, corsPreFlightRequest, this.getConfig().ignoreNetworkEvents, undefined, true);\n childSpan.end(corsPreFlightRequest[PTN.RESPONSE_END]);\n });\n }\n /**\n * Add attributes when span is going to end\n * @param span\n * @param xhr\n * @private\n */\n _addFinalSpanAttributes(span, xhrMem) {\n if (xhrMem.status) {\n // Intentionally exclude status=0, because XHR uses 0 for before a\n // response is received and semconv says to only add the attribute if\n // received a response.\n span.setAttribute(ATTR_HTTP_RESPONSE_STATUS_CODE, xhrMem.status);\n }\n }\n _applyAttributesAfterXHR(span, xhr) {\n const applyCustomAttributesOnSpan = this.getConfig().applyCustomAttributesOnSpan;\n if (typeof applyCustomAttributesOnSpan === 'function') {\n safeExecuteInTheMiddle(() => applyCustomAttributesOnSpan(span, xhr), error => {\n if (!error) {\n return;\n }\n this._diag.error('applyCustomAttributesOnSpan', error);\n }, true);\n }\n }\n /**\n * will collect information about all resources created\n * between \"send\" and \"end\" with additional waiting for main resource\n * @param xhr\n * @param spanUrl\n * @private\n */\n _addResourceObserver(xhr, spanUrl) {\n const xhrMem = this._xhrMem.get(xhr);\n if (!xhrMem ||\n typeof PerformanceObserver !== 'function' ||\n typeof PerformanceResourceTiming !== 'function') {\n return;\n }\n xhrMem.createdResources = {\n observer: new PerformanceObserver(list => {\n const entries = list.getEntries();\n const parsedUrl = parseUrl(spanUrl);\n entries.forEach(entry => {\n if (entry.initiatorType === 'xmlhttprequest' &&\n entry.name === parsedUrl.href) {\n if (xhrMem.createdResources) {\n xhrMem.createdResources.entries.push(entry);\n }\n }\n });\n }),\n entries: [],\n };\n xhrMem.createdResources.observer.observe({\n entryTypes: ['resource'],\n });\n }\n /**\n * Clears the resource timings and all resources assigned with spans\n * when {@link XMLHttpRequestInstrumentationConfig.clearTimingResources} is\n * set to true (default false)\n * @private\n */\n _clearResources() {\n if (this._tasksCount === 0 && this.getConfig().clearTimingResources) {\n otperformance.clearResourceTimings();\n this._xhrMem = new WeakMap();\n this._usedResources = new WeakSet();\n }\n }\n /**\n * Finds appropriate resource and add network events to the span\n * @param span\n */\n _findResourceAndAddNetworkEvents(xhrMem, span, spanUrl, startTime, endTime) {\n if (!spanUrl || !startTime || !endTime || !xhrMem.createdResources) {\n return;\n }\n let resources = xhrMem.createdResources.entries;\n if (!resources || !resources.length) {\n // fallback - either Observer is not available or it took longer\n // then OBSERVER_WAIT_TIME_MS and observer didn't collect enough\n // information\n // ts thinks this is the perf_hooks module, but it is the browser performance api\n resources = otperformance.getEntriesByType('resource');\n }\n const resource = getResource(parseUrl(spanUrl).href, startTime, endTime, resources, this._usedResources);\n if (resource.mainRequest) {\n const mainRequest = resource.mainRequest;\n this._markResourceAsUsed(mainRequest);\n const corsPreFlightRequest = resource.corsPreFlightRequest;\n if (corsPreFlightRequest) {\n this._addChildSpan(span, corsPreFlightRequest);\n this._markResourceAsUsed(corsPreFlightRequest);\n }\n addSpanNetworkEvents(span, mainRequest, this.getConfig().ignoreNetworkEvents, undefined, true);\n }\n }\n /**\n * Removes the previous information about span.\n * This might happened when the same xhr is used again.\n * @param xhr\n * @private\n */\n _cleanPreviousSpanInformation(xhr) {\n const xhrMem = this._xhrMem.get(xhr);\n if (xhrMem) {\n const callbackToRemoveEvents = xhrMem.callbackToRemoveEvents;\n if (callbackToRemoveEvents) {\n callbackToRemoveEvents();\n }\n this._xhrMem.delete(xhr);\n }\n }\n /**\n * Creates a new span when method \"open\" is called\n * @param xhr\n * @param url\n * @param method\n * @private\n */\n _createSpan(xhr, url, method) {\n const parsedUrl = parseUrl(url);\n if (isUrlIgnored(parsedUrl.href, this.getConfig().ignoreUrls)) {\n this._diag.debug('ignoring span as url matches ignored url');\n return;\n }\n const attributes = {};\n const origMethod = method;\n const normMethod = normalizeHttpRequestMethod(method);\n const name = normMethod;\n attributes[ATTR_HTTP_REQUEST_METHOD] = normMethod;\n if (normMethod !== origMethod) {\n attributes[ATTR_HTTP_REQUEST_METHOD_ORIGINAL] = origMethod;\n }\n attributes[ATTR_URL_FULL] = parsedUrl.toString();\n attributes[ATTR_SERVER_ADDRESS] = parsedUrl.hostname;\n const serverPort = serverPortFromUrl(parsedUrl);\n if (serverPort) {\n attributes[ATTR_SERVER_PORT] = serverPort;\n }\n const currentSpan = this.tracer.startSpan(name, {\n kind: api.SpanKind.CLIENT,\n attributes,\n });\n currentSpan.addEvent(EventNames.METHOD_OPEN);\n this._cleanPreviousSpanInformation(xhr);\n this._xhrMem.set(xhr, {\n span: currentSpan,\n spanUrl: url,\n });\n return currentSpan;\n }\n /**\n * Marks certain [resource]{@link PerformanceResourceTiming} when information\n * from this is used to add events to span.\n * This is done to avoid reusing the same resource again for next span\n * @param resource\n * @private\n */\n _markResourceAsUsed(resource) {\n this._usedResources.add(resource);\n }\n /**\n * Patches the method open\n * @private\n */\n _patchOpen() {\n return (original) => {\n const plugin = this;\n return function patchOpen(...args) {\n if (!plugin._isEnabled) {\n return original.apply(this, args);\n }\n const method = args[0];\n const url = args[1];\n plugin._createSpan(this, url, method);\n return original.apply(this, args);\n };\n };\n }\n /**\n * Patches the method send\n * @private\n */\n _patchSend() {\n const plugin = this;\n function endSpanTimeout(eventName, xhrMem, performanceEndTime, endTime) {\n const callbackToRemoveEvents = xhrMem.callbackToRemoveEvents;\n if (typeof callbackToRemoveEvents === 'function') {\n callbackToRemoveEvents();\n }\n const { span, spanUrl, sendStartTime } = xhrMem;\n if (span) {\n plugin._findResourceAndAddNetworkEvents(xhrMem, span, spanUrl, sendStartTime, performanceEndTime);\n span.addEvent(eventName, endTime);\n plugin._addFinalSpanAttributes(span, xhrMem);\n span.end(endTime);\n plugin._tasksCount--;\n }\n plugin._clearResources();\n }\n function endSpan(eventName, xhr, isError, errorType) {\n const xhrMem = plugin._xhrMem.get(xhr);\n if (!xhrMem) {\n return;\n }\n xhrMem.status = xhr.status;\n xhrMem.statusText = xhr.statusText;\n plugin._xhrMem.delete(xhr);\n if (xhrMem.span) {\n const span = xhrMem.span;\n plugin._applyAttributesAfterXHR(span, xhr);\n if (isError) {\n if (errorType) {\n span.setStatus({\n code: api.SpanStatusCode.ERROR,\n message: errorType,\n });\n span.setAttribute(ATTR_ERROR_TYPE, errorType);\n }\n }\n else if (xhrMem.status && xhrMem.status >= 400) {\n span.setStatus({ code: api.SpanStatusCode.ERROR });\n span.setAttribute(ATTR_ERROR_TYPE, String(xhrMem.status));\n }\n }\n const performanceEndTime = hrTime();\n const endTime = Date.now();\n // the timeout is needed as observer doesn't have yet information\n // when event \"load\" is called. Also the time may differ depends on\n // browser and speed of computer\n setTimeout(() => {\n endSpanTimeout(eventName, xhrMem, performanceEndTime, endTime);\n }, OBSERVER_WAIT_TIME_MS);\n }\n function onError() {\n endSpan(EventNames.EVENT_ERROR, this, true, 'error');\n }\n function onAbort() {\n endSpan(EventNames.EVENT_ABORT, this, false);\n }\n function onTimeout() {\n endSpan(EventNames.EVENT_TIMEOUT, this, true, 'timeout');\n }\n function onLoad() {\n if (this.status < 299) {\n endSpan(EventNames.EVENT_LOAD, this, false);\n }\n else {\n endSpan(EventNames.EVENT_ERROR, this, false);\n }\n }\n function unregister(xhr) {\n xhr.removeEventListener('abort', onAbort);\n xhr.removeEventListener('error', onError);\n xhr.removeEventListener('load', onLoad);\n xhr.removeEventListener('timeout', onTimeout);\n const xhrMem = plugin._xhrMem.get(xhr);\n if (xhrMem) {\n xhrMem.callbackToRemoveEvents = undefined;\n }\n }\n return (original) => {\n return function patchSend(...args) {\n if (!plugin._isEnabled) {\n return original.apply(this, args);\n }\n const xhrMem = plugin._xhrMem.get(this);\n if (!xhrMem) {\n return original.apply(this, args);\n }\n const currentSpan = xhrMem.span;\n const spanUrl = xhrMem.spanUrl;\n if (currentSpan && spanUrl) {\n if (plugin.getConfig().measureRequestSize && args?.[0]) {\n const body = args[0];\n const bodyLength = getXHRBodyLength(body);\n if (bodyLength !== undefined) {\n currentSpan.setAttribute(ATTR_HTTP_REQUEST_BODY_SIZE, bodyLength);\n }\n }\n api.context.with(api.trace.setSpan(api.context.active(), currentSpan), () => {\n plugin._tasksCount++;\n xhrMem.sendStartTime = hrTime();\n currentSpan.addEvent(EventNames.METHOD_SEND);\n this.addEventListener('abort', onAbort);\n this.addEventListener('error', onError);\n this.addEventListener('load', onLoad);\n this.addEventListener('timeout', onTimeout);\n xhrMem.callbackToRemoveEvents = () => {\n unregister(this);\n if (xhrMem.createdResources) {\n xhrMem.createdResources.observer.disconnect();\n }\n };\n plugin._addHeaders(this, spanUrl);\n plugin._addResourceObserver(this, spanUrl);\n });\n }\n return original.apply(this, args);\n };\n };\n }\n /**\n * implements enable function\n */\n enable() {\n if (this._isEnabled) {\n return;\n }\n if (this._isXhrPatched) {\n this._diag.debug('reactivating existing patch on', this.moduleName, this.version);\n this._isEnabled = true;\n return;\n }\n try {\n this._diag.debug('applying patch to', this.moduleName, this.version);\n this._wrap(XMLHttpRequest.prototype, 'open', this._patchOpen());\n this._wrap(XMLHttpRequest.prototype, 'send', this._patchSend());\n this._isXhrPatched = true;\n this._isEnabled = true;\n }\n catch (err) {\n // make sure there is no wrapped functions\n this._unwrap(XMLHttpRequest.prototype, 'open');\n this._unwrap(XMLHttpRequest.prototype, 'send');\n this._diag.warn('Failed to patch globalThis.XMLHttpRequest; instrumentation will not be enabled. ' +\n 'Another script may have locked globalThis.XMLHttpRequest via Object.defineProperty.', err);\n }\n }\n /**\n * implements disable function\n */\n disable() {\n if (!this._isEnabled) {\n return;\n }\n this._isEnabled = false;\n this._tasksCount = 0;\n this._xhrMem = new WeakMap();\n this._usedResources = new WeakSet();\n }\n}\n//# sourceMappingURL=xhr.js.map","import { ProxyTracerProvider, trace } from '@opentelemetry/api';\nimport { ZoneContextManager } from '@opentelemetry/context-zone';\nimport { W3CTraceContextPropagator } from '@opentelemetry/core';\nimport { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';\nimport { DocumentLoadInstrumentation } from '@opentelemetry/instrumentation-document-load';\nimport { FetchInstrumentation } from '@opentelemetry/instrumentation-fetch';\nimport { XMLHttpRequestInstrumentation } from '@opentelemetry/instrumentation-xml-http-request';\nimport { resourceFromAttributes } from '@opentelemetry/resources';\nimport { BatchSpanProcessor, WebTracerProvider } from '@opentelemetry/sdk-trace-web';\n/**\n * Tags browser spans with the current app route without coupling tracing to app initialization.\n * @param span - Document or HTTP span being created by browser instrumentation.\n */\nfunction annotateSpan(span) {\n const appKey = window.location.pathname.match(/^\\/apps\\/([^/]+)/)?.[1];\n span.setAttribute('source', appKey ? 'app' : 'framework');\n // Framework requests outside an app route must not acquire a misleading app identity.\n if (appKey) {\n span.setAttribute('fusion.app.key', decodeURIComponent(appKey));\n }\n}\n/**\n * Connects browser requests and logs to backend traces during development.\n *\n * Uses standard fetch/XHR instrumentation, W3C traceparent/tracestate propagation and\n * a zone context manager to preserve active spans across callbacks and promise chains.\n * Document-load instrumentation continues a server trace supplied in a traceparent meta tag.\n * Existing global tracing providers are never overwritten.\n *\n * @param endpoint - Absolute same-origin dev-server OTLP traces route.\n * @returns The installed provider, or undefined when tracing was already configured.\n * @example\n * ```ts\n * enableDevServerTracing('http://localhost:3000/@fusion-telemetry/v1/traces');\n * ```\n */\nexport function enableDevServerTracing(endpoint) {\n const existing = trace.getTracerProvider();\n // Application-owned global tracing must remain authoritative.\n if (!(existing instanceof ProxyTracerProvider) ||\n existing.getDelegateTracer('fusion.dev-server')) {\n return undefined;\n }\n const provider = new WebTracerProvider({\n resource: resourceFromAttributes({ 'service.name': 'fusion.dev-server' }),\n spanProcessors: [\n // Page-load bursts should share requests rather than exhaust exporter concurrency.\n new BatchSpanProcessor(new OTLPTraceExporter({ url: endpoint, timeoutMillis: 5_000 }), {\n scheduledDelayMillis: 1_000,\n maxExportBatchSize: 128,\n maxQueueSize: 2_048,\n }),\n ],\n });\n provider.register({\n contextManager: new ZoneContextManager(),\n propagator: new W3CTraceContextPropagator(),\n });\n const ignoreUrls = [\n /\\/@fusion-telemetry\\//,\n /\\/@vite\\//,\n /\\/@id\\//,\n /\\/@fs\\//,\n /\\/node_modules\\//,\n ];\n const fetchInstrumentation = new FetchInstrumentation({\n enabled: false,\n ignoreUrls,\n requestHook: annotateSpan,\n });\n const xhrInstrumentation = new XMLHttpRequestInstrumentation({\n enabled: false,\n ignoreUrls,\n applyCustomAttributesOnSpan: annotateSpan,\n });\n const documentInstrumentation = new DocumentLoadInstrumentation({\n enabled: false,\n applyCustomAttributesOnSpan: {\n documentLoad: annotateSpan,\n documentFetch: annotateSpan,\n },\n });\n // Bind instruments before enabling so startup requests use this provider immediately.\n for (const instrumentation of [\n fetchInstrumentation,\n xhrInstrumentation,\n documentInstrumentation,\n ]) {\n instrumentation.setTracerProvider(provider);\n instrumentation.enable();\n }\n return provider;\n}\n//# sourceMappingURL=enable-dev-server-tracing.js.map"],"names":["SamplingDecision","API_NAME","diag","VERSION","context","api.context","api.trace","api.diag","api.INVALID_SPAN_CONTEXT","api.SpanKind","api.SamplingDecision","api.TraceFlags","BatchSpanProcessNoEnvConfig","PTN","shimmer.wrap","shimmer.unwrap","shimmer.massWrap","shimmer.massUnwrap","EventNames","ATTR_HTTP_REQUEST_BODY_SIZE","DIAG_LOGGER","getXHRBodyLength","getByteLength","isDocument","getFormDataSize","TEXT_ENCODER","normalizeHttpRequestMethod","getKnownMethods","DEFAULT_KNOWN_METHODS","knownMethods","HTTP_PORT_FROM_PROTOCOL","serverPortFromUrl","OBSERVER_WAIT_TIME_MS","web.PerformanceTimingNames","web.addSpanNetworkEvents","web.parseUrl","web.shouldPropagateTraceHeaders","core.isUrlIgnored","web.getResource","core.millisToHrTime","core.hrTime","ATTR_ERROR_TYPE","api.propagation","api.SpanStatusCode"],"mappings":"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O,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;AAC1E,IAAI;AACJ;;ACrZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAI,gBAAgB;AAC3B,CAAC,UAAU,gBAAgB,EAAE;AAC7B;AACA;AACA;AACA;AACA,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY;AACvE;AACA;AACA;AACA;AACA,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ;AAC/D;AACA;AACA;AACA;AACA,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,oBAAoB;AACvF,CAAC,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,EAAE,CAAC,CAAC;;ACzB/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,wBAAwB,GAAG,qBAAqB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,wBAAwB,GAAG,qBAAqB;AAC7D;AACA;AACA;AACA;AACA;AACO,MAAM,4BAA4B,GAAG,yBAAyB;AACrE;AACA;AACA;AACA;AACA;AACO,MAAM,8BAA8B,GAAG,2BAA2B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,wCAAwC,GAAG,mCAAmC;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,6CAA6C,GAAG,wCAAwC;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,yCAAyC,GAAG,oCAAoC;AAC7F;AACA;AACA;AACA;AACA;AACO,MAAM,yBAAyB,GAAG,oBAAoB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,4BAA4B,GAAG,uBAAuB;AACnE;AACA;AACA;AACA;AACA;AAC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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84]}
|