@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spans.js","sources":["../../../../src/integrations/mcp-server/spans.ts"],"sourcesContent":["/**\n * Span creation and management functions for MCP server instrumentation\n *\n * Provides unified span creation following OpenTelemetry MCP semantic conventions and our opinitionated take on MCP.\n * Handles both request and notification spans with attribute extraction.\n */\n\nimport { getClient } from '../../currentScopes';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n} from '../../semanticAttributes';\nimport { startSpan } from '../../tracing';\nimport { buildTransportAttributes, buildTypeSpecificAttributes } from './attributeExtraction';\nimport {\n MCP_FUNCTION_ORIGIN_VALUE,\n MCP_METHOD_NAME_ATTRIBUTE,\n MCP_NOTIFICATION_CLIENT_TO_SERVER_OP_VALUE,\n MCP_NOTIFICATION_ORIGIN_VALUE,\n MCP_NOTIFICATION_SERVER_TO_CLIENT_OP_VALUE,\n MCP_ROUTE_SOURCE_VALUE,\n MCP_SERVER_OP_VALUE,\n} from './attributes';\nimport { extractTargetInfo } from './methodConfig';\nimport { filterMcpPiiFromSpanData } from './piiFiltering';\nimport type {\n ExtraHandlerData,\n JsonRpcNotification,\n JsonRpcRequest,\n McpSpanConfig,\n MCPTransport,\n ResolvedMcpOptions,\n} from './types';\n\n/**\n * Creates a span name based on the method and target\n * @internal\n * @param method - MCP method name\n * @param target - Optional target identifier\n * @returns Formatted span name\n */\nfunction createSpanName(method: string, target?: string): string {\n return target ? `${method} ${target}` : method;\n}\n\n/**\n * Build Sentry-specific attributes based on span type\n * @internal\n * @param type - Span type configuration\n * @returns Sentry-specific attributes\n */\nfunction buildSentryAttributes(type: McpSpanConfig['type']): Record<string, string> {\n let op: string;\n let origin: string;\n\n switch (type) {\n case 'request':\n op = MCP_SERVER_OP_VALUE;\n origin = MCP_FUNCTION_ORIGIN_VALUE;\n break;\n case 'notification-incoming':\n op = MCP_NOTIFICATION_CLIENT_TO_SERVER_OP_VALUE;\n origin = MCP_NOTIFICATION_ORIGIN_VALUE;\n break;\n case 'notification-outgoing':\n op = MCP_NOTIFICATION_SERVER_TO_CLIENT_OP_VALUE;\n origin = MCP_NOTIFICATION_ORIGIN_VALUE;\n break;\n }\n\n return {\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: op,\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: origin,\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: MCP_ROUTE_SOURCE_VALUE,\n };\n}\n\n/**\n * Unified builder for creating MCP spans\n * @internal\n * @param config - Span configuration\n * @returns Created span\n */\nfunction createMcpSpan(config: McpSpanConfig): unknown {\n const { type, message, transport, extra, callback, options } = config;\n const { method } = message;\n const params = message.params;\n\n // Determine span name based on type and OTEL conventions\n let spanName: string;\n if (type === 'request') {\n const targetInfo = extractTargetInfo(method, params || {});\n spanName = createSpanName(method, targetInfo.target);\n } else {\n // For notifications, use method name directly per OpenTelemetry conventions\n spanName = method;\n }\n\n const rawAttributes: Record<string, string | number> = {\n ...buildTransportAttributes(transport, extra),\n [MCP_METHOD_NAME_ATTRIBUTE]: method,\n ...buildTypeSpecificAttributes(type, message, params, options?.recordInputs),\n ...buildSentryAttributes(type),\n };\n\n const client = getClient();\n const sendDefaultPii = Boolean(client?.getOptions().sendDefaultPii);\n const attributes = filterMcpPiiFromSpanData(rawAttributes, sendDefaultPii) as Record<string, string | number>;\n\n return startSpan(\n {\n name: spanName,\n forceTransaction: true,\n attributes,\n },\n callback,\n );\n}\n\n/**\n * Creates a span for incoming MCP notifications\n * @param jsonRpcMessage - Notification message\n * @param transport - MCP transport instance\n * @param extra - Extra handler data\n * @param options - Resolved MCP options\n * @param callback - Span execution callback\n * @returns Span execution result\n */\nexport function createMcpNotificationSpan(\n jsonRpcMessage: JsonRpcNotification,\n transport: MCPTransport,\n extra: ExtraHandlerData,\n options: ResolvedMcpOptions,\n callback: () => unknown,\n): unknown {\n return createMcpSpan({\n type: 'notification-incoming',\n message: jsonRpcMessage,\n transport,\n extra,\n callback,\n options,\n });\n}\n\n/**\n * Creates a span for outgoing MCP notifications\n * @param jsonRpcMessage - Notification message\n * @param transport - MCP transport instance\n * @param options - Resolved MCP options\n * @param callback - Span execution callback\n * @returns Span execution result\n */\nexport function createMcpOutgoingNotificationSpan(\n jsonRpcMessage: JsonRpcNotification,\n transport: MCPTransport,\n options: ResolvedMcpOptions,\n callback: () => unknown,\n): unknown {\n return createMcpSpan({\n type: 'notification-outgoing',\n message: jsonRpcMessage,\n transport,\n options,\n callback,\n });\n}\n\n/**\n * Builds span configuration for MCP server requests\n * @param jsonRpcMessage - Request message\n * @param transport - MCP transport instance\n * @param extra - Optional extra handler data\n * @param options - Resolved MCP options\n * @returns Span configuration object\n */\nexport function buildMcpServerSpanConfig(\n jsonRpcMessage: JsonRpcRequest,\n transport: MCPTransport,\n extra?: ExtraHandlerData,\n options?: ResolvedMcpOptions,\n): {\n name: string;\n op: string;\n forceTransaction: boolean;\n attributes: Record<string, string | number>;\n} {\n const { method } = jsonRpcMessage;\n const params = jsonRpcMessage.params;\n\n const targetInfo = extractTargetInfo(method, params || {});\n const spanName = createSpanName(method, targetInfo.target);\n\n const rawAttributes: Record<string, string | number> = {\n ...buildTransportAttributes(transport, extra),\n [MCP_METHOD_NAME_ATTRIBUTE]: method,\n ...buildTypeSpecificAttributes('request', jsonRpcMessage, params, options?.recordInputs),\n ...buildSentryAttributes('request'),\n };\n\n const client = getClient();\n const sendDefaultPii = Boolean(client?.getOptions().sendDefaultPii);\n const attributes = filterMcpPiiFromSpanData(rawAttributes, sendDefaultPii) as Record<string, string | number>;\n\n return {\n name: spanName,\n op: MCP_SERVER_OP_VALUE,\n forceTransaction: true,\n attributes,\n };\n}\n"],"names":["MCP_SERVER_OP_VALUE","MCP_FUNCTION_ORIGIN_VALUE","MCP_NOTIFICATION_CLIENT_TO_SERVER_OP_VALUE","MCP_NOTIFICATION_ORIGIN_VALUE","MCP_NOTIFICATION_SERVER_TO_CLIENT_OP_VALUE","SEMANTIC_ATTRIBUTE_SENTRY_OP","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","SEMANTIC_ATTRIBUTE_SENTRY_SOURCE","MCP_ROUTE_SOURCE_VALUE","extractTargetInfo","buildTransportAttributes","MCP_METHOD_NAME_ATTRIBUTE","buildTypeSpecificAttributes","getClient","attributes","filterMcpPiiFromSpanData","startSpan"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spans.js","sources":["../../../../src/integrations/mcp-server/spans.ts"],"sourcesContent":["/**\n * Span creation and management functions for MCP server instrumentation\n *\n * Provides unified span creation following OpenTelemetry MCP semantic conventions and our opinitionated take on MCP.\n * Handles both request and notification spans with attribute extraction.\n */\n\nimport { getClient } from '../../currentScopes';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n} from '../../semanticAttributes';\nimport { startSpan } from '../../tracing';\nimport { buildTransportAttributes, buildTypeSpecificAttributes } from './attributeExtraction';\nimport {\n MCP_FUNCTION_ORIGIN_VALUE,\n MCP_METHOD_NAME_ATTRIBUTE,\n MCP_NOTIFICATION_CLIENT_TO_SERVER_OP_VALUE,\n MCP_NOTIFICATION_ORIGIN_VALUE,\n MCP_NOTIFICATION_SERVER_TO_CLIENT_OP_VALUE,\n MCP_ROUTE_SOURCE_VALUE,\n MCP_SERVER_OP_VALUE,\n} from './attributes';\nimport { extractTargetInfo } from './methodConfig';\nimport { filterMcpPiiFromSpanData } from './piiFiltering';\nimport type {\n ExtraHandlerData,\n JsonRpcNotification,\n JsonRpcRequest,\n McpSpanConfig,\n MCPTransport,\n ResolvedMcpOptions,\n} from './types';\n\n/**\n * Creates a span name based on the method and target\n * @internal\n * @param method - MCP method name\n * @param target - Optional target identifier\n * @returns Formatted span name\n */\nfunction createSpanName(method: string, target?: string): string {\n return target ? `${method} ${target}` : method;\n}\n\n/**\n * Build Sentry-specific attributes based on span type\n * @internal\n * @param type - Span type configuration\n * @returns Sentry-specific attributes\n */\nfunction buildSentryAttributes(type: McpSpanConfig['type']): Record<string, string> {\n let op: string;\n let origin: string;\n\n switch (type) {\n case 'request':\n op = MCP_SERVER_OP_VALUE;\n origin = MCP_FUNCTION_ORIGIN_VALUE;\n break;\n case 'notification-incoming':\n op = MCP_NOTIFICATION_CLIENT_TO_SERVER_OP_VALUE;\n origin = MCP_NOTIFICATION_ORIGIN_VALUE;\n break;\n case 'notification-outgoing':\n op = MCP_NOTIFICATION_SERVER_TO_CLIENT_OP_VALUE;\n origin = MCP_NOTIFICATION_ORIGIN_VALUE;\n break;\n }\n\n return {\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: op,\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: origin,\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: MCP_ROUTE_SOURCE_VALUE,\n };\n}\n\n/**\n * Unified builder for creating MCP spans\n * @internal\n * @param config - Span configuration\n * @returns Created span\n */\nfunction createMcpSpan(config: McpSpanConfig): unknown {\n const { type, message, transport, extra, callback, options } = config;\n const { method } = message;\n const params = message.params;\n\n // Determine span name based on type and OTEL conventions\n let spanName: string;\n if (type === 'request') {\n const targetInfo = extractTargetInfo(method, params || {});\n spanName = createSpanName(method, targetInfo.target);\n } else {\n // For notifications, use method name directly per OpenTelemetry conventions\n spanName = method;\n }\n\n const rawAttributes: Record<string, string | number> = {\n ...buildTransportAttributes(transport, extra),\n [MCP_METHOD_NAME_ATTRIBUTE]: method,\n ...buildTypeSpecificAttributes(type, message, params, options?.recordInputs),\n ...buildSentryAttributes(type),\n };\n\n const client = getClient();\n const sendDefaultPii = Boolean(client?.getOptions().sendDefaultPii);\n const attributes = filterMcpPiiFromSpanData(rawAttributes, sendDefaultPii) as Record<string, string | number>;\n\n return startSpan(\n {\n name: spanName,\n forceTransaction: true,\n attributes,\n },\n callback,\n );\n}\n\n/**\n * Creates a span for incoming MCP notifications\n * @param jsonRpcMessage - Notification message\n * @param transport - MCP transport instance\n * @param extra - Extra handler data\n * @param options - Resolved MCP options\n * @param callback - Span execution callback\n * @returns Span execution result\n */\nexport function createMcpNotificationSpan(\n jsonRpcMessage: JsonRpcNotification,\n transport: MCPTransport,\n extra: ExtraHandlerData,\n options: ResolvedMcpOptions,\n callback: () => unknown,\n): unknown {\n return createMcpSpan({\n type: 'notification-incoming',\n message: jsonRpcMessage,\n transport,\n extra,\n callback,\n options,\n });\n}\n\n/**\n * Creates a span for outgoing MCP notifications\n * @param jsonRpcMessage - Notification message\n * @param transport - MCP transport instance\n * @param options - Resolved MCP options\n * @param callback - Span execution callback\n * @returns Span execution result\n */\nexport function createMcpOutgoingNotificationSpan(\n jsonRpcMessage: JsonRpcNotification,\n transport: MCPTransport,\n options: ResolvedMcpOptions,\n callback: () => unknown,\n): unknown {\n return createMcpSpan({\n type: 'notification-outgoing',\n message: jsonRpcMessage,\n transport,\n options,\n callback,\n });\n}\n\n/**\n * Builds span configuration for MCP server requests\n * @param jsonRpcMessage - Request message\n * @param transport - MCP transport instance\n * @param extra - Optional extra handler data\n * @param options - Resolved MCP options\n * @returns Span configuration object\n */\nexport function buildMcpServerSpanConfig(\n jsonRpcMessage: JsonRpcRequest,\n transport: MCPTransport,\n extra?: ExtraHandlerData,\n options?: ResolvedMcpOptions,\n): {\n name: string;\n op: string;\n forceTransaction: boolean;\n attributes: Record<string, string | number>;\n} {\n const { method } = jsonRpcMessage;\n const params = jsonRpcMessage.params;\n\n const targetInfo = extractTargetInfo(method, params || {});\n const spanName = createSpanName(method, targetInfo.target);\n\n const rawAttributes: Record<string, string | number> = {\n ...buildTransportAttributes(transport, extra),\n [MCP_METHOD_NAME_ATTRIBUTE]: method,\n ...buildTypeSpecificAttributes('request', jsonRpcMessage, params, options?.recordInputs),\n ...buildSentryAttributes('request'),\n };\n\n const client = getClient();\n const sendDefaultPii = Boolean(client?.getOptions().sendDefaultPii);\n const attributes = filterMcpPiiFromSpanData(rawAttributes, sendDefaultPii) as Record<string, string | number>;\n\n return {\n name: spanName,\n op: MCP_SERVER_OP_VALUE,\n forceTransaction: true,\n attributes,\n };\n}\n"],"names":["MCP_SERVER_OP_VALUE","MCP_FUNCTION_ORIGIN_VALUE","MCP_NOTIFICATION_CLIENT_TO_SERVER_OP_VALUE","MCP_NOTIFICATION_ORIGIN_VALUE","MCP_NOTIFICATION_SERVER_TO_CLIENT_OP_VALUE","SEMANTIC_ATTRIBUTE_SENTRY_OP","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","SEMANTIC_ATTRIBUTE_SENTRY_SOURCE","MCP_ROUTE_SOURCE_VALUE","extractTargetInfo","buildTransportAttributes","MCP_METHOD_NAME_ATTRIBUTE","buildTypeSpecificAttributes","getClient","attributes","filterMcpPiiFromSpanData","startSpan"],"mappings":"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"}
|
|
@@ -11,187 +11,119 @@ const sessionManagement = require('./sessionManagement.js');
|
|
|
11
11
|
const spans = require('./spans.js');
|
|
12
12
|
const validation = require('./validation.js');
|
|
13
13
|
|
|
14
|
-
/**
|
|
15
|
-
* Transport layer instrumentation for MCP server
|
|
16
|
-
*
|
|
17
|
-
* Handles message interception and response correlation.
|
|
18
|
-
* @see https://modelcontextprotocol.io/specification/2025-06-18/basic/transports
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Wraps transport.onmessage to create spans for incoming messages.
|
|
24
|
-
* For "initialize" requests, extracts and stores client info and protocol version
|
|
25
|
-
* in the session data for the transport.
|
|
26
|
-
* @param transport - MCP transport instance to wrap
|
|
27
|
-
* @param options - Resolved MCP options
|
|
28
|
-
*/
|
|
29
14
|
function wrapTransportOnMessage(transport, options) {
|
|
30
15
|
if (transport.onmessage) {
|
|
31
|
-
object.fill(transport,
|
|
32
|
-
return function
|
|
16
|
+
object.fill(transport, "onmessage", (originalOnMessage) => {
|
|
17
|
+
return function(message, extra) {
|
|
33
18
|
if (validation.isJsonRpcRequest(message)) {
|
|
34
|
-
const isInitialize = message.method ===
|
|
19
|
+
const isInitialize = message.method === "initialize";
|
|
35
20
|
let initSessionData;
|
|
36
|
-
|
|
37
21
|
if (isInitialize) {
|
|
38
22
|
try {
|
|
39
23
|
initSessionData = sessionExtraction.extractSessionDataFromInitializeRequest(message);
|
|
40
24
|
sessionManagement.storeSessionDataForTransport(transport, initSessionData);
|
|
41
25
|
} catch {
|
|
42
|
-
// noop
|
|
43
26
|
}
|
|
44
27
|
}
|
|
45
|
-
|
|
46
28
|
const isolationScope = currentScopes.getIsolationScope().clone();
|
|
47
|
-
|
|
48
29
|
return currentScopes.withIsolationScope(isolationScope, () => {
|
|
49
|
-
const spanConfig = spans.buildMcpServerSpanConfig(message, transport, extra
|
|
30
|
+
const spanConfig = spans.buildMcpServerSpanConfig(message, transport, extra, options);
|
|
50
31
|
const span = trace.startInactiveSpan(spanConfig);
|
|
51
|
-
|
|
52
|
-
// For initialize requests, add client info directly to span (works even for stateless transports)
|
|
53
32
|
if (isInitialize && initSessionData) {
|
|
54
33
|
span.setAttributes({
|
|
55
34
|
...sessionExtraction.buildClientAttributesFromInfo(initSessionData.clientInfo),
|
|
56
|
-
...
|
|
57
|
-
[attributes.MCP_PROTOCOL_VERSION_ATTRIBUTE]: initSessionData.protocolVersion
|
|
58
|
-
}
|
|
35
|
+
...initSessionData.protocolVersion && {
|
|
36
|
+
[attributes.MCP_PROTOCOL_VERSION_ATTRIBUTE]: initSessionData.protocolVersion
|
|
37
|
+
}
|
|
59
38
|
});
|
|
60
39
|
}
|
|
61
|
-
|
|
62
40
|
correlation.storeSpanForRequest(transport, message.id, span, message.method);
|
|
63
|
-
|
|
64
41
|
return trace.withActiveSpan(span, () => {
|
|
65
|
-
return
|
|
42
|
+
return originalOnMessage.call(this, message, extra);
|
|
66
43
|
});
|
|
67
44
|
});
|
|
68
45
|
}
|
|
69
|
-
|
|
70
46
|
if (validation.isJsonRpcNotification(message)) {
|
|
71
|
-
return spans.createMcpNotificationSpan(message, transport, extra
|
|
72
|
-
return
|
|
47
|
+
return spans.createMcpNotificationSpan(message, transport, extra, options, () => {
|
|
48
|
+
return originalOnMessage.call(this, message, extra);
|
|
73
49
|
});
|
|
74
50
|
}
|
|
75
|
-
|
|
76
|
-
return (originalOnMessage ).call(this, message, extra);
|
|
51
|
+
return originalOnMessage.call(this, message, extra);
|
|
77
52
|
};
|
|
78
53
|
});
|
|
79
54
|
}
|
|
80
55
|
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Wraps transport.send to handle outgoing messages and response correlation.
|
|
84
|
-
* For "initialize" responses, extracts and stores protocol version and server info
|
|
85
|
-
* in the session data for the transport.
|
|
86
|
-
* @param transport - MCP transport instance to wrap
|
|
87
|
-
* @param options - Resolved MCP options
|
|
88
|
-
*/
|
|
89
56
|
function wrapTransportSend(transport, options) {
|
|
90
57
|
if (transport.send) {
|
|
91
|
-
object.fill(transport,
|
|
92
|
-
return async function
|
|
58
|
+
object.fill(transport, "send", (originalSend) => {
|
|
59
|
+
return async function(...args) {
|
|
93
60
|
const [message] = args;
|
|
94
|
-
|
|
95
61
|
if (validation.isJsonRpcNotification(message)) {
|
|
96
62
|
return spans.createMcpOutgoingNotificationSpan(message, transport, options, () => {
|
|
97
|
-
return
|
|
63
|
+
return originalSend.call(this, ...args);
|
|
98
64
|
});
|
|
99
65
|
}
|
|
100
|
-
|
|
101
66
|
if (validation.isJsonRpcResponse(message)) {
|
|
102
|
-
if (message.id !== null && message.id !==
|
|
67
|
+
if (message.id !== null && message.id !== void 0) {
|
|
103
68
|
if (message.error) {
|
|
104
69
|
captureJsonRpcErrorResponse(message.error);
|
|
105
70
|
}
|
|
106
|
-
|
|
107
71
|
if (validation.isValidContentItem(message.result)) {
|
|
108
72
|
if (message.result.protocolVersion || message.result.serverInfo) {
|
|
109
73
|
try {
|
|
110
74
|
const serverData = sessionExtraction.extractSessionDataFromInitializeResponse(message.result);
|
|
111
75
|
sessionManagement.updateSessionDataForTransport(transport, serverData);
|
|
112
76
|
} catch {
|
|
113
|
-
// noop
|
|
114
77
|
}
|
|
115
78
|
}
|
|
116
79
|
}
|
|
117
|
-
|
|
118
80
|
correlation.completeSpanWithResults(transport, message.id, message.result, options, !!message.error);
|
|
119
81
|
}
|
|
120
82
|
}
|
|
121
|
-
|
|
122
|
-
return (originalSend ).call(this, ...args);
|
|
83
|
+
return originalSend.call(this, ...args);
|
|
123
84
|
};
|
|
124
85
|
});
|
|
125
86
|
}
|
|
126
87
|
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Wraps transport.onclose to clean up pending spans for this transport only
|
|
130
|
-
* @param transport - MCP transport instance to wrap
|
|
131
|
-
*/
|
|
132
88
|
function wrapTransportOnClose(transport) {
|
|
133
89
|
if (transport.onclose) {
|
|
134
|
-
object.fill(transport,
|
|
135
|
-
return function
|
|
90
|
+
object.fill(transport, "onclose", (originalOnClose) => {
|
|
91
|
+
return function(...args) {
|
|
136
92
|
correlation.cleanupPendingSpansForTransport(transport);
|
|
137
93
|
sessionManagement.cleanupSessionDataForTransport(transport);
|
|
138
|
-
return
|
|
94
|
+
return originalOnClose.call(this, ...args);
|
|
139
95
|
};
|
|
140
96
|
});
|
|
141
97
|
}
|
|
142
98
|
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Wraps transport error handlers to capture connection errors
|
|
146
|
-
* @param transport - MCP transport instance to wrap
|
|
147
|
-
*/
|
|
148
99
|
function wrapTransportError(transport) {
|
|
149
100
|
if (transport.onerror) {
|
|
150
|
-
object.fill(transport,
|
|
151
|
-
return function
|
|
101
|
+
object.fill(transport, "onerror", (originalOnError) => {
|
|
102
|
+
return function(error) {
|
|
152
103
|
captureTransportError(error);
|
|
153
104
|
return originalOnError.call(this, error);
|
|
154
105
|
};
|
|
155
106
|
});
|
|
156
107
|
}
|
|
157
108
|
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Captures JSON-RPC error responses for server-side errors.
|
|
161
|
-
* @see https://www.jsonrpc.org/specification#error_object
|
|
162
|
-
* @internal
|
|
163
|
-
* @param errorResponse - JSON-RPC error response
|
|
164
|
-
*/
|
|
165
109
|
function captureJsonRpcErrorResponse(errorResponse) {
|
|
166
110
|
try {
|
|
167
|
-
if (errorResponse && typeof errorResponse ===
|
|
168
|
-
const jsonRpcError = errorResponse
|
|
169
|
-
|
|
170
|
-
const isServerError =
|
|
171
|
-
jsonRpcError.code === -32603 || (jsonRpcError.code >= -32099 && jsonRpcError.code <= -32000);
|
|
172
|
-
|
|
111
|
+
if (errorResponse && typeof errorResponse === "object" && "code" in errorResponse && "message" in errorResponse) {
|
|
112
|
+
const jsonRpcError = errorResponse;
|
|
113
|
+
const isServerError = jsonRpcError.code === -32603 || jsonRpcError.code >= -32099 && jsonRpcError.code <= -32e3;
|
|
173
114
|
if (isServerError) {
|
|
174
115
|
const error = new Error(jsonRpcError.message);
|
|
175
116
|
error.name = `JsonRpcError_${jsonRpcError.code}`;
|
|
176
|
-
|
|
177
|
-
errorCapture.captureError(error, 'protocol');
|
|
117
|
+
errorCapture.captureError(error, "protocol");
|
|
178
118
|
}
|
|
179
119
|
}
|
|
180
120
|
} catch {
|
|
181
|
-
// noop
|
|
182
121
|
}
|
|
183
122
|
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Captures transport connection errors
|
|
187
|
-
* @internal
|
|
188
|
-
* @param error - Transport error
|
|
189
|
-
*/
|
|
190
123
|
function captureTransportError(error) {
|
|
191
124
|
try {
|
|
192
|
-
errorCapture.captureError(error,
|
|
125
|
+
errorCapture.captureError(error, "transport");
|
|
193
126
|
} catch {
|
|
194
|
-
// noop
|
|
195
127
|
}
|
|
196
128
|
}
|
|
197
129
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sources":["../../../../src/integrations/mcp-server/transport.ts"],"sourcesContent":["/**\n * Transport layer instrumentation for MCP server\n *\n * Handles message interception and response correlation.\n * @see https://modelcontextprotocol.io/specification/2025-06-18/basic/transports\n */\n\nimport { getIsolationScope, withIsolationScope } from '../../currentScopes';\nimport { startInactiveSpan, withActiveSpan } from '../../tracing';\nimport { fill } from '../../utils/object';\nimport { MCP_PROTOCOL_VERSION_ATTRIBUTE } from './attributes';\nimport { cleanupPendingSpansForTransport, completeSpanWithResults, storeSpanForRequest } from './correlation';\nimport { captureError } from './errorCapture';\nimport {\n buildClientAttributesFromInfo,\n extractSessionDataFromInitializeRequest,\n extractSessionDataFromInitializeResponse,\n} from './sessionExtraction';\nimport {\n cleanupSessionDataForTransport,\n storeSessionDataForTransport,\n updateSessionDataForTransport,\n} from './sessionManagement';\nimport { buildMcpServerSpanConfig, createMcpNotificationSpan, createMcpOutgoingNotificationSpan } from './spans';\nimport type { ExtraHandlerData, MCPTransport, ResolvedMcpOptions, SessionData } from './types';\nimport { isJsonRpcNotification, isJsonRpcRequest, isJsonRpcResponse, isValidContentItem } from './validation';\n\n/**\n * Wraps transport.onmessage to create spans for incoming messages.\n * For \"initialize\" requests, extracts and stores client info and protocol version\n * in the session data for the transport.\n * @param transport - MCP transport instance to wrap\n * @param options - Resolved MCP options\n */\nexport function wrapTransportOnMessage(transport: MCPTransport, options: ResolvedMcpOptions): void {\n if (transport.onmessage) {\n fill(transport, 'onmessage', originalOnMessage => {\n return function (this: MCPTransport, message: unknown, extra?: unknown) {\n if (isJsonRpcRequest(message)) {\n const isInitialize = message.method === 'initialize';\n let initSessionData: SessionData | undefined;\n\n if (isInitialize) {\n try {\n initSessionData = extractSessionDataFromInitializeRequest(message);\n storeSessionDataForTransport(transport, initSessionData);\n } catch {\n // noop\n }\n }\n\n const isolationScope = getIsolationScope().clone();\n\n return withIsolationScope(isolationScope, () => {\n const spanConfig = buildMcpServerSpanConfig(message, transport, extra as ExtraHandlerData, options);\n const span = startInactiveSpan(spanConfig);\n\n // For initialize requests, add client info directly to span (works even for stateless transports)\n if (isInitialize && initSessionData) {\n span.setAttributes({\n ...buildClientAttributesFromInfo(initSessionData.clientInfo),\n ...(initSessionData.protocolVersion && {\n [MCP_PROTOCOL_VERSION_ATTRIBUTE]: initSessionData.protocolVersion,\n }),\n });\n }\n\n storeSpanForRequest(transport, message.id, span, message.method);\n\n return withActiveSpan(span, () => {\n return (originalOnMessage as (...args: unknown[]) => unknown).call(this, message, extra);\n });\n });\n }\n\n if (isJsonRpcNotification(message)) {\n return createMcpNotificationSpan(message, transport, extra as ExtraHandlerData, options, () => {\n return (originalOnMessage as (...args: unknown[]) => unknown).call(this, message, extra);\n });\n }\n\n return (originalOnMessage as (...args: unknown[]) => unknown).call(this, message, extra);\n };\n });\n }\n}\n\n/**\n * Wraps transport.send to handle outgoing messages and response correlation.\n * For \"initialize\" responses, extracts and stores protocol version and server info\n * in the session data for the transport.\n * @param transport - MCP transport instance to wrap\n * @param options - Resolved MCP options\n */\nexport function wrapTransportSend(transport: MCPTransport, options: ResolvedMcpOptions): void {\n if (transport.send) {\n fill(transport, 'send', originalSend => {\n return async function (this: MCPTransport, ...args: unknown[]) {\n const [message] = args;\n\n if (isJsonRpcNotification(message)) {\n return createMcpOutgoingNotificationSpan(message, transport, options, () => {\n return (originalSend as (...args: unknown[]) => unknown).call(this, ...args);\n });\n }\n\n if (isJsonRpcResponse(message)) {\n if (message.id !== null && message.id !== undefined) {\n if (message.error) {\n captureJsonRpcErrorResponse(message.error);\n }\n\n if (isValidContentItem(message.result)) {\n if (message.result.protocolVersion || message.result.serverInfo) {\n try {\n const serverData = extractSessionDataFromInitializeResponse(message.result);\n updateSessionDataForTransport(transport, serverData);\n } catch {\n // noop\n }\n }\n }\n\n completeSpanWithResults(transport, message.id, message.result, options, !!message.error);\n }\n }\n\n return (originalSend as (...args: unknown[]) => unknown).call(this, ...args);\n };\n });\n }\n}\n\n/**\n * Wraps transport.onclose to clean up pending spans for this transport only\n * @param transport - MCP transport instance to wrap\n */\nexport function wrapTransportOnClose(transport: MCPTransport): void {\n if (transport.onclose) {\n fill(transport, 'onclose', originalOnClose => {\n return function (this: MCPTransport, ...args: unknown[]) {\n cleanupPendingSpansForTransport(transport);\n cleanupSessionDataForTransport(transport);\n return (originalOnClose as (...args: unknown[]) => unknown).call(this, ...args);\n };\n });\n }\n}\n\n/**\n * Wraps transport error handlers to capture connection errors\n * @param transport - MCP transport instance to wrap\n */\nexport function wrapTransportError(transport: MCPTransport): void {\n if (transport.onerror) {\n fill(transport, 'onerror', (originalOnError: (error: Error) => void) => {\n return function (this: MCPTransport, error: Error) {\n captureTransportError(error);\n return originalOnError.call(this, error);\n };\n });\n }\n}\n\n/**\n * Captures JSON-RPC error responses for server-side errors.\n * @see https://www.jsonrpc.org/specification#error_object\n * @internal\n * @param errorResponse - JSON-RPC error response\n */\nfunction captureJsonRpcErrorResponse(errorResponse: unknown): void {\n try {\n if (errorResponse && typeof errorResponse === 'object' && 'code' in errorResponse && 'message' in errorResponse) {\n const jsonRpcError = errorResponse as { code: number; message: string; data?: unknown };\n\n const isServerError =\n jsonRpcError.code === -32603 || (jsonRpcError.code >= -32099 && jsonRpcError.code <= -32000);\n\n if (isServerError) {\n const error = new Error(jsonRpcError.message);\n error.name = `JsonRpcError_${jsonRpcError.code}`;\n\n captureError(error, 'protocol');\n }\n }\n } catch {\n // noop\n }\n}\n\n/**\n * Captures transport connection errors\n * @internal\n * @param error - Transport error\n */\nfunction captureTransportError(error: Error): void {\n try {\n captureError(error, 'transport');\n } catch {\n // noop\n }\n}\n"],"names":["fill","isJsonRpcRequest","extractSessionDataFromInitializeRequest","storeSessionDataForTransport","getIsolationScope","withIsolationScope","buildMcpServerSpanConfig","startInactiveSpan","buildClientAttributesFromInfo","MCP_PROTOCOL_VERSION_ATTRIBUTE","storeSpanForRequest","withActiveSpan","isJsonRpcNotification","createMcpNotificationSpan","createMcpOutgoingNotificationSpan","isJsonRpcResponse","isValidContentItem","extractSessionDataFromInitializeResponse","updateSessionDataForTransport","completeSpanWithResults","cleanupPendingSpansForTransport","cleanupSessionDataForTransport","captureError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport.js","sources":["../../../../src/integrations/mcp-server/transport.ts"],"sourcesContent":["/**\n * Transport layer instrumentation for MCP server\n *\n * Handles message interception and response correlation.\n * @see https://modelcontextprotocol.io/specification/2025-06-18/basic/transports\n */\n\nimport { getIsolationScope, withIsolationScope } from '../../currentScopes';\nimport { startInactiveSpan, withActiveSpan } from '../../tracing';\nimport { fill } from '../../utils/object';\nimport { MCP_PROTOCOL_VERSION_ATTRIBUTE } from './attributes';\nimport { cleanupPendingSpansForTransport, completeSpanWithResults, storeSpanForRequest } from './correlation';\nimport { captureError } from './errorCapture';\nimport {\n buildClientAttributesFromInfo,\n extractSessionDataFromInitializeRequest,\n extractSessionDataFromInitializeResponse,\n} from './sessionExtraction';\nimport {\n cleanupSessionDataForTransport,\n storeSessionDataForTransport,\n updateSessionDataForTransport,\n} from './sessionManagement';\nimport { buildMcpServerSpanConfig, createMcpNotificationSpan, createMcpOutgoingNotificationSpan } from './spans';\nimport type { ExtraHandlerData, MCPTransport, ResolvedMcpOptions, SessionData } from './types';\nimport { isJsonRpcNotification, isJsonRpcRequest, isJsonRpcResponse, isValidContentItem } from './validation';\n\n/**\n * Wraps transport.onmessage to create spans for incoming messages.\n * For \"initialize\" requests, extracts and stores client info and protocol version\n * in the session data for the transport.\n * @param transport - MCP transport instance to wrap\n * @param options - Resolved MCP options\n */\nexport function wrapTransportOnMessage(transport: MCPTransport, options: ResolvedMcpOptions): void {\n if (transport.onmessage) {\n fill(transport, 'onmessage', originalOnMessage => {\n return function (this: MCPTransport, message: unknown, extra?: unknown) {\n if (isJsonRpcRequest(message)) {\n const isInitialize = message.method === 'initialize';\n let initSessionData: SessionData | undefined;\n\n if (isInitialize) {\n try {\n initSessionData = extractSessionDataFromInitializeRequest(message);\n storeSessionDataForTransport(transport, initSessionData);\n } catch {\n // noop\n }\n }\n\n const isolationScope = getIsolationScope().clone();\n\n return withIsolationScope(isolationScope, () => {\n const spanConfig = buildMcpServerSpanConfig(message, transport, extra as ExtraHandlerData, options);\n const span = startInactiveSpan(spanConfig);\n\n // For initialize requests, add client info directly to span (works even for stateless transports)\n if (isInitialize && initSessionData) {\n span.setAttributes({\n ...buildClientAttributesFromInfo(initSessionData.clientInfo),\n ...(initSessionData.protocolVersion && {\n [MCP_PROTOCOL_VERSION_ATTRIBUTE]: initSessionData.protocolVersion,\n }),\n });\n }\n\n storeSpanForRequest(transport, message.id, span, message.method);\n\n return withActiveSpan(span, () => {\n return (originalOnMessage as (...args: unknown[]) => unknown).call(this, message, extra);\n });\n });\n }\n\n if (isJsonRpcNotification(message)) {\n return createMcpNotificationSpan(message, transport, extra as ExtraHandlerData, options, () => {\n return (originalOnMessage as (...args: unknown[]) => unknown).call(this, message, extra);\n });\n }\n\n return (originalOnMessage as (...args: unknown[]) => unknown).call(this, message, extra);\n };\n });\n }\n}\n\n/**\n * Wraps transport.send to handle outgoing messages and response correlation.\n * For \"initialize\" responses, extracts and stores protocol version and server info\n * in the session data for the transport.\n * @param transport - MCP transport instance to wrap\n * @param options - Resolved MCP options\n */\nexport function wrapTransportSend(transport: MCPTransport, options: ResolvedMcpOptions): void {\n if (transport.send) {\n fill(transport, 'send', originalSend => {\n return async function (this: MCPTransport, ...args: unknown[]) {\n const [message] = args;\n\n if (isJsonRpcNotification(message)) {\n return createMcpOutgoingNotificationSpan(message, transport, options, () => {\n return (originalSend as (...args: unknown[]) => unknown).call(this, ...args);\n });\n }\n\n if (isJsonRpcResponse(message)) {\n if (message.id !== null && message.id !== undefined) {\n if (message.error) {\n captureJsonRpcErrorResponse(message.error);\n }\n\n if (isValidContentItem(message.result)) {\n if (message.result.protocolVersion || message.result.serverInfo) {\n try {\n const serverData = extractSessionDataFromInitializeResponse(message.result);\n updateSessionDataForTransport(transport, serverData);\n } catch {\n // noop\n }\n }\n }\n\n completeSpanWithResults(transport, message.id, message.result, options, !!message.error);\n }\n }\n\n return (originalSend as (...args: unknown[]) => unknown).call(this, ...args);\n };\n });\n }\n}\n\n/**\n * Wraps transport.onclose to clean up pending spans for this transport only\n * @param transport - MCP transport instance to wrap\n */\nexport function wrapTransportOnClose(transport: MCPTransport): void {\n if (transport.onclose) {\n fill(transport, 'onclose', originalOnClose => {\n return function (this: MCPTransport, ...args: unknown[]) {\n cleanupPendingSpansForTransport(transport);\n cleanupSessionDataForTransport(transport);\n return (originalOnClose as (...args: unknown[]) => unknown).call(this, ...args);\n };\n });\n }\n}\n\n/**\n * Wraps transport error handlers to capture connection errors\n * @param transport - MCP transport instance to wrap\n */\nexport function wrapTransportError(transport: MCPTransport): void {\n if (transport.onerror) {\n fill(transport, 'onerror', (originalOnError: (error: Error) => void) => {\n return function (this: MCPTransport, error: Error) {\n captureTransportError(error);\n return originalOnError.call(this, error);\n };\n });\n }\n}\n\n/**\n * Captures JSON-RPC error responses for server-side errors.\n * @see https://www.jsonrpc.org/specification#error_object\n * @internal\n * @param errorResponse - JSON-RPC error response\n */\nfunction captureJsonRpcErrorResponse(errorResponse: unknown): void {\n try {\n if (errorResponse && typeof errorResponse === 'object' && 'code' in errorResponse && 'message' in errorResponse) {\n const jsonRpcError = errorResponse as { code: number; message: string; data?: unknown };\n\n const isServerError =\n jsonRpcError.code === -32603 || (jsonRpcError.code >= -32099 && jsonRpcError.code <= -32000);\n\n if (isServerError) {\n const error = new Error(jsonRpcError.message);\n error.name = `JsonRpcError_${jsonRpcError.code}`;\n\n captureError(error, 'protocol');\n }\n }\n } catch {\n // noop\n }\n}\n\n/**\n * Captures transport connection errors\n * @internal\n * @param error - Transport error\n */\nfunction captureTransportError(error: Error): void {\n try {\n captureError(error, 'transport');\n } catch {\n // noop\n }\n}\n"],"names":["fill","isJsonRpcRequest","extractSessionDataFromInitializeRequest","storeSessionDataForTransport","getIsolationScope","withIsolationScope","buildMcpServerSpanConfig","startInactiveSpan","buildClientAttributesFromInfo","MCP_PROTOCOL_VERSION_ATTRIBUTE","storeSpanForRequest","withActiveSpan","isJsonRpcNotification","createMcpNotificationSpan","createMcpOutgoingNotificationSpan","isJsonRpcResponse","isValidContentItem","extractSessionDataFromInitializeResponse","updateSessionDataForTransport","completeSpanWithResults","cleanupPendingSpansForTransport","cleanupSessionDataForTransport","captureError"],"mappings":"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"}
|
|
@@ -3,90 +3,24 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
3
3
|
const debugBuild = require('../../debug-build.js');
|
|
4
4
|
const debugLogger = require('../../utils/debug-logger.js');
|
|
5
5
|
|
|
6
|
-
/**
|
|
7
|
-
* Message validation functions for MCP server instrumentation
|
|
8
|
-
*
|
|
9
|
-
* Provides JSON-RPC 2.0 message type validation and MCP server instance validation.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Validates if a message is a JSON-RPC request
|
|
15
|
-
* @param message - Message to validate
|
|
16
|
-
* @returns True if message is a JSON-RPC request
|
|
17
|
-
*/
|
|
18
6
|
function isJsonRpcRequest(message) {
|
|
19
|
-
return
|
|
20
|
-
typeof message === 'object' &&
|
|
21
|
-
message !== null &&
|
|
22
|
-
'jsonrpc' in message &&
|
|
23
|
-
(message ).jsonrpc === '2.0' &&
|
|
24
|
-
'method' in message &&
|
|
25
|
-
'id' in message
|
|
26
|
-
);
|
|
7
|
+
return typeof message === "object" && message !== null && "jsonrpc" in message && message.jsonrpc === "2.0" && "method" in message && "id" in message;
|
|
27
8
|
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Validates if a message is a JSON-RPC notification
|
|
31
|
-
* @param message - Message to validate
|
|
32
|
-
* @returns True if message is a JSON-RPC notification
|
|
33
|
-
*/
|
|
34
9
|
function isJsonRpcNotification(message) {
|
|
35
|
-
return (
|
|
36
|
-
typeof message === 'object' &&
|
|
37
|
-
message !== null &&
|
|
38
|
-
'jsonrpc' in message &&
|
|
39
|
-
(message ).jsonrpc === '2.0' &&
|
|
40
|
-
'method' in message &&
|
|
41
|
-
!('id' in message)
|
|
42
|
-
);
|
|
10
|
+
return typeof message === "object" && message !== null && "jsonrpc" in message && message.jsonrpc === "2.0" && "method" in message && !("id" in message);
|
|
43
11
|
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Validates if a message is a JSON-RPC response
|
|
47
|
-
* @param message - Message to validate
|
|
48
|
-
* @returns True if message is a JSON-RPC response
|
|
49
|
-
*/
|
|
50
12
|
function isJsonRpcResponse(message) {
|
|
51
|
-
return (
|
|
52
|
-
typeof message === 'object' &&
|
|
53
|
-
message !== null &&
|
|
54
|
-
'jsonrpc' in message &&
|
|
55
|
-
(message ).jsonrpc === '2.0' &&
|
|
56
|
-
'id' in message &&
|
|
57
|
-
('result' in message || 'error' in message)
|
|
58
|
-
);
|
|
13
|
+
return typeof message === "object" && message !== null && "jsonrpc" in message && message.jsonrpc === "2.0" && "id" in message && ("result" in message || "error" in message);
|
|
59
14
|
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Validates MCP server instance with type checking.
|
|
63
|
-
* Accepts both the legacy API (`tool`, `resource`, `prompt`) used in SDK 1.x
|
|
64
|
-
* and the newer API (`registerTool`, `registerResource`, `registerPrompt`) introduced
|
|
65
|
-
* alongside the legacy API in SDK 1.x and made the only option in SDK 2.x.
|
|
66
|
-
* @param instance - Object to validate as MCP server instance
|
|
67
|
-
* @returns True if instance has required MCP server methods
|
|
68
|
-
*/
|
|
69
15
|
function validateMcpServerInstance(instance) {
|
|
70
|
-
if (
|
|
71
|
-
typeof instance === 'object' &&
|
|
72
|
-
instance !== null &&
|
|
73
|
-
'connect' in instance &&
|
|
74
|
-
(('tool' in instance && 'resource' in instance && 'prompt' in instance) ||
|
|
75
|
-
('registerTool' in instance && 'registerResource' in instance && 'registerPrompt' in instance))
|
|
76
|
-
) {
|
|
16
|
+
if (typeof instance === "object" && instance !== null && "connect" in instance && ("tool" in instance && "resource" in instance && "prompt" in instance || "registerTool" in instance && "registerResource" in instance && "registerPrompt" in instance)) {
|
|
77
17
|
return true;
|
|
78
18
|
}
|
|
79
|
-
debugBuild.DEBUG_BUILD && debugLogger.debug.warn(
|
|
19
|
+
debugBuild.DEBUG_BUILD && debugLogger.debug.warn("Did not patch MCP server. Interface is incompatible.");
|
|
80
20
|
return false;
|
|
81
21
|
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Check if the item is a valid content item
|
|
85
|
-
* @param item - The item to check
|
|
86
|
-
* @returns True if the item is a valid content item, false otherwise
|
|
87
|
-
*/
|
|
88
22
|
function isValidContentItem(item) {
|
|
89
|
-
return item != null && typeof item ===
|
|
23
|
+
return item != null && typeof item === "object";
|
|
90
24
|
}
|
|
91
25
|
|
|
92
26
|
exports.isJsonRpcNotification = isJsonRpcNotification;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sources":["../../../../src/integrations/mcp-server/validation.ts"],"sourcesContent":["/**\n * Message validation functions for MCP server instrumentation\n *\n * Provides JSON-RPC 2.0 message type validation and MCP server instance validation.\n */\n\nimport { DEBUG_BUILD } from '../../debug-build';\nimport { debug } from '../../utils/debug-logger';\nimport type { JsonRpcNotification, JsonRpcRequest, JsonRpcResponse } from './types';\n\n/**\n * Validates if a message is a JSON-RPC request\n * @param message - Message to validate\n * @returns True if message is a JSON-RPC request\n */\nexport function isJsonRpcRequest(message: unknown): message is JsonRpcRequest {\n return (\n typeof message === 'object' &&\n message !== null &&\n 'jsonrpc' in message &&\n (message as JsonRpcRequest).jsonrpc === '2.0' &&\n 'method' in message &&\n 'id' in message\n );\n}\n\n/**\n * Validates if a message is a JSON-RPC notification\n * @param message - Message to validate\n * @returns True if message is a JSON-RPC notification\n */\nexport function isJsonRpcNotification(message: unknown): message is JsonRpcNotification {\n return (\n typeof message === 'object' &&\n message !== null &&\n 'jsonrpc' in message &&\n (message as JsonRpcNotification).jsonrpc === '2.0' &&\n 'method' in message &&\n !('id' in message)\n );\n}\n\n/**\n * Validates if a message is a JSON-RPC response\n * @param message - Message to validate\n * @returns True if message is a JSON-RPC response\n */\nexport function isJsonRpcResponse(message: unknown): message is JsonRpcResponse {\n return (\n typeof message === 'object' &&\n message !== null &&\n 'jsonrpc' in message &&\n (message as { jsonrpc: string }).jsonrpc === '2.0' &&\n 'id' in message &&\n ('result' in message || 'error' in message)\n );\n}\n\n/**\n * Validates MCP server instance with type checking.\n * Accepts both the legacy API (`tool`, `resource`, `prompt`) used in SDK 1.x\n * and the newer API (`registerTool`, `registerResource`, `registerPrompt`) introduced\n * alongside the legacy API in SDK 1.x and made the only option in SDK 2.x.\n * @param instance - Object to validate as MCP server instance\n * @returns True if instance has required MCP server methods\n */\nexport function validateMcpServerInstance(instance: unknown): boolean {\n if (\n typeof instance === 'object' &&\n instance !== null &&\n 'connect' in instance &&\n (('tool' in instance && 'resource' in instance && 'prompt' in instance) ||\n ('registerTool' in instance && 'registerResource' in instance && 'registerPrompt' in instance))\n ) {\n return true;\n }\n DEBUG_BUILD && debug.warn('Did not patch MCP server. Interface is incompatible.');\n return false;\n}\n\n/**\n * Check if the item is a valid content item\n * @param item - The item to check\n * @returns True if the item is a valid content item, false otherwise\n */\nexport function isValidContentItem(item: unknown): item is Record<string, unknown> {\n return item != null && typeof item === 'object';\n}\n"],"names":["DEBUG_BUILD","debug"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"validation.js","sources":["../../../../src/integrations/mcp-server/validation.ts"],"sourcesContent":["/**\n * Message validation functions for MCP server instrumentation\n *\n * Provides JSON-RPC 2.0 message type validation and MCP server instance validation.\n */\n\nimport { DEBUG_BUILD } from '../../debug-build';\nimport { debug } from '../../utils/debug-logger';\nimport type { JsonRpcNotification, JsonRpcRequest, JsonRpcResponse } from './types';\n\n/**\n * Validates if a message is a JSON-RPC request\n * @param message - Message to validate\n * @returns True if message is a JSON-RPC request\n */\nexport function isJsonRpcRequest(message: unknown): message is JsonRpcRequest {\n return (\n typeof message === 'object' &&\n message !== null &&\n 'jsonrpc' in message &&\n (message as JsonRpcRequest).jsonrpc === '2.0' &&\n 'method' in message &&\n 'id' in message\n );\n}\n\n/**\n * Validates if a message is a JSON-RPC notification\n * @param message - Message to validate\n * @returns True if message is a JSON-RPC notification\n */\nexport function isJsonRpcNotification(message: unknown): message is JsonRpcNotification {\n return (\n typeof message === 'object' &&\n message !== null &&\n 'jsonrpc' in message &&\n (message as JsonRpcNotification).jsonrpc === '2.0' &&\n 'method' in message &&\n !('id' in message)\n );\n}\n\n/**\n * Validates if a message is a JSON-RPC response\n * @param message - Message to validate\n * @returns True if message is a JSON-RPC response\n */\nexport function isJsonRpcResponse(message: unknown): message is JsonRpcResponse {\n return (\n typeof message === 'object' &&\n message !== null &&\n 'jsonrpc' in message &&\n (message as { jsonrpc: string }).jsonrpc === '2.0' &&\n 'id' in message &&\n ('result' in message || 'error' in message)\n );\n}\n\n/**\n * Validates MCP server instance with type checking.\n * Accepts both the legacy API (`tool`, `resource`, `prompt`) used in SDK 1.x\n * and the newer API (`registerTool`, `registerResource`, `registerPrompt`) introduced\n * alongside the legacy API in SDK 1.x and made the only option in SDK 2.x.\n * @param instance - Object to validate as MCP server instance\n * @returns True if instance has required MCP server methods\n */\nexport function validateMcpServerInstance(instance: unknown): boolean {\n if (\n typeof instance === 'object' &&\n instance !== null &&\n 'connect' in instance &&\n (('tool' in instance && 'resource' in instance && 'prompt' in instance) ||\n ('registerTool' in instance && 'registerResource' in instance && 'registerPrompt' in instance))\n ) {\n return true;\n }\n DEBUG_BUILD && debug.warn('Did not patch MCP server. Interface is incompatible.');\n return false;\n}\n\n/**\n * Check if the item is a valid content item\n * @param item - The item to check\n * @returns True if the item is a valid content item, false otherwise\n */\nexport function isValidContentItem(item: unknown): item is Record<string, unknown> {\n return item != null && typeof item === 'object';\n}\n"],"names":["DEBUG_BUILD","debug"],"mappings":";;;;;AAeO,SAAS,iBAAiB,OAAA,EAA6C;AAC5E,EAAA,OACE,OAAO,OAAA,KAAY,QAAA,IACnB,OAAA,KAAY,IAAA,IACZ,SAAA,IAAa,OAAA,IACZ,OAAA,CAA2B,OAAA,KAAY,KAAA,IACxC,QAAA,IAAY,OAAA,IACZ,IAAA,IAAQ,OAAA;AAEZ;AAOO,SAAS,sBAAsB,OAAA,EAAkD;AACtF,EAAA,OACE,OAAO,OAAA,KAAY,QAAA,IACnB,OAAA,KAAY,IAAA,IACZ,SAAA,IAAa,OAAA,IACZ,OAAA,CAAgC,OAAA,KAAY,KAAA,IAC7C,QAAA,IAAY,OAAA,IACZ,EAAE,IAAA,IAAQ,OAAA,CAAA;AAEd;AAOO,SAAS,kBAAkB,OAAA,EAA8C;AAC9E,EAAA,OACE,OAAO,OAAA,KAAY,QAAA,IACnB,OAAA,KAAY,QACZ,SAAA,IAAa,OAAA,IACZ,OAAA,CAAgC,OAAA,KAAY,KAAA,IAC7C,IAAA,IAAQ,OAAA,KACP,QAAA,IAAY,WAAW,OAAA,IAAW,OAAA,CAAA;AAEvC;AAUO,SAAS,0BAA0B,QAAA,EAA4B;AACpE,EAAA,IACE,OAAO,QAAA,KAAa,QAAA,IACpB,aAAa,IAAA,IACb,SAAA,IAAa,aACX,MAAA,IAAU,QAAA,IAAY,UAAA,IAAc,QAAA,IAAY,YAAY,QAAA,IAC3D,cAAA,IAAkB,YAAY,kBAAA,IAAsB,QAAA,IAAY,oBAAoB,QAAA,CAAA,EACvF;AACA,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAAA,sBAAA,IAAeC,iBAAA,CAAM,KAAK,sDAAsD,CAAA;AAChF,EAAA,OAAO,KAAA;AACT;AAOO,SAAS,mBAAmB,IAAA,EAAgD;AACjF,EAAA,OAAO,IAAA,IAAQ,IAAA,IAAQ,OAAO,IAAA,KAAS,QAAA;AACzC;;;;;;;;"}
|
|
@@ -4,25 +4,14 @@ const integration = require('../integration.js');
|
|
|
4
4
|
const metadata = require('../metadata.js');
|
|
5
5
|
const envelope = require('../utils/envelope.js');
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* Adds module metadata to stack frames.
|
|
9
|
-
*
|
|
10
|
-
* Metadata can be injected by the Sentry bundler plugins using the `moduleMetadata` config option.
|
|
11
|
-
*
|
|
12
|
-
* When this integration is added, the metadata passed to the bundler plugin is added to the stack frames of all events
|
|
13
|
-
* under the `module_metadata` property. This can be used to help in tagging or routing of events from different teams
|
|
14
|
-
* our sources
|
|
15
|
-
*/
|
|
16
7
|
const moduleMetadataIntegration = integration.defineIntegration(() => {
|
|
17
8
|
return {
|
|
18
|
-
name:
|
|
9
|
+
name: "ModuleMetadata",
|
|
19
10
|
setup(client) {
|
|
20
|
-
|
|
21
|
-
client.on('beforeEnvelope', envelope$1 => {
|
|
11
|
+
client.on("beforeEnvelope", (envelope$1) => {
|
|
22
12
|
envelope.forEachEnvelopeItem(envelope$1, (item, type) => {
|
|
23
|
-
if (type ===
|
|
24
|
-
const event = Array.isArray(item) ?
|
|
25
|
-
|
|
13
|
+
if (type === "event") {
|
|
14
|
+
const event = Array.isArray(item) ? item[1] : void 0;
|
|
26
15
|
if (event) {
|
|
27
16
|
metadata.stripMetadataFromStackFrames(event);
|
|
28
17
|
item[1] = event;
|
|
@@ -30,17 +19,14 @@ const moduleMetadataIntegration = integration.defineIntegration(() => {
|
|
|
30
19
|
}
|
|
31
20
|
});
|
|
32
21
|
});
|
|
33
|
-
|
|
34
|
-
client.on('applyFrameMetadata', event => {
|
|
35
|
-
// Only apply stack frame metadata to error events
|
|
22
|
+
client.on("applyFrameMetadata", (event) => {
|
|
36
23
|
if (event.type) {
|
|
37
24
|
return;
|
|
38
25
|
}
|
|
39
|
-
|
|
40
26
|
const stackParser = client.getOptions().stackParser;
|
|
41
27
|
metadata.addMetadataToStackFrames(stackParser, event);
|
|
42
28
|
});
|
|
43
|
-
}
|
|
29
|
+
}
|
|
44
30
|
};
|
|
45
31
|
});
|
|
46
32
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moduleMetadata.js","sources":["../../../src/integrations/moduleMetadata.ts"],"sourcesContent":["import { defineIntegration } from '../integration';\nimport { addMetadataToStackFrames, stripMetadataFromStackFrames } from '../metadata';\nimport type { EventItem } from '../types
|
|
1
|
+
{"version":3,"file":"moduleMetadata.js","sources":["../../../src/integrations/moduleMetadata.ts"],"sourcesContent":["import { defineIntegration } from '../integration';\nimport { addMetadataToStackFrames, stripMetadataFromStackFrames } from '../metadata';\nimport type { EventItem } from '../types/envelope';\nimport { forEachEnvelopeItem } from '../utils/envelope';\n\n/**\n * Adds module metadata to stack frames.\n *\n * Metadata can be injected by the Sentry bundler plugins using the `moduleMetadata` config option.\n *\n * When this integration is added, the metadata passed to the bundler plugin is added to the stack frames of all events\n * under the `module_metadata` property. This can be used to help in tagging or routing of events from different teams\n * our sources\n */\nexport const moduleMetadataIntegration = defineIntegration(() => {\n return {\n name: 'ModuleMetadata',\n setup(client) {\n // We need to strip metadata from stack frames before sending them to Sentry since these are client side only.\n client.on('beforeEnvelope', envelope => {\n forEachEnvelopeItem(envelope, (item, type) => {\n if (type === 'event') {\n const event = Array.isArray(item) ? (item as EventItem)[1] : undefined;\n\n if (event) {\n stripMetadataFromStackFrames(event);\n item[1] = event;\n }\n }\n });\n });\n\n client.on('applyFrameMetadata', event => {\n // Only apply stack frame metadata to error events\n if (event.type) {\n return;\n }\n\n const stackParser = client.getOptions().stackParser;\n addMetadataToStackFrames(stackParser, event);\n });\n },\n };\n});\n"],"names":["defineIntegration","envelope","forEachEnvelopeItem","stripMetadataFromStackFrames","addMetadataToStackFrames"],"mappings":";;;;;;AAcO,MAAM,yBAAA,GAA4BA,8BAAkB,MAAM;AAC/D,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,MAAM,MAAA,EAAQ;AAEZ,MAAA,MAAA,CAAO,EAAA,CAAG,kBAAkB,CAAAC,UAAA,KAAY;AACtC,QAAAC,4BAAA,CAAoBD,UAAA,EAAU,CAAC,IAAA,EAAM,IAAA,KAAS;AAC5C,UAAA,IAAI,SAAS,OAAA,EAAS;AACpB,YAAA,MAAM,QAAQ,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,GAAK,IAAA,CAAmB,CAAC,CAAA,GAAI,MAAA;AAE7D,YAAA,IAAI,KAAA,EAAO;AACT,cAAAE,qCAAA,CAA6B,KAAK,CAAA;AAClC,cAAA,IAAA,CAAK,CAAC,CAAA,GAAI,KAAA;AAAA,YACZ;AAAA,UACF;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAC,CAAA;AAED,MAAA,MAAA,CAAO,EAAA,CAAG,sBAAsB,CAAA,KAAA,KAAS;AAEvC,QAAA,IAAI,MAAM,IAAA,EAAM;AACd,UAAA;AAAA,QACF;AAEA,QAAA,MAAM,WAAA,GAAc,MAAA,CAAO,UAAA,EAAW,CAAE,WAAA;AACxC,QAAAC,iCAAA,CAAyB,aAAa,KAAK,CAAA;AAAA,MAC7C,CAAC,CAAA;AAAA,IACH;AAAA,GACF;AACF,CAAC;;;;"}
|