@sentry/core 10.53.1 → 10.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/api.js +10 -34
- package/build/cjs/api.js.map +1 -1
- package/build/cjs/asyncContext/index.js +0 -14
- package/build/cjs/asyncContext/index.js.map +1 -1
- package/build/cjs/asyncContext/stackStrategy.js +16 -47
- package/build/cjs/asyncContext/stackStrategy.js.map +1 -1
- package/build/cjs/attributes.js +17 -95
- package/build/cjs/attributes.js.map +1 -1
- package/build/cjs/breadcrumbs.js +2 -22
- package/build/cjs/breadcrumbs.js.map +1 -1
- package/build/cjs/browser.js +12 -3
- package/build/cjs/browser.js.map +1 -1
- package/build/cjs/carrier.js +5 -42
- package/build/cjs/carrier.js.map +1 -1
- package/build/cjs/checkin.js +5 -19
- package/build/cjs/checkin.js.map +1 -1
- package/build/cjs/client.js +216 -585
- package/build/cjs/client.js.map +1 -1
- package/build/cjs/constants.js +2 -2
- package/build/cjs/currentScopes.js +5 -86
- package/build/cjs/currentScopes.js.map +1 -1
- package/build/cjs/debug-build.js +0 -5
- package/build/cjs/debug-build.js.map +1 -1
- package/build/cjs/defaultScopes.js +2 -5
- package/build/cjs/defaultScopes.js.map +1 -1
- package/build/cjs/envelope.js +32 -103
- package/build/cjs/envelope.js.map +1 -1
- package/build/cjs/eventProcessors.js +4 -23
- package/build/cjs/eventProcessors.js.map +1 -1
- package/build/cjs/exports.js +21 -197
- package/build/cjs/exports.js.map +1 -1
- package/build/cjs/feedback.js +7 -19
- package/build/cjs/feedback.js.map +1 -1
- package/build/cjs/fetch.js +66 -201
- package/build/cjs/fetch.js.map +1 -1
- package/build/cjs/index.js +17 -3
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/instrument/console.js +9 -41
- package/build/cjs/instrument/console.js.map +1 -1
- package/build/cjs/instrument/fetch.js +47 -156
- package/build/cjs/instrument/fetch.js.map +1 -1
- package/build/cjs/instrument/globalError.js +4 -25
- package/build/cjs/instrument/globalError.js.map +1 -1
- package/build/cjs/instrument/globalUnhandledRejection.js +4 -21
- package/build/cjs/instrument/globalUnhandledRejection.js.map +1 -1
- package/build/cjs/instrument/handlers.js +9 -21
- package/build/cjs/instrument/handlers.js.map +1 -1
- package/build/cjs/integration.js +13 -77
- package/build/cjs/integration.js.map +1 -1
- package/build/cjs/integrations/captureconsole.js +16 -40
- package/build/cjs/integrations/captureconsole.js.map +1 -1
- package/build/cjs/integrations/consola.js +57 -163
- package/build/cjs/integrations/consola.js.map +1 -1
- package/build/cjs/integrations/console.js +11 -43
- package/build/cjs/integrations/console.js.map +1 -1
- package/build/cjs/integrations/conversationId.js +5 -22
- package/build/cjs/integrations/conversationId.js.map +1 -1
- package/build/cjs/integrations/dedupe.js +16 -74
- package/build/cjs/integrations/dedupe.js.map +1 -1
- package/build/cjs/integrations/eventFilters.js +63 -114
- package/build/cjs/integrations/eventFilters.js.map +1 -1
- package/build/cjs/integrations/express/index.js +30 -145
- package/build/cjs/integrations/express/index.js.map +1 -1
- package/build/cjs/integrations/express/patch-layer.js +20 -130
- package/build/cjs/integrations/express/patch-layer.js.map +1 -1
- package/build/cjs/integrations/express/request-layer-store.js +1 -3
- package/build/cjs/integrations/express/request-layer-store.js.map +1 -1
- package/build/cjs/integrations/express/set-sdk-processing-metadata.js +0 -2
- package/build/cjs/integrations/express/set-sdk-processing-metadata.js.map +1 -1
- package/build/cjs/integrations/express/types.js +6 -7
- package/build/cjs/integrations/express/types.js.map +1 -1
- package/build/cjs/integrations/express/utils.js +37 -145
- package/build/cjs/integrations/express/utils.js.map +1 -1
- package/build/cjs/integrations/extraerrordata.js +24 -69
- package/build/cjs/integrations/extraerrordata.js.map +1 -1
- package/build/cjs/integrations/featureFlags/featureFlagsIntegration.js +3 -29
- package/build/cjs/integrations/featureFlags/featureFlagsIntegration.js.map +1 -1
- package/build/cjs/integrations/featureFlags/growthbook.js +11 -40
- package/build/cjs/integrations/featureFlags/growthbook.js.map +1 -1
- package/build/cjs/integrations/functiontostring.js +6 -27
- package/build/cjs/integrations/functiontostring.js.map +1 -1
- package/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +10 -18
- package/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js.map +1 -1
- package/build/cjs/integrations/http/client-patch.js +8 -70
- package/build/cjs/integrations/http/client-patch.js.map +1 -1
- package/build/cjs/integrations/http/client-subscriptions.js +22 -59
- package/build/cjs/integrations/http/client-subscriptions.js.map +1 -1
- package/build/cjs/integrations/http/constants.js +3 -3
- package/build/cjs/integrations/http/double-wrap-warning.js +10 -18
- package/build/cjs/integrations/http/double-wrap-warning.js.map +1 -1
- package/build/cjs/integrations/http/get-outgoing-span-data.js +30 -47
- package/build/cjs/integrations/http/get-outgoing-span-data.js.map +1 -1
- package/build/cjs/integrations/http/get-request-url.js +7 -24
- package/build/cjs/integrations/http/get-request-url.js.map +1 -1
- package/build/cjs/integrations/http/inject-trace-propagation-headers.js +14 -38
- package/build/cjs/integrations/http/inject-trace-propagation-headers.js.map +1 -1
- package/build/cjs/integrations/http/patch-request-to-capture-body.js +80 -0
- package/build/cjs/integrations/http/patch-request-to-capture-body.js.map +1 -0
- package/build/cjs/integrations/http/record-request-session.js +61 -0
- package/build/cjs/integrations/http/record-request-session.js.map +1 -0
- package/build/cjs/integrations/http/server-subscription.js +289 -0
- package/build/cjs/integrations/http/server-subscription.js.map +1 -0
- package/build/cjs/integrations/linkederrors.js +6 -11
- package/build/cjs/integrations/linkederrors.js.map +1 -1
- package/build/cjs/integrations/mcp-server/attributeExtraction.js +26 -69
- package/build/cjs/integrations/mcp-server/attributeExtraction.js.map +1 -1
- package/build/cjs/integrations/mcp-server/attributes.js +30 -138
- package/build/cjs/integrations/mcp-server/attributes.js.map +1 -1
- package/build/cjs/integrations/mcp-server/correlation.js +20 -91
- package/build/cjs/integrations/mcp-server/correlation.js.map +1 -1
- package/build/cjs/integrations/mcp-server/errorCapture.js +6 -25
- package/build/cjs/integrations/mcp-server/errorCapture.js.map +1 -1
- package/build/cjs/integrations/mcp-server/handlers.js +55 -169
- package/build/cjs/integrations/mcp-server/handlers.js.map +1 -1
- package/build/cjs/integrations/mcp-server/index.js +7 -60
- package/build/cjs/integrations/mcp-server/index.js.map +1 -1
- package/build/cjs/integrations/mcp-server/methodConfig.js +21 -59
- package/build/cjs/integrations/mcp-server/methodConfig.js.map +1 -1
- package/build/cjs/integrations/mcp-server/piiFiltering.js +5 -33
- package/build/cjs/integrations/mcp-server/piiFiltering.js.map +1 -1
- package/build/cjs/integrations/mcp-server/resultExtraction.js +20 -76
- package/build/cjs/integrations/mcp-server/resultExtraction.js.map +1 -1
- package/build/cjs/integrations/mcp-server/sessionExtraction.js +30 -121
- package/build/cjs/integrations/mcp-server/sessionExtraction.js.map +1 -1
- package/build/cjs/integrations/mcp-server/sessionManagement.js +2 -60
- package/build/cjs/integrations/mcp-server/sessionManagement.js.map +1 -1
- package/build/cjs/integrations/mcp-server/spans.js +20 -107
- package/build/cjs/integrations/mcp-server/spans.js.map +1 -1
- package/build/cjs/integrations/mcp-server/transport.js +26 -94
- package/build/cjs/integrations/mcp-server/transport.js.map +1 -1
- package/build/cjs/integrations/mcp-server/validation.js +6 -72
- package/build/cjs/integrations/mcp-server/validation.js.map +1 -1
- package/build/cjs/integrations/moduleMetadata.js +6 -20
- package/build/cjs/integrations/moduleMetadata.js.map +1 -1
- package/build/cjs/integrations/postgresjs.js +78 -287
- package/build/cjs/integrations/postgresjs.js.map +1 -1
- package/build/cjs/integrations/requestdata.js +30 -93
- package/build/cjs/integrations/requestdata.js.map +1 -1
- package/build/cjs/integrations/rewriteframes.js +14 -45
- package/build/cjs/integrations/rewriteframes.js.map +1 -1
- package/build/cjs/integrations/spanStreaming.js +9 -15
- package/build/cjs/integrations/spanStreaming.js.map +1 -1
- package/build/cjs/integrations/supabase.js +224 -333
- package/build/cjs/integrations/supabase.js.map +1 -1
- package/build/cjs/integrations/third-party-errors-filter.js +60 -85
- package/build/cjs/integrations/third-party-errors-filter.js.map +1 -1
- package/build/cjs/integrations/zoderrors.js +35 -111
- package/build/cjs/integrations/zoderrors.js.map +1 -1
- package/build/cjs/logs/console-integration.js +15 -50
- package/build/cjs/logs/console-integration.js.map +1 -1
- package/build/cjs/logs/constants.js +1 -6
- package/build/cjs/logs/constants.js.map +1 -1
- package/build/cjs/logs/envelope.js +10 -40
- package/build/cjs/logs/envelope.js.map +1 -1
- package/build/cjs/logs/internal.js +53 -125
- package/build/cjs/logs/internal.js.map +1 -1
- package/build/cjs/logs/public-api.js +13 -228
- package/build/cjs/logs/public-api.js.map +1 -1
- package/build/cjs/logs/utils.js +6 -47
- package/build/cjs/logs/utils.js.map +1 -1
- package/build/cjs/metadata.js +6 -51
- package/build/cjs/metadata.js.map +1 -1
- package/build/cjs/metrics/envelope.js +12 -45
- package/build/cjs/metrics/envelope.js.map +1 -1
- package/build/cjs/metrics/internal.js +31 -144
- package/build/cjs/metrics/internal.js.map +1 -1
- package/build/cjs/metrics/public-api.js +4 -109
- package/build/cjs/metrics/public-api.js.map +1 -1
- package/build/cjs/profiling.js +11 -41
- package/build/cjs/profiling.js.map +1 -1
- package/build/cjs/scope.js +73 -224
- package/build/cjs/scope.js.map +1 -1
- package/build/cjs/sdk.js +2 -21
- package/build/cjs/sdk.js.map +1 -1
- package/build/cjs/semanticAttributes.js +30 -116
- package/build/cjs/semanticAttributes.js.map +1 -1
- package/build/cjs/server-runtime-client.js +32 -87
- package/build/cjs/server-runtime-client.js.map +1 -1
- package/build/cjs/server.js +17 -3
- package/build/cjs/server.js.map +1 -1
- package/build/cjs/session.js +14 -67
- package/build/cjs/session.js.map +1 -1
- package/build/cjs/tracing/ai/gen-ai-attributes.js +45 -249
- package/build/cjs/tracing/ai/gen-ai-attributes.js.map +1 -1
- package/build/cjs/tracing/ai/mediaStripping.js +21 -116
- package/build/cjs/tracing/ai/mediaStripping.js.map +1 -1
- package/build/cjs/tracing/ai/messageTruncation.js +26 -212
- package/build/cjs/tracing/ai/messageTruncation.js.map +1 -1
- package/build/cjs/tracing/ai/utils.js +40 -180
- package/build/cjs/tracing/ai/utils.js.map +1 -1
- package/build/cjs/tracing/anthropic-ai/constants.js +9 -12
- package/build/cjs/tracing/anthropic-ai/constants.js.map +1 -1
- package/build/cjs/tracing/anthropic-ai/index.js +67 -172
- package/build/cjs/tracing/anthropic-ai/index.js.map +1 -1
- package/build/cjs/tracing/anthropic-ai/streaming.js +45 -149
- package/build/cjs/tracing/anthropic-ai/streaming.js.map +1 -1
- package/build/cjs/tracing/anthropic-ai/utils.js +17 -47
- package/build/cjs/tracing/anthropic-ai/utils.js.map +1 -1
- package/build/cjs/tracing/dynamicSamplingContext.js +18 -85
- package/build/cjs/tracing/dynamicSamplingContext.js.map +1 -1
- package/build/cjs/tracing/errors.js +2 -14
- package/build/cjs/tracing/errors.js.map +1 -1
- package/build/cjs/tracing/google-genai/constants.js +9 -16
- package/build/cjs/tracing/google-genai/constants.js.map +1 -1
- package/build/cjs/tracing/google-genai/index.js +79 -223
- package/build/cjs/tracing/google-genai/index.js.map +1 -1
- package/build/cjs/tracing/google-genai/streaming.js +11 -56
- package/build/cjs/tracing/google-genai/streaming.js.map +1 -1
- package/build/cjs/tracing/google-genai/utils.js +8 -13
- package/build/cjs/tracing/google-genai/utils.js.map +1 -1
- package/build/cjs/tracing/idleSpan.js +48 -174
- package/build/cjs/tracing/idleSpan.js.map +1 -1
- package/build/cjs/tracing/langchain/constants.js +8 -9
- package/build/cjs/tracing/langchain/constants.js.map +1 -1
- package/build/cjs/tracing/langchain/embeddings.js +31 -75
- package/build/cjs/tracing/langchain/embeddings.js.map +1 -1
- package/build/cjs/tracing/langchain/index.js +64 -161
- package/build/cjs/tracing/langchain/index.js.map +1 -1
- package/build/cjs/tracing/langchain/utils.js +101 -311
- package/build/cjs/tracing/langchain/utils.js.map +1 -1
- package/build/cjs/tracing/langgraph/constants.js +2 -2
- package/build/cjs/tracing/langgraph/index.js +57 -160
- package/build/cjs/tracing/langgraph/index.js.map +1 -1
- package/build/cjs/tracing/langgraph/utils.js +53 -170
- package/build/cjs/tracing/langgraph/utils.js.map +1 -1
- package/build/cjs/tracing/logSpans.js +10 -26
- package/build/cjs/tracing/logSpans.js.map +1 -1
- package/build/cjs/tracing/measurement.js +6 -18
- package/build/cjs/tracing/measurement.js.map +1 -1
- package/build/cjs/tracing/openai/constants.js +20 -24
- package/build/cjs/tracing/openai/constants.js.map +1 -1
- package/build/cjs/tracing/openai/index.js +52 -132
- package/build/cjs/tracing/openai/index.js.map +1 -1
- package/build/cjs/tracing/openai/streaming.js +24 -102
- package/build/cjs/tracing/openai/streaming.js.map +1 -1
- package/build/cjs/tracing/openai/utils.js +36 -107
- package/build/cjs/tracing/openai/utils.js.map +1 -1
- package/build/cjs/tracing/sampling.js +23 -63
- package/build/cjs/tracing/sampling.js.map +1 -1
- package/build/cjs/tracing/sentryNonRecordingSpan.js +15 -40
- package/build/cjs/tracing/sentryNonRecordingSpan.js.map +1 -1
- package/build/cjs/tracing/sentrySpan.js +66 -172
- package/build/cjs/tracing/sentrySpan.js.map +1 -1
- package/build/cjs/tracing/spans/beforeSendSpan.js +4 -32
- package/build/cjs/tracing/spans/beforeSendSpan.js.map +1 -1
- package/build/cjs/tracing/spans/captureSpan.js +58 -156
- package/build/cjs/tracing/spans/captureSpan.js.map +1 -1
- package/build/cjs/tracing/spans/envelope.js +12 -24
- package/build/cjs/tracing/spans/envelope.js.map +1 -1
- package/build/cjs/tracing/spans/estimateSize.js +0 -22
- package/build/cjs/tracing/spans/estimateSize.js.map +1 -1
- package/build/cjs/tracing/spans/extractGenAiSpans.js +11 -33
- package/build/cjs/tracing/spans/extractGenAiSpans.js.map +1 -1
- package/build/cjs/tracing/spans/hasSpanStreamingEnabled.js +1 -4
- package/build/cjs/tracing/spans/hasSpanStreamingEnabled.js.map +1 -1
- package/build/cjs/tracing/spans/scopeContextAttributes.js +58 -0
- package/build/cjs/tracing/spans/scopeContextAttributes.js.map +1 -0
- package/build/cjs/tracing/spans/spanBuffer.js +21 -71
- package/build/cjs/tracing/spans/spanBuffer.js.map +1 -1
- package/build/cjs/tracing/spans/spanJsonToStreamedSpan.js +4 -8
- package/build/cjs/tracing/spans/spanJsonToStreamedSpan.js.map +1 -1
- package/build/cjs/tracing/spanstatus.js +15 -32
- package/build/cjs/tracing/spanstatus.js.map +1 -1
- package/build/cjs/tracing/trace.js +95 -311
- package/build/cjs/tracing/trace.js.map +1 -1
- package/build/cjs/tracing/utils.js +4 -14
- package/build/cjs/tracing/utils.js.map +1 -1
- package/build/cjs/tracing/vercel-ai/constants.js +15 -26
- package/build/cjs/tracing/vercel-ai/constants.js.map +1 -1
- package/build/cjs/tracing/vercel-ai/index.js +84 -288
- package/build/cjs/tracing/vercel-ai/index.js.map +1 -1
- package/build/cjs/tracing/vercel-ai/utils.js +30 -128
- package/build/cjs/tracing/vercel-ai/utils.js.map +1 -1
- package/build/cjs/tracing/vercel-ai/vercel-ai-attributes.js +22 -229
- package/build/cjs/tracing/vercel-ai/vercel-ai-attributes.js.map +1 -1
- package/build/cjs/transports/base.js +32 -67
- package/build/cjs/transports/base.js.map +1 -1
- package/build/cjs/transports/multiplexed.js +38 -103
- package/build/cjs/transports/multiplexed.js.map +1 -1
- package/build/cjs/transports/offline.js +31 -72
- package/build/cjs/transports/offline.js.map +1 -1
- package/build/cjs/transports/userAgent.js +4 -13
- package/build/cjs/transports/userAgent.js.map +1 -1
- package/build/cjs/trpc.js +19 -39
- package/build/cjs/trpc.js.map +1 -1
- package/build/cjs/utils/aggregate-errors.js +18 -62
- package/build/cjs/utils/aggregate-errors.js.map +1 -1
- package/build/cjs/utils/ai/providerSkip.js +3 -50
- package/build/cjs/utils/ai/providerSkip.js.map +1 -1
- package/build/cjs/utils/anr.js +7 -36
- package/build/cjs/utils/anr.js.map +1 -1
- package/build/cjs/utils/baggage.js +37 -146
- package/build/cjs/utils/baggage.js.map +1 -1
- package/build/cjs/utils/breadcrumb-log-level.js +5 -9
- package/build/cjs/utils/breadcrumb-log-level.js.map +1 -1
- package/build/cjs/utils/browser.js +24 -86
- package/build/cjs/utils/browser.js.map +1 -1
- package/build/cjs/utils/chain-and-copy-promiselike.js +10 -27
- package/build/cjs/utils/chain-and-copy-promiselike.js.map +1 -1
- package/build/cjs/utils/clientreport.js +4 -13
- package/build/cjs/utils/clientreport.js.map +1 -1
- package/build/cjs/utils/cookie.js +6 -53
- package/build/cjs/utils/cookie.js.map +1 -1
- package/build/cjs/utils/data-collection/defaultPiiToCollectionOptions.js +28 -0
- package/build/cjs/utils/data-collection/defaultPiiToCollectionOptions.js.map +1 -0
- package/build/cjs/utils/data-collection/filterCookies.js +23 -0
- package/build/cjs/utils/data-collection/filterCookies.js.map +1 -0
- package/build/cjs/utils/data-collection/filterKeyValueData.js +43 -0
- package/build/cjs/utils/data-collection/filterKeyValueData.js.map +1 -0
- package/build/cjs/utils/data-collection/filterQueryParams.js +26 -0
- package/build/cjs/utils/data-collection/filterQueryParams.js.map +1 -0
- package/build/cjs/utils/data-collection/filtering-snippets.js +61 -0
- package/build/cjs/utils/data-collection/filtering-snippets.js.map +1 -0
- package/build/cjs/utils/data-collection/resolveDataCollectionOptions.js +37 -0
- package/build/cjs/utils/data-collection/resolveDataCollectionOptions.js.map +1 -0
- package/build/cjs/utils/debounce.js +5 -32
- package/build/cjs/utils/debounce.js.map +1 -1
- package/build/cjs/utils/debug-ids.js +4 -42
- package/build/cjs/utils/debug-ids.js.map +1 -1
- package/build/cjs/utils/debug-logger.js +23 -56
- package/build/cjs/utils/debug-logger.js.map +1 -1
- package/build/cjs/utils/dsn.js +18 -81
- package/build/cjs/utils/dsn.js.map +1 -1
- package/build/cjs/utils/env.js +3 -27
- package/build/cjs/utils/env.js.map +1 -1
- package/build/cjs/utils/envToBool.js +2 -15
- package/build/cjs/utils/envToBool.js.map +1 -1
- package/build/cjs/utils/envelope.js +39 -133
- package/build/cjs/utils/envelope.js.map +1 -1
- package/build/cjs/utils/error.js +3 -10
- package/build/cjs/utils/error.js.map +1 -1
- package/build/cjs/utils/eventUtils.js +0 -8
- package/build/cjs/utils/eventUtils.js.map +1 -1
- package/build/cjs/utils/eventbuilder.js +30 -114
- package/build/cjs/utils/eventbuilder.js.map +1 -1
- package/build/cjs/utils/exports.js +5 -24
- package/build/cjs/utils/exports.js.map +1 -1
- package/build/cjs/utils/featureFlags.js +10 -96
- package/build/cjs/utils/featureFlags.js.map +1 -1
- package/build/cjs/utils/flushIfServerless.js +14 -48
- package/build/cjs/utils/flushIfServerless.js.map +1 -1
- package/build/cjs/utils/get-default-export.js +1 -25
- package/build/cjs/utils/get-default-export.js.map +1 -1
- package/build/cjs/utils/handleCallbackErrors.js +10 -48
- package/build/cjs/utils/handleCallbackErrors.js.map +1 -1
- package/build/cjs/utils/hasSpansEnabled.js +4 -28
- package/build/cjs/utils/hasSpansEnabled.js.map +1 -1
- package/build/cjs/utils/ipAddress.js +7 -19
- package/build/cjs/utils/ipAddress.js.map +1 -1
- package/build/cjs/utils/is.js +18 -163
- package/build/cjs/utils/is.js.map +1 -1
- package/build/cjs/utils/isBrowser.js +3 -9
- package/build/cjs/utils/isBrowser.js.map +1 -1
- package/build/cjs/utils/isSentryRequestUrl.js +2 -19
- package/build/cjs/utils/isSentryRequestUrl.js.map +1 -1
- package/build/cjs/utils/lru.js +13 -24
- package/build/cjs/utils/lru.js.map +1 -1
- package/build/cjs/utils/merge.js +1 -17
- package/build/cjs/utils/merge.js.map +1 -1
- package/build/cjs/utils/meta.js +1 -24
- package/build/cjs/utils/meta.js.map +1 -1
- package/build/cjs/utils/misc.js +31 -134
- package/build/cjs/utils/misc.js.map +1 -1
- package/build/cjs/utils/node-stack-trace.js +22 -61
- package/build/cjs/utils/node-stack-trace.js.map +1 -1
- package/build/cjs/utils/node.js +3 -48
- package/build/cjs/utils/node.js.map +1 -1
- package/build/cjs/utils/normalizationHints.js +5 -18
- package/build/cjs/utils/normalizationHints.js.map +1 -1
- package/build/cjs/utils/normalize.js +39 -205
- package/build/cjs/utils/normalize.js.map +1 -1
- package/build/cjs/utils/object.js +33 -168
- package/build/cjs/utils/object.js.map +1 -1
- package/build/cjs/utils/parameterize.js +2 -21
- package/build/cjs/utils/parameterize.js.map +1 -1
- package/build/cjs/utils/parseSampleRate.js +4 -13
- package/build/cjs/utils/parseSampleRate.js.map +1 -1
- package/build/cjs/utils/path.js +28 -115
- package/build/cjs/utils/path.js.map +1 -1
- package/build/cjs/utils/prepareEvent.js +53 -191
- package/build/cjs/utils/prepareEvent.js.map +1 -1
- package/build/cjs/utils/promisebuffer.js +5 -47
- package/build/cjs/utils/promisebuffer.js.map +1 -1
- package/build/cjs/utils/propagationContext.js +0 -7
- package/build/cjs/utils/propagationContext.js.map +1 -1
- package/build/cjs/utils/randomSafeContext.js +3 -22
- package/build/cjs/utils/randomSafeContext.js.map +1 -1
- package/build/cjs/utils/ratelimit.js +13 -66
- package/build/cjs/utils/ratelimit.js.map +1 -1
- package/build/cjs/utils/request.js +62 -269
- package/build/cjs/utils/request.js.map +1 -1
- package/build/cjs/utils/scopeData.js +15 -79
- package/build/cjs/utils/scopeData.js.map +1 -1
- package/build/cjs/utils/sdkMetadata.js +5 -19
- package/build/cjs/utils/sdkMetadata.js.map +1 -1
- package/build/cjs/utils/severity.js +1 -9
- package/build/cjs/utils/severity.js.map +1 -1
- package/build/cjs/utils/should-ignore-span.js +6 -38
- package/build/cjs/utils/should-ignore-span.js.map +1 -1
- package/build/cjs/utils/spanOnScope.js +3 -14
- package/build/cjs/utils/spanOnScope.js.map +1 -1
- package/build/cjs/utils/spanUtils.js +42 -222
- package/build/cjs/utils/spanUtils.js.map +1 -1
- package/build/cjs/utils/stacktrace.js +19 -106
- package/build/cjs/utils/stacktrace.js.map +1 -1
- package/build/cjs/utils/string.js +7 -75
- package/build/cjs/utils/string.js.map +1 -1
- package/build/cjs/utils/supports.js +14 -99
- package/build/cjs/utils/supports.js.map +1 -1
- package/build/cjs/utils/syncpromise.js +19 -68
- package/build/cjs/utils/syncpromise.js.map +1 -1
- package/build/cjs/utils/time.js +7 -84
- package/build/cjs/utils/time.js.map +1 -1
- package/build/cjs/utils/timer.js +1 -10
- package/build/cjs/utils/timer.js.map +1 -1
- package/build/cjs/utils/timestampSequence.js +5 -21
- package/build/cjs/utils/timestampSequence.js.map +1 -1
- package/build/cjs/utils/trace-info.js +3 -10
- package/build/cjs/utils/trace-info.js.map +1 -1
- package/build/cjs/utils/traceData.js +4 -39
- package/build/cjs/utils/traceData.js.map +1 -1
- package/build/cjs/utils/tracePropagationTargets.js +4 -18
- package/build/cjs/utils/tracePropagationTargets.js.map +1 -1
- package/build/cjs/utils/tracing.js +32 -106
- package/build/cjs/utils/tracing.js.map +1 -1
- package/build/cjs/utils/transactionEvent.js +11 -19
- package/build/cjs/utils/transactionEvent.js.map +1 -1
- package/build/cjs/utils/tunnel.js +12 -33
- package/build/cjs/utils/tunnel.js.map +1 -1
- package/build/cjs/utils/url.js +42 -176
- package/build/cjs/utils/url.js.map +1 -1
- package/build/cjs/utils/vercelWaitUntil.js +4 -12
- package/build/cjs/utils/vercelWaitUntil.js.map +1 -1
- package/build/cjs/utils/version.js +1 -3
- package/build/cjs/utils/version.js.map +1 -1
- package/build/cjs/utils/weakRef.js +5 -36
- package/build/cjs/utils/weakRef.js.map +1 -1
- package/build/cjs/utils/worldwide.js +1 -4
- package/build/cjs/utils/worldwide.js.map +1 -1
- package/build/cjs/vendor/escapeStringForRegex.js +1 -32
- package/build/cjs/vendor/escapeStringForRegex.js.map +1 -1
- package/build/cjs/vendor/getIpAddress.js +19 -99
- package/build/cjs/vendor/getIpAddress.js.map +1 -1
- package/build/esm/api.js +10 -34
- package/build/esm/api.js.map +1 -1
- package/build/esm/asyncContext/index.js +0 -14
- package/build/esm/asyncContext/index.js.map +1 -1
- package/build/esm/asyncContext/stackStrategy.js +16 -47
- package/build/esm/asyncContext/stackStrategy.js.map +1 -1
- package/build/esm/attributes.js +17 -95
- package/build/esm/attributes.js.map +1 -1
- package/build/esm/breadcrumbs.js +2 -22
- package/build/esm/breadcrumbs.js.map +1 -1
- package/build/esm/browser.js +5 -1
- package/build/esm/browser.js.map +1 -1
- package/build/esm/carrier.js +5 -42
- package/build/esm/carrier.js.map +1 -1
- package/build/esm/checkin.js +5 -19
- package/build/esm/checkin.js.map +1 -1
- package/build/esm/client.js +216 -585
- package/build/esm/client.js.map +1 -1
- package/build/esm/constants.js +2 -2
- package/build/esm/currentScopes.js +5 -86
- package/build/esm/currentScopes.js.map +1 -1
- package/build/esm/debug-build.js +0 -5
- package/build/esm/debug-build.js.map +1 -1
- package/build/esm/defaultScopes.js +2 -5
- package/build/esm/defaultScopes.js.map +1 -1
- package/build/esm/envelope.js +32 -103
- package/build/esm/envelope.js.map +1 -1
- package/build/esm/eventProcessors.js +4 -23
- package/build/esm/eventProcessors.js.map +1 -1
- package/build/esm/exports.js +21 -197
- package/build/esm/exports.js.map +1 -1
- package/build/esm/feedback.js +7 -19
- package/build/esm/feedback.js.map +1 -1
- package/build/esm/fetch.js +66 -201
- package/build/esm/fetch.js.map +1 -1
- package/build/esm/index.js +7 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/instrument/console.js +9 -41
- package/build/esm/instrument/console.js.map +1 -1
- package/build/esm/instrument/fetch.js +47 -156
- package/build/esm/instrument/fetch.js.map +1 -1
- package/build/esm/instrument/globalError.js +4 -25
- package/build/esm/instrument/globalError.js.map +1 -1
- package/build/esm/instrument/globalUnhandledRejection.js +4 -21
- package/build/esm/instrument/globalUnhandledRejection.js.map +1 -1
- package/build/esm/instrument/handlers.js +9 -21
- package/build/esm/instrument/handlers.js.map +1 -1
- package/build/esm/integration.js +13 -77
- package/build/esm/integration.js.map +1 -1
- package/build/esm/integrations/captureconsole.js +16 -40
- package/build/esm/integrations/captureconsole.js.map +1 -1
- package/build/esm/integrations/consola.js +57 -163
- package/build/esm/integrations/consola.js.map +1 -1
- package/build/esm/integrations/console.js +11 -43
- package/build/esm/integrations/console.js.map +1 -1
- package/build/esm/integrations/conversationId.js +5 -22
- package/build/esm/integrations/conversationId.js.map +1 -1
- package/build/esm/integrations/dedupe.js +16 -74
- package/build/esm/integrations/dedupe.js.map +1 -1
- package/build/esm/integrations/eventFilters.js +63 -114
- package/build/esm/integrations/eventFilters.js.map +1 -1
- package/build/esm/integrations/express/index.js +30 -145
- package/build/esm/integrations/express/index.js.map +1 -1
- package/build/esm/integrations/express/patch-layer.js +20 -130
- package/build/esm/integrations/express/patch-layer.js.map +1 -1
- package/build/esm/integrations/express/request-layer-store.js +1 -3
- package/build/esm/integrations/express/request-layer-store.js.map +1 -1
- package/build/esm/integrations/express/set-sdk-processing-metadata.js +0 -2
- package/build/esm/integrations/express/set-sdk-processing-metadata.js.map +1 -1
- package/build/esm/integrations/express/types.js +6 -7
- package/build/esm/integrations/express/types.js.map +1 -1
- package/build/esm/integrations/express/utils.js +37 -145
- package/build/esm/integrations/express/utils.js.map +1 -1
- package/build/esm/integrations/extraerrordata.js +24 -69
- package/build/esm/integrations/extraerrordata.js.map +1 -1
- package/build/esm/integrations/featureFlags/featureFlagsIntegration.js +3 -29
- package/build/esm/integrations/featureFlags/featureFlagsIntegration.js.map +1 -1
- package/build/esm/integrations/featureFlags/growthbook.js +11 -40
- package/build/esm/integrations/featureFlags/growthbook.js.map +1 -1
- package/build/esm/integrations/functiontostring.js +6 -27
- package/build/esm/integrations/functiontostring.js.map +1 -1
- package/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +10 -18
- package/build/esm/integrations/http/add-outgoing-request-breadcrumb.js.map +1 -1
- package/build/esm/integrations/http/client-patch.js +8 -70
- package/build/esm/integrations/http/client-patch.js.map +1 -1
- package/build/esm/integrations/http/client-subscriptions.js +22 -59
- package/build/esm/integrations/http/client-subscriptions.js.map +1 -1
- package/build/esm/integrations/http/constants.js +3 -3
- package/build/esm/integrations/http/double-wrap-warning.js +10 -18
- package/build/esm/integrations/http/double-wrap-warning.js.map +1 -1
- package/build/esm/integrations/http/get-outgoing-span-data.js +30 -47
- package/build/esm/integrations/http/get-outgoing-span-data.js.map +1 -1
- package/build/esm/integrations/http/get-request-url.js +7 -24
- package/build/esm/integrations/http/get-request-url.js.map +1 -1
- package/build/esm/integrations/http/inject-trace-propagation-headers.js +14 -38
- package/build/esm/integrations/http/inject-trace-propagation-headers.js.map +1 -1
- package/build/esm/integrations/http/patch-request-to-capture-body.js +78 -0
- package/build/esm/integrations/http/patch-request-to-capture-body.js.map +1 -0
- package/build/esm/integrations/http/record-request-session.js +59 -0
- package/build/esm/integrations/http/record-request-session.js.map +1 -0
- package/build/esm/integrations/http/server-subscription.js +285 -0
- package/build/esm/integrations/http/server-subscription.js.map +1 -0
- package/build/esm/integrations/linkederrors.js +6 -11
- package/build/esm/integrations/linkederrors.js.map +1 -1
- package/build/esm/integrations/mcp-server/attributeExtraction.js +26 -69
- package/build/esm/integrations/mcp-server/attributeExtraction.js.map +1 -1
- package/build/esm/integrations/mcp-server/attributes.js +30 -138
- package/build/esm/integrations/mcp-server/attributes.js.map +1 -1
- package/build/esm/integrations/mcp-server/correlation.js +20 -91
- package/build/esm/integrations/mcp-server/correlation.js.map +1 -1
- package/build/esm/integrations/mcp-server/errorCapture.js +6 -25
- package/build/esm/integrations/mcp-server/errorCapture.js.map +1 -1
- package/build/esm/integrations/mcp-server/handlers.js +55 -169
- package/build/esm/integrations/mcp-server/handlers.js.map +1 -1
- package/build/esm/integrations/mcp-server/index.js +7 -60
- package/build/esm/integrations/mcp-server/index.js.map +1 -1
- package/build/esm/integrations/mcp-server/methodConfig.js +21 -59
- package/build/esm/integrations/mcp-server/methodConfig.js.map +1 -1
- package/build/esm/integrations/mcp-server/piiFiltering.js +5 -33
- package/build/esm/integrations/mcp-server/piiFiltering.js.map +1 -1
- package/build/esm/integrations/mcp-server/resultExtraction.js +20 -76
- package/build/esm/integrations/mcp-server/resultExtraction.js.map +1 -1
- package/build/esm/integrations/mcp-server/sessionExtraction.js +30 -121
- package/build/esm/integrations/mcp-server/sessionExtraction.js.map +1 -1
- package/build/esm/integrations/mcp-server/sessionManagement.js +2 -60
- package/build/esm/integrations/mcp-server/sessionManagement.js.map +1 -1
- package/build/esm/integrations/mcp-server/spans.js +20 -107
- package/build/esm/integrations/mcp-server/spans.js.map +1 -1
- package/build/esm/integrations/mcp-server/transport.js +26 -94
- package/build/esm/integrations/mcp-server/transport.js.map +1 -1
- package/build/esm/integrations/mcp-server/validation.js +6 -72
- package/build/esm/integrations/mcp-server/validation.js.map +1 -1
- package/build/esm/integrations/moduleMetadata.js +6 -20
- package/build/esm/integrations/moduleMetadata.js.map +1 -1
- package/build/esm/integrations/postgresjs.js +78 -287
- package/build/esm/integrations/postgresjs.js.map +1 -1
- package/build/esm/integrations/requestdata.js +30 -93
- package/build/esm/integrations/requestdata.js.map +1 -1
- package/build/esm/integrations/rewriteframes.js +14 -45
- package/build/esm/integrations/rewriteframes.js.map +1 -1
- package/build/esm/integrations/spanStreaming.js +9 -15
- package/build/esm/integrations/spanStreaming.js.map +1 -1
- package/build/esm/integrations/supabase.js +224 -333
- package/build/esm/integrations/supabase.js.map +1 -1
- package/build/esm/integrations/third-party-errors-filter.js +60 -85
- package/build/esm/integrations/third-party-errors-filter.js.map +1 -1
- package/build/esm/integrations/zoderrors.js +35 -111
- package/build/esm/integrations/zoderrors.js.map +1 -1
- package/build/esm/logs/console-integration.js +15 -50
- package/build/esm/logs/console-integration.js.map +1 -1
- package/build/esm/logs/constants.js +1 -6
- package/build/esm/logs/constants.js.map +1 -1
- package/build/esm/logs/envelope.js +10 -40
- package/build/esm/logs/envelope.js.map +1 -1
- package/build/esm/logs/internal.js +53 -126
- package/build/esm/logs/internal.js.map +1 -1
- package/build/esm/logs/public-api.js +13 -228
- package/build/esm/logs/public-api.js.map +1 -1
- package/build/esm/logs/utils.js +6 -47
- package/build/esm/logs/utils.js.map +1 -1
- package/build/esm/metadata.js +6 -51
- package/build/esm/metadata.js.map +1 -1
- package/build/esm/metrics/envelope.js +12 -45
- package/build/esm/metrics/envelope.js.map +1 -1
- package/build/esm/metrics/internal.js +31 -144
- package/build/esm/metrics/internal.js.map +1 -1
- package/build/esm/metrics/public-api.js +4 -109
- package/build/esm/metrics/public-api.js.map +1 -1
- package/build/esm/package.json +1 -1
- package/build/esm/profiling.js +11 -41
- package/build/esm/profiling.js.map +1 -1
- package/build/esm/scope.js +73 -224
- package/build/esm/scope.js.map +1 -1
- package/build/esm/sdk.js +2 -21
- package/build/esm/sdk.js.map +1 -1
- package/build/esm/semanticAttributes.js +31 -118
- package/build/esm/semanticAttributes.js.map +1 -1
- package/build/esm/server-runtime-client.js +32 -87
- package/build/esm/server-runtime-client.js.map +1 -1
- package/build/esm/server.js +7 -1
- package/build/esm/server.js.map +1 -1
- package/build/esm/session.js +14 -67
- package/build/esm/session.js.map +1 -1
- package/build/esm/tracing/ai/gen-ai-attributes.js +45 -249
- package/build/esm/tracing/ai/gen-ai-attributes.js.map +1 -1
- package/build/esm/tracing/ai/mediaStripping.js +21 -116
- package/build/esm/tracing/ai/mediaStripping.js.map +1 -1
- package/build/esm/tracing/ai/messageTruncation.js +26 -212
- package/build/esm/tracing/ai/messageTruncation.js.map +1 -1
- package/build/esm/tracing/ai/utils.js +40 -180
- package/build/esm/tracing/ai/utils.js.map +1 -1
- package/build/esm/tracing/anthropic-ai/constants.js +9 -12
- package/build/esm/tracing/anthropic-ai/constants.js.map +1 -1
- package/build/esm/tracing/anthropic-ai/index.js +67 -172
- package/build/esm/tracing/anthropic-ai/index.js.map +1 -1
- package/build/esm/tracing/anthropic-ai/streaming.js +45 -149
- package/build/esm/tracing/anthropic-ai/streaming.js.map +1 -1
- package/build/esm/tracing/anthropic-ai/utils.js +17 -47
- package/build/esm/tracing/anthropic-ai/utils.js.map +1 -1
- package/build/esm/tracing/dynamicSamplingContext.js +18 -85
- package/build/esm/tracing/dynamicSamplingContext.js.map +1 -1
- package/build/esm/tracing/errors.js +2 -14
- package/build/esm/tracing/errors.js.map +1 -1
- package/build/esm/tracing/google-genai/constants.js +9 -16
- package/build/esm/tracing/google-genai/constants.js.map +1 -1
- package/build/esm/tracing/google-genai/index.js +79 -223
- package/build/esm/tracing/google-genai/index.js.map +1 -1
- package/build/esm/tracing/google-genai/streaming.js +11 -56
- package/build/esm/tracing/google-genai/streaming.js.map +1 -1
- package/build/esm/tracing/google-genai/utils.js +8 -13
- package/build/esm/tracing/google-genai/utils.js.map +1 -1
- package/build/esm/tracing/idleSpan.js +48 -174
- package/build/esm/tracing/idleSpan.js.map +1 -1
- package/build/esm/tracing/langchain/constants.js +8 -9
- package/build/esm/tracing/langchain/constants.js.map +1 -1
- package/build/esm/tracing/langchain/embeddings.js +31 -75
- package/build/esm/tracing/langchain/embeddings.js.map +1 -1
- package/build/esm/tracing/langchain/index.js +64 -161
- package/build/esm/tracing/langchain/index.js.map +1 -1
- package/build/esm/tracing/langchain/utils.js +101 -312
- package/build/esm/tracing/langchain/utils.js.map +1 -1
- package/build/esm/tracing/langgraph/constants.js +2 -2
- package/build/esm/tracing/langgraph/index.js +59 -162
- package/build/esm/tracing/langgraph/index.js.map +1 -1
- package/build/esm/tracing/langgraph/utils.js +54 -170
- package/build/esm/tracing/langgraph/utils.js.map +1 -1
- package/build/esm/tracing/logSpans.js +10 -26
- package/build/esm/tracing/logSpans.js.map +1 -1
- package/build/esm/tracing/measurement.js +6 -18
- package/build/esm/tracing/measurement.js.map +1 -1
- package/build/esm/tracing/openai/constants.js +20 -24
- package/build/esm/tracing/openai/constants.js.map +1 -1
- package/build/esm/tracing/openai/index.js +52 -132
- package/build/esm/tracing/openai/index.js.map +1 -1
- package/build/esm/tracing/openai/streaming.js +24 -102
- package/build/esm/tracing/openai/streaming.js.map +1 -1
- package/build/esm/tracing/openai/utils.js +36 -107
- package/build/esm/tracing/openai/utils.js.map +1 -1
- package/build/esm/tracing/sampling.js +23 -63
- package/build/esm/tracing/sampling.js.map +1 -1
- package/build/esm/tracing/sentryNonRecordingSpan.js +15 -40
- package/build/esm/tracing/sentryNonRecordingSpan.js.map +1 -1
- package/build/esm/tracing/sentrySpan.js +66 -172
- package/build/esm/tracing/sentrySpan.js.map +1 -1
- package/build/esm/tracing/spans/beforeSendSpan.js +4 -32
- package/build/esm/tracing/spans/beforeSendSpan.js.map +1 -1
- package/build/esm/tracing/spans/captureSpan.js +59 -157
- package/build/esm/tracing/spans/captureSpan.js.map +1 -1
- package/build/esm/tracing/spans/envelope.js +12 -24
- package/build/esm/tracing/spans/envelope.js.map +1 -1
- package/build/esm/tracing/spans/estimateSize.js +0 -22
- package/build/esm/tracing/spans/estimateSize.js.map +1 -1
- package/build/esm/tracing/spans/extractGenAiSpans.js +11 -33
- package/build/esm/tracing/spans/extractGenAiSpans.js.map +1 -1
- package/build/esm/tracing/spans/hasSpanStreamingEnabled.js +1 -4
- package/build/esm/tracing/spans/hasSpanStreamingEnabled.js.map +1 -1
- package/build/esm/tracing/spans/scopeContextAttributes.js +56 -0
- package/build/esm/tracing/spans/scopeContextAttributes.js.map +1 -0
- package/build/esm/tracing/spans/spanBuffer.js +21 -71
- package/build/esm/tracing/spans/spanBuffer.js.map +1 -1
- package/build/esm/tracing/spans/spanJsonToStreamedSpan.js +4 -8
- package/build/esm/tracing/spans/spanJsonToStreamedSpan.js.map +1 -1
- package/build/esm/tracing/spanstatus.js +15 -32
- package/build/esm/tracing/spanstatus.js.map +1 -1
- package/build/esm/tracing/trace.js +95 -311
- package/build/esm/tracing/trace.js.map +1 -1
- package/build/esm/tracing/utils.js +4 -14
- package/build/esm/tracing/utils.js.map +1 -1
- package/build/esm/tracing/vercel-ai/constants.js +15 -26
- package/build/esm/tracing/vercel-ai/constants.js.map +1 -1
- package/build/esm/tracing/vercel-ai/index.js +84 -288
- package/build/esm/tracing/vercel-ai/index.js.map +1 -1
- package/build/esm/tracing/vercel-ai/utils.js +30 -128
- package/build/esm/tracing/vercel-ai/utils.js.map +1 -1
- package/build/esm/tracing/vercel-ai/vercel-ai-attributes.js +22 -229
- package/build/esm/tracing/vercel-ai/vercel-ai-attributes.js.map +1 -1
- package/build/esm/transports/base.js +32 -67
- package/build/esm/transports/base.js.map +1 -1
- package/build/esm/transports/multiplexed.js +38 -103
- package/build/esm/transports/multiplexed.js.map +1 -1
- package/build/esm/transports/offline.js +31 -72
- package/build/esm/transports/offline.js.map +1 -1
- package/build/esm/transports/userAgent.js +4 -13
- package/build/esm/transports/userAgent.js.map +1 -1
- package/build/esm/trpc.js +19 -39
- package/build/esm/trpc.js.map +1 -1
- package/build/esm/utils/aggregate-errors.js +18 -62
- package/build/esm/utils/aggregate-errors.js.map +1 -1
- package/build/esm/utils/ai/providerSkip.js +3 -50
- package/build/esm/utils/ai/providerSkip.js.map +1 -1
- package/build/esm/utils/anr.js +7 -36
- package/build/esm/utils/anr.js.map +1 -1
- package/build/esm/utils/baggage.js +37 -146
- package/build/esm/utils/baggage.js.map +1 -1
- package/build/esm/utils/breadcrumb-log-level.js +5 -9
- package/build/esm/utils/breadcrumb-log-level.js.map +1 -1
- package/build/esm/utils/browser.js +24 -86
- package/build/esm/utils/browser.js.map +1 -1
- package/build/esm/utils/chain-and-copy-promiselike.js +10 -27
- package/build/esm/utils/chain-and-copy-promiselike.js.map +1 -1
- package/build/esm/utils/clientreport.js +4 -13
- package/build/esm/utils/clientreport.js.map +1 -1
- package/build/esm/utils/cookie.js +6 -53
- package/build/esm/utils/cookie.js.map +1 -1
- package/build/esm/utils/data-collection/defaultPiiToCollectionOptions.js +26 -0
- package/build/esm/utils/data-collection/defaultPiiToCollectionOptions.js.map +1 -0
- package/build/esm/utils/data-collection/filterCookies.js +21 -0
- package/build/esm/utils/data-collection/filterCookies.js.map +1 -0
- package/build/esm/utils/data-collection/filterKeyValueData.js +41 -0
- package/build/esm/utils/data-collection/filterKeyValueData.js.map +1 -0
- package/build/esm/utils/data-collection/filterQueryParams.js +24 -0
- package/build/esm/utils/data-collection/filterQueryParams.js.map +1 -0
- package/build/esm/utils/data-collection/filtering-snippets.js +56 -0
- package/build/esm/utils/data-collection/filtering-snippets.js.map +1 -0
- package/build/esm/utils/data-collection/resolveDataCollectionOptions.js +35 -0
- package/build/esm/utils/data-collection/resolveDataCollectionOptions.js.map +1 -0
- package/build/esm/utils/debounce.js +5 -32
- package/build/esm/utils/debounce.js.map +1 -1
- package/build/esm/utils/debug-ids.js +4 -42
- package/build/esm/utils/debug-ids.js.map +1 -1
- package/build/esm/utils/debug-logger.js +23 -56
- package/build/esm/utils/debug-logger.js.map +1 -1
- package/build/esm/utils/dsn.js +18 -81
- package/build/esm/utils/dsn.js.map +1 -1
- package/build/esm/utils/env.js +3 -27
- package/build/esm/utils/env.js.map +1 -1
- package/build/esm/utils/envToBool.js +2 -15
- package/build/esm/utils/envToBool.js.map +1 -1
- package/build/esm/utils/envelope.js +39 -133
- package/build/esm/utils/envelope.js.map +1 -1
- package/build/esm/utils/error.js +3 -10
- package/build/esm/utils/error.js.map +1 -1
- package/build/esm/utils/eventUtils.js +0 -8
- package/build/esm/utils/eventUtils.js.map +1 -1
- package/build/esm/utils/eventbuilder.js +30 -114
- package/build/esm/utils/eventbuilder.js.map +1 -1
- package/build/esm/utils/exports.js +5 -24
- package/build/esm/utils/exports.js.map +1 -1
- package/build/esm/utils/featureFlags.js +10 -96
- package/build/esm/utils/featureFlags.js.map +1 -1
- package/build/esm/utils/flushIfServerless.js +14 -48
- package/build/esm/utils/flushIfServerless.js.map +1 -1
- package/build/esm/utils/get-default-export.js +1 -25
- package/build/esm/utils/get-default-export.js.map +1 -1
- package/build/esm/utils/handleCallbackErrors.js +10 -48
- package/build/esm/utils/handleCallbackErrors.js.map +1 -1
- package/build/esm/utils/hasSpansEnabled.js +4 -28
- package/build/esm/utils/hasSpansEnabled.js.map +1 -1
- package/build/esm/utils/ipAddress.js +7 -19
- package/build/esm/utils/ipAddress.js.map +1 -1
- package/build/esm/utils/is.js +18 -163
- package/build/esm/utils/is.js.map +1 -1
- package/build/esm/utils/isBrowser.js +3 -9
- package/build/esm/utils/isBrowser.js.map +1 -1
- package/build/esm/utils/isSentryRequestUrl.js +2 -19
- package/build/esm/utils/isSentryRequestUrl.js.map +1 -1
- package/build/esm/utils/lru.js +13 -24
- package/build/esm/utils/lru.js.map +1 -1
- package/build/esm/utils/merge.js +1 -17
- package/build/esm/utils/merge.js.map +1 -1
- package/build/esm/utils/meta.js +1 -24
- package/build/esm/utils/meta.js.map +1 -1
- package/build/esm/utils/misc.js +31 -134
- package/build/esm/utils/misc.js.map +1 -1
- package/build/esm/utils/node-stack-trace.js +22 -61
- package/build/esm/utils/node-stack-trace.js.map +1 -1
- package/build/esm/utils/node.js +3 -48
- package/build/esm/utils/node.js.map +1 -1
- package/build/esm/utils/normalizationHints.js +5 -18
- package/build/esm/utils/normalizationHints.js.map +1 -1
- package/build/esm/utils/normalize.js +39 -205
- package/build/esm/utils/normalize.js.map +1 -1
- package/build/esm/utils/object.js +33 -168
- package/build/esm/utils/object.js.map +1 -1
- package/build/esm/utils/parameterize.js +2 -21
- package/build/esm/utils/parameterize.js.map +1 -1
- package/build/esm/utils/parseSampleRate.js +4 -13
- package/build/esm/utils/parseSampleRate.js.map +1 -1
- package/build/esm/utils/path.js +28 -115
- package/build/esm/utils/path.js.map +1 -1
- package/build/esm/utils/prepareEvent.js +53 -191
- package/build/esm/utils/prepareEvent.js.map +1 -1
- package/build/esm/utils/promisebuffer.js +5 -47
- package/build/esm/utils/promisebuffer.js.map +1 -1
- package/build/esm/utils/propagationContext.js +0 -7
- package/build/esm/utils/propagationContext.js.map +1 -1
- package/build/esm/utils/randomSafeContext.js +3 -22
- package/build/esm/utils/randomSafeContext.js.map +1 -1
- package/build/esm/utils/ratelimit.js +13 -66
- package/build/esm/utils/ratelimit.js.map +1 -1
- package/build/esm/utils/request.js +62 -269
- package/build/esm/utils/request.js.map +1 -1
- package/build/esm/utils/scopeData.js +15 -79
- package/build/esm/utils/scopeData.js.map +1 -1
- package/build/esm/utils/sdkMetadata.js +5 -19
- package/build/esm/utils/sdkMetadata.js.map +1 -1
- package/build/esm/utils/severity.js +1 -9
- package/build/esm/utils/severity.js.map +1 -1
- package/build/esm/utils/should-ignore-span.js +6 -38
- package/build/esm/utils/should-ignore-span.js.map +1 -1
- package/build/esm/utils/spanOnScope.js +3 -14
- package/build/esm/utils/spanOnScope.js.map +1 -1
- package/build/esm/utils/spanUtils.js +42 -222
- package/build/esm/utils/spanUtils.js.map +1 -1
- package/build/esm/utils/stacktrace.js +19 -106
- package/build/esm/utils/stacktrace.js.map +1 -1
- package/build/esm/utils/string.js +7 -75
- package/build/esm/utils/string.js.map +1 -1
- package/build/esm/utils/supports.js +14 -99
- package/build/esm/utils/supports.js.map +1 -1
- package/build/esm/utils/syncpromise.js +19 -68
- package/build/esm/utils/syncpromise.js.map +1 -1
- package/build/esm/utils/time.js +7 -84
- package/build/esm/utils/time.js.map +1 -1
- package/build/esm/utils/timer.js +1 -10
- package/build/esm/utils/timer.js.map +1 -1
- package/build/esm/utils/timestampSequence.js +5 -21
- package/build/esm/utils/timestampSequence.js.map +1 -1
- package/build/esm/utils/trace-info.js +3 -10
- package/build/esm/utils/trace-info.js.map +1 -1
- package/build/esm/utils/traceData.js +4 -39
- package/build/esm/utils/traceData.js.map +1 -1
- package/build/esm/utils/tracePropagationTargets.js +4 -18
- package/build/esm/utils/tracePropagationTargets.js.map +1 -1
- package/build/esm/utils/tracing.js +32 -106
- package/build/esm/utils/tracing.js.map +1 -1
- package/build/esm/utils/transactionEvent.js +11 -19
- package/build/esm/utils/transactionEvent.js.map +1 -1
- package/build/esm/utils/tunnel.js +12 -33
- package/build/esm/utils/tunnel.js.map +1 -1
- package/build/esm/utils/url.js +42 -176
- package/build/esm/utils/url.js.map +1 -1
- package/build/esm/utils/vercelWaitUntil.js +4 -12
- package/build/esm/utils/vercelWaitUntil.js.map +1 -1
- package/build/esm/utils/version.js +1 -3
- package/build/esm/utils/version.js.map +1 -1
- package/build/esm/utils/weakRef.js +5 -36
- package/build/esm/utils/weakRef.js.map +1 -1
- package/build/esm/utils/worldwide.js +1 -4
- package/build/esm/utils/worldwide.js.map +1 -1
- package/build/esm/vendor/escapeStringForRegex.js +1 -32
- package/build/esm/vendor/escapeStringForRegex.js.map +1 -1
- package/build/esm/vendor/getIpAddress.js +19 -99
- package/build/esm/vendor/getIpAddress.js.map +1 -1
- package/build/types/api.d.ts +2 -2
- package/build/types/api.d.ts.map +1 -1
- package/build/types/attributes.d.ts +5 -8
- package/build/types/attributes.d.ts.map +1 -1
- package/build/types/breadcrumbs.d.ts +1 -1
- package/build/types/breadcrumbs.d.ts.map +1 -1
- package/build/types/browser-exports.d.ts +3 -3
- package/build/types/browser-exports.d.ts.map +1 -1
- package/build/types/carrier.d.ts +2 -2
- package/build/types/carrier.d.ts.map +1 -1
- package/build/types/checkin.d.ts +4 -4
- package/build/types/checkin.d.ts.map +1 -1
- package/build/types/client.d.ts +32 -22
- package/build/types/client.d.ts.map +1 -1
- package/build/types/currentScopes.d.ts +1 -1
- package/build/types/currentScopes.d.ts.map +1 -1
- package/build/types/envelope.d.ts +7 -7
- package/build/types/envelope.d.ts.map +1 -1
- package/build/types/eventProcessors.d.ts +2 -2
- package/build/types/eventProcessors.d.ts.map +1 -1
- package/build/types/exports.d.ts +8 -8
- package/build/types/exports.d.ts.map +1 -1
- package/build/types/feedback.d.ts +2 -2
- package/build/types/feedback.d.ts.map +1 -1
- package/build/types/fetch.d.ts +3 -3
- package/build/types/fetch.d.ts.map +1 -1
- package/build/types/instrument/console.d.ts +1 -1
- package/build/types/instrument/console.d.ts.map +1 -1
- package/build/types/instrument/fetch.d.ts +1 -1
- package/build/types/instrument/fetch.d.ts.map +1 -1
- package/build/types/instrument/globalError.d.ts +1 -1
- package/build/types/instrument/globalError.d.ts.map +1 -1
- package/build/types/instrument/globalUnhandledRejection.d.ts +1 -1
- package/build/types/instrument/globalUnhandledRejection.d.ts.map +1 -1
- package/build/types/integration.d.ts +2 -2
- package/build/types/integration.d.ts.map +1 -1
- package/build/types/integrations/consola.d.ts +1 -1
- package/build/types/integrations/consola.d.ts.map +1 -1
- package/build/types/integrations/console.d.ts +1 -1
- package/build/types/integrations/console.d.ts.map +1 -1
- package/build/types/integrations/dedupe.d.ts +1 -1
- package/build/types/integrations/dedupe.d.ts.map +1 -1
- package/build/types/integrations/express/types.d.ts +2 -2
- package/build/types/integrations/express/types.d.ts.map +1 -1
- package/build/types/integrations/express/utils.d.ts +1 -1
- package/build/types/integrations/express/utils.d.ts.map +1 -1
- package/build/types/integrations/featureFlags/featureFlagsIntegration.d.ts +1 -1
- package/build/types/integrations/featureFlags/featureFlagsIntegration.d.ts.map +1 -1
- package/build/types/integrations/featureFlags/growthbook.d.ts +1 -1
- package/build/types/integrations/featureFlags/growthbook.d.ts.map +1 -1
- package/build/types/integrations/http/double-wrap-warning.d.ts +1 -1
- package/build/types/integrations/http/double-wrap-warning.d.ts.map +1 -1
- package/build/types/integrations/http/get-outgoing-span-data.d.ts +2 -2
- package/build/types/integrations/http/get-outgoing-span-data.d.ts.map +1 -1
- package/build/types/integrations/http/patch-request-to-capture-body.d.ts +12 -0
- package/build/types/integrations/http/patch-request-to-capture-body.d.ts.map +1 -0
- package/build/types/integrations/http/record-request-session.d.ts +18 -0
- package/build/types/integrations/http/record-request-session.d.ts.map +1 -0
- package/build/types/integrations/http/server-subscription.d.ts +26 -0
- package/build/types/integrations/http/server-subscription.d.ts.map +1 -0
- package/build/types/integrations/http/types.d.ts +12 -6
- package/build/types/integrations/http/types.d.ts.map +1 -1
- package/build/types/integrations/mcp-server/correlation.d.ts +1 -1
- package/build/types/integrations/mcp-server/correlation.d.ts.map +1 -1
- package/build/types/integrations/mcp-server/piiFiltering.d.ts +1 -1
- package/build/types/integrations/mcp-server/piiFiltering.d.ts.map +1 -1
- package/build/types/integrations/mcp-server/types.d.ts +1 -1
- package/build/types/integrations/mcp-server/types.d.ts.map +1 -1
- package/build/types/integrations/postgresjs.d.ts +1 -1
- package/build/types/integrations/postgresjs.d.ts.map +1 -1
- package/build/types/integrations/rewriteframes.d.ts +1 -1
- package/build/types/integrations/rewriteframes.d.ts.map +1 -1
- package/build/types/integrations/supabase.d.ts +14 -3
- package/build/types/integrations/supabase.d.ts.map +1 -1
- package/build/types/integrations/third-party-errors-filter.d.ts.map +1 -1
- package/build/types/integrations/zoderrors.d.ts +1 -1
- package/build/types/integrations/zoderrors.d.ts.map +1 -1
- package/build/types/logs/console-integration.d.ts +1 -1
- package/build/types/logs/console-integration.d.ts.map +1 -1
- package/build/types/logs/constants.d.ts +1 -1
- package/build/types/logs/constants.d.ts.map +1 -1
- package/build/types/logs/envelope.d.ts +4 -4
- package/build/types/logs/envelope.d.ts.map +1 -1
- package/build/types/logs/internal.d.ts +16 -1
- package/build/types/logs/internal.d.ts.map +1 -1
- package/build/types/logs/public-api.d.ts +2 -2
- package/build/types/logs/public-api.d.ts.map +1 -1
- package/build/types/metadata.d.ts +2 -2
- package/build/types/metadata.d.ts.map +1 -1
- package/build/types/metrics/envelope.d.ts +4 -4
- package/build/types/metrics/envelope.d.ts.map +1 -1
- package/build/types/metrics/internal.d.ts +1 -1
- package/build/types/metrics/internal.d.ts.map +1 -1
- package/build/types/metrics/public-api.d.ts +1 -1
- package/build/types/metrics/public-api.d.ts.map +1 -1
- package/build/types/profiling.d.ts +1 -1
- package/build/types/profiling.d.ts.map +1 -1
- package/build/types/report-dialog.d.ts +1 -1
- package/build/types/report-dialog.d.ts.map +1 -1
- package/build/types/scope.d.ts +14 -14
- package/build/types/scope.d.ts.map +1 -1
- package/build/types/sdk.d.ts +1 -1
- package/build/types/sdk.d.ts.map +1 -1
- package/build/types/semanticAttributes.d.ts +2 -0
- package/build/types/semanticAttributes.d.ts.map +1 -1
- package/build/types/server-exports.d.ts +3 -1
- package/build/types/server-exports.d.ts.map +1 -1
- package/build/types/server-runtime-client.d.ts +6 -6
- package/build/types/server-runtime-client.d.ts.map +1 -1
- package/build/types/session.d.ts +1 -1
- package/build/types/session.d.ts.map +1 -1
- package/build/types/shared-exports.d.ts +58 -53
- package/build/types/shared-exports.d.ts.map +1 -1
- package/build/types/tracing/ai/utils.d.ts +1 -1
- package/build/types/tracing/ai/utils.d.ts.map +1 -1
- package/build/types/tracing/anthropic-ai/streaming.d.ts +1 -1
- package/build/types/tracing/anthropic-ai/streaming.d.ts.map +1 -1
- package/build/types/tracing/anthropic-ai/utils.d.ts +2 -2
- package/build/types/tracing/anthropic-ai/utils.d.ts.map +1 -1
- package/build/types/tracing/dynamicSamplingContext.d.ts +2 -2
- package/build/types/tracing/dynamicSamplingContext.d.ts.map +1 -1
- package/build/types/tracing/google-genai/streaming.d.ts +1 -1
- package/build/types/tracing/google-genai/streaming.d.ts.map +1 -1
- package/build/types/tracing/idleSpan.d.ts +2 -2
- package/build/types/tracing/idleSpan.d.ts.map +1 -1
- package/build/types/tracing/langchain/utils.d.ts +6 -1
- package/build/types/tracing/langchain/utils.d.ts.map +1 -1
- package/build/types/tracing/langgraph/index.d.ts.map +1 -1
- package/build/types/tracing/langgraph/utils.d.ts +1 -3
- package/build/types/tracing/langgraph/utils.d.ts.map +1 -1
- package/build/types/tracing/logSpans.d.ts +1 -1
- package/build/types/tracing/logSpans.d.ts.map +1 -1
- package/build/types/tracing/measurement.d.ts +2 -2
- package/build/types/tracing/measurement.d.ts.map +1 -1
- package/build/types/tracing/openai/streaming.d.ts +1 -1
- package/build/types/tracing/openai/streaming.d.ts.map +1 -1
- package/build/types/tracing/openai/utils.d.ts +1 -1
- package/build/types/tracing/openai/utils.d.ts.map +1 -1
- package/build/types/tracing/sampling.d.ts +2 -2
- package/build/types/tracing/sampling.d.ts.map +1 -1
- package/build/types/tracing/sentryNonRecordingSpan.d.ts +3 -3
- package/build/types/tracing/sentryNonRecordingSpan.d.ts.map +1 -1
- package/build/types/tracing/sentrySpan.d.ts +4 -4
- package/build/types/tracing/sentrySpan.d.ts.map +1 -1
- package/build/types/tracing/spans/beforeSendSpan.d.ts +3 -3
- package/build/types/tracing/spans/beforeSendSpan.d.ts.map +1 -1
- package/build/types/tracing/spans/captureSpan.d.ts +1 -1
- package/build/types/tracing/spans/captureSpan.d.ts.map +1 -1
- package/build/types/tracing/spans/envelope.d.ts +2 -2
- package/build/types/tracing/spans/envelope.d.ts.map +1 -1
- package/build/types/tracing/spans/estimateSize.d.ts +1 -1
- package/build/types/tracing/spans/estimateSize.d.ts.map +1 -1
- package/build/types/tracing/spans/extractGenAiSpans.d.ts +2 -2
- package/build/types/tracing/spans/extractGenAiSpans.d.ts.map +1 -1
- package/build/types/tracing/spans/scopeContextAttributes.d.ts +9 -0
- package/build/types/tracing/spans/scopeContextAttributes.d.ts.map +1 -0
- package/build/types/tracing/spans/spanJsonToStreamedSpan.d.ts +1 -1
- package/build/types/tracing/spans/spanJsonToStreamedSpan.d.ts.map +1 -1
- package/build/types/tracing/spanstatus.d.ts +2 -2
- package/build/types/tracing/spanstatus.d.ts.map +1 -1
- package/build/types/tracing/trace.d.ts +2 -2
- package/build/types/tracing/trace.d.ts.map +1 -1
- package/build/types/tracing/utils.d.ts +1 -1
- package/build/types/tracing/utils.d.ts.map +1 -1
- package/build/types/tracing/vercel-ai/utils.d.ts +2 -2
- package/build/types/tracing/vercel-ai/utils.d.ts.map +1 -1
- package/build/types/transports/base.d.ts +1 -1
- package/build/types/transports/base.d.ts.map +1 -1
- package/build/types/transports/multiplexed.d.ts +3 -3
- package/build/types/transports/multiplexed.d.ts.map +1 -1
- package/build/types/transports/offline.d.ts +2 -2
- package/build/types/transports/offline.d.ts.map +1 -1
- package/build/types/transports/userAgent.d.ts +1 -1
- package/build/types/transports/userAgent.d.ts.map +1 -1
- package/build/types/trpc.d.ts.map +1 -1
- package/build/types/types/attachment.d.ts.map +1 -0
- package/build/types/types/breadcrumb.d.ts.map +1 -0
- package/build/types/types/browseroptions.d.ts.map +1 -0
- package/build/types/types/checkin.d.ts.map +1 -0
- package/build/types/types/clientreport.d.ts.map +1 -0
- package/build/types/types/context.d.ts.map +1 -0
- package/build/types/types/csp.d.ts.map +1 -0
- package/build/types/types/datacategory.d.ts.map +1 -0
- package/build/types/types/datacollection.d.ts +75 -0
- package/build/types/types/datacollection.d.ts.map +1 -0
- package/build/types/types/debugMeta.d.ts.map +1 -0
- package/build/types/types/dsn.d.ts.map +1 -0
- package/build/types/types/envelope.d.ts.map +1 -0
- package/build/types/types/error.d.ts.map +1 -0
- package/build/types/types/event.d.ts.map +1 -0
- package/build/types/types/eventprocessor.d.ts.map +1 -0
- package/build/types/types/exception.d.ts.map +1 -0
- package/build/types/types/extra.d.ts.map +1 -0
- package/build/types/types/feedback/config.d.ts.map +1 -0
- package/build/types/types/feedback/form.d.ts.map +1 -0
- package/build/types/types/feedback/index.d.ts.map +1 -0
- package/build/types/types/feedback/sendFeedback.d.ts.map +1 -0
- package/build/types/types/feedback/theme.d.ts.map +1 -0
- package/build/types/types/instrument.d.ts.map +1 -0
- package/build/types/types/integration.d.ts.map +1 -0
- package/build/types/types/link.d.ts.map +1 -0
- package/build/types/types/log.d.ts.map +1 -0
- package/build/types/types/measurement.d.ts.map +1 -0
- package/build/types/types/mechanism.d.ts.map +1 -0
- package/build/types/types/metric.d.ts.map +1 -0
- package/build/types/types/misc.d.ts.map +1 -0
- package/build/types/types/opentelemetry.d.ts.map +1 -0
- package/build/types/{types-hoist → types}/options.d.ts +17 -0
- package/build/types/types/options.d.ts.map +1 -0
- package/build/types/types/package.d.ts.map +1 -0
- package/build/types/types/parameterize.d.ts.map +1 -0
- package/build/types/types/polymorphics.d.ts.map +1 -0
- package/build/types/types/profiling.d.ts.map +1 -0
- package/build/types/types/replay.d.ts.map +1 -0
- package/build/types/types/request.d.ts.map +1 -0
- package/build/types/types/runtime.d.ts.map +1 -0
- package/build/types/{types-hoist → types}/samplingcontext.d.ts +1 -1
- package/build/types/types/samplingcontext.d.ts.map +1 -0
- package/build/types/types/sdkinfo.d.ts.map +1 -0
- package/build/types/types/sdkmetadata.d.ts.map +1 -0
- package/build/types/types/session.d.ts.map +1 -0
- package/build/types/types/severity.d.ts.map +1 -0
- package/build/types/types/span.d.ts.map +1 -0
- package/build/types/types/spanStatus.d.ts.map +1 -0
- package/build/types/types/stackframe.d.ts.map +1 -0
- package/build/types/types/stacktrace.d.ts.map +1 -0
- package/build/types/{types-hoist → types}/startSpanOptions.d.ts +13 -0
- package/build/types/types/startSpanOptions.d.ts.map +1 -0
- package/build/types/types/thread.d.ts.map +1 -0
- package/build/types/types/timedEvent.d.ts.map +1 -0
- package/build/types/types/tracing.d.ts.map +1 -0
- package/build/types/types/transaction.d.ts.map +1 -0
- package/build/types/types/transport.d.ts.map +1 -0
- package/build/types/types/user.d.ts.map +1 -0
- package/build/types/types/view-hierarchy.d.ts.map +1 -0
- package/build/types/types/vue.d.ts.map +1 -0
- package/build/types/types/webfetchapi.d.ts.map +1 -0
- package/build/types/types/wrappedfunction.d.ts.map +1 -0
- package/build/types/utils/aggregate-errors.d.ts +3 -3
- package/build/types/utils/aggregate-errors.d.ts.map +1 -1
- package/build/types/utils/anr.d.ts +1 -1
- package/build/types/utils/anr.d.ts.map +1 -1
- package/build/types/utils/baggage.d.ts +1 -1
- package/build/types/utils/baggage.d.ts.map +1 -1
- package/build/types/utils/breadcrumb-log-level.d.ts +1 -1
- package/build/types/utils/breadcrumb-log-level.d.ts.map +1 -1
- package/build/types/utils/clientreport.d.ts +2 -2
- package/build/types/utils/clientreport.d.ts.map +1 -1
- package/build/types/utils/data-collection/defaultPiiToCollectionOptions.d.ts +6 -0
- package/build/types/utils/data-collection/defaultPiiToCollectionOptions.d.ts.map +1 -0
- package/build/types/utils/data-collection/filterCookies.d.ts +9 -0
- package/build/types/utils/data-collection/filterCookies.d.ts.map +1 -0
- package/build/types/utils/data-collection/filterKeyValueData.d.ts +11 -0
- package/build/types/utils/data-collection/filterKeyValueData.d.ts.map +1 -0
- package/build/types/utils/data-collection/filterQueryParams.d.ts +9 -0
- package/build/types/utils/data-collection/filterQueryParams.d.ts.map +1 -0
- package/build/types/utils/data-collection/filtering-snippets.d.ts +14 -0
- package/build/types/utils/data-collection/filtering-snippets.d.ts.map +1 -0
- package/build/types/utils/data-collection/resolveDataCollectionOptions.d.ts +14 -0
- package/build/types/utils/data-collection/resolveDataCollectionOptions.d.ts.map +1 -0
- package/build/types/utils/debug-ids.d.ts +2 -2
- package/build/types/utils/debug-ids.d.ts.map +1 -1
- package/build/types/utils/debug-logger.d.ts +1 -1
- package/build/types/utils/debug-logger.d.ts.map +1 -1
- package/build/types/utils/dsn.d.ts +1 -1
- package/build/types/utils/dsn.d.ts.map +1 -1
- package/build/types/utils/env.d.ts.map +1 -1
- package/build/types/utils/envelope.d.ts +8 -8
- package/build/types/utils/envelope.d.ts.map +1 -1
- package/build/types/utils/error.d.ts +1 -1
- package/build/types/utils/error.d.ts.map +1 -1
- package/build/types/utils/eventUtils.d.ts +1 -1
- package/build/types/utils/eventUtils.d.ts.map +1 -1
- package/build/types/utils/eventbuilder.d.ts +6 -6
- package/build/types/utils/eventbuilder.d.ts.map +1 -1
- package/build/types/utils/featureFlags.d.ts +1 -1
- package/build/types/utils/featureFlags.d.ts.map +1 -1
- package/build/types/utils/hasSpansEnabled.d.ts +1 -1
- package/build/types/utils/hasSpansEnabled.d.ts.map +1 -1
- package/build/types/utils/ipAddress.d.ts +2 -2
- package/build/types/utils/ipAddress.d.ts.map +1 -1
- package/build/types/utils/is.d.ts +4 -4
- package/build/types/utils/is.d.ts.map +1 -1
- package/build/types/utils/meta.d.ts +1 -1
- package/build/types/utils/meta.d.ts.map +1 -1
- package/build/types/utils/misc.d.ts +3 -3
- package/build/types/utils/misc.d.ts.map +1 -1
- package/build/types/utils/node-stack-trace.d.ts +1 -1
- package/build/types/utils/node-stack-trace.d.ts.map +1 -1
- package/build/types/utils/object.d.ts +1 -1
- package/build/types/utils/object.d.ts.map +1 -1
- package/build/types/utils/parameterize.d.ts +1 -1
- package/build/types/utils/parameterize.d.ts.map +1 -1
- package/build/types/utils/prepareEvent.d.ts +3 -3
- package/build/types/utils/prepareEvent.d.ts.map +1 -1
- package/build/types/utils/ratelimit.d.ts +2 -2
- package/build/types/utils/ratelimit.d.ts.map +1 -1
- package/build/types/utils/request.d.ts +3 -3
- package/build/types/utils/request.d.ts.map +1 -1
- package/build/types/utils/scopeData.d.ts +1 -1
- package/build/types/utils/scopeData.d.ts.map +1 -1
- package/build/types/utils/sdkMetadata.d.ts +1 -1
- package/build/types/utils/sdkMetadata.d.ts.map +1 -1
- package/build/types/utils/severity.d.ts +1 -1
- package/build/types/utils/severity.d.ts.map +1 -1
- package/build/types/utils/should-ignore-span.d.ts +2 -2
- package/build/types/utils/should-ignore-span.d.ts.map +1 -1
- package/build/types/utils/spanOnScope.d.ts +1 -1
- package/build/types/utils/spanOnScope.d.ts.map +1 -1
- package/build/types/utils/spanUtils.d.ts +4 -4
- package/build/types/utils/spanUtils.d.ts.map +1 -1
- package/build/types/utils/stacktrace.d.ts +4 -4
- package/build/types/utils/stacktrace.d.ts.map +1 -1
- package/build/types/utils/trace-info.d.ts +2 -2
- package/build/types/utils/trace-info.d.ts.map +1 -1
- package/build/types/utils/traceData.d.ts +2 -2
- package/build/types/utils/traceData.d.ts.map +1 -1
- package/build/types/utils/tracePropagationTargets.d.ts +1 -1
- package/build/types/utils/tracePropagationTargets.d.ts.map +1 -1
- package/build/types/utils/tracing.d.ts +2 -2
- package/build/types/utils/tracing.d.ts.map +1 -1
- package/build/types/utils/transactionEvent.d.ts +2 -2
- package/build/types/utils/transactionEvent.d.ts.map +1 -1
- package/build/types/utils/url.d.ts +1 -1
- package/build/types/utils/url.d.ts.map +1 -1
- package/build/types/utils/worldwide.d.ts +1 -0
- package/build/types/utils/worldwide.d.ts.map +1 -1
- package/build/types-ts3.8/api.d.ts +2 -2
- package/build/types-ts3.8/attributes.d.ts +5 -8
- package/build/types-ts3.8/breadcrumbs.d.ts +1 -1
- package/build/types-ts3.8/browser-exports.d.ts +3 -3
- package/build/types-ts3.8/carrier.d.ts +2 -2
- package/build/types-ts3.8/checkin.d.ts +4 -4
- package/build/types-ts3.8/client.d.ts +32 -22
- package/build/types-ts3.8/currentScopes.d.ts +1 -1
- package/build/types-ts3.8/envelope.d.ts +7 -7
- package/build/types-ts3.8/eventProcessors.d.ts +2 -2
- package/build/types-ts3.8/exports.d.ts +8 -8
- package/build/types-ts3.8/feedback.d.ts +2 -2
- package/build/types-ts3.8/fetch.d.ts +3 -3
- package/build/types-ts3.8/instrument/console.d.ts +1 -1
- package/build/types-ts3.8/instrument/fetch.d.ts +1 -1
- package/build/types-ts3.8/instrument/globalError.d.ts +1 -1
- package/build/types-ts3.8/instrument/globalUnhandledRejection.d.ts +1 -1
- package/build/types-ts3.8/integration.d.ts +2 -2
- package/build/types-ts3.8/integrations/consola.d.ts +1 -1
- package/build/types-ts3.8/integrations/console.d.ts +1 -1
- package/build/types-ts3.8/integrations/dedupe.d.ts +1 -1
- package/build/types-ts3.8/integrations/express/types.d.ts +2 -2
- package/build/types-ts3.8/integrations/express/utils.d.ts +1 -1
- package/build/types-ts3.8/integrations/featureFlags/featureFlagsIntegration.d.ts +1 -1
- package/build/types-ts3.8/integrations/featureFlags/growthbook.d.ts +1 -1
- package/build/types-ts3.8/integrations/http/double-wrap-warning.d.ts +1 -1
- package/build/types-ts3.8/integrations/http/get-outgoing-span-data.d.ts +2 -2
- package/build/types-ts3.8/integrations/http/patch-request-to-capture-body.d.ts +12 -0
- package/build/types-ts3.8/integrations/http/record-request-session.d.ts +18 -0
- package/build/types-ts3.8/integrations/http/server-subscription.d.ts +26 -0
- package/build/types-ts3.8/integrations/http/types.d.ts +12 -6
- package/build/types-ts3.8/integrations/mcp-server/correlation.d.ts +1 -1
- package/build/types-ts3.8/integrations/mcp-server/piiFiltering.d.ts +1 -1
- package/build/types-ts3.8/integrations/mcp-server/types.d.ts +1 -1
- package/build/types-ts3.8/integrations/postgresjs.d.ts +1 -1
- package/build/types-ts3.8/integrations/rewriteframes.d.ts +1 -1
- package/build/types-ts3.8/integrations/supabase.d.ts +14 -3
- package/build/types-ts3.8/integrations/zoderrors.d.ts +1 -1
- package/build/types-ts3.8/logs/console-integration.d.ts +1 -1
- package/build/types-ts3.8/logs/constants.d.ts +1 -1
- package/build/types-ts3.8/logs/envelope.d.ts +4 -4
- package/build/types-ts3.8/logs/internal.d.ts +16 -1
- package/build/types-ts3.8/logs/public-api.d.ts +2 -2
- package/build/types-ts3.8/metadata.d.ts +2 -2
- package/build/types-ts3.8/metrics/envelope.d.ts +4 -4
- package/build/types-ts3.8/metrics/internal.d.ts +1 -1
- package/build/types-ts3.8/metrics/public-api.d.ts +1 -1
- package/build/types-ts3.8/profiling.d.ts +1 -1
- package/build/types-ts3.8/report-dialog.d.ts +1 -1
- package/build/types-ts3.8/scope.d.ts +14 -14
- package/build/types-ts3.8/sdk.d.ts +1 -1
- package/build/types-ts3.8/semanticAttributes.d.ts +2 -0
- package/build/types-ts3.8/server-exports.d.ts +3 -1
- package/build/types-ts3.8/server-runtime-client.d.ts +6 -6
- package/build/types-ts3.8/session.d.ts +1 -1
- package/build/types-ts3.8/shared-exports.d.ts +58 -53
- package/build/types-ts3.8/tracing/ai/utils.d.ts +1 -1
- package/build/types-ts3.8/tracing/anthropic-ai/streaming.d.ts +1 -1
- package/build/types-ts3.8/tracing/anthropic-ai/utils.d.ts +2 -2
- package/build/types-ts3.8/tracing/dynamicSamplingContext.d.ts +2 -2
- package/build/types-ts3.8/tracing/google-genai/streaming.d.ts +1 -1
- package/build/types-ts3.8/tracing/idleSpan.d.ts +2 -2
- package/build/types-ts3.8/tracing/langchain/utils.d.ts +6 -1
- package/build/types-ts3.8/tracing/langgraph/utils.d.ts +1 -3
- package/build/types-ts3.8/tracing/logSpans.d.ts +1 -1
- package/build/types-ts3.8/tracing/measurement.d.ts +2 -2
- package/build/types-ts3.8/tracing/openai/streaming.d.ts +1 -1
- package/build/types-ts3.8/tracing/openai/utils.d.ts +1 -1
- package/build/types-ts3.8/tracing/sampling.d.ts +2 -2
- package/build/types-ts3.8/tracing/sentryNonRecordingSpan.d.ts +3 -3
- package/build/types-ts3.8/tracing/sentrySpan.d.ts +4 -4
- package/build/types-ts3.8/tracing/spans/beforeSendSpan.d.ts +3 -3
- package/build/types-ts3.8/tracing/spans/captureSpan.d.ts +1 -1
- package/build/types-ts3.8/tracing/spans/envelope.d.ts +2 -2
- package/build/types-ts3.8/tracing/spans/estimateSize.d.ts +1 -1
- package/build/types-ts3.8/tracing/spans/extractGenAiSpans.d.ts +2 -2
- package/build/types-ts3.8/tracing/spans/scopeContextAttributes.d.ts +9 -0
- package/build/types-ts3.8/tracing/spans/spanJsonToStreamedSpan.d.ts +1 -1
- package/build/types-ts3.8/tracing/spanstatus.d.ts +2 -2
- package/build/types-ts3.8/tracing/trace.d.ts +2 -2
- package/build/types-ts3.8/tracing/utils.d.ts +1 -1
- package/build/types-ts3.8/tracing/vercel-ai/utils.d.ts +2 -2
- package/build/types-ts3.8/transports/base.d.ts +1 -1
- package/build/types-ts3.8/transports/multiplexed.d.ts +3 -3
- package/build/types-ts3.8/transports/offline.d.ts +2 -2
- package/build/types-ts3.8/transports/userAgent.d.ts +1 -1
- package/build/types-ts3.8/types/datacollection.d.ts +75 -0
- package/build/types-ts3.8/{types-hoist → types}/options.d.ts +17 -0
- package/build/types-ts3.8/{types-hoist → types}/samplingcontext.d.ts +1 -1
- package/build/types-ts3.8/{types-hoist → types}/startSpanOptions.d.ts +13 -0
- package/build/types-ts3.8/utils/aggregate-errors.d.ts +3 -3
- package/build/types-ts3.8/utils/anr.d.ts +1 -1
- package/build/types-ts3.8/utils/baggage.d.ts +1 -1
- package/build/types-ts3.8/utils/breadcrumb-log-level.d.ts +1 -1
- package/build/types-ts3.8/utils/clientreport.d.ts +2 -2
- package/build/types-ts3.8/utils/data-collection/defaultPiiToCollectionOptions.d.ts +6 -0
- package/build/types-ts3.8/utils/data-collection/filterCookies.d.ts +9 -0
- package/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +11 -0
- package/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +9 -0
- package/build/types-ts3.8/utils/data-collection/filtering-snippets.d.ts +14 -0
- package/build/types-ts3.8/utils/data-collection/resolveDataCollectionOptions.d.ts +14 -0
- package/build/types-ts3.8/utils/debug-ids.d.ts +2 -2
- package/build/types-ts3.8/utils/debug-logger.d.ts +1 -1
- package/build/types-ts3.8/utils/dsn.d.ts +1 -1
- package/build/types-ts3.8/utils/envelope.d.ts +8 -8
- package/build/types-ts3.8/utils/error.d.ts +1 -1
- package/build/types-ts3.8/utils/eventUtils.d.ts +1 -1
- package/build/types-ts3.8/utils/eventbuilder.d.ts +6 -6
- package/build/types-ts3.8/utils/featureFlags.d.ts +1 -1
- package/build/types-ts3.8/utils/hasSpansEnabled.d.ts +1 -1
- package/build/types-ts3.8/utils/ipAddress.d.ts +2 -2
- package/build/types-ts3.8/utils/is.d.ts +4 -4
- package/build/types-ts3.8/utils/meta.d.ts +1 -1
- package/build/types-ts3.8/utils/misc.d.ts +3 -3
- package/build/types-ts3.8/utils/node-stack-trace.d.ts +1 -1
- package/build/types-ts3.8/utils/object.d.ts +1 -1
- package/build/types-ts3.8/utils/parameterize.d.ts +1 -1
- package/build/types-ts3.8/utils/prepareEvent.d.ts +3 -3
- package/build/types-ts3.8/utils/ratelimit.d.ts +2 -2
- package/build/types-ts3.8/utils/request.d.ts +3 -3
- package/build/types-ts3.8/utils/scopeData.d.ts +1 -1
- package/build/types-ts3.8/utils/sdkMetadata.d.ts +1 -1
- package/build/types-ts3.8/utils/severity.d.ts +1 -1
- package/build/types-ts3.8/utils/should-ignore-span.d.ts +2 -2
- package/build/types-ts3.8/utils/spanOnScope.d.ts +1 -1
- package/build/types-ts3.8/utils/spanUtils.d.ts +4 -4
- package/build/types-ts3.8/utils/stacktrace.d.ts +4 -4
- package/build/types-ts3.8/utils/trace-info.d.ts +2 -2
- package/build/types-ts3.8/utils/traceData.d.ts +2 -2
- package/build/types-ts3.8/utils/tracePropagationTargets.d.ts +1 -1
- package/build/types-ts3.8/utils/tracing.d.ts +2 -2
- package/build/types-ts3.8/utils/transactionEvent.d.ts +2 -2
- package/build/types-ts3.8/utils/url.d.ts +1 -1
- package/build/types-ts3.8/utils/worldwide.d.ts +1 -0
- package/package.json +1 -1
- package/build/types/types-hoist/attachment.d.ts.map +0 -1
- package/build/types/types-hoist/breadcrumb.d.ts.map +0 -1
- package/build/types/types-hoist/browseroptions.d.ts.map +0 -1
- package/build/types/types-hoist/checkin.d.ts.map +0 -1
- package/build/types/types-hoist/clientreport.d.ts.map +0 -1
- package/build/types/types-hoist/context.d.ts.map +0 -1
- package/build/types/types-hoist/csp.d.ts.map +0 -1
- package/build/types/types-hoist/datacategory.d.ts.map +0 -1
- package/build/types/types-hoist/debugMeta.d.ts.map +0 -1
- package/build/types/types-hoist/dsn.d.ts.map +0 -1
- package/build/types/types-hoist/envelope.d.ts.map +0 -1
- package/build/types/types-hoist/error.d.ts.map +0 -1
- package/build/types/types-hoist/event.d.ts.map +0 -1
- package/build/types/types-hoist/eventprocessor.d.ts.map +0 -1
- package/build/types/types-hoist/exception.d.ts.map +0 -1
- package/build/types/types-hoist/extra.d.ts.map +0 -1
- package/build/types/types-hoist/feedback/config.d.ts.map +0 -1
- package/build/types/types-hoist/feedback/form.d.ts.map +0 -1
- package/build/types/types-hoist/feedback/index.d.ts.map +0 -1
- package/build/types/types-hoist/feedback/sendFeedback.d.ts.map +0 -1
- package/build/types/types-hoist/feedback/theme.d.ts.map +0 -1
- package/build/types/types-hoist/instrument.d.ts.map +0 -1
- package/build/types/types-hoist/integration.d.ts.map +0 -1
- package/build/types/types-hoist/link.d.ts.map +0 -1
- package/build/types/types-hoist/log.d.ts.map +0 -1
- package/build/types/types-hoist/measurement.d.ts.map +0 -1
- package/build/types/types-hoist/mechanism.d.ts.map +0 -1
- package/build/types/types-hoist/metric.d.ts.map +0 -1
- package/build/types/types-hoist/misc.d.ts.map +0 -1
- package/build/types/types-hoist/opentelemetry.d.ts.map +0 -1
- package/build/types/types-hoist/options.d.ts.map +0 -1
- package/build/types/types-hoist/package.d.ts.map +0 -1
- package/build/types/types-hoist/parameterize.d.ts.map +0 -1
- package/build/types/types-hoist/polymorphics.d.ts.map +0 -1
- package/build/types/types-hoist/profiling.d.ts.map +0 -1
- package/build/types/types-hoist/replay.d.ts.map +0 -1
- package/build/types/types-hoist/request.d.ts.map +0 -1
- package/build/types/types-hoist/runtime.d.ts.map +0 -1
- package/build/types/types-hoist/samplingcontext.d.ts.map +0 -1
- package/build/types/types-hoist/sdkinfo.d.ts.map +0 -1
- package/build/types/types-hoist/sdkmetadata.d.ts.map +0 -1
- package/build/types/types-hoist/session.d.ts.map +0 -1
- package/build/types/types-hoist/severity.d.ts.map +0 -1
- package/build/types/types-hoist/span.d.ts.map +0 -1
- package/build/types/types-hoist/spanStatus.d.ts.map +0 -1
- package/build/types/types-hoist/stackframe.d.ts.map +0 -1
- package/build/types/types-hoist/stacktrace.d.ts.map +0 -1
- package/build/types/types-hoist/startSpanOptions.d.ts.map +0 -1
- package/build/types/types-hoist/thread.d.ts.map +0 -1
- package/build/types/types-hoist/timedEvent.d.ts.map +0 -1
- package/build/types/types-hoist/tracing.d.ts.map +0 -1
- package/build/types/types-hoist/transaction.d.ts.map +0 -1
- package/build/types/types-hoist/transport.d.ts.map +0 -1
- package/build/types/types-hoist/user.d.ts.map +0 -1
- package/build/types/types-hoist/view-hierarchy.d.ts.map +0 -1
- package/build/types/types-hoist/vue.d.ts.map +0 -1
- package/build/types/types-hoist/webfetchapi.d.ts.map +0 -1
- package/build/types/types-hoist/wrappedfunction.d.ts.map +0 -1
- /package/build/types/{types-hoist → types}/attachment.d.ts +0 -0
- /package/build/types/{types-hoist → types}/breadcrumb.d.ts +0 -0
- /package/build/types/{types-hoist → types}/browseroptions.d.ts +0 -0
- /package/build/types/{types-hoist → types}/checkin.d.ts +0 -0
- /package/build/types/{types-hoist → types}/clientreport.d.ts +0 -0
- /package/build/types/{types-hoist → types}/context.d.ts +0 -0
- /package/build/types/{types-hoist → types}/csp.d.ts +0 -0
- /package/build/types/{types-hoist → types}/datacategory.d.ts +0 -0
- /package/build/types/{types-hoist → types}/debugMeta.d.ts +0 -0
- /package/build/types/{types-hoist → types}/dsn.d.ts +0 -0
- /package/build/types/{types-hoist → types}/envelope.d.ts +0 -0
- /package/build/types/{types-hoist → types}/error.d.ts +0 -0
- /package/build/types/{types-hoist → types}/event.d.ts +0 -0
- /package/build/types/{types-hoist → types}/eventprocessor.d.ts +0 -0
- /package/build/types/{types-hoist → types}/exception.d.ts +0 -0
- /package/build/types/{types-hoist → types}/extra.d.ts +0 -0
- /package/build/types/{types-hoist → types}/feedback/config.d.ts +0 -0
- /package/build/types/{types-hoist → types}/feedback/form.d.ts +0 -0
- /package/build/types/{types-hoist → types}/feedback/index.d.ts +0 -0
- /package/build/types/{types-hoist → types}/feedback/sendFeedback.d.ts +0 -0
- /package/build/types/{types-hoist → types}/feedback/theme.d.ts +0 -0
- /package/build/types/{types-hoist → types}/instrument.d.ts +0 -0
- /package/build/types/{types-hoist → types}/integration.d.ts +0 -0
- /package/build/types/{types-hoist → types}/link.d.ts +0 -0
- /package/build/types/{types-hoist → types}/log.d.ts +0 -0
- /package/build/types/{types-hoist → types}/measurement.d.ts +0 -0
- /package/build/types/{types-hoist → types}/mechanism.d.ts +0 -0
- /package/build/types/{types-hoist → types}/metric.d.ts +0 -0
- /package/build/types/{types-hoist → types}/misc.d.ts +0 -0
- /package/build/types/{types-hoist → types}/opentelemetry.d.ts +0 -0
- /package/build/types/{types-hoist → types}/package.d.ts +0 -0
- /package/build/types/{types-hoist → types}/parameterize.d.ts +0 -0
- /package/build/types/{types-hoist → types}/polymorphics.d.ts +0 -0
- /package/build/types/{types-hoist → types}/profiling.d.ts +0 -0
- /package/build/types/{types-hoist → types}/replay.d.ts +0 -0
- /package/build/types/{types-hoist → types}/request.d.ts +0 -0
- /package/build/types/{types-hoist → types}/runtime.d.ts +0 -0
- /package/build/types/{types-hoist → types}/sdkinfo.d.ts +0 -0
- /package/build/types/{types-hoist → types}/sdkmetadata.d.ts +0 -0
- /package/build/types/{types-hoist → types}/session.d.ts +0 -0
- /package/build/types/{types-hoist → types}/severity.d.ts +0 -0
- /package/build/types/{types-hoist → types}/span.d.ts +0 -0
- /package/build/types/{types-hoist → types}/spanStatus.d.ts +0 -0
- /package/build/types/{types-hoist → types}/stackframe.d.ts +0 -0
- /package/build/types/{types-hoist → types}/stacktrace.d.ts +0 -0
- /package/build/types/{types-hoist → types}/thread.d.ts +0 -0
- /package/build/types/{types-hoist → types}/timedEvent.d.ts +0 -0
- /package/build/types/{types-hoist → types}/tracing.d.ts +0 -0
- /package/build/types/{types-hoist → types}/transaction.d.ts +0 -0
- /package/build/types/{types-hoist → types}/transport.d.ts +0 -0
- /package/build/types/{types-hoist → types}/user.d.ts +0 -0
- /package/build/types/{types-hoist → types}/view-hierarchy.d.ts +0 -0
- /package/build/types/{types-hoist → types}/vue.d.ts +0 -0
- /package/build/types/{types-hoist → types}/webfetchapi.d.ts +0 -0
- /package/build/types/{types-hoist → types}/wrappedfunction.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/attachment.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/breadcrumb.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/browseroptions.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/checkin.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/clientreport.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/context.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/csp.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/datacategory.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/debugMeta.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/dsn.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/envelope.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/error.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/event.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/eventprocessor.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/exception.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/extra.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/feedback/config.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/feedback/form.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/feedback/index.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/feedback/sendFeedback.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/feedback/theme.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/instrument.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/integration.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/link.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/log.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/measurement.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/mechanism.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/metric.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/misc.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/opentelemetry.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/package.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/parameterize.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/polymorphics.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/profiling.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/replay.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/request.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/runtime.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/sdkinfo.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/sdkmetadata.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/session.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/severity.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/span.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/spanStatus.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/stackframe.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/stacktrace.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/thread.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/timedEvent.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/tracing.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/transaction.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/transport.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/user.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/view-hierarchy.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/vue.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/webfetchapi.d.ts +0 -0
- /package/build/types-ts3.8/{types-hoist → types}/wrappedfunction.d.ts +0 -0
|
@@ -15,55 +15,42 @@ import { doubleWrapWarning } from './double-wrap-warning.js';
|
|
|
15
15
|
function getHttpClientSubscriptions(options) {
|
|
16
16
|
const propagationDecisionMap = new LRUMap(100);
|
|
17
17
|
const getConfig = () => getClient()?.getOptions();
|
|
18
|
-
|
|
19
18
|
const onHttpClientRequestCreated = (data) => {
|
|
20
|
-
// Skip all instrumentation if tracing is suppressed
|
|
21
|
-
// (e.g., Sentry's own transport uses this to avoid self-instrumentation)
|
|
22
19
|
if (getCurrentScope().getScopeData().sdkProcessingMetadata[SUPPRESS_TRACING_KEY] === true) {
|
|
23
20
|
return;
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
const clientOptions = getConfig();
|
|
27
23
|
const {
|
|
28
|
-
errorMonitor =
|
|
24
|
+
errorMonitor = "error",
|
|
29
25
|
spans: createSpans = clientOptions ? hasSpansEnabled(clientOptions) : true,
|
|
30
26
|
propagateTrace = false,
|
|
31
27
|
breadcrumbs = true,
|
|
32
28
|
http,
|
|
33
29
|
https,
|
|
34
|
-
suppressOtelWarning = false
|
|
30
|
+
suppressOtelWarning = false
|
|
35
31
|
} = options;
|
|
36
|
-
|
|
37
|
-
const { request } = data ;
|
|
38
|
-
|
|
39
|
-
// check if request is ignored. if so, we do nothing at all.
|
|
32
|
+
const { request } = data;
|
|
40
33
|
if (options.ignoreOutgoingRequests?.(getRequestUrlFromClientRequest(request), request)) {
|
|
41
34
|
return;
|
|
42
35
|
}
|
|
43
|
-
|
|
44
|
-
// guard against adding breadcrumbs multiple times, or when not enabled
|
|
45
36
|
let addedBreadcrumbs = false;
|
|
46
|
-
function addBreadcrumbs(
|
|
37
|
+
function addBreadcrumbs(request2, response) {
|
|
47
38
|
if (!addedBreadcrumbs) {
|
|
48
39
|
addedBreadcrumbs = true;
|
|
49
|
-
addOutgoingRequestBreadcrumb(
|
|
40
|
+
addOutgoingRequestBreadcrumb(request2, response);
|
|
50
41
|
}
|
|
51
42
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
request.prependListener('response', response => {
|
|
57
|
-
if (request.listenerCount('response') <= 1) {
|
|
43
|
+
function breadcrumbsOnly(request2) {
|
|
44
|
+
request2.on(errorMonitor, () => addBreadcrumbs(request2, void 0));
|
|
45
|
+
request2.prependListener("response", (response) => {
|
|
46
|
+
if (request2.listenerCount("response") <= 1) {
|
|
58
47
|
response.resume();
|
|
59
48
|
}
|
|
60
|
-
response.on(
|
|
61
|
-
response.on(errorMonitor, () => addBreadcrumbs(
|
|
49
|
+
response.on("end", () => addBreadcrumbs(request2, response));
|
|
50
|
+
response.on(errorMonitor, () => addBreadcrumbs(request2, response));
|
|
62
51
|
});
|
|
63
52
|
}
|
|
64
|
-
|
|
65
53
|
if (!createSpans) {
|
|
66
|
-
// no spans, but maybe tracing and/or breadcrumbs
|
|
67
54
|
if (breadcrumbs) {
|
|
68
55
|
breadcrumbsOnly(request);
|
|
69
56
|
}
|
|
@@ -72,21 +59,12 @@ function getHttpClientSubscriptions(options) {
|
|
|
72
59
|
}
|
|
73
60
|
return;
|
|
74
61
|
}
|
|
75
|
-
|
|
76
|
-
// guard against OTel wrapping the same module and emitting double-spans
|
|
77
|
-
// this doesn't prevent it, just prints a debug warning for the user.
|
|
78
62
|
if (!suppressOtelWarning) {
|
|
79
63
|
if (http) doubleWrapWarning(http);
|
|
80
64
|
if (https) doubleWrapWarning(https);
|
|
81
65
|
}
|
|
82
|
-
|
|
83
|
-
// spans are enabled
|
|
84
66
|
const span = startInactiveSpan(getOutgoingRequestSpanData(request));
|
|
85
67
|
options.outgoingRequestHook?.(span, request);
|
|
86
|
-
|
|
87
|
-
// Inject trace headers after span creation so sentry-trace contains the
|
|
88
|
-
// outgoing span's ID (not the parent's), enabling downstream services to
|
|
89
|
-
// link to this span.
|
|
90
68
|
if (propagateTrace) {
|
|
91
69
|
if (span.isRecording()) {
|
|
92
70
|
withActiveSpan(span, () => {
|
|
@@ -96,7 +74,6 @@ function getHttpClientSubscriptions(options) {
|
|
|
96
74
|
injectTracePropagationHeaders(request, propagationDecisionMap);
|
|
97
75
|
}
|
|
98
76
|
}
|
|
99
|
-
|
|
100
77
|
let spanEnded = false;
|
|
101
78
|
function endSpan(status) {
|
|
102
79
|
if (!spanEnded) {
|
|
@@ -105,58 +82,44 @@ function getHttpClientSubscriptions(options) {
|
|
|
105
82
|
span.end();
|
|
106
83
|
}
|
|
107
84
|
}
|
|
108
|
-
|
|
109
|
-
// Fallback: end span if the connection closes before any response.
|
|
110
|
-
// This is removed if we do get a response, because in that case
|
|
111
|
-
// we want to only end the span when the response is finished.
|
|
112
85
|
const requestOnClose = () => endSpan({ code: SPAN_STATUS_UNSET });
|
|
113
|
-
request.on(
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
DEBUG_BUILD && debug.log(LOG_PREFIX, 'outgoingRequest on request error()', error);
|
|
86
|
+
request.on("close", requestOnClose);
|
|
87
|
+
request.on(errorMonitor, (error) => {
|
|
88
|
+
DEBUG_BUILD && debug.log(LOG_PREFIX, "outgoingRequest on request error()", error);
|
|
117
89
|
if (breadcrumbs) {
|
|
118
|
-
addBreadcrumbs(request,
|
|
90
|
+
addBreadcrumbs(request, void 0);
|
|
119
91
|
}
|
|
120
92
|
endSpan({ code: SPAN_STATUS_ERROR });
|
|
121
93
|
});
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
// do not end the span until the response finishes
|
|
126
|
-
request.removeListener('close', requestOnClose);
|
|
127
|
-
if (request.listenerCount('response') <= 1) {
|
|
94
|
+
request.prependListener("response", (response) => {
|
|
95
|
+
request.removeListener("close", requestOnClose);
|
|
96
|
+
if (request.listenerCount("response") <= 1) {
|
|
128
97
|
response.resume();
|
|
129
98
|
}
|
|
130
99
|
setIncomingResponseSpanData(response, span);
|
|
131
100
|
options.outgoingResponseHook?.(span, response);
|
|
132
|
-
|
|
133
101
|
let finished = false;
|
|
134
102
|
function finishWithResponse(error) {
|
|
135
103
|
if (!finished) {
|
|
136
104
|
finished = true;
|
|
137
105
|
if (error) {
|
|
138
|
-
DEBUG_BUILD && debug.log(LOG_PREFIX,
|
|
106
|
+
DEBUG_BUILD && debug.log(LOG_PREFIX, "outgoingRequest on response error()", error);
|
|
139
107
|
}
|
|
140
108
|
if (breadcrumbs) {
|
|
141
109
|
addBreadcrumbs(request, response);
|
|
142
110
|
}
|
|
143
111
|
const aborted = response.aborted && !response.complete;
|
|
144
|
-
const status =
|
|
145
|
-
error || typeof response.statusCode !== 'number' || aborted
|
|
146
|
-
? { code: SPAN_STATUS_ERROR }
|
|
147
|
-
: getSpanStatusFromHttpCode(response.statusCode);
|
|
112
|
+
const status = error || typeof response.statusCode !== "number" || aborted ? { code: SPAN_STATUS_ERROR } : getSpanStatusFromHttpCode(response.statusCode);
|
|
148
113
|
options.applyCustomAttributesOnSpan?.(span, request, response);
|
|
149
114
|
endSpan(status);
|
|
150
115
|
}
|
|
151
116
|
}
|
|
152
|
-
|
|
153
|
-
response.on('end', () => finishWithResponse());
|
|
117
|
+
response.on("end", () => finishWithResponse());
|
|
154
118
|
response.on(errorMonitor, finishWithResponse);
|
|
155
119
|
});
|
|
156
120
|
};
|
|
157
|
-
|
|
158
121
|
return {
|
|
159
|
-
[HTTP_ON_CLIENT_REQUEST]: onHttpClientRequestCreated
|
|
122
|
+
[HTTP_ON_CLIENT_REQUEST]: onHttpClientRequestCreated
|
|
160
123
|
};
|
|
161
124
|
}
|
|
162
125
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-subscriptions.js","sources":["../../../../src/integrations/http/client-subscriptions.ts"],"sourcesContent":["/**\n * Define the channels and subscription methods to subscribe to in order to\n * instrument the `node:http` module. Note that this does *not* actually\n * register the subscriptions, it simply returns a data object with the\n * channel names and the subscription handlers. Attach these to diagnostic\n * channels on Node versions where they are supported (ie, >=22.12.0).\n *\n * If any other platforms that do support diagnostic channels eventually add\n * channel coverage for the `node:http` client, then these methods can be\n * used on those platforms as well.\n *\n * This implementation is used in the client-patch strategy, by simply\n * calling the handlers with the relevant data at the appropriate time.\n */\n\nimport type { SpanStatus } from '../../types-hoist/spanStatus';\nimport { addOutgoingRequestBreadcrumb } from './add-outgoing-request-breadcrumb';\nimport {\n getSpanStatusFromHttpCode,\n SPAN_STATUS_ERROR,\n SPAN_STATUS_UNSET,\n startInactiveSpan,\n SUPPRESS_TRACING_KEY,\n withActiveSpan,\n} from '../../tracing';\nimport { debug } from '../../utils/debug-logger';\nimport { LRUMap } from '../../utils/lru';\nimport { getOutgoingRequestSpanData, setIncomingResponseSpanData } from './get-outgoing-span-data';\nimport { getRequestUrlFromClientRequest } from './get-request-url';\nimport { injectTracePropagationHeaders } from './inject-trace-propagation-headers';\nimport type { HttpInstrumentationOptions, HttpClientRequest, HttpIncomingMessage } from './types';\nimport { DEBUG_BUILD } from '../../debug-build';\nimport { LOG_PREFIX, HTTP_ON_CLIENT_REQUEST } from './constants';\nimport type { ClientSubscriptionName } from './constants';\nimport { getClient, getCurrentScope } from '../../currentScopes';\nimport { hasSpansEnabled } from '../../utils/hasSpansEnabled';\nimport { doubleWrapWarning } from './double-wrap-warning';\n\ntype ChannelListener = (message: unknown, name: string | symbol) => void;\n\nexport type HttpClientSubscriptions = Record<ClientSubscriptionName, ChannelListener>;\n\nexport function getHttpClientSubscriptions(options: HttpInstrumentationOptions): HttpClientSubscriptions {\n const propagationDecisionMap = new LRUMap<string, boolean>(100);\n const getConfig = () => getClient()?.getOptions();\n\n const onHttpClientRequestCreated: ChannelListener = (data: unknown): void => {\n // Skip all instrumentation if tracing is suppressed\n // (e.g., Sentry's own transport uses this to avoid self-instrumentation)\n if (getCurrentScope().getScopeData().sdkProcessingMetadata[SUPPRESS_TRACING_KEY] === true) {\n return;\n }\n\n const clientOptions = getConfig();\n const {\n errorMonitor = 'error',\n spans: createSpans = clientOptions ? hasSpansEnabled(clientOptions) : true,\n propagateTrace = false,\n breadcrumbs = true,\n http,\n https,\n suppressOtelWarning = false,\n } = options;\n\n const { request } = data as { request: HttpClientRequest };\n\n // check if request is ignored. if so, we do nothing at all.\n if (options.ignoreOutgoingRequests?.(getRequestUrlFromClientRequest(request), request)) {\n return;\n }\n\n // guard against adding breadcrumbs multiple times, or when not enabled\n let addedBreadcrumbs = false;\n function addBreadcrumbs(request: HttpClientRequest, response: HttpIncomingMessage | undefined) {\n if (!addedBreadcrumbs) {\n addedBreadcrumbs = true;\n addOutgoingRequestBreadcrumb(request, response);\n }\n }\n\n // called if spans and/or trace propagation are disabled\n function breadcrumbsOnly(request: HttpClientRequest) {\n request.on(errorMonitor, () => addBreadcrumbs(request, undefined));\n request.prependListener('response', response => {\n if (request.listenerCount('response') <= 1) {\n response.resume();\n }\n response.on('end', () => addBreadcrumbs(request, response));\n response.on(errorMonitor, () => addBreadcrumbs(request, response));\n });\n }\n\n if (!createSpans) {\n // no spans, but maybe tracing and/or breadcrumbs\n if (breadcrumbs) {\n breadcrumbsOnly(request);\n }\n if (propagateTrace) {\n injectTracePropagationHeaders(request, propagationDecisionMap);\n }\n return;\n }\n\n // guard against OTel wrapping the same module and emitting double-spans\n // this doesn't prevent it, just prints a debug warning for the user.\n if (!suppressOtelWarning) {\n if (http) doubleWrapWarning(http);\n if (https) doubleWrapWarning(https);\n }\n\n // spans are enabled\n const span = startInactiveSpan(getOutgoingRequestSpanData(request));\n options.outgoingRequestHook?.(span, request);\n\n // Inject trace headers after span creation so sentry-trace contains the\n // outgoing span's ID (not the parent's), enabling downstream services to\n // link to this span.\n if (propagateTrace) {\n if (span.isRecording()) {\n withActiveSpan(span, () => {\n injectTracePropagationHeaders(request, propagationDecisionMap);\n });\n } else {\n injectTracePropagationHeaders(request, propagationDecisionMap);\n }\n }\n\n let spanEnded = false;\n function endSpan(status: SpanStatus): void {\n if (!spanEnded) {\n spanEnded = true;\n span.setStatus(status);\n span.end();\n }\n }\n\n // Fallback: end span if the connection closes before any response.\n // This is removed if we do get a response, because in that case\n // we want to only end the span when the response is finished.\n const requestOnClose = () => endSpan({ code: SPAN_STATUS_UNSET });\n request.on('close', requestOnClose);\n\n request.on(errorMonitor, error => {\n DEBUG_BUILD && debug.log(LOG_PREFIX, 'outgoingRequest on request error()', error);\n if (breadcrumbs) {\n addBreadcrumbs(request, undefined);\n }\n endSpan({ code: SPAN_STATUS_ERROR });\n });\n\n request.prependListener('response', response => {\n // no longer need this, listen on response now.\n // do not end the span until the response finishes\n request.removeListener('close', requestOnClose);\n if (request.listenerCount('response') <= 1) {\n response.resume();\n }\n setIncomingResponseSpanData(response, span);\n options.outgoingResponseHook?.(span, response);\n\n let finished = false;\n function finishWithResponse(error?: unknown): void {\n if (!finished) {\n finished = true;\n if (error) {\n DEBUG_BUILD && debug.log(LOG_PREFIX, 'outgoingRequest on response error()', error);\n }\n if (breadcrumbs) {\n addBreadcrumbs(request, response);\n }\n const aborted = response.aborted && !response.complete;\n const status: SpanStatus =\n error || typeof response.statusCode !== 'number' || aborted\n ? { code: SPAN_STATUS_ERROR }\n : getSpanStatusFromHttpCode(response.statusCode);\n options.applyCustomAttributesOnSpan?.(span, request, response);\n endSpan(status);\n }\n }\n\n response.on('end', () => finishWithResponse());\n response.on(errorMonitor, finishWithResponse);\n });\n };\n\n return {\n [HTTP_ON_CLIENT_REQUEST]: onHttpClientRequestCreated,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client-subscriptions.js","sources":["../../../../src/integrations/http/client-subscriptions.ts"],"sourcesContent":["/**\n * Define the channels and subscription methods to subscribe to in order to\n * instrument the `node:http` module. Note that this does *not* actually\n * register the subscriptions, it simply returns a data object with the\n * channel names and the subscription handlers. Attach these to diagnostic\n * channels on Node versions where they are supported (ie, >=22.12.0).\n *\n * If any other platforms that do support diagnostic channels eventually add\n * channel coverage for the `node:http` client, then these methods can be\n * used on those platforms as well.\n *\n * This implementation is used in the client-patch strategy, by simply\n * calling the handlers with the relevant data at the appropriate time.\n */\n\nimport type { SpanStatus } from '../../types/spanStatus';\nimport { addOutgoingRequestBreadcrumb } from './add-outgoing-request-breadcrumb';\nimport {\n getSpanStatusFromHttpCode,\n SPAN_STATUS_ERROR,\n SPAN_STATUS_UNSET,\n startInactiveSpan,\n SUPPRESS_TRACING_KEY,\n withActiveSpan,\n} from '../../tracing';\nimport { debug } from '../../utils/debug-logger';\nimport { LRUMap } from '../../utils/lru';\nimport { getOutgoingRequestSpanData, setIncomingResponseSpanData } from './get-outgoing-span-data';\nimport { getRequestUrlFromClientRequest } from './get-request-url';\nimport { injectTracePropagationHeaders } from './inject-trace-propagation-headers';\nimport type { HttpInstrumentationOptions, HttpClientRequest, HttpIncomingMessage } from './types';\nimport { DEBUG_BUILD } from '../../debug-build';\nimport { LOG_PREFIX, HTTP_ON_CLIENT_REQUEST } from './constants';\nimport type { ClientSubscriptionName } from './constants';\nimport { getClient, getCurrentScope } from '../../currentScopes';\nimport { hasSpansEnabled } from '../../utils/hasSpansEnabled';\nimport { doubleWrapWarning } from './double-wrap-warning';\n\ntype ChannelListener = (message: unknown, name: string | symbol) => void;\n\nexport type HttpClientSubscriptions = Record<ClientSubscriptionName, ChannelListener>;\n\nexport function getHttpClientSubscriptions(options: HttpInstrumentationOptions): HttpClientSubscriptions {\n const propagationDecisionMap = new LRUMap<string, boolean>(100);\n const getConfig = () => getClient()?.getOptions();\n\n const onHttpClientRequestCreated: ChannelListener = (data: unknown): void => {\n // Skip all instrumentation if tracing is suppressed\n // (e.g., Sentry's own transport uses this to avoid self-instrumentation)\n if (getCurrentScope().getScopeData().sdkProcessingMetadata[SUPPRESS_TRACING_KEY] === true) {\n return;\n }\n\n const clientOptions = getConfig();\n const {\n errorMonitor = 'error',\n spans: createSpans = clientOptions ? hasSpansEnabled(clientOptions) : true,\n propagateTrace = false,\n breadcrumbs = true,\n http,\n https,\n suppressOtelWarning = false,\n } = options;\n\n const { request } = data as { request: HttpClientRequest };\n\n // check if request is ignored. if so, we do nothing at all.\n if (options.ignoreOutgoingRequests?.(getRequestUrlFromClientRequest(request), request)) {\n return;\n }\n\n // guard against adding breadcrumbs multiple times, or when not enabled\n let addedBreadcrumbs = false;\n function addBreadcrumbs(request: HttpClientRequest, response: HttpIncomingMessage | undefined) {\n if (!addedBreadcrumbs) {\n addedBreadcrumbs = true;\n addOutgoingRequestBreadcrumb(request, response);\n }\n }\n\n // called if spans and/or trace propagation are disabled\n function breadcrumbsOnly(request: HttpClientRequest) {\n request.on(errorMonitor, () => addBreadcrumbs(request, undefined));\n request.prependListener('response', response => {\n if (request.listenerCount('response') <= 1) {\n response.resume();\n }\n response.on('end', () => addBreadcrumbs(request, response));\n response.on(errorMonitor, () => addBreadcrumbs(request, response));\n });\n }\n\n if (!createSpans) {\n // no spans, but maybe tracing and/or breadcrumbs\n if (breadcrumbs) {\n breadcrumbsOnly(request);\n }\n if (propagateTrace) {\n injectTracePropagationHeaders(request, propagationDecisionMap);\n }\n return;\n }\n\n // guard against OTel wrapping the same module and emitting double-spans\n // this doesn't prevent it, just prints a debug warning for the user.\n if (!suppressOtelWarning) {\n if (http) doubleWrapWarning(http);\n if (https) doubleWrapWarning(https);\n }\n\n // spans are enabled\n const span = startInactiveSpan(getOutgoingRequestSpanData(request));\n options.outgoingRequestHook?.(span, request);\n\n // Inject trace headers after span creation so sentry-trace contains the\n // outgoing span's ID (not the parent's), enabling downstream services to\n // link to this span.\n if (propagateTrace) {\n if (span.isRecording()) {\n withActiveSpan(span, () => {\n injectTracePropagationHeaders(request, propagationDecisionMap);\n });\n } else {\n injectTracePropagationHeaders(request, propagationDecisionMap);\n }\n }\n\n let spanEnded = false;\n function endSpan(status: SpanStatus): void {\n if (!spanEnded) {\n spanEnded = true;\n span.setStatus(status);\n span.end();\n }\n }\n\n // Fallback: end span if the connection closes before any response.\n // This is removed if we do get a response, because in that case\n // we want to only end the span when the response is finished.\n const requestOnClose = () => endSpan({ code: SPAN_STATUS_UNSET });\n request.on('close', requestOnClose);\n\n request.on(errorMonitor, error => {\n DEBUG_BUILD && debug.log(LOG_PREFIX, 'outgoingRequest on request error()', error);\n if (breadcrumbs) {\n addBreadcrumbs(request, undefined);\n }\n endSpan({ code: SPAN_STATUS_ERROR });\n });\n\n request.prependListener('response', response => {\n // no longer need this, listen on response now.\n // do not end the span until the response finishes\n request.removeListener('close', requestOnClose);\n if (request.listenerCount('response') <= 1) {\n response.resume();\n }\n setIncomingResponseSpanData(response, span);\n options.outgoingResponseHook?.(span, response);\n\n let finished = false;\n function finishWithResponse(error?: unknown): void {\n if (!finished) {\n finished = true;\n if (error) {\n DEBUG_BUILD && debug.log(LOG_PREFIX, 'outgoingRequest on response error()', error);\n }\n if (breadcrumbs) {\n addBreadcrumbs(request, response);\n }\n const aborted = response.aborted && !response.complete;\n const status: SpanStatus =\n error || typeof response.statusCode !== 'number' || aborted\n ? { code: SPAN_STATUS_ERROR }\n : getSpanStatusFromHttpCode(response.statusCode);\n options.applyCustomAttributesOnSpan?.(span, request, response);\n endSpan(status);\n }\n }\n\n response.on('end', () => finishWithResponse());\n response.on(errorMonitor, finishWithResponse);\n });\n };\n\n return {\n [HTTP_ON_CLIENT_REQUEST]: onHttpClientRequestCreated,\n };\n}\n"],"names":["request"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const LOG_PREFIX =
|
|
2
|
-
const HTTP_ON_CLIENT_REQUEST =
|
|
3
|
-
const HTTP_ON_SERVER_REQUEST =
|
|
1
|
+
const LOG_PREFIX = "@sentry/instrumentation-http";
|
|
2
|
+
const HTTP_ON_CLIENT_REQUEST = "http.client.request.created";
|
|
3
|
+
const HTTP_ON_SERVER_REQUEST = "http.server.request.start";
|
|
4
4
|
|
|
5
5
|
export { HTTP_ON_CLIENT_REQUEST, HTTP_ON_SERVER_REQUEST, LOG_PREFIX };
|
|
6
6
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
import { DEBUG_BUILD } from '../../debug-build.js';
|
|
2
2
|
import { debug } from '../../utils/debug-logger.js';
|
|
3
3
|
|
|
4
|
-
const isOtelWrapped = (fn) =>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
// exported for tess
|
|
8
|
-
const warning =
|
|
9
|
-
'Double-wrapped http.client detected. Either disable spans in Sentry.httpIntegration, or disable the OpenTelemetry HTTP instrumentation.';
|
|
10
|
-
|
|
4
|
+
const isOtelWrapped = (fn) => typeof fn.__unwrap === "function";
|
|
5
|
+
const warning = "Double-wrapped http.client detected. Either disable spans in Sentry.httpIntegration, or disable the OpenTelemetry HTTP instrumentation. See: https://docs.sentry.io/platforms/javascript/guides/express/opentelemetry/custom-setup/#custom-http-instrumentation";
|
|
11
6
|
let didDoubleWrapWarning = false;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
// TODO: add link to documentation
|
|
18
|
-
didDoubleWrapWarning = true;
|
|
19
|
-
debug.warn(warning);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
7
|
+
const doubleWrapWarning = DEBUG_BUILD ? (http) => {
|
|
8
|
+
if (!didDoubleWrapWarning) {
|
|
9
|
+
if (isOtelWrapped(http.request) || isOtelWrapped(http.get)) {
|
|
10
|
+
didDoubleWrapWarning = true;
|
|
11
|
+
debug.warn(warning);
|
|
22
12
|
}
|
|
23
|
-
|
|
13
|
+
}
|
|
14
|
+
} : () => {
|
|
15
|
+
};
|
|
24
16
|
|
|
25
17
|
export { doubleWrapWarning, warning };
|
|
26
18
|
//# sourceMappingURL=double-wrap-warning.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"double-wrap-warning.js","sources":["../../../../src/integrations/http/double-wrap-warning.ts"],"sourcesContent":["import { DEBUG_BUILD } from '../../debug-build';\nimport { debug } from '../../utils/debug-logger';\nimport type { HttpModuleExport } from './types';\n\nconst isOtelWrapped = (fn: Function & { __unwrap?: Function }): fn is Function & { __unwrap: Function } =>\n typeof fn.__unwrap === 'function';\n\n// exported for tess\nexport const warning =\n 'Double-wrapped http.client detected. Either disable spans in Sentry.httpIntegration, or disable the OpenTelemetry HTTP instrumentation.';\n\nlet didDoubleWrapWarning = false;\n// no-op in non-debug builds\nexport const doubleWrapWarning = DEBUG_BUILD\n ? (http: HttpModuleExport) => {\n if (!didDoubleWrapWarning) {\n if (isOtelWrapped(http.request) || isOtelWrapped(http.get)) {\n
|
|
1
|
+
{"version":3,"file":"double-wrap-warning.js","sources":["../../../../src/integrations/http/double-wrap-warning.ts"],"sourcesContent":["import { DEBUG_BUILD } from '../../debug-build';\nimport { debug } from '../../utils/debug-logger';\nimport type { HttpModuleExport } from './types';\n\nconst isOtelWrapped = (fn: Function & { __unwrap?: Function }): fn is Function & { __unwrap: Function } =>\n typeof fn.__unwrap === 'function';\n\n// exported for tess\nexport const warning =\n 'Double-wrapped http.client detected. Either disable spans in Sentry.httpIntegration, or disable the OpenTelemetry HTTP instrumentation. See: https://docs.sentry.io/platforms/javascript/guides/express/opentelemetry/custom-setup/#custom-http-instrumentation';\n\nlet didDoubleWrapWarning = false;\n// no-op in non-debug builds\nexport const doubleWrapWarning = DEBUG_BUILD\n ? (http: HttpModuleExport) => {\n if (!didDoubleWrapWarning) {\n if (isOtelWrapped(http.request) || isOtelWrapped(http.get)) {\n didDoubleWrapWarning = true;\n debug.warn(warning);\n }\n }\n }\n : () => {};\n"],"names":[],"mappings":";;;AAIA,MAAM,aAAA,GAAgB,CAAC,EAAA,KACrB,OAAO,GAAG,QAAA,KAAa,UAAA;AAGlB,MAAM,OAAA,GACX;AAEF,IAAI,oBAAA,GAAuB,KAAA;AAEpB,MAAM,iBAAA,GAAoB,WAAA,GAC7B,CAAC,IAAA,KAA2B;AAC1B,EAAA,IAAI,CAAC,oBAAA,EAAsB;AACzB,IAAA,IAAI,cAAc,IAAA,CAAK,OAAO,KAAK,aAAA,CAAc,IAAA,CAAK,GAAG,CAAA,EAAG;AAC1D,MAAA,oBAAA,GAAuB,IAAA;AACvB,MAAA,KAAA,CAAM,KAAK,OAAO,CAAA;AAAA,IACpB;AAAA,EACF;AACF,CAAA,GACA,MAAM;AAAC;;;;"}
|
|
@@ -2,83 +2,66 @@ import { SEMANTIC_ATTRIBUTE_SENTRY_OP } from '../../semanticAttributes.js';
|
|
|
2
2
|
import { getHttpSpanDetailsFromUrlObject, parseStringToURLObject } from '../../utils/url.js';
|
|
3
3
|
import { getRequestUrlFromClientRequest } from './get-request-url.js';
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* Build the initial span name and attributes for an outgoing HTTP request.
|
|
7
|
-
* This is called before the span is created, to get the initial details.
|
|
8
|
-
*/
|
|
9
5
|
function getOutgoingRequestSpanData(request) {
|
|
10
6
|
const url = getRequestUrlFromClientRequest(request);
|
|
11
7
|
const [name, attributes] = getHttpSpanDetailsFromUrlObject(
|
|
12
8
|
parseStringToURLObject(url),
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
request
|
|
9
|
+
"client",
|
|
10
|
+
"auto.http.client",
|
|
11
|
+
request
|
|
16
12
|
);
|
|
17
|
-
|
|
18
|
-
const userAgent = request.getHeader('user-agent');
|
|
19
|
-
|
|
13
|
+
const userAgent = request.getHeader("user-agent");
|
|
20
14
|
return {
|
|
21
15
|
name,
|
|
22
16
|
attributes: {
|
|
23
17
|
// TODO(v11): Update these to the Sentry semantic attributes for urls.
|
|
24
18
|
// https://getsentry.github.io/sentry-conventions/attributes/
|
|
25
|
-
[SEMANTIC_ATTRIBUTE_SENTRY_OP]:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
...
|
|
33
|
-
...attributes
|
|
19
|
+
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: "http.client",
|
|
20
|
+
"otel.kind": "CLIENT",
|
|
21
|
+
"http.url": url,
|
|
22
|
+
"http.method": request.method,
|
|
23
|
+
"http.target": request.path || "/",
|
|
24
|
+
"net.peer.name": request.host,
|
|
25
|
+
"http.host": request.getHeader("host"),
|
|
26
|
+
...userAgent ? { "user_agent.original": userAgent } : {},
|
|
27
|
+
...attributes
|
|
34
28
|
},
|
|
35
|
-
onlyIfParent: true
|
|
29
|
+
onlyIfParent: true
|
|
36
30
|
};
|
|
37
31
|
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Add span attributes once the response is received.
|
|
41
|
-
*/
|
|
42
32
|
function setIncomingResponseSpanData(response, span) {
|
|
43
33
|
const { statusCode, statusMessage, httpVersion, socket } = response;
|
|
44
|
-
const transport = httpVersion?.toUpperCase() !==
|
|
45
|
-
|
|
34
|
+
const transport = httpVersion?.toUpperCase() !== "QUIC" ? "ip_tcp" : "ip_udp";
|
|
46
35
|
span.setAttributes({
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
"http.response.status_code": statusCode,
|
|
37
|
+
"network.protocol.version": httpVersion,
|
|
49
38
|
// TODO(v11): Update these to the Sentry semantic attributes for urls.
|
|
50
39
|
// https://getsentry.github.io/sentry-conventions/attributes/
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
40
|
+
"http.flavor": httpVersion,
|
|
41
|
+
"network.transport": transport,
|
|
42
|
+
"net.transport": transport,
|
|
43
|
+
"http.status_text": statusMessage?.toUpperCase(),
|
|
44
|
+
"http.status_code": statusCode,
|
|
56
45
|
...getResponseContentLengthAttributes(response),
|
|
57
|
-
...getSocketAttrs(socket)
|
|
46
|
+
...getSocketAttrs(socket)
|
|
58
47
|
});
|
|
59
48
|
}
|
|
60
|
-
|
|
61
49
|
function getSocketAttrs(socket) {
|
|
62
50
|
if (!socket) return {};
|
|
63
51
|
const { remoteAddress, remotePort } = socket;
|
|
64
52
|
return {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
53
|
+
"network.peer.address": remoteAddress,
|
|
54
|
+
"network.peer.port": remotePort,
|
|
55
|
+
"net.peer.ip": remoteAddress,
|
|
56
|
+
"net.peer.port": remotePort
|
|
69
57
|
};
|
|
70
58
|
}
|
|
71
|
-
|
|
72
59
|
function getResponseContentLengthAttributes(response) {
|
|
73
60
|
const { headers } = response;
|
|
74
|
-
const contentLengthHeader = headers[
|
|
61
|
+
const contentLengthHeader = headers["content-length"];
|
|
75
62
|
const length = contentLengthHeader ? parseInt(String(contentLengthHeader), 10) : -1;
|
|
76
|
-
const encoding = headers[
|
|
77
|
-
return length >= 0
|
|
78
|
-
? encoding && encoding !== 'identity'
|
|
79
|
-
? { 'http.response_content_length': length }
|
|
80
|
-
: { 'http.response_content_length_uncompressed': length }
|
|
81
|
-
: {};
|
|
63
|
+
const encoding = headers["content-encoding"];
|
|
64
|
+
return length >= 0 ? encoding && encoding !== "identity" ? { "http.response_content_length": length } : { "http.response_content_length_uncompressed": length } : {};
|
|
82
65
|
}
|
|
83
66
|
|
|
84
67
|
export { getOutgoingRequestSpanData, setIncomingResponseSpanData };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-outgoing-span-data.js","sources":["../../../../src/integrations/http/get-outgoing-span-data.ts"],"sourcesContent":["import type { Span, SpanAttributes } from '../../types
|
|
1
|
+
{"version":3,"file":"get-outgoing-span-data.js","sources":["../../../../src/integrations/http/get-outgoing-span-data.ts"],"sourcesContent":["import type { Span, SpanAttributes } from '../../types/span';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP } from '../../semanticAttributes';\nimport { getHttpSpanDetailsFromUrlObject, parseStringToURLObject } from '../../utils/url';\nimport type { HttpClientRequest, HttpIncomingMessage } from './types';\nimport { getRequestUrlFromClientRequest } from './get-request-url';\nimport type { StartSpanOptions } from '../../types/startSpanOptions';\n\n/**\n * Build the initial span name and attributes for an outgoing HTTP request.\n * This is called before the span is created, to get the initial details.\n */\nexport function getOutgoingRequestSpanData(request: HttpClientRequest): StartSpanOptions {\n const url = getRequestUrlFromClientRequest(request);\n const [name, attributes] = getHttpSpanDetailsFromUrlObject(\n parseStringToURLObject(url),\n 'client',\n 'auto.http.client',\n request,\n );\n\n const userAgent = request.getHeader('user-agent');\n\n return {\n name,\n attributes: {\n // TODO(v11): Update these to the Sentry semantic attributes for urls.\n // https://getsentry.github.io/sentry-conventions/attributes/\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'http.client',\n 'otel.kind': 'CLIENT',\n 'http.url': url,\n 'http.method': request.method,\n 'http.target': request.path || '/',\n 'net.peer.name': request.host,\n 'http.host': request.getHeader('host') as string | undefined,\n ...(userAgent ? { 'user_agent.original': userAgent as string } : {}),\n ...attributes,\n },\n onlyIfParent: true,\n };\n}\n\n/**\n * Add span attributes once the response is received.\n */\nexport function setIncomingResponseSpanData(response: HttpIncomingMessage, span: Span): void {\n const { statusCode, statusMessage, httpVersion, socket } = response;\n const transport = httpVersion?.toUpperCase() !== 'QUIC' ? 'ip_tcp' : 'ip_udp';\n\n span.setAttributes({\n 'http.response.status_code': statusCode,\n 'network.protocol.version': httpVersion,\n // TODO(v11): Update these to the Sentry semantic attributes for urls.\n // https://getsentry.github.io/sentry-conventions/attributes/\n 'http.flavor': httpVersion,\n 'network.transport': transport,\n 'net.transport': transport,\n 'http.status_text': statusMessage?.toUpperCase(),\n 'http.status_code': statusCode,\n ...getResponseContentLengthAttributes(response),\n ...getSocketAttrs(socket),\n });\n}\n\nfunction getSocketAttrs(socket: HttpIncomingMessage['socket']): SpanAttributes {\n if (!socket) return {};\n const { remoteAddress, remotePort } = socket;\n return {\n 'network.peer.address': remoteAddress,\n 'network.peer.port': remotePort,\n 'net.peer.ip': remoteAddress,\n 'net.peer.port': remotePort,\n };\n}\n\nfunction getResponseContentLengthAttributes(response: HttpIncomingMessage): SpanAttributes {\n const { headers } = response;\n const contentLengthHeader = headers['content-length'];\n const length = contentLengthHeader ? parseInt(String(contentLengthHeader), 10) : -1;\n const encoding = headers['content-encoding'];\n return length >= 0\n ? encoding && encoding !== 'identity'\n ? { 'http.response_content_length': length }\n : { 'http.response_content_length_uncompressed': length }\n : {};\n}\n"],"names":[],"mappings":";;;;AAWO,SAAS,2BAA2B,OAAA,EAA8C;AACvF,EAAA,MAAM,GAAA,GAAM,+BAA+B,OAAO,CAAA;AAClD,EAAA,MAAM,CAAC,IAAA,EAAM,UAAU,CAAA,GAAI,+BAAA;AAAA,IACzB,uBAAuB,GAAG,CAAA;AAAA,IAC1B,QAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,SAAA,CAAU,YAAY,CAAA;AAEhD,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,UAAA,EAAY;AAAA;AAAA;AAAA,MAGV,CAAC,4BAA4B,GAAG,aAAA;AAAA,MAChC,WAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAY,GAAA;AAAA,MACZ,eAAe,OAAA,CAAQ,MAAA;AAAA,MACvB,aAAA,EAAe,QAAQ,IAAA,IAAQ,GAAA;AAAA,MAC/B,iBAAiB,OAAA,CAAQ,IAAA;AAAA,MACzB,WAAA,EAAa,OAAA,CAAQ,SAAA,CAAU,MAAM,CAAA;AAAA,MACrC,GAAI,SAAA,GAAY,EAAE,qBAAA,EAAuB,SAAA,KAAwB,EAAC;AAAA,MAClE,GAAG;AAAA,KACL;AAAA,IACA,YAAA,EAAc;AAAA,GAChB;AACF;AAKO,SAAS,2BAAA,CAA4B,UAA+B,IAAA,EAAkB;AAC3F,EAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,WAAA,EAAa,QAAO,GAAI,QAAA;AAC3D,EAAA,MAAM,SAAA,GAAY,WAAA,EAAa,WAAA,EAAY,KAAM,SAAS,QAAA,GAAW,QAAA;AAErE,EAAA,IAAA,CAAK,aAAA,CAAc;AAAA,IACjB,2BAAA,EAA6B,UAAA;AAAA,IAC7B,0BAAA,EAA4B,WAAA;AAAA;AAAA;AAAA,IAG5B,aAAA,EAAe,WAAA;AAAA,IACf,mBAAA,EAAqB,SAAA;AAAA,IACrB,eAAA,EAAiB,SAAA;AAAA,IACjB,kBAAA,EAAoB,eAAe,WAAA,EAAY;AAAA,IAC/C,kBAAA,EAAoB,UAAA;AAAA,IACpB,GAAG,mCAAmC,QAAQ,CAAA;AAAA,IAC9C,GAAG,eAAe,MAAM;AAAA,GACzB,CAAA;AACH;AAEA,SAAS,eAAe,MAAA,EAAuD;AAC7E,EAAA,IAAI,CAAC,MAAA,EAAQ,OAAO,EAAC;AACrB,EAAA,MAAM,EAAE,aAAA,EAAe,UAAA,EAAW,GAAI,MAAA;AACtC,EAAA,OAAO;AAAA,IACL,sBAAA,EAAwB,aAAA;AAAA,IACxB,mBAAA,EAAqB,UAAA;AAAA,IACrB,aAAA,EAAe,aAAA;AAAA,IACf,eAAA,EAAiB;AAAA,GACnB;AACF;AAEA,SAAS,mCAAmC,QAAA,EAA+C;AACzF,EAAA,MAAM,EAAE,SAAQ,GAAI,QAAA;AACpB,EAAA,MAAM,mBAAA,GAAsB,QAAQ,gBAAgB,CAAA;AACpD,EAAA,MAAM,SAAS,mBAAA,GAAsB,QAAA,CAAS,OAAO,mBAAmB,CAAA,EAAG,EAAE,CAAA,GAAI,EAAA;AACjF,EAAA,MAAM,QAAA,GAAW,QAAQ,kBAAkB,CAAA;AAC3C,EAAA,OAAO,MAAA,IAAU,CAAA,GACb,QAAA,IAAY,QAAA,KAAa,UAAA,GACvB,EAAE,8BAAA,EAAgC,MAAA,EAAO,GACzC,EAAE,2CAAA,EAA6C,MAAA,KACjD,EAAC;AACP;;;;"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
/** Convert an outgoing request to request options. */
|
|
2
1
|
function getRequestOptions(request) {
|
|
3
|
-
|
|
4
|
-
// { host: 'hostname:port' } to http.request(). Split it so that
|
|
5
|
-
// `hostname` is always port-free (matching the http.RequestOptions contract)
|
|
6
|
-
// and the port is not lost when request.port is undefined.
|
|
7
|
-
const hostWithPort = request.host || '';
|
|
2
|
+
const hostWithPort = request.host || "";
|
|
8
3
|
const portInHost = /^(.*):(\d+)$/.exec(hostWithPort);
|
|
9
4
|
const hostname = portInHost ? portInHost[1] : hostWithPort;
|
|
10
|
-
const port = request.port ?? (portInHost ? Number(portInHost[2]) :
|
|
11
|
-
|
|
5
|
+
const port = request.port ?? (portInHost ? Number(portInHost[2]) : void 0);
|
|
12
6
|
return {
|
|
13
7
|
method: request.method,
|
|
14
8
|
port,
|
|
@@ -16,31 +10,20 @@ function getRequestOptions(request) {
|
|
|
16
10
|
host: request.host,
|
|
17
11
|
hostname,
|
|
18
12
|
path: request.path,
|
|
19
|
-
headers: request.getHeaders()
|
|
13
|
+
headers: request.getHeaders()
|
|
20
14
|
};
|
|
21
15
|
}
|
|
22
|
-
|
|
23
16
|
function getRequestUrl(requestOptions) {
|
|
24
17
|
return String(getRequestUrlObject(requestOptions));
|
|
25
18
|
}
|
|
26
|
-
|
|
27
19
|
function getRequestUrlObject(requestOptions) {
|
|
28
|
-
const protocol = requestOptions.protocol ||
|
|
20
|
+
const protocol = requestOptions.protocol || "http:";
|
|
29
21
|
const hostHeader = requestOptions.headers?.host && String(requestOptions.headers?.host);
|
|
30
|
-
const hostname = hostHeader || requestOptions.hostname || requestOptions.host ||
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const port =
|
|
34
|
-
!requestOptions.port || requestOptions.port === 80 || requestOptions.port === 443 || /^(.*):(\d+)$/.test(hostname)
|
|
35
|
-
? ''
|
|
36
|
-
: `:${requestOptions.port}`;
|
|
37
|
-
const path = requestOptions.path ? requestOptions.path : '/';
|
|
22
|
+
const hostname = hostHeader || requestOptions.hostname || requestOptions.host || "";
|
|
23
|
+
const port = !requestOptions.port || requestOptions.port === 80 || requestOptions.port === 443 || /^(.*):(\d+)$/.test(hostname) ? "" : `:${requestOptions.port}`;
|
|
24
|
+
const path = requestOptions.path ? requestOptions.path : "/";
|
|
38
25
|
return new URL(path, `${protocol}//${hostname}${port}`);
|
|
39
26
|
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Build the full URL string from a Node.js ClientRequest.
|
|
43
|
-
*/
|
|
44
27
|
function getRequestUrlFromClientRequest(request) {
|
|
45
28
|
return String(getRequestUrl(getRequestOptions(request)));
|
|
46
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-request-url.js","sources":["../../../../src/integrations/http/get-request-url.ts"],"sourcesContent":["import type { HttpClientRequest, HttpRequestOptions } from './types';\n\n/** Convert an outgoing request to request options. */\nexport function getRequestOptions(request: HttpClientRequest): HttpRequestOptions {\n // request.host may be 'hostname:port' when the caller passed\n // { host: 'hostname:port' } to http.request(). Split it so that\n // `hostname` is always port-free (matching the http.RequestOptions contract)\n // and the port is not lost when request.port is undefined.\n const hostWithPort = request.host || '';\n const portInHost = /^(.*):(\\d+)$/.exec(hostWithPort);\n const hostname = portInHost ? portInHost[1] : hostWithPort;\n const port = request.port ?? (portInHost ? Number(portInHost[2]) : undefined);\n\n return {\n method: request.method,\n port,\n protocol: request.protocol,\n host: request.host,\n hostname,\n path: request.path,\n headers: request.getHeaders(),\n };\n}\n\nexport function getRequestUrl(requestOptions: HttpRequestOptions): string {\n return String(getRequestUrlObject(requestOptions));\n}\n\nexport function getRequestUrlObject(requestOptions: HttpRequestOptions): URL {\n const protocol = requestOptions.protocol || 'http:';\n const hostHeader = requestOptions.headers?.host && String(requestOptions.headers?.host);\n const hostname = hostHeader || requestOptions.hostname || requestOptions.host || '';\n // Don't log standard :80 (http) and :443 (https) ports to reduce the noise\n // Also don't add port if the hostname already includes a port\n const port =\n !requestOptions.port || requestOptions.port === 80 || requestOptions.port === 443 || /^(.*):(\\d+)$/.test(hostname)\n ? ''\n : `:${requestOptions.port}`;\n const path = requestOptions.path ? requestOptions.path : '/';\n return new URL(path, `${protocol}//${hostname}${port}`);\n}\n\n/**\n * Build the full URL string from a Node.js ClientRequest.\n */\nexport function getRequestUrlFromClientRequest(request: HttpClientRequest): string {\n return String(getRequestUrl(getRequestOptions(request)));\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-request-url.js","sources":["../../../../src/integrations/http/get-request-url.ts"],"sourcesContent":["import type { HttpClientRequest, HttpRequestOptions } from './types';\n\n/** Convert an outgoing request to request options. */\nexport function getRequestOptions(request: HttpClientRequest): HttpRequestOptions {\n // request.host may be 'hostname:port' when the caller passed\n // { host: 'hostname:port' } to http.request(). Split it so that\n // `hostname` is always port-free (matching the http.RequestOptions contract)\n // and the port is not lost when request.port is undefined.\n const hostWithPort = request.host || '';\n const portInHost = /^(.*):(\\d+)$/.exec(hostWithPort);\n const hostname = portInHost ? portInHost[1] : hostWithPort;\n const port = request.port ?? (portInHost ? Number(portInHost[2]) : undefined);\n\n return {\n method: request.method,\n port,\n protocol: request.protocol,\n host: request.host,\n hostname,\n path: request.path,\n headers: request.getHeaders(),\n };\n}\n\nexport function getRequestUrl(requestOptions: HttpRequestOptions): string {\n return String(getRequestUrlObject(requestOptions));\n}\n\nexport function getRequestUrlObject(requestOptions: HttpRequestOptions): URL {\n const protocol = requestOptions.protocol || 'http:';\n const hostHeader = requestOptions.headers?.host && String(requestOptions.headers?.host);\n const hostname = hostHeader || requestOptions.hostname || requestOptions.host || '';\n // Don't log standard :80 (http) and :443 (https) ports to reduce the noise\n // Also don't add port if the hostname already includes a port\n const port =\n !requestOptions.port || requestOptions.port === 80 || requestOptions.port === 443 || /^(.*):(\\d+)$/.test(hostname)\n ? ''\n : `:${requestOptions.port}`;\n const path = requestOptions.path ? requestOptions.path : '/';\n return new URL(path, `${protocol}//${hostname}${port}`);\n}\n\n/**\n * Build the full URL string from a Node.js ClientRequest.\n */\nexport function getRequestUrlFromClientRequest(request: HttpClientRequest): string {\n return String(getRequestUrl(getRequestOptions(request)));\n}\n"],"names":[],"mappings":"AAGO,SAAS,kBAAkB,OAAA,EAAgD;AAKhF,EAAA,MAAM,YAAA,GAAe,QAAQ,IAAA,IAAQ,EAAA;AACrC,EAAA,MAAM,UAAA,GAAa,cAAA,CAAe,IAAA,CAAK,YAAY,CAAA;AACnD,EAAA,MAAM,QAAA,GAAW,UAAA,GAAa,UAAA,CAAW,CAAC,CAAA,GAAI,YAAA;AAC9C,EAAA,MAAM,IAAA,GAAO,QAAQ,IAAA,KAAS,UAAA,GAAa,OAAO,UAAA,CAAW,CAAC,CAAC,CAAA,GAAI,MAAA,CAAA;AAEnE,EAAA,OAAO;AAAA,IACL,QAAQ,OAAA,CAAQ,MAAA;AAAA,IAChB,IAAA;AAAA,IACA,UAAU,OAAA,CAAQ,QAAA;AAAA,IAClB,MAAM,OAAA,CAAQ,IAAA;AAAA,IACd,QAAA;AAAA,IACA,MAAM,OAAA,CAAQ,IAAA;AAAA,IACd,OAAA,EAAS,QAAQ,UAAA;AAAW,GAC9B;AACF;AAEO,SAAS,cAAc,cAAA,EAA4C;AACxE,EAAA,OAAO,MAAA,CAAO,mBAAA,CAAoB,cAAc,CAAC,CAAA;AACnD;AAEO,SAAS,oBAAoB,cAAA,EAAyC;AAC3E,EAAA,MAAM,QAAA,GAAW,eAAe,QAAA,IAAY,OAAA;AAC5C,EAAA,MAAM,aAAa,cAAA,CAAe,OAAA,EAAS,QAAQ,MAAA,CAAO,cAAA,CAAe,SAAS,IAAI,CAAA;AACtF,EAAA,MAAM,QAAA,GAAW,UAAA,IAAc,cAAA,CAAe,QAAA,IAAY,eAAe,IAAA,IAAQ,EAAA;AAGjF,EAAA,MAAM,OACJ,CAAC,cAAA,CAAe,IAAA,IAAQ,cAAA,CAAe,SAAS,EAAA,IAAM,cAAA,CAAe,IAAA,KAAS,GAAA,IAAO,eAAe,IAAA,CAAK,QAAQ,IAC7G,EAAA,GACA,CAAA,CAAA,EAAI,eAAe,IAAI,CAAA,CAAA;AAC7B,EAAA,MAAM,IAAA,GAAO,cAAA,CAAe,IAAA,GAAO,cAAA,CAAe,IAAA,GAAO,GAAA;AACzD,EAAA,OAAO,IAAI,IAAI,IAAA,EAAM,CAAA,EAAG,QAAQ,CAAA,EAAA,EAAK,QAAQ,CAAA,EAAG,IAAI,CAAA,CAAE,CAAA;AACxD;AAKO,SAAS,+BAA+B,OAAA,EAAoC;AACjF,EAAA,OAAO,MAAA,CAAO,aAAA,CAAc,iBAAA,CAAkB,OAAO,CAAC,CAAC,CAAA;AACzD;;;;"}
|
|
@@ -8,68 +8,44 @@ import { LOG_PREFIX } from './constants.js';
|
|
|
8
8
|
import { getRequestUrlFromClientRequest } from './get-request-url.js';
|
|
9
9
|
import { mergeBaggageHeaders } from '../../utils/baggage.js';
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
* Inject Sentry trace-propagation headers into an outgoing request if the
|
|
13
|
-
* target URL matches the configured `tracePropagationTargets`.
|
|
14
|
-
*
|
|
15
|
-
* Note: this must be called *before* calling `request.end()` (or firing the
|
|
16
|
-
* `http.client.request.start` diagnostics channel), because at that point,
|
|
17
|
-
* the headers have already been sent, and cannot be modified.
|
|
18
|
-
*/
|
|
19
|
-
function injectTracePropagationHeaders(
|
|
20
|
-
request,
|
|
21
|
-
propagationDecisionMap,
|
|
22
|
-
) {
|
|
11
|
+
function injectTracePropagationHeaders(request, propagationDecisionMap) {
|
|
23
12
|
const url = getRequestUrlFromClientRequest(request);
|
|
24
13
|
const clientOptions = getClient()?.getOptions();
|
|
25
14
|
const { tracePropagationTargets, propagateTraceparent } = clientOptions ?? {};
|
|
26
|
-
|
|
27
15
|
if (!shouldPropagateTraceForUrl(url, tracePropagationTargets, propagationDecisionMap)) {
|
|
28
16
|
return;
|
|
29
17
|
}
|
|
30
|
-
|
|
31
|
-
const hasExistingSentryTraceHeader = !!request.getHeader('sentry-trace');
|
|
32
|
-
|
|
18
|
+
const hasExistingSentryTraceHeader = !!request.getHeader("sentry-trace");
|
|
33
19
|
if (hasExistingSentryTraceHeader) {
|
|
34
|
-
// add nothing if there's already a sentry-trace header,
|
|
35
|
-
// or else baggage can be sent twice.
|
|
36
20
|
return;
|
|
37
21
|
}
|
|
38
|
-
|
|
39
22
|
const traceData = getTraceData({ propagateTraceparent });
|
|
40
23
|
if (!traceData) return;
|
|
41
|
-
|
|
42
|
-
const { 'sentry-trace': sentryTrace, baggage, traceparent } = traceData;
|
|
43
|
-
|
|
24
|
+
const { "sentry-trace": sentryTrace, baggage, traceparent } = traceData;
|
|
44
25
|
if (sentryTrace) {
|
|
45
26
|
try {
|
|
46
|
-
request.setHeader(
|
|
47
|
-
DEBUG_BUILD && debug.log(LOG_PREFIX,
|
|
27
|
+
request.setHeader("sentry-trace", sentryTrace);
|
|
28
|
+
DEBUG_BUILD && debug.log(LOG_PREFIX, "Added sentry-trace header");
|
|
48
29
|
} catch (e) {
|
|
49
|
-
DEBUG_BUILD &&
|
|
50
|
-
debug.error(LOG_PREFIX, 'Failed to set sentry-trace header:', isError(e) ? e.message : 'Unknown error');
|
|
30
|
+
DEBUG_BUILD && debug.error(LOG_PREFIX, "Failed to set sentry-trace header:", isError(e) ? e.message : "Unknown error");
|
|
51
31
|
}
|
|
52
32
|
}
|
|
53
|
-
|
|
54
|
-
if (traceparent && !request.getHeader('traceparent')) {
|
|
33
|
+
if (traceparent && !request.getHeader("traceparent")) {
|
|
55
34
|
try {
|
|
56
|
-
request.setHeader(
|
|
57
|
-
DEBUG_BUILD && debug.log(LOG_PREFIX,
|
|
35
|
+
request.setHeader("traceparent", traceparent);
|
|
36
|
+
DEBUG_BUILD && debug.log(LOG_PREFIX, "Added traceparent header");
|
|
58
37
|
} catch (e) {
|
|
59
|
-
DEBUG_BUILD &&
|
|
60
|
-
debug.error(LOG_PREFIX, 'Failed to set traceparent header:', isError(e) ? e.message : 'Unknown error');
|
|
38
|
+
DEBUG_BUILD && debug.error(LOG_PREFIX, "Failed to set traceparent header:", isError(e) ? e.message : "Unknown error");
|
|
61
39
|
}
|
|
62
40
|
}
|
|
63
|
-
|
|
64
41
|
if (baggage) {
|
|
65
|
-
const merged = mergeBaggageHeaders(request.getHeader(
|
|
42
|
+
const merged = mergeBaggageHeaders(request.getHeader("baggage"), baggage);
|
|
66
43
|
if (merged) {
|
|
67
44
|
try {
|
|
68
|
-
request.setHeader(
|
|
69
|
-
DEBUG_BUILD && debug.log(LOG_PREFIX,
|
|
45
|
+
request.setHeader("baggage", merged);
|
|
46
|
+
DEBUG_BUILD && debug.log(LOG_PREFIX, "Added baggage header");
|
|
70
47
|
} catch (e) {
|
|
71
|
-
DEBUG_BUILD &&
|
|
72
|
-
debug.error(LOG_PREFIX, 'Failed to set baggage header:', isError(e) ? e.message : 'Unknown error');
|
|
48
|
+
DEBUG_BUILD && debug.error(LOG_PREFIX, "Failed to set baggage header:", isError(e) ? e.message : "Unknown error");
|
|
73
49
|
}
|
|
74
50
|
}
|
|
75
51
|
}
|