{"version":3,"file":"poTelemetry-DnA4_tW6.mjs","names":["API_NAME","diag","API_NAME","API_NAME","API_NAME"],"sources":["../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/version.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/internal/semver.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/internal/global-utils.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/diag/types.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/api/diag.js","../../../../../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/context/context.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/diag/consoleLogger.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeter.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/metrics/Metric.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/context/NoopContextManager.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/api/context.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/context-utils.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.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/trace/internal/tracestate-validators.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/internal/tracestate-impl.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace/internal/utils.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/context-api.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/diag-api.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+api@1.9.1/node_modules/@opentelemetry/api/build/esm/api/trace.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace-api.js","../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/index.js","../../../../core/po-core/dist/src/services/telemetry/index.mjs","../../../../core/po-core/dist/src/services/poTelemetry/index.mjs"],"sourcesContent":["/*\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 = '1.9.1';\n//# sourceMappingURL=version.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { VERSION } from '../version';\nconst re = /^(\\d+)\\.(\\d+)\\.(\\d+)(-(.+))?$/;\n/**\n * Create a function to test an API version to see if it is compatible with the provided ownVersion.\n *\n * The returned function has the following semantics:\n * - Exact match is always compatible\n * - Major versions must match exactly\n *    - 1.x package cannot use global 2.x package\n *    - 2.x package cannot use global 1.x package\n * - The minor version of the API module requesting access to the global API must be less than or equal to the minor version of this API\n *    - 1.3 package may use 1.4 global because the later global contains all functions 1.3 expects\n *    - 1.4 package may NOT use 1.3 global because it may try to call functions which don't exist on 1.3\n * - If the major version is 0, the minor version is treated as the major and the patch is treated as the minor\n * - Patch and build tag differences are not considered at this time\n *\n * @param ownVersion version which should be checked against\n */\nexport function _makeCompatibilityCheck(ownVersion) {\n    const acceptedVersions = new Set([ownVersion]);\n    const rejectedVersions = new Set();\n    const myVersionMatch = ownVersion.match(re);\n    if (!myVersionMatch) {\n        // we cannot guarantee compatibility so we always return noop\n        return () => false;\n    }\n    const ownVersionParsed = {\n        major: +myVersionMatch[1],\n        minor: +myVersionMatch[2],\n        patch: +myVersionMatch[3],\n        prerelease: myVersionMatch[4],\n    };\n    // if ownVersion has a prerelease tag, versions must match exactly\n    if (ownVersionParsed.prerelease != null) {\n        return function isExactmatch(globalVersion) {\n            return globalVersion === ownVersion;\n        };\n    }\n    function _reject(v) {\n        rejectedVersions.add(v);\n        return false;\n    }\n    function _accept(v) {\n        acceptedVersions.add(v);\n        return true;\n    }\n    return function isCompatible(globalVersion) {\n        if (acceptedVersions.has(globalVersion)) {\n            return true;\n        }\n        if (rejectedVersions.has(globalVersion)) {\n            return false;\n        }\n        const globalVersionMatch = globalVersion.match(re);\n        if (!globalVersionMatch) {\n            // cannot parse other version\n            // we cannot guarantee compatibility so we always noop\n            return _reject(globalVersion);\n        }\n        const globalVersionParsed = {\n            major: +globalVersionMatch[1],\n            minor: +globalVersionMatch[2],\n            patch: +globalVersionMatch[3],\n            prerelease: globalVersionMatch[4],\n        };\n        // if globalVersion has a prerelease tag, versions must match exactly\n        if (globalVersionParsed.prerelease != null) {\n            return _reject(globalVersion);\n        }\n        // major versions must match\n        if (ownVersionParsed.major !== globalVersionParsed.major) {\n            return _reject(globalVersion);\n        }\n        if (ownVersionParsed.major === 0) {\n            if (ownVersionParsed.minor === globalVersionParsed.minor &&\n                ownVersionParsed.patch <= globalVersionParsed.patch) {\n                return _accept(globalVersion);\n            }\n            return _reject(globalVersion);\n        }\n        if (ownVersionParsed.minor <= globalVersionParsed.minor) {\n            return _accept(globalVersion);\n        }\n        return _reject(globalVersion);\n    };\n}\n/**\n * Test an API version to see if it is compatible with this API.\n *\n * - Exact match is always compatible\n * - Major versions must match exactly\n *    - 1.x package cannot use global 2.x package\n *    - 2.x package cannot use global 1.x package\n * - The minor version of the API module requesting access to the global API must be less than or equal to the minor version of this API\n *    - 1.3 package may use 1.4 global because the later global contains all functions 1.3 expects\n *    - 1.4 package may NOT use 1.3 global because it may try to call functions which don't exist on 1.3\n * - If the major version is 0, the minor version is treated as the major and the patch is treated as the minor\n * - Patch and build tag differences are not considered at this time\n *\n * @param version version of the API requesting an instance of the global API\n */\nexport const isCompatible = _makeCompatibilityCheck(VERSION);\n//# sourceMappingURL=semver.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { VERSION } from '../version';\nimport { isCompatible } from './semver';\nconst major = VERSION.split('.')[0];\nconst GLOBAL_OPENTELEMETRY_API_KEY = Symbol.for(`opentelemetry.js.api.${major}`);\nconst _global = (typeof globalThis === 'object'\n    ? globalThis\n    : typeof self === 'object'\n        ? self\n        : typeof window === 'object'\n            ? window\n            : typeof global === 'object'\n                ? global\n                : {});\nexport function registerGlobal(type, instance, diag, allowOverride = false) {\n    var _a;\n    const api = (_global[GLOBAL_OPENTELEMETRY_API_KEY] = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) !== null && _a !== void 0 ? _a : {\n        version: VERSION,\n    });\n    if (!allowOverride && api[type]) {\n        // already registered an API of this type\n        const err = new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${type}`);\n        diag.error(err.stack || err.message);\n        return false;\n    }\n    if (api.version !== VERSION) {\n        // All registered APIs must be of the same version exactly\n        const err = new Error(`@opentelemetry/api: Registration of version v${api.version} for ${type} does not match previously registered API v${VERSION}`);\n        diag.error(err.stack || err.message);\n        return false;\n    }\n    api[type] = instance;\n    diag.debug(`@opentelemetry/api: Registered a global for ${type} v${VERSION}.`);\n    return true;\n}\nexport function getGlobal(type) {\n    var _a, _b;\n    const globalVersion = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a === void 0 ? void 0 : _a.version;\n    if (!globalVersion || !isCompatible(globalVersion)) {\n        return;\n    }\n    return (_b = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b === void 0 ? void 0 : _b[type];\n}\nexport function unregisterGlobal(type, diag) {\n    diag.debug(`@opentelemetry/api: Unregistering a global for ${type} v${VERSION}.`);\n    const api = _global[GLOBAL_OPENTELEMETRY_API_KEY];\n    if (api) {\n        delete api[type];\n    }\n}\n//# sourceMappingURL=global-utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { getGlobal } from '../internal/global-utils';\n/**\n * Component Logger which is meant to be used as part of any component which\n * will add automatically additional namespace in front of the log message.\n * It will then forward all message to global diag logger\n * @example\n * const cLogger = diag.createComponentLogger({ namespace: '@opentelemetry/instrumentation-http' });\n * cLogger.debug('test');\n * // @opentelemetry/instrumentation-http test\n */\nexport class DiagComponentLogger {\n    constructor(props) {\n        this._namespace = props.namespace || 'DiagComponentLogger';\n    }\n    debug(...args) {\n        return logProxy('debug', this._namespace, args);\n    }\n    error(...args) {\n        return logProxy('error', this._namespace, args);\n    }\n    info(...args) {\n        return logProxy('info', this._namespace, args);\n    }\n    warn(...args) {\n        return logProxy('warn', this._namespace, args);\n    }\n    verbose(...args) {\n        return logProxy('verbose', this._namespace, args);\n    }\n}\nfunction logProxy(funcName, namespace, args) {\n    const logger = getGlobal('diag');\n    // shortcut if logger not set\n    if (!logger) {\n        return;\n    }\n    return logger[funcName](namespace, ...args);\n}\n//# sourceMappingURL=ComponentLogger.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Defines the available internal logging levels for the diagnostic logger, the numeric values\n * of the levels are defined to match the original values from the initial LogLevel to avoid\n * compatibility/migration issues for any implementation that assume the numeric ordering.\n */\nexport var DiagLogLevel;\n(function (DiagLogLevel) {\n    /** Diagnostic Logging level setting to disable all logging (except and forced logs) */\n    DiagLogLevel[DiagLogLevel[\"NONE\"] = 0] = \"NONE\";\n    /** Identifies an error scenario */\n    DiagLogLevel[DiagLogLevel[\"ERROR\"] = 30] = \"ERROR\";\n    /** Identifies a warning scenario */\n    DiagLogLevel[DiagLogLevel[\"WARN\"] = 50] = \"WARN\";\n    /** General informational log message */\n    DiagLogLevel[DiagLogLevel[\"INFO\"] = 60] = \"INFO\";\n    /** General debug log message */\n    DiagLogLevel[DiagLogLevel[\"DEBUG\"] = 70] = \"DEBUG\";\n    /**\n     * Detailed trace level logging should only be used for development, should only be set\n     * in a development environment.\n     */\n    DiagLogLevel[DiagLogLevel[\"VERBOSE\"] = 80] = \"VERBOSE\";\n    /** Used to set the logging level to include all logging */\n    DiagLogLevel[DiagLogLevel[\"ALL\"] = 9999] = \"ALL\";\n})(DiagLogLevel || (DiagLogLevel = {}));\n//# sourceMappingURL=types.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { DiagLogLevel } from '../types';\nexport function createLogLevelDiagLogger(maxLevel, logger) {\n    if (maxLevel < DiagLogLevel.NONE) {\n        maxLevel = DiagLogLevel.NONE;\n    }\n    else if (maxLevel > DiagLogLevel.ALL) {\n        maxLevel = DiagLogLevel.ALL;\n    }\n    // In case the logger is null or undefined\n    logger = logger || {};\n    function _filterFunc(funcName, theLevel) {\n        const theFunc = logger[funcName];\n        if (typeof theFunc === 'function' && maxLevel >= theLevel) {\n            return theFunc.bind(logger);\n        }\n        return function () { };\n    }\n    return {\n        error: _filterFunc('error', DiagLogLevel.ERROR),\n        warn: _filterFunc('warn', DiagLogLevel.WARN),\n        info: _filterFunc('info', DiagLogLevel.INFO),\n        debug: _filterFunc('debug', DiagLogLevel.DEBUG),\n        verbose: _filterFunc('verbose', DiagLogLevel.VERBOSE),\n    };\n}\n//# sourceMappingURL=logLevelLogger.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { DiagComponentLogger } from '../diag/ComponentLogger';\nimport { createLogLevelDiagLogger } from '../diag/internal/logLevelLogger';\nimport { DiagLogLevel } from '../diag/types';\nimport { getGlobal, registerGlobal, unregisterGlobal, } from '../internal/global-utils';\nconst API_NAME = 'diag';\n/**\n * Singleton object which represents the entry point to the OpenTelemetry internal\n * diagnostic API\n *\n * @since 1.0.0\n */\nexport class DiagAPI {\n    /** Get the singleton instance of the DiagAPI API */\n    static instance() {\n        if (!this._instance) {\n            this._instance = new DiagAPI();\n        }\n        return this._instance;\n    }\n    /**\n     * Private internal constructor\n     * @private\n     */\n    constructor() {\n        function _logProxy(funcName) {\n            return function (...args) {\n                const logger = getGlobal('diag');\n                // shortcut if logger not set\n                if (!logger)\n                    return;\n                return logger[funcName](...args);\n            };\n        }\n        // Using self local variable for minification purposes as 'this' cannot be minified\n        const self = this;\n        // DiagAPI specific functions\n        const setLogger = (logger, optionsOrLogLevel = { logLevel: DiagLogLevel.INFO }) => {\n            var _a, _b, _c;\n            if (logger === self) {\n                // There isn't much we can do here.\n                // Logging to the console might break the user application.\n                // Try to log to self. If a logger was previously registered it will receive the log.\n                const err = new Error('Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation');\n                self.error((_a = err.stack) !== null && _a !== void 0 ? _a : err.message);\n                return false;\n            }\n            if (typeof optionsOrLogLevel === 'number') {\n                optionsOrLogLevel = {\n                    logLevel: optionsOrLogLevel,\n                };\n            }\n            const oldLogger = getGlobal('diag');\n            const newLogger = createLogLevelDiagLogger((_b = optionsOrLogLevel.logLevel) !== null && _b !== void 0 ? _b : DiagLogLevel.INFO, logger);\n            // There already is an logger registered. We'll let it know before overwriting it.\n            if (oldLogger && !optionsOrLogLevel.suppressOverrideMessage) {\n                const stack = (_c = new Error().stack) !== null && _c !== void 0 ? _c : '<failed to generate stacktrace>';\n                oldLogger.warn(`Current logger will be overwritten from ${stack}`);\n                newLogger.warn(`Current logger will overwrite one already registered from ${stack}`);\n            }\n            return registerGlobal('diag', newLogger, self, true);\n        };\n        self.setLogger = setLogger;\n        self.disable = () => {\n            unregisterGlobal(API_NAME, self);\n        };\n        self.createComponentLogger = (options) => {\n            return new DiagComponentLogger(options);\n        };\n        self.verbose = _logProxy('verbose');\n        self.debug = _logProxy('debug');\n        self.info = _logProxy('info');\n        self.warn = _logProxy('warn');\n        self.error = _logProxy('error');\n    }\n}\n//# sourceMappingURL=diag.js.map","/*\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 * Get a key to uniquely identify a context value\n *\n * @since 1.0.0\n */\nexport function createContextKey(description) {\n    // The specification states that for the same input, multiple calls should\n    // return different keys. Due to the nature of the JS dependency management\n    // system, this creates problems where multiple versions of some package\n    // could hold different keys for the same property.\n    //\n    // Therefore, we use Symbol.for which returns the same key for the same input.\n    return Symbol.for(description);\n}\nclass BaseContext {\n    /**\n     * Construct a new context which inherits values from an optional parent context.\n     *\n     * @param parentContext a context from which to inherit values\n     */\n    constructor(parentContext) {\n        // for minification\n        const self = this;\n        self._currentContext = parentContext ? new Map(parentContext) : new Map();\n        self.getValue = (key) => self._currentContext.get(key);\n        self.setValue = (key, value) => {\n            const context = new BaseContext(self._currentContext);\n            context._currentContext.set(key, value);\n            return context;\n        };\n        self.deleteValue = (key) => {\n            const context = new BaseContext(self._currentContext);\n            context._currentContext.delete(key);\n            return context;\n        };\n    }\n}\n/**\n * The root context is used as the default parent context when there is no active context\n *\n * @since 1.0.0\n */\nexport const ROOT_CONTEXT = new BaseContext();\n//# sourceMappingURL=context.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nconst consoleMap = [\n    { n: 'error', c: 'error' },\n    { n: 'warn', c: 'warn' },\n    { n: 'info', c: 'info' },\n    { n: 'debug', c: 'debug' },\n    { n: 'verbose', c: 'trace' },\n];\n// Save original console methods at module load time, before any instrumentation\n// can wrap them. This ensures DiagConsoleLogger calls the unwrapped originals.\n// Exported for testing only — not part of the public API.\nexport const _originalConsoleMethods = {};\nif (typeof console !== 'undefined') {\n    const keys = [\n        'error',\n        'warn',\n        'info',\n        'debug',\n        'trace',\n        'log',\n    ];\n    for (const key of keys) {\n        // eslint-disable-next-line no-console\n        if (typeof console[key] === 'function') {\n            // eslint-disable-next-line no-console\n            _originalConsoleMethods[key] = console[key];\n        }\n    }\n}\n/**\n * A simple Immutable Console based diagnostic logger which will output any messages to the Console.\n * If you want to limit the amount of logging to a specific level or lower use the\n * {@link createLogLevelDiagLogger}\n *\n * @since 1.0.0\n */\nexport class DiagConsoleLogger {\n    constructor() {\n        function _consoleFunc(funcName) {\n            return function (...args) {\n                // Prefer original (pre-instrumentation) methods saved at module load time.\n                let theFunc = _originalConsoleMethods[funcName];\n                // Some environments only expose the console when the F12 developer console is open\n                if (typeof theFunc !== 'function') {\n                    theFunc = _originalConsoleMethods['log'];\n                }\n                // Fall back in case console was not available at module load time but became available later.\n                if (typeof theFunc !== 'function' && console) {\n                    // eslint-disable-next-line no-console\n                    theFunc = console[funcName];\n                    if (typeof theFunc !== 'function') {\n                        // eslint-disable-next-line no-console\n                        theFunc = console.log;\n                    }\n                }\n                if (typeof theFunc === 'function') {\n                    return theFunc.apply(console, args);\n                }\n            };\n        }\n        for (let i = 0; i < consoleMap.length; i++) {\n            this[consoleMap[i].n] = _consoleFunc(consoleMap[i].c);\n        }\n    }\n}\n//# sourceMappingURL=consoleLogger.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * NoopMeter is a noop implementation of the {@link Meter} interface. It reuses\n * constant NoopMetrics for all of its methods.\n */\nexport class NoopMeter {\n    constructor() { }\n    /**\n     * @see {@link Meter.createGauge}\n     */\n    createGauge(_name, _options) {\n        return NOOP_GAUGE_METRIC;\n    }\n    /**\n     * @see {@link Meter.createHistogram}\n     */\n    createHistogram(_name, _options) {\n        return NOOP_HISTOGRAM_METRIC;\n    }\n    /**\n     * @see {@link Meter.createCounter}\n     */\n    createCounter(_name, _options) {\n        return NOOP_COUNTER_METRIC;\n    }\n    /**\n     * @see {@link Meter.createUpDownCounter}\n     */\n    createUpDownCounter(_name, _options) {\n        return NOOP_UP_DOWN_COUNTER_METRIC;\n    }\n    /**\n     * @see {@link Meter.createObservableGauge}\n     */\n    createObservableGauge(_name, _options) {\n        return NOOP_OBSERVABLE_GAUGE_METRIC;\n    }\n    /**\n     * @see {@link Meter.createObservableCounter}\n     */\n    createObservableCounter(_name, _options) {\n        return NOOP_OBSERVABLE_COUNTER_METRIC;\n    }\n    /**\n     * @see {@link Meter.createObservableUpDownCounter}\n     */\n    createObservableUpDownCounter(_name, _options) {\n        return NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC;\n    }\n    /**\n     * @see {@link Meter.addBatchObservableCallback}\n     */\n    addBatchObservableCallback(_callback, _observables) { }\n    /**\n     * @see {@link Meter.removeBatchObservableCallback}\n     */\n    removeBatchObservableCallback(_callback) { }\n}\nexport class NoopMetric {\n}\nexport class NoopCounterMetric extends NoopMetric {\n    add(_value, _attributes) { }\n}\nexport class NoopUpDownCounterMetric extends NoopMetric {\n    add(_value, _attributes) { }\n}\nexport class NoopGaugeMetric extends NoopMetric {\n    record(_value, _attributes) { }\n}\nexport class NoopHistogramMetric extends NoopMetric {\n    record(_value, _attributes) { }\n}\nexport class NoopObservableMetric {\n    addCallback(_callback) { }\n    removeCallback(_callback) { }\n}\nexport class NoopObservableCounterMetric extends NoopObservableMetric {\n}\nexport class NoopObservableGaugeMetric extends NoopObservableMetric {\n}\nexport class NoopObservableUpDownCounterMetric extends NoopObservableMetric {\n}\nexport const NOOP_METER = new NoopMeter();\n// Synchronous instruments\nexport const NOOP_COUNTER_METRIC = new NoopCounterMetric();\nexport const NOOP_GAUGE_METRIC = new NoopGaugeMetric();\nexport const NOOP_HISTOGRAM_METRIC = new NoopHistogramMetric();\nexport const NOOP_UP_DOWN_COUNTER_METRIC = new NoopUpDownCounterMetric();\n// Asynchronous instruments\nexport const NOOP_OBSERVABLE_COUNTER_METRIC = new NoopObservableCounterMetric();\nexport const NOOP_OBSERVABLE_GAUGE_METRIC = new NoopObservableGaugeMetric();\nexport const NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = new NoopObservableUpDownCounterMetric();\n/**\n * Create a no-op Meter\n *\n * @since 1.3.0\n */\nexport function createNoopMeter() {\n    return NOOP_METER;\n}\n//# sourceMappingURL=NoopMeter.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * The Type of value. It describes how the data is reported.\n *\n * @since 1.3.0\n */\nexport var ValueType;\n(function (ValueType) {\n    ValueType[ValueType[\"INT\"] = 0] = \"INT\";\n    ValueType[ValueType[\"DOUBLE\"] = 1] = \"DOUBLE\";\n})(ValueType || (ValueType = {}));\n//# sourceMappingURL=Metric.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 */\nimport { ROOT_CONTEXT } from './context';\nexport class NoopContextManager {\n    active() {\n        return ROOT_CONTEXT;\n    }\n    with(_context, fn, thisArg, ...args) {\n        return fn.call(thisArg, ...args);\n    }\n    bind(_context, target) {\n        return target;\n    }\n    enable() {\n        return this;\n    }\n    disable() {\n        return this;\n    }\n}\n//# sourceMappingURL=NoopContextManager.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { NoopContextManager } from '../context/NoopContextManager';\nimport { getGlobal, registerGlobal, unregisterGlobal, } from '../internal/global-utils';\nimport { DiagAPI } from './diag';\nconst API_NAME = 'context';\nconst NOOP_CONTEXT_MANAGER = new NoopContextManager();\n/**\n * Singleton object which represents the entry point to the OpenTelemetry Context API\n *\n * @since 1.0.0\n */\nexport class ContextAPI {\n    /** Empty private constructor prevents end users from constructing a new instance of the API */\n    constructor() { }\n    /** Get the singleton instance of the Context API */\n    static getInstance() {\n        if (!this._instance) {\n            this._instance = new ContextAPI();\n        }\n        return this._instance;\n    }\n    /**\n     * Set the current context manager.\n     *\n     * @returns true if the context manager was successfully registered, else false\n     */\n    setGlobalContextManager(contextManager) {\n        return registerGlobal(API_NAME, contextManager, DiagAPI.instance());\n    }\n    /**\n     * Get the currently active context\n     */\n    active() {\n        return this._getContextManager().active();\n    }\n    /**\n     * Execute a function with an active context\n     *\n     * @param context context to be active during function execution\n     * @param fn function to execute in a context\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        return this._getContextManager().with(context, fn, thisArg, ...args);\n    }\n    /**\n     * Bind a context to a target function or event emitter\n     *\n     * @param context context to bind to the event emitter or function. Defaults to the currently active context\n     * @param target function or event emitter to bind\n     */\n    bind(context, target) {\n        return this._getContextManager().bind(context, target);\n    }\n    _getContextManager() {\n        return getGlobal(API_NAME) || NOOP_CONTEXT_MANAGER;\n    }\n    /** Disable and remove the global context manager */\n    disable() {\n        this._getContextManager().disable();\n        unregisterGlobal(API_NAME, DiagAPI.instance());\n    }\n}\n//# sourceMappingURL=context.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @since 1.0.0\n */\nexport var TraceFlags;\n(function (TraceFlags) {\n    /** Represents no flag set. */\n    TraceFlags[TraceFlags[\"NONE\"] = 0] = \"NONE\";\n    /** Bit to represent whether trace is sampled in trace flags. */\n    TraceFlags[TraceFlags[\"SAMPLED\"] = 1] = \"SAMPLED\";\n})(TraceFlags || (TraceFlags = {}));\n//# sourceMappingURL=trace_flags.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { TraceFlags } from './trace_flags';\n/**\n * @since 1.0.0\n */\nexport const INVALID_SPANID = '0000000000000000';\n/**\n * @since 1.0.0\n */\nexport const INVALID_TRACEID = '00000000000000000000000000000000';\n/**\n * @since 1.0.0\n */\nexport const INVALID_SPAN_CONTEXT = {\n    traceId: INVALID_TRACEID,\n    spanId: INVALID_SPANID,\n    traceFlags: TraceFlags.NONE,\n};\n//# sourceMappingURL=invalid-span-constants.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { INVALID_SPAN_CONTEXT } from './invalid-span-constants';\n/**\n * The NonRecordingSpan is the default {@link Span} that is used when no Span\n * implementation is available. All operations are no-op including context\n * propagation.\n */\nexport class NonRecordingSpan {\n    constructor(spanContext = INVALID_SPAN_CONTEXT) {\n        this._spanContext = spanContext;\n    }\n    // Returns a SpanContext.\n    spanContext() {\n        return this._spanContext;\n    }\n    // By default does nothing\n    setAttribute(_key, _value) {\n        return this;\n    }\n    // By default does nothing\n    setAttributes(_attributes) {\n        return this;\n    }\n    // By default does nothing\n    addEvent(_name, _attributes) {\n        return this;\n    }\n    addLink(_link) {\n        return this;\n    }\n    addLinks(_links) {\n        return this;\n    }\n    // By default does nothing\n    setStatus(_status) {\n        return this;\n    }\n    // By default does nothing\n    updateName(_name) {\n        return this;\n    }\n    // By default does nothing\n    end(_endTime) { }\n    // isRecording always returns false for NonRecordingSpan.\n    isRecording() {\n        return false;\n    }\n    // By default does nothing\n    recordException(_exception, _time) { }\n}\n//# sourceMappingURL=NonRecordingSpan.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { createContextKey } from '../context/context';\nimport { NonRecordingSpan } from './NonRecordingSpan';\nimport { ContextAPI } from '../api/context';\n/**\n * span key\n */\nconst SPAN_KEY = createContextKey('OpenTelemetry Context Key SPAN');\n/**\n * Return the span if one exists\n *\n * @param context context to get span from\n */\nexport function getSpan(context) {\n    return context.getValue(SPAN_KEY) || undefined;\n}\n/**\n * Gets the span from the current context, if one exists.\n */\nexport function getActiveSpan() {\n    return getSpan(ContextAPI.getInstance().active());\n}\n/**\n * Set the span on a context\n *\n * @param context context to use as parent\n * @param span span to set active\n */\nexport function setSpan(context, span) {\n    return context.setValue(SPAN_KEY, span);\n}\n/**\n * Remove current span stored in the context\n *\n * @param context context to delete span from\n */\nexport function deleteSpan(context) {\n    return context.deleteValue(SPAN_KEY);\n}\n/**\n * Wrap span context in a NoopSpan and set as span in a new\n * context\n *\n * @param context context to set active span on\n * @param spanContext span context to be wrapped\n */\nexport function setSpanContext(context, spanContext) {\n    return setSpan(context, new NonRecordingSpan(spanContext));\n}\n/**\n * Get the span context of the span if it exists.\n *\n * @param context context to get values from\n */\nexport function getSpanContext(context) {\n    var _a;\n    return (_a = getSpan(context)) === null || _a === void 0 ? void 0 : _a.spanContext();\n}\n//# sourceMappingURL=context-utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { INVALID_SPANID, INVALID_TRACEID } from './invalid-span-constants';\nimport { NonRecordingSpan } from './NonRecordingSpan';\n// Valid characters (0-9, a-f, A-F) are marked as 1.\nconst isHex = new Uint8Array([\n    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,\n    1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,\n    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,\n]);\nfunction isValidHex(id, length) {\n    // As of 1.9.0 the id was allowed to be a non-string value,\n    // even though it was not possible in the types.\n    if (typeof id !== 'string' || id.length !== length)\n        return false;\n    let r = 0;\n    for (let i = 0; i < id.length; i += 4) {\n        r +=\n            (isHex[id.charCodeAt(i)] | 0) +\n                (isHex[id.charCodeAt(i + 1)] | 0) +\n                (isHex[id.charCodeAt(i + 2)] | 0) +\n                (isHex[id.charCodeAt(i + 3)] | 0);\n    }\n    return r === length;\n}\n/**\n * @since 1.0.0\n */\nexport function isValidTraceId(traceId) {\n    return isValidHex(traceId, 32) && traceId !== INVALID_TRACEID;\n}\n/**\n * @since 1.0.0\n */\nexport function isValidSpanId(spanId) {\n    return isValidHex(spanId, 16) && spanId !== INVALID_SPANID;\n}\n/**\n * Returns true if this {@link SpanContext} is valid.\n * @return true if this {@link SpanContext} is valid.\n *\n * @since 1.0.0\n */\nexport function isSpanContextValid(spanContext) {\n    return (isValidTraceId(spanContext.traceId) && isValidSpanId(spanContext.spanId));\n}\n/**\n * Wrap the given {@link SpanContext} in a new non-recording {@link Span}\n *\n * @param spanContext span context to be wrapped\n * @returns a new non-recording {@link Span} with the provided context\n */\nexport function wrapSpanContext(spanContext) {\n    return new NonRecordingSpan(spanContext);\n}\n//# sourceMappingURL=spancontext-utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ContextAPI } from '../api/context';\nimport { getSpanContext, setSpan } from '../trace/context-utils';\nimport { NonRecordingSpan } from './NonRecordingSpan';\nimport { isSpanContextValid } from './spancontext-utils';\nconst contextApi = ContextAPI.getInstance();\n/**\n * No-op implementations of {@link Tracer}.\n */\nexport class NoopTracer {\n    // startSpan starts a noop span.\n    startSpan(name, options, context = contextApi.active()) {\n        const root = Boolean(options === null || options === void 0 ? void 0 : options.root);\n        if (root) {\n            return new NonRecordingSpan();\n        }\n        const parentFromContext = context && getSpanContext(context);\n        if (isSpanContext(parentFromContext) &&\n            isSpanContextValid(parentFromContext)) {\n            return new NonRecordingSpan(parentFromContext);\n        }\n        else {\n            return new NonRecordingSpan();\n        }\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 !== null && ctx !== void 0 ? ctx : contextApi.active();\n        const span = this.startSpan(name, opts, parentContext);\n        const contextWithSpanSet = setSpan(parentContext, span);\n        return contextApi.with(contextWithSpanSet, fn, undefined, span);\n    }\n}\nfunction isSpanContext(spanContext) {\n    return (spanContext !== null &&\n        typeof spanContext === 'object' &&\n        'spanId' in spanContext &&\n        typeof spanContext['spanId'] === 'string' &&\n        'traceId' in spanContext &&\n        typeof spanContext['traceId'] === 'string' &&\n        'traceFlags' in spanContext &&\n        typeof spanContext['traceFlags'] === 'number');\n}\n//# sourceMappingURL=NoopTracer.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { NoopTracer } from './NoopTracer';\nconst NOOP_TRACER = new NoopTracer();\n/**\n * Proxy tracer provided by the proxy tracer provider\n *\n * @since 1.0.0\n */\nexport class ProxyTracer {\n    constructor(provider, name, version, options) {\n        this._provider = provider;\n        this.name = name;\n        this.version = version;\n        this.options = options;\n    }\n    startSpan(name, options, context) {\n        return this._getTracer().startSpan(name, options, context);\n    }\n    startActiveSpan(_name, _options, _context, _fn) {\n        const tracer = this._getTracer();\n        return Reflect.apply(tracer.startActiveSpan, tracer, arguments);\n    }\n    /**\n     * Try to get a tracer from the proxy tracer provider.\n     * If the proxy tracer provider has no delegate, return a noop tracer.\n     */\n    _getTracer() {\n        if (this._delegate) {\n            return this._delegate;\n        }\n        const tracer = this._provider.getDelegateTracer(this.name, this.version, this.options);\n        if (!tracer) {\n            return NOOP_TRACER;\n        }\n        this._delegate = tracer;\n        return this._delegate;\n    }\n}\n//# sourceMappingURL=ProxyTracer.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { NoopTracer } from './NoopTracer';\n/**\n * An implementation of the {@link TracerProvider} which returns an impotent\n * Tracer for all calls to `getTracer`.\n *\n * All operations are no-op.\n */\nexport class NoopTracerProvider {\n    getTracer(_name, _version, _options) {\n        return new NoopTracer();\n    }\n}\n//# sourceMappingURL=NoopTracerProvider.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ProxyTracer } from './ProxyTracer';\nimport { NoopTracerProvider } from './NoopTracerProvider';\nconst NOOP_TRACER_PROVIDER = new NoopTracerProvider();\n/**\n * Tracer provider which provides {@link ProxyTracer}s.\n *\n * Before a delegate is set, tracers provided are NoOp.\n *   When a delegate is set, traces are provided from the delegate.\n *   When a delegate is set after tracers have already been provided,\n *   all tracers already provided will use the provided delegate implementation.\n *\n * @deprecated This will be removed in the next major version.\n * @since 1.0.0\n */\nexport class ProxyTracerProvider {\n    /**\n     * Get a {@link ProxyTracer}\n     */\n    getTracer(name, version, options) {\n        var _a;\n        return ((_a = this.getDelegateTracer(name, version, options)) !== null && _a !== void 0 ? _a : new ProxyTracer(this, name, version, options));\n    }\n    getDelegate() {\n        var _a;\n        return (_a = this._delegate) !== null && _a !== void 0 ? _a : NOOP_TRACER_PROVIDER;\n    }\n    /**\n     * Set the delegate tracer provider\n     */\n    setDelegate(delegate) {\n        this._delegate = delegate;\n    }\n    getDelegateTracer(name, version, options) {\n        var _a;\n        return (_a = this._delegate) === null || _a === void 0 ? void 0 : _a.getTracer(name, version, options);\n    }\n}\n//# sourceMappingURL=ProxyTracerProvider.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 */\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=tracestate-validators.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { validateKey, validateValue } from './tracestate-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 TraceStateImpl {\n    constructor(rawTraceState) {\n        this._internalState = new Map();\n        if (rawTraceState)\n            this._parse(rawTraceState);\n    }\n    set(key, value) {\n        // TODO: Benchmark the different approaches(map vs list) and\n        // use the faster one.\n        const traceState = this._clone();\n        if (traceState._internalState.has(key)) {\n            traceState._internalState.delete(key);\n        }\n        traceState._internalState.set(key, value);\n        return traceState;\n    }\n    unset(key) {\n        const traceState = this._clone();\n        traceState._internalState.delete(key);\n        return traceState;\n    }\n    get(key) {\n        return this._internalState.get(key);\n    }\n    serialize() {\n        return (Array.from(this._internalState.keys())\n            // Use reduceRight() because keys are stored in reverse insertion order.\n            .reduceRight((agg, key) => {\n            agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + this.get(key));\n            return agg;\n        }, [])\n            .join(LIST_MEMBERS_SEPARATOR));\n    }\n    _parse(rawTraceState) {\n        if (rawTraceState.length > MAX_TRACE_STATE_LEN)\n            return;\n        this._internalState = rawTraceState\n            .split(LIST_MEMBERS_SEPARATOR)\n            // Use reduceRight() so new keys (.set(...)) will be placed at the beginning\n            .reduceRight((agg, part) => {\n            const listMember = part.trim(); // Optional Whitespace (OWS) handling\n            const i = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);\n            if (i !== -1) {\n                const key = listMember.slice(0, i);\n                const value = listMember.slice(i + 1, part.length);\n                if (validateKey(key) && validateValue(value)) {\n                    agg.set(key, value);\n                }\n                else {\n                    // TODO: Consider to add warning log\n                }\n            }\n            return agg;\n        }, new Map());\n        // Because of the reverse() requirement, trunc must be done after map is created\n        if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {\n            this._internalState = new Map(Array.from(this._internalState.entries())\n                .reverse() // Use reverse same as original tracestate parse chain\n                .slice(0, MAX_TRACE_STATE_ITEMS));\n        }\n    }\n    // @ts-expect-error TS6133 Accessed in tests only.\n    _keys() {\n        return Array.from(this._internalState.keys()).reverse();\n    }\n    _clone() {\n        const traceState = new TraceStateImpl();\n        traceState._internalState = new Map(this._internalState);\n        return traceState;\n    }\n}\n//# sourceMappingURL=tracestate-impl.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { TraceStateImpl } from './tracestate-impl';\n/**\n * @since 1.1.0\n */\nexport function createTraceState(rawTraceState) {\n    return new TraceStateImpl(rawTraceState);\n}\n//# sourceMappingURL=utils.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 { ContextAPI } from './api/context';\n/**\n * Entrypoint for context API\n * @since 1.0.0\n */\nexport const context = ContextAPI.getInstance();\n//# sourceMappingURL=context-api.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 { DiagAPI } from './api/diag';\n/**\n * Entrypoint for Diag API.\n * Defines Diagnostic handler used for internal diagnostic logging operations.\n * The default provides a Noop DiagLogger implementation which may be changed via the\n * diag.setLogger(logger: DiagLogger) function.\n *\n * @since 1.0.0\n */\nexport const diag = DiagAPI.instance();\n//# sourceMappingURL=diag-api.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 */\nimport { getGlobal, registerGlobal, unregisterGlobal, } from '../internal/global-utils';\nimport { ProxyTracerProvider } from '../trace/ProxyTracerProvider';\nimport { isSpanContextValid, wrapSpanContext, } from '../trace/spancontext-utils';\nimport { deleteSpan, getActiveSpan, getSpan, getSpanContext, setSpan, setSpanContext, } from '../trace/context-utils';\nimport { DiagAPI } from './diag';\nconst API_NAME = 'trace';\n/**\n * Singleton object which represents the entry point to the OpenTelemetry Tracing API\n *\n * @since 1.0.0\n */\nexport class TraceAPI {\n    /** Empty private constructor prevents end users from constructing a new instance of the API */\n    constructor() {\n        this._proxyTracerProvider = new ProxyTracerProvider();\n        this.wrapSpanContext = wrapSpanContext;\n        this.isSpanContextValid = isSpanContextValid;\n        this.deleteSpan = deleteSpan;\n        this.getSpan = getSpan;\n        this.getActiveSpan = getActiveSpan;\n        this.getSpanContext = getSpanContext;\n        this.setSpan = setSpan;\n        this.setSpanContext = setSpanContext;\n    }\n    /** Get the singleton instance of the Trace API */\n    static getInstance() {\n        if (!this._instance) {\n            this._instance = new TraceAPI();\n        }\n        return this._instance;\n    }\n    /**\n     * Set the current global tracer.\n     *\n     * @returns true if the tracer provider was successfully registered, else false\n     */\n    setGlobalTracerProvider(provider) {\n        const success = registerGlobal(API_NAME, this._proxyTracerProvider, DiagAPI.instance());\n        if (success) {\n            this._proxyTracerProvider.setDelegate(provider);\n        }\n        return success;\n    }\n    /**\n     * Returns the global tracer provider.\n     */\n    getTracerProvider() {\n        return getGlobal(API_NAME) || this._proxyTracerProvider;\n    }\n    /**\n     * Returns a tracer from the global tracer provider.\n     */\n    getTracer(name, version) {\n        return this.getTracerProvider().getTracer(name, version);\n    }\n    /** Remove the global tracer provider */\n    disable() {\n        unregisterGlobal(API_NAME, DiagAPI.instance());\n        this._proxyTracerProvider = new ProxyTracerProvider();\n    }\n}\n//# sourceMappingURL=trace.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 { TraceAPI } from './api/trace';\n/**\n * Entrypoint for trace API\n *\n * @since 1.0.0\n */\nexport const trace = TraceAPI.getInstance();\n//# sourceMappingURL=trace-api.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport { baggageEntryMetadataFromString } from './baggage/utils';\n// Context APIs\nexport { createContextKey, ROOT_CONTEXT } from './context/context';\n// Diag APIs\nexport { DiagConsoleLogger } from './diag/consoleLogger';\nexport { DiagLogLevel } from './diag/types';\n// Metrics APIs\nexport { createNoopMeter } from './metrics/NoopMeter';\nexport { ValueType } from './metrics/Metric';\n// Propagation APIs\nexport { defaultTextMapGetter, defaultTextMapSetter, } from './propagation/TextMapPropagator';\nexport { ProxyTracer } from './trace/ProxyTracer';\n// TODO: Remove ProxyTracerProvider export in the next major version.\nexport { ProxyTracerProvider } from './trace/ProxyTracerProvider';\nexport { SamplingDecision } from './trace/SamplingResult';\nexport { SpanKind } from './trace/span_kind';\nexport { SpanStatusCode } from './trace/status';\nexport { TraceFlags } from './trace/trace_flags';\nexport { createTraceState } from './trace/internal/utils';\nexport { isSpanContextValid, isValidTraceId, isValidSpanId, } from './trace/spancontext-utils';\nexport { INVALID_SPANID, INVALID_TRACEID, INVALID_SPAN_CONTEXT, } from './trace/invalid-span-constants';\n// Split module-level variable definition into separate files to allow\n// tree-shaking on each api instance.\nimport { context } from './context-api';\nimport { diag } from './diag-api';\nimport { metrics } from './metrics-api';\nimport { propagation } from './propagation-api';\nimport { trace } from './trace-api';\n// Named export.\nexport { context, diag, metrics, propagation, trace };\n// Default export.\nexport default {\n    context,\n    diag,\n    metrics,\n    propagation,\n    trace,\n};\n//# sourceMappingURL=index.js.map","import { context, isSpanContextValid, trace } from \"@opentelemetry/api\";\n//#region src/services/telemetry/index.ts\n/** Only the operation owning an aborted signal may classify its rejection as cancellation. */\nvar OperationCancelledError = class extends Error {\n\tconstructor(options) {\n\t\tsuper(\"The operation was cancelled\", options);\n\t\tthis.name = \"OperationCancelledError\";\n\t}\n};\nconst DEFAULT_RETRY_DELAY_MS = 1e3;\nconst ENDPOINT_DISCOVERY_TIMEOUT_MS = 2e3;\nconst MAX_WARNING_DETAIL_LENGTH = 512;\nconst MAX_WARNING_DETAIL_DEPTH = 3;\nconst MAX_ATTRIBUTE_STRING_LENGTH = 128;\nconst MAX_REPORTED_FAILURES = 500;\nconst MAX_EVENT_NAME_LENGTH = 128;\nconst SESSION_ID_HEADERS = [\"AGENT_SESSION_ID\", \"PI_SESSION_ID\"];\nconst PARENT_SESSION_ID_HEADERS = [\"AGENT_PARENT_SESSION_ID\", \"PARENT_AGENT_SESSION_ID\"];\nconst TRANSPORT_SESSION_HEADERS = [\"PI_SESSION_ID\", \"AGENT_PARENT_SESSION_ID\"];\nconst TRUE_VALUES = /* @__PURE__ */ new Set([\n\t\"1\",\n\t\"true\",\n\t\"yes\"\n]);\nconst SPAN_STATUS_ERROR = 2;\nconst TRACEPARENT_PATTERN = /^00-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/u;\nconst SENSITIVE_ATTRIBUTE_PARTS = [\n\t\"prompt\",\n\t\"message\",\n\t\"content\",\n\t\"payload\",\n\t\"command\",\n\t\"cwd\",\n\t\"path\",\n\t\"file\",\n\t\"stack\",\n\t\"traceback\",\n\t\"transcript\",\n\t\"diff\",\n\t\"secret\",\n\t\"authorization\",\n\t\"header\",\n\t\"environment\",\n\t\"env\",\n\t\"details\",\n\t\"args\"\n];\nconst SAFE_RESULT_KEYS = /* @__PURE__ */ new Set([\n\t\"tool.result.error\",\n\t\"tool.result.count\",\n\t\"tool.result.bytes\",\n\t\"tool.result.duration_ms\"\n]);\nconst SAFE_METADATA_KEY_PARTS = /* @__PURE__ */ new Set([\n\t\"count\",\n\t\"length\",\n\t\"bytes\",\n\t\"duration\",\n\t\"duration_ms\",\n\t\"size\",\n\t\"index\",\n\t\"number\",\n\t\"active\",\n\t\"enabled\",\n\t\"previous\",\n\t\"empty\",\n\t\"silent\",\n\t\"fallback\",\n\t\"bypass\",\n\t\"success\",\n\t\"is_error\",\n\t\"has_ui\",\n\t\"requires_confirmation\",\n\t\"exit_code\",\n\t\"status_code\",\n\t\"interval_seconds\",\n\t\"concurrency\",\n\t\"budget\"\n]);\nconst SAFE_INPUT_KEYS = /* @__PURE__ */ new Set([\n\t\"gen_ai.usage.input_tokens\",\n\t\"gen_ai.usage.output_tokens\",\n\t\"gen_ai.usage.total_tokens\",\n\t\"gen_ai.usage.cache_read_tokens\",\n\t\"gen_ai.usage.cache_write_tokens\",\n\t\"gen_ai.usage.reasoning_tokens\"\n]);\nconst SAFE_IDENTIFIER_KEY_PARTS = [\n\t\"id\",\n\t\"correlation\",\n\t\"session\",\n\t\"trace\",\n\t\"span\",\n\t\"call\",\n\t\"run\",\n\t\"job\",\n\t\"step\"\n];\nconst SAFE_STRING_KEY_PARTS = [\n\t\"name\",\n\t\"operation\",\n\t\"outcome\",\n\t\"reason\",\n\t\"status\",\n\t\"mode\",\n\t\"source\",\n\t\"phase\",\n\t\"engine\",\n\t\"provider\",\n\t\"model\",\n\t\"level\",\n\t\"type\",\n\t\"code\",\n\t\"signal\",\n\t\"finish_reasons\",\n\t\"trigger\",\n\t\"action\",\n\t\"kind\",\n\t\"version\",\n\t\"scope\",\n\t\"layer\",\n\t\"profile\",\n\t\"domain\",\n\t\"theme\",\n\t\"leader\",\n\t\"pass\",\n\t\"role\",\n\t\"stage\",\n\t\"state\",\n\t\"language\",\n\t\"transport\",\n\t\"adapter\",\n\t\"runtime\",\n\t\"backend\",\n\t\"launcher\",\n\t\"event\",\n\t\"component\",\n\t\"package\",\n\t\"command_name\",\n\t\"tool_name\",\n\t\"token_attribution\"\n];\nconst recordObservers = /* @__PURE__ */ new Set();\nfunction subscribeTelemetryRecords(observer) {\n\trecordObservers.add(observer);\n\treturn () => recordObservers.delete(observer);\n}\nfunction isTruthy(value) {\n\treturn value !== void 0 && TRUE_VALUES.has(value.toLowerCase());\n}\nfunction normalizeToken(value, fallback) {\n\treturn value.replace(/[^a-zA-Z0-9._:-]/g, \"_\").slice(0, MAX_ATTRIBUTE_STRING_LENGTH) || fallback;\n}\nfunction hashIdentifier(value) {\n\tlet hash = 2166136261;\n\tfor (let index = 0; index < value.length; index += 1) {\n\t\thash ^= value.charCodeAt(index);\n\t\thash = Math.imul(hash, 16777619);\n\t}\n\treturn `id_${(hash >>> 0).toString(16).padStart(8, \"0\")}`;\n}\nfunction isSafeMetadataKey(key) {\n\tconst normalized = key.toLowerCase();\n\treturn [...SAFE_METADATA_KEY_PARTS].some((part) => normalized === part || normalized.endsWith(`.${part}`) || normalized.endsWith(`_${part}`));\n}\nfunction isSensitiveKey(key) {\n\tconst normalized = key.toLowerCase();\n\tif (SAFE_RESULT_KEYS.has(normalized) || SAFE_INPUT_KEYS.has(normalized) || isSafeMetadataKey(normalized)) return false;\n\treturn SENSITIVE_ATTRIBUTE_PARTS.some((part) => normalized.split(/[._-]/u).includes(part));\n}\nfunction hasSafeStringMeaning(key) {\n\tconst normalized = key.toLowerCase();\n\treturn SAFE_STRING_KEY_PARTS.some((part) => normalized === part || normalized.endsWith(`.${part}`) || normalized.endsWith(`_${part}`));\n}\nfunction hasSafeIdentifierMeaning(key) {\n\tconst normalized = key.toLowerCase();\n\treturn SAFE_IDENTIFIER_KEY_PARTS.some((part) => normalized === part || normalized.endsWith(`.${part}`) || normalized.endsWith(`_${part}`));\n}\nfunction isScalar(value) {\n\treturn typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\";\n}\nfunction sanitizeValue(key, value) {\n\tif (typeof value === \"number\") return Number.isFinite(value) ? value : void 0;\n\tif (typeof value === \"boolean\") return value;\n\tif (value.length === 0 || value.length > MAX_ATTRIBUTE_STRING_LENGTH) return void 0;\n\tif (hasSafeIdentifierMeaning(key)) return hashIdentifier(value);\n\tif (!hasSafeStringMeaning(key)) return void 0;\n\tif (key === \"telemetry.package\" || key.endsWith(\".package\")) {\n\t\tif (value.startsWith(\"/\") || value.includes(\"\\\\\")) return void 0;\n\t\treturn value.replace(/[^a-zA-Z0-9@/._:-]/g, \"_\");\n\t}\n\treturn normalizeToken(value, \"unknown\");\n}\nfunction sanitizeTelemetryAttributes(attributes = {}) {\n\tconst sanitized = {};\n\tfor (const [key, value] of Object.entries(attributes)) {\n\t\tif (isSensitiveKey(key) || !isScalar(value)) continue;\n\t\tconst safeValue = sanitizeValue(key, value);\n\t\tif (safeValue !== void 0) sanitized[key] = safeValue;\n\t}\n\treturn sanitized;\n}\nfunction safeErrorToken(value, fallback) {\n\tif (!/^[a-zA-Z][a-zA-Z0-9._:-]{0,63}$/u.test(value)) return fallback;\n\treturn normalizeToken(value, fallback);\n}\nfunction errorType(error) {\n\tif (error instanceof Error) return safeErrorToken(error.name === \"Error\" ? error.constructor.name : error.name, \"Error\");\n\tif (typeof error === \"string\") return \"StringError\";\n\tif (error && typeof error === \"object\") return \"ObjectError\";\n\treturn \"UnknownError\";\n}\n/**\n* Format an error for a local diagnostic warning.\n*\n* Deliberately separate from errorType: that produces a redacted token for the\n* exported `error.type` attribute and must stay metadata-only, whereas warnings\n* go to the local operator and are useless without the actual cause. Arrays are\n* unwrapped because OpenTelemetry's forceFlush rejects with one.\n*/\nfunction describeError(error, depth = 0) {\n\tif (depth > MAX_WARNING_DETAIL_DEPTH) return \"...\";\n\tif (Array.isArray(error)) return error.map((entry) => describeError(entry, depth + 1)).join(\"; \");\n\tif (error instanceof Error) {\n\t\tconst rawCode = \"code\" in error ? error.code : void 0;\n\t\tconst code = typeof rawCode === \"string\" || typeof rawCode === \"number\" ? ` (code ${rawCode})` : \"\";\n\t\tconst aggregate = error instanceof AggregateError ? `: ${describeError(error.errors, depth + 1)}` : \"\";\n\t\tconst cause = error.cause === void 0 ? \"\" : ` <- caused by ${describeError(error.cause, depth + 1)}`;\n\t\treturn `${error.name}: ${error.message}${code}${aggregate}${cause}`;\n\t}\n\tif (typeof error === \"string\") return error;\n\tif (error && typeof error === \"object\") try {\n\t\treturn JSON.stringify(error);\n\t} catch {\n\t\treturn \"ObjectError\";\n\t}\n\treturn String(error);\n}\nfunction warningDetail(error) {\n\treturn describeError(error).slice(0, MAX_WARNING_DETAIL_LENGTH);\n}\nfunction errorCode(error) {\n\tif (!error || typeof error !== \"object\" || !(\"code\" in error)) return void 0;\n\tconst code = error.code;\n\tif (typeof code !== \"string\" && typeof code !== \"number\") return void 0;\n\tconst normalized = String(code);\n\treturn /^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,63}$/u.test(normalized) ? normalizeToken(normalized, \"unknown\") : void 0;\n}\nfunction errorAttributes(error) {\n\tconst attributes = {\n\t\t\"error.type\": errorType(error),\n\t\toutcome: \"error\"\n\t};\n\tconst code = errorCode(error);\n\tif (code) attributes[\"error.code\"] = code;\n\treturn attributes;\n}\nfunction firstEnvironmentValue(env, keys) {\n\tfor (const key of keys) {\n\t\tconst value = env[key]?.trim();\n\t\tif (value) return value;\n\t}\n}\nfunction createTelemetryHeaders(serviceName, env) {\n\tconst headers = { \"x-agent\": normalizeToken(serviceName, \"po\") };\n\tconst sessionId = firstEnvironmentValue(env, SESSION_ID_HEADERS);\n\tconst parentSessionId = firstEnvironmentValue(env, PARENT_SESSION_ID_HEADERS);\n\tif (sessionId) headers[\"x-agent-session-id\"] = hashIdentifier(sessionId);\n\tif (parentSessionId) headers[\"x-agent-parent-session-id\"] = hashIdentifier(parentSessionId);\n\treturn headers;\n}\n/** The session on every exported record lets the Node runtime share one exporter per service. */\nfunction sessionAttributes(env) {\n\tconst attributes = {};\n\tconst sessionId = firstEnvironmentValue(env, SESSION_ID_HEADERS);\n\tconst parentSessionId = firstEnvironmentValue(env, PARENT_SESSION_ID_HEADERS);\n\tif (sessionId) attributes[\"agent.session.id\"] = hashIdentifier(sessionId);\n\tif (parentSessionId) attributes[\"agent.parent_session.id\"] = hashIdentifier(parentSessionId);\n\treturn attributes;\n}\nfunction createTransportEnvironment(env) {\n\tconst transportEnv = { ...env };\n\tconst sessionId = firstEnvironmentValue(env, SESSION_ID_HEADERS);\n\tconst parentSessionId = firstEnvironmentValue(env, PARENT_SESSION_ID_HEADERS);\n\tif (sessionId) transportEnv.AGENT_SESSION_ID = hashIdentifier(sessionId);\n\telse delete transportEnv.AGENT_SESSION_ID;\n\tif (parentSessionId) transportEnv.PARENT_AGENT_SESSION_ID = hashIdentifier(parentSessionId);\n\telse delete transportEnv.PARENT_AGENT_SESSION_ID;\n\tfor (const key of TRANSPORT_SESSION_HEADERS) delete transportEnv[key];\n\tfor (const key of Object.keys(transportEnv)) if (key.startsWith(\"WORKFLOW_\")) delete transportEnv[key];\n\treturn transportEnv;\n}\nfunction defaultStatus(options) {\n\treturn {\n\t\tserviceName: options.serviceName,\n\t\tpackageName: options.packageName,\n\t\tbackend: \"disabled\",\n\t\tenabled: false,\n\t\tendpointSource: \"none\",\n\t\ttraces: false,\n\t\tfileFallback: false\n\t};\n}\nfunction createSafeCallbackError(error) {\n\tconst code = errorCode(error);\n\treturn /* @__PURE__ */ new Error(`Po telemetry callback failed: ${errorType(error)}${code ? ` (${code})` : \"\"}`);\n}\nfunction parentContext(parent) {\n\tif (!parent) return void 0;\n\tconst match = TRACEPARENT_PATTERN.exec(parent.traceparent);\n\tif (!match) return void 0;\n\tconst [, traceId, spanId, traceFlags] = match;\n\tif (!traceId || !spanId || !traceFlags) return void 0;\n\tconst spanContext = {\n\t\ttraceId,\n\t\tspanId,\n\t\ttraceFlags: Number.parseInt(traceFlags, 16),\n\t\tisRemote: true\n\t};\n\treturn isSpanContextValid(spanContext) ? trace.setSpanContext(context.active(), spanContext) : void 0;\n}\nfunction childTraceContext(span) {\n\tif (!span) return void 0;\n\tconst spanContext = span.spanContext();\n\tif (!isSpanContextValid(spanContext)) return void 0;\n\tconst traceFlags = spanContext.traceFlags.toString(16).padStart(2, \"0\");\n\treturn { traceparent: `00-${spanContext.traceId}-${spanContext.spanId}-${traceFlags}` };\n}\nfunction createPoTelemetryService(options, runtimeLoader) {\n\tconst env = { ...options.env };\n\tconst telemetryFactory = options.telemetryFactory;\n\tconst endpointResolver = options.endpointResolver;\n\tconst transportEnv = createTransportEnvironment(env);\n\tconst session = sessionAttributes(env);\n\tconst warn = options.warn ?? ((message) => console.warn(message));\n\tconst reportWarning = (message) => {\n\t\ttry {\n\t\t\twarn(message);\n\t\t} catch (error) {\n\t\t\tconsole.warn(`Po telemetry warning callback failed: ${warningDetail(error)}`);\n\t\t}\n\t};\n\tconst retryDelayMs = options.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;\n\tconst allowFileFallback = options.allowFileFallback ?? isTruthy(env.LOG_SINK_PI_FILE_FALLBACK);\n\tconst defaultTelemetryStatus = defaultStatus(options);\n\tlet currentStatus = defaultTelemetryStatus;\n\tlet handle;\n\tlet initialization;\n\tlet retryAfter = 0;\n\tlet discoveryFailureReported = false;\n\tconst reportDiscoveryFailure = (message) => {\n\t\tif (!discoveryFailureReported) reportWarning(message);\n\t\tdiscoveryFailureReported = true;\n\t};\n\tlet shutdownPromise;\n\tlet shutdownRequested = false;\n\tconst reportedFailures = /* @__PURE__ */ new Set();\n\tconst disabledByEnvironment = () => isTruthy(env.AGENT_TELEMETRY_DISABLED) || isTruthy(env.OTEL_SDK_DISABLED);\n\tconst publish = (record) => {\n\t\tfor (const observer of [...recordObservers, ...options.onRecord ? [options.onRecord] : []]) try {\n\t\t\tobserver(record);\n\t\t} catch (error) {\n\t\t\treportWarning(`Po telemetry observer failed: ${warningDetail(error)}`);\n\t\t}\n\t};\n\tconst initialize = async () => {\n\t\tif (disabledByEnvironment() || shutdownRequested) return void 0;\n\t\tconst defaults = telemetryFactory ? void 0 : await runtimeLoader?.();\n\t\tconst resolveEndpoints = endpointResolver ?? defaults?.resolveNodeTelemetryEndpoints;\n\t\tconst createTelemetry = telemetryFactory ?? defaults?.createNodeTelemetry;\n\t\tif (!resolveEndpoints && !telemetryFactory || !createTelemetry) throw new Error(\"Node telemetry runtime is unavailable.\");\n\t\tlet discoveryTimer;\n\t\tconst discoveryTimedOut = Symbol(\"discoveryTimedOut\");\n\t\tconst resolvedEndpoints = resolveEndpoints === void 0 ? void 0 : await Promise.race([resolveEndpoints({\n\t\t\tcwd: options.cwd,\n\t\t\tenv,\n\t\t\tpackageName: options.packageName,\n\t\t\tserviceName: options.serviceName,\n\t\t\tworkspaceRoot: options.workspaceRoot,\n\t\t\tdiscoverEndpoint: true,\n\t\t\thealthCheck: true\n\t\t}), new Promise((resolve) => {\n\t\t\tdiscoveryTimer = setTimeout(() => resolve(discoveryTimedOut), ENDPOINT_DISCOVERY_TIMEOUT_MS);\n\t\t})]).finally(() => clearTimeout(discoveryTimer));\n\t\tif (resolvedEndpoints === discoveryTimedOut) {\n\t\t\treportDiscoveryFailure(`Po telemetry endpoint discovery timed out after ${ENDPOINT_DISCOVERY_TIMEOUT_MS} ms; retrying`);\n\t\t\tretryAfter = Date.now() + retryDelayMs;\n\t\t\tcurrentStatus = { ...defaultTelemetryStatus };\n\t\t\treturn;\n\t\t}\n\t\tconst endpoints = resolvedEndpoints ?? {\n\t\t\tendpointSource: \"env\",\n\t\t\tendpoint: \"injected\"\n\t\t};\n\t\tif (!endpoints.endpoint && !endpoints.tracesEndpoint && !endpoints.logsEndpoint && !allowFileFallback) {\n\t\t\tretryAfter = Date.now() + retryDelayMs;\n\t\t\tcurrentStatus = { ...defaultTelemetryStatus };\n\t\t\treturn;\n\t\t}\n\t\tconst nextHandle = await createTelemetry({\n\t\t\tserviceName: options.serviceName,\n\t\t\tpackageName: options.packageName,\n\t\t\tcwd: options.cwd,\n\t\t\tworkspaceRoot: options.workspaceRoot,\n\t\t\tenv: transportEnv,\n\t\t\tdiscoverEndpoint: resolvedEndpoints === void 0,\n\t\t\tresolvedEndpoints,\n\t\t\tenableLogs: options.enableLogs ?? true,\n\t\t\tenableTraces: options.enableTraces ?? true,\n\t\t\theaders: createTelemetryHeaders(options.serviceName, env)\n\t\t});\n\t\tif (shutdownRequested) {\n\t\t\tawait nextHandle.shutdown().catch((error) => {\n\t\t\t\treportWarning(`Po telemetry late initialization shutdown failed: ${warningDetail(error)}`);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (nextHandle.backend === \"file\" && !allowFileFallback) {\n\t\t\tawait nextHandle.shutdown().catch((error) => reportWarning(`Po telemetry fallback shutdown failed: ${warningDetail(error)}`));\n\t\t\tretryAfter = Date.now() + retryDelayMs;\n\t\t\tcurrentStatus = { ...defaultTelemetryStatus };\n\t\t\treturn;\n\t\t}\n\t\tif (discoveryFailureReported) reportWarning(\"Po telemetry endpoint discovery recovered\");\n\t\tdiscoveryFailureReported = false;\n\t\thandle = nextHandle;\n\t\tcurrentStatus = {\n\t\t\tserviceName: options.serviceName,\n\t\t\tpackageName: options.packageName,\n\t\t\tbackend: nextHandle.backend,\n\t\t\tenabled: nextHandle.enabled,\n\t\t\tendpoint: nextHandle.endpoint,\n\t\t\tendpointSource: nextHandle.endpointSource,\n\t\t\ttraces: Boolean(options.enableTraces ?? true),\n\t\t\tfileFallback: nextHandle.backend === \"file\"\n\t\t};\n\t\ttry {\n\t\t\toptions.onStatus?.({ ...currentStatus });\n\t\t} catch (error) {\n\t\t\treportWarning(`Po telemetry status observer failed: ${warningDetail(error)}`);\n\t\t}\n\t\treturn nextHandle;\n\t};\n\tconst getHandle = async () => {\n\t\tif (disabledByEnvironment() || shutdownRequested) return void 0;\n\t\tif (handle) return handle;\n\t\tif (Date.now() < retryAfter) return void 0;\n\t\tinitialization ??= initialize().catch((error) => {\n\t\t\tretryAfter = Date.now() + retryDelayMs;\n\t\t\treportDiscoveryFailure(`Po telemetry initialization failed: ${warningDetail(error)}`);\n\t\t}).finally(() => {\n\t\t\tinitialization = void 0;\n\t\t});\n\t\treturn initialization;\n\t};\n\tconst emit = async (level, event, error, attributes, errorOptions) => {\n\t\tconst safeEvent = normalizeToken(event, \"po.telemetry.event\").slice(0, MAX_EVENT_NAME_LENGTH);\n\t\tconst safeAttributes = sanitizeTelemetryAttributes({\n\t\t\t\"telemetry.package\": options.packageName,\n\t\t\t...attributes,\n\t\t\t...error === void 0 ? {} : errorAttributes(error)\n\t\t});\n\t\tif (error !== void 0) {\n\t\t\tconst failureKey = `${safeEvent}:${level}:${JSON.stringify(safeAttributes)}`;\n\t\t\tif (reportedFailures.has(failureKey)) return;\n\t\t\tif (reportedFailures.size >= MAX_REPORTED_FAILURES) reportedFailures.clear();\n\t\t\treportedFailures.add(failureKey);\n\t\t}\n\t\tpublish({\n\t\t\tevent: safeEvent,\n\t\t\tlevel,\n\t\t\tattributes: safeAttributes\n\t\t});\n\t\ttry {\n\t\t\t(await getHandle())?.logger[level](safeEvent, {\n\t\t\t\tattributes: {\n\t\t\t\t\t...session,\n\t\t\t\t\t...safeAttributes\n\t\t\t\t},\n\t\t\t\t...errorOptions?.includeException === true && error !== void 0 ? { exception: error } : {}\n\t\t\t});\n\t\t} catch (failure) {\n\t\t\treportWarning(`Po telemetry record failed: ${warningDetail(failure)}`);\n\t\t}\n\t};\n\tconst flush = async () => {\n\t\ttry {\n\t\t\tconst pendingInitialization = initialization;\n\t\t\tif (pendingInitialization) await pendingInitialization;\n\t\t\tawait handle?.flush();\n\t\t} catch (error) {\n\t\t\treportWarning(`Po telemetry flush failed: ${warningDetail(error)}`);\n\t\t}\n\t};\n\treturn {\n\t\trecordDebug(event, attributes) {\n\t\t\treturn emit(\"debug\", event, void 0, attributes);\n\t\t},\n\t\trecordEvent(event, attributes) {\n\t\t\treturn emit(\"info\", event, void 0, attributes);\n\t\t},\n\t\trecordWarning(event, error, attributes) {\n\t\t\treturn emit(\"warn\", event, error, attributes);\n\t\t},\n\t\trecordError(event, error, attributes, errorOptions) {\n\t\t\treturn emit(\"error\", event, error, attributes, errorOptions);\n\t\t},\n\t\tasync runInSpan(name, attributes, callback, parent) {\n\t\t\tlet callbackPromise;\n\t\t\tlet callbackFailure;\n\t\t\tconst invokeCallback = (child) => {\n\t\t\t\tcallbackPromise ??= Promise.resolve().then(() => callback(child));\n\t\t\t\treturn callbackPromise;\n\t\t\t};\n\t\t\tconst nextHandle = await getHandle();\n\t\t\tif (!nextHandle) return invokeCallback();\n\t\t\tconst startedAt = Date.now();\n\t\t\ttry {\n\t\t\t\tconst nextParentContext = parentContext(parent);\n\t\t\t\tconst result = await nextHandle.runInSpan(normalizeToken(name, \"po.telemetry.span\"), {\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\t...session,\n\t\t\t\t\t\t...sanitizeTelemetryAttributes(attributes)\n\t\t\t\t\t},\n\t\t\t\t\t...nextParentContext ? { context: nextParentContext } : {}\n\t\t\t\t}, async (span) => {\n\t\t\t\t\tconst child = childTraceContext(span);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = await invokeCallback(child);\n\t\t\t\t\t\tspan?.setAttribute(\"duration_ms\", Date.now() - startedAt);\n\t\t\t\t\t\tspan?.setAttribute(\"outcome\", \"success\");\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tcallbackFailure = { value: error };\n\t\t\t\t\t\tif (error instanceof OperationCancelledError) {\n\t\t\t\t\t\t\tspan?.setAttribute(\"outcome\", \"cancelled\");\n\t\t\t\t\t\t\tspan?.setAttribute(\"duration_ms\", Date.now() - startedAt);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst safeError = errorAttributes(error);\n\t\t\t\t\t\tconst detail = `Po telemetry span ${name} failed: ${warningDetail(error)}`;\n\t\t\t\t\t\tif (!reportedFailures.has(detail)) {\n\t\t\t\t\t\t\tif (reportedFailures.size >= MAX_REPORTED_FAILURES) reportedFailures.clear();\n\t\t\t\t\t\t\treportedFailures.add(detail);\n\t\t\t\t\t\t\treportWarning(detail);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (const [key, value] of Object.entries(safeError)) span?.setAttribute(key, value);\n\t\t\t\t\t\tspan?.setAttribute(\"duration_ms\", Date.now() - startedAt);\n\t\t\t\t\t\tspan?.setStatus({ code: SPAN_STATUS_ERROR });\n\t\t\t\t\t\tthrow createSafeCallbackError(error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (callbackFailure) throw callbackFailure.value;\n\t\t\t\treturn result;\n\t\t\t} catch (error) {\n\t\t\t\tif (callbackFailure) return Promise.reject(callbackFailure.value);\n\t\t\t\tif (callbackPromise) return callbackPromise;\n\t\t\t\treportWarning(`Po telemetry span failed: ${warningDetail(error)}`);\n\t\t\t\treturn invokeCallback();\n\t\t\t}\n\t\t},\n\t\tflush,\n\t\tasync shutdown() {\n\t\t\tif (shutdownPromise) return shutdownPromise;\n\t\t\tshutdownRequested = true;\n\t\t\tshutdownPromise = (async () => {\n\t\t\t\tawait flush();\n\t\t\t\tconst currentHandle = handle;\n\t\t\t\thandle = void 0;\n\t\t\t\tif (!currentHandle) return;\n\t\t\t\ttry {\n\t\t\t\t\tawait currentHandle.shutdown();\n\t\t\t\t} catch (error) {\n\t\t\t\t\treportWarning(`Po telemetry shutdown failed: ${warningDetail(error)}`);\n\t\t\t\t}\n\t\t\t})();\n\t\t\treturn shutdownPromise;\n\t\t},\n\t\tstatus() {\n\t\t\treturn { ...currentStatus };\n\t\t}\n\t};\n}\n//#endregion\nexport { OperationCancelledError, createPoTelemetryService, createTelemetryHeaders, sanitizeTelemetryAttributes, subscribeTelemetryRecords };\n\n//# sourceMappingURL=index.mjs.map","import { createPoTelemetryService, createTelemetryHeaders, sanitizeTelemetryAttributes, subscribeTelemetryRecords } from \"../telemetry/index.mjs\";\n//#region src/services/poTelemetry/index.ts\nlet nodeTelemetryModule;\nconst SESSION_HEADERS = /* @__PURE__ */ new Set([\"x-agent-session-id\", \"x-agent-parent-session-id\"]);\nconst PIPELINE_ENV = /^(?:OTEL_|LOG_SINK_)|^npm_package_version$/u;\nconst pipelines = /* @__PURE__ */ new Map();\n/** One exporter pipeline per service and endpoint for the whole process; the last shutdown frees it. */\nfunction shareNodeTelemetry(create) {\n\treturn async (options) => {\n\t\tconst shared = {\n\t\t\t...options,\n\t\t\tcwd: options.resolvedEndpoints ? void 0 : options.cwd,\n\t\t\tenv: options.env && Object.fromEntries(Object.entries(options.env).filter(([key]) => PIPELINE_ENV.test(key))),\n\t\t\theaders: options.headers && Object.fromEntries(Object.entries(options.headers).filter(([key]) => !SESSION_HEADERS.has(key)))\n\t\t};\n\t\tconst key = JSON.stringify(shared);\n\t\tlet entry = pipelines.get(key);\n\t\tif (!entry) {\n\t\t\tconst created = {\n\t\t\t\thandle: create(shared),\n\t\t\t\tleases: 0\n\t\t\t};\n\t\t\tcreated.handle.catch(() => {\n\t\t\t\tif (pipelines.get(key) === created) pipelines.delete(key);\n\t\t\t});\n\t\t\tpipelines.set(key, created);\n\t\t\tentry = created;\n\t\t}\n\t\tconst lease = entry;\n\t\tlease.leases += 1;\n\t\tlet handle;\n\t\ttry {\n\t\t\thandle = await lease.handle;\n\t\t} catch (error) {\n\t\t\tlease.leases -= 1;\n\t\t\tthrow error;\n\t\t}\n\t\tlet released = false;\n\t\treturn {\n\t\t\t...handle,\n\t\t\tasync shutdown() {\n\t\t\t\tif (released) return;\n\t\t\t\treleased = true;\n\t\t\t\tlease.leases -= 1;\n\t\t\t\tif (lease.leases > 0) return;\n\t\t\t\tif (pipelines.get(key) === lease) pipelines.delete(key);\n\t\t\t\tawait handle.shutdown();\n\t\t\t}\n\t\t};\n\t};\n}\nasync function loadNodeTelemetryRuntime() {\n\tnodeTelemetryModule ??= import(\"@agimon-ai/po-logsink/telemetry/node\");\n\tconst module = await nodeTelemetryModule;\n\treturn {\n\t\tcreateNodeTelemetry: shareNodeTelemetry(module.createNodeTelemetry),\n\t\tresolveNodeTelemetryEndpoints: module.resolveNodeTelemetryEndpoints\n\t};\n}\nfunction createPoTelemetry(options) {\n\treturn createPoTelemetryService(options, loadNodeTelemetryRuntime);\n}\n//#endregion\nexport { createPoTelemetry, createTelemetryHeaders, sanitizeTelemetryAttributes, subscribeTelemetryRecords };\n\n//# sourceMappingURL=index.mjs.map"],"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],"mappings":"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"}