@sentry/core 10.53.0 → 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.
Files changed (1519) hide show
  1. package/browser.d.ts +4 -0
  2. package/build/cjs/api.js +10 -34
  3. package/build/cjs/api.js.map +1 -1
  4. package/build/cjs/asyncContext/index.js +0 -14
  5. package/build/cjs/asyncContext/index.js.map +1 -1
  6. package/build/cjs/asyncContext/stackStrategy.js +16 -47
  7. package/build/cjs/asyncContext/stackStrategy.js.map +1 -1
  8. package/build/cjs/attributes.js +17 -95
  9. package/build/cjs/attributes.js.map +1 -1
  10. package/build/cjs/breadcrumbs.js +2 -22
  11. package/build/cjs/breadcrumbs.js.map +1 -1
  12. package/build/cjs/browser.js +12 -3
  13. package/build/cjs/browser.js.map +1 -1
  14. package/build/cjs/carrier.js +5 -42
  15. package/build/cjs/carrier.js.map +1 -1
  16. package/build/cjs/checkin.js +5 -19
  17. package/build/cjs/checkin.js.map +1 -1
  18. package/build/cjs/client.js +216 -585
  19. package/build/cjs/client.js.map +1 -1
  20. package/build/cjs/constants.js +2 -2
  21. package/build/cjs/currentScopes.js +5 -86
  22. package/build/cjs/currentScopes.js.map +1 -1
  23. package/build/cjs/debug-build.js +0 -5
  24. package/build/cjs/debug-build.js.map +1 -1
  25. package/build/cjs/defaultScopes.js +2 -5
  26. package/build/cjs/defaultScopes.js.map +1 -1
  27. package/build/cjs/envelope.js +32 -103
  28. package/build/cjs/envelope.js.map +1 -1
  29. package/build/cjs/eventProcessors.js +4 -23
  30. package/build/cjs/eventProcessors.js.map +1 -1
  31. package/build/cjs/exports.js +21 -197
  32. package/build/cjs/exports.js.map +1 -1
  33. package/build/cjs/feedback.js +7 -19
  34. package/build/cjs/feedback.js.map +1 -1
  35. package/build/cjs/fetch.js +66 -201
  36. package/build/cjs/fetch.js.map +1 -1
  37. package/build/cjs/index.js +17 -3
  38. package/build/cjs/index.js.map +1 -1
  39. package/build/cjs/instrument/console.js +9 -41
  40. package/build/cjs/instrument/console.js.map +1 -1
  41. package/build/cjs/instrument/fetch.js +47 -156
  42. package/build/cjs/instrument/fetch.js.map +1 -1
  43. package/build/cjs/instrument/globalError.js +4 -25
  44. package/build/cjs/instrument/globalError.js.map +1 -1
  45. package/build/cjs/instrument/globalUnhandledRejection.js +4 -21
  46. package/build/cjs/instrument/globalUnhandledRejection.js.map +1 -1
  47. package/build/cjs/instrument/handlers.js +9 -21
  48. package/build/cjs/instrument/handlers.js.map +1 -1
  49. package/build/cjs/integration.js +13 -77
  50. package/build/cjs/integration.js.map +1 -1
  51. package/build/cjs/integrations/captureconsole.js +16 -40
  52. package/build/cjs/integrations/captureconsole.js.map +1 -1
  53. package/build/cjs/integrations/consola.js +57 -163
  54. package/build/cjs/integrations/consola.js.map +1 -1
  55. package/build/cjs/integrations/console.js +11 -43
  56. package/build/cjs/integrations/console.js.map +1 -1
  57. package/build/cjs/integrations/conversationId.js +5 -22
  58. package/build/cjs/integrations/conversationId.js.map +1 -1
  59. package/build/cjs/integrations/dedupe.js +16 -74
  60. package/build/cjs/integrations/dedupe.js.map +1 -1
  61. package/build/cjs/integrations/eventFilters.js +63 -114
  62. package/build/cjs/integrations/eventFilters.js.map +1 -1
  63. package/build/cjs/integrations/express/index.js +30 -145
  64. package/build/cjs/integrations/express/index.js.map +1 -1
  65. package/build/cjs/integrations/express/patch-layer.js +20 -130
  66. package/build/cjs/integrations/express/patch-layer.js.map +1 -1
  67. package/build/cjs/integrations/express/request-layer-store.js +1 -3
  68. package/build/cjs/integrations/express/request-layer-store.js.map +1 -1
  69. package/build/cjs/integrations/express/set-sdk-processing-metadata.js +0 -2
  70. package/build/cjs/integrations/express/set-sdk-processing-metadata.js.map +1 -1
  71. package/build/cjs/integrations/express/types.js +6 -7
  72. package/build/cjs/integrations/express/types.js.map +1 -1
  73. package/build/cjs/integrations/express/utils.js +37 -145
  74. package/build/cjs/integrations/express/utils.js.map +1 -1
  75. package/build/cjs/integrations/extraerrordata.js +24 -69
  76. package/build/cjs/integrations/extraerrordata.js.map +1 -1
  77. package/build/cjs/integrations/featureFlags/featureFlagsIntegration.js +3 -29
  78. package/build/cjs/integrations/featureFlags/featureFlagsIntegration.js.map +1 -1
  79. package/build/cjs/integrations/featureFlags/growthbook.js +11 -40
  80. package/build/cjs/integrations/featureFlags/growthbook.js.map +1 -1
  81. package/build/cjs/integrations/functiontostring.js +6 -27
  82. package/build/cjs/integrations/functiontostring.js.map +1 -1
  83. package/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +10 -18
  84. package/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js.map +1 -1
  85. package/build/cjs/integrations/http/client-patch.js +8 -70
  86. package/build/cjs/integrations/http/client-patch.js.map +1 -1
  87. package/build/cjs/integrations/http/client-subscriptions.js +22 -59
  88. package/build/cjs/integrations/http/client-subscriptions.js.map +1 -1
  89. package/build/cjs/integrations/http/constants.js +3 -3
  90. package/build/cjs/integrations/http/double-wrap-warning.js +10 -18
  91. package/build/cjs/integrations/http/double-wrap-warning.js.map +1 -1
  92. package/build/cjs/integrations/http/get-outgoing-span-data.js +30 -47
  93. package/build/cjs/integrations/http/get-outgoing-span-data.js.map +1 -1
  94. package/build/cjs/integrations/http/get-request-url.js +7 -24
  95. package/build/cjs/integrations/http/get-request-url.js.map +1 -1
  96. package/build/cjs/integrations/http/inject-trace-propagation-headers.js +14 -38
  97. package/build/cjs/integrations/http/inject-trace-propagation-headers.js.map +1 -1
  98. package/build/cjs/integrations/http/patch-request-to-capture-body.js +80 -0
  99. package/build/cjs/integrations/http/patch-request-to-capture-body.js.map +1 -0
  100. package/build/cjs/integrations/http/record-request-session.js +61 -0
  101. package/build/cjs/integrations/http/record-request-session.js.map +1 -0
  102. package/build/cjs/integrations/http/server-subscription.js +289 -0
  103. package/build/cjs/integrations/http/server-subscription.js.map +1 -0
  104. package/build/cjs/integrations/linkederrors.js +6 -11
  105. package/build/cjs/integrations/linkederrors.js.map +1 -1
  106. package/build/cjs/integrations/mcp-server/attributeExtraction.js +26 -69
  107. package/build/cjs/integrations/mcp-server/attributeExtraction.js.map +1 -1
  108. package/build/cjs/integrations/mcp-server/attributes.js +30 -138
  109. package/build/cjs/integrations/mcp-server/attributes.js.map +1 -1
  110. package/build/cjs/integrations/mcp-server/correlation.js +20 -91
  111. package/build/cjs/integrations/mcp-server/correlation.js.map +1 -1
  112. package/build/cjs/integrations/mcp-server/errorCapture.js +6 -25
  113. package/build/cjs/integrations/mcp-server/errorCapture.js.map +1 -1
  114. package/build/cjs/integrations/mcp-server/handlers.js +55 -169
  115. package/build/cjs/integrations/mcp-server/handlers.js.map +1 -1
  116. package/build/cjs/integrations/mcp-server/index.js +7 -60
  117. package/build/cjs/integrations/mcp-server/index.js.map +1 -1
  118. package/build/cjs/integrations/mcp-server/methodConfig.js +21 -59
  119. package/build/cjs/integrations/mcp-server/methodConfig.js.map +1 -1
  120. package/build/cjs/integrations/mcp-server/piiFiltering.js +5 -33
  121. package/build/cjs/integrations/mcp-server/piiFiltering.js.map +1 -1
  122. package/build/cjs/integrations/mcp-server/resultExtraction.js +20 -76
  123. package/build/cjs/integrations/mcp-server/resultExtraction.js.map +1 -1
  124. package/build/cjs/integrations/mcp-server/sessionExtraction.js +30 -121
  125. package/build/cjs/integrations/mcp-server/sessionExtraction.js.map +1 -1
  126. package/build/cjs/integrations/mcp-server/sessionManagement.js +2 -60
  127. package/build/cjs/integrations/mcp-server/sessionManagement.js.map +1 -1
  128. package/build/cjs/integrations/mcp-server/spans.js +20 -107
  129. package/build/cjs/integrations/mcp-server/spans.js.map +1 -1
  130. package/build/cjs/integrations/mcp-server/transport.js +26 -94
  131. package/build/cjs/integrations/mcp-server/transport.js.map +1 -1
  132. package/build/cjs/integrations/mcp-server/validation.js +6 -72
  133. package/build/cjs/integrations/mcp-server/validation.js.map +1 -1
  134. package/build/cjs/integrations/moduleMetadata.js +6 -20
  135. package/build/cjs/integrations/moduleMetadata.js.map +1 -1
  136. package/build/cjs/integrations/postgresjs.js +78 -287
  137. package/build/cjs/integrations/postgresjs.js.map +1 -1
  138. package/build/cjs/integrations/requestdata.js +30 -93
  139. package/build/cjs/integrations/requestdata.js.map +1 -1
  140. package/build/cjs/integrations/rewriteframes.js +14 -45
  141. package/build/cjs/integrations/rewriteframes.js.map +1 -1
  142. package/build/cjs/integrations/spanStreaming.js +9 -15
  143. package/build/cjs/integrations/spanStreaming.js.map +1 -1
  144. package/build/cjs/integrations/supabase.js +224 -333
  145. package/build/cjs/integrations/supabase.js.map +1 -1
  146. package/build/cjs/integrations/third-party-errors-filter.js +60 -85
  147. package/build/cjs/integrations/third-party-errors-filter.js.map +1 -1
  148. package/build/cjs/integrations/zoderrors.js +35 -111
  149. package/build/cjs/integrations/zoderrors.js.map +1 -1
  150. package/build/cjs/logs/console-integration.js +15 -50
  151. package/build/cjs/logs/console-integration.js.map +1 -1
  152. package/build/cjs/logs/constants.js +1 -6
  153. package/build/cjs/logs/constants.js.map +1 -1
  154. package/build/cjs/logs/envelope.js +10 -40
  155. package/build/cjs/logs/envelope.js.map +1 -1
  156. package/build/cjs/logs/internal.js +53 -125
  157. package/build/cjs/logs/internal.js.map +1 -1
  158. package/build/cjs/logs/public-api.js +13 -228
  159. package/build/cjs/logs/public-api.js.map +1 -1
  160. package/build/cjs/logs/utils.js +6 -47
  161. package/build/cjs/logs/utils.js.map +1 -1
  162. package/build/cjs/metadata.js +6 -51
  163. package/build/cjs/metadata.js.map +1 -1
  164. package/build/cjs/metrics/envelope.js +12 -45
  165. package/build/cjs/metrics/envelope.js.map +1 -1
  166. package/build/cjs/metrics/internal.js +31 -144
  167. package/build/cjs/metrics/internal.js.map +1 -1
  168. package/build/cjs/metrics/public-api.js +4 -109
  169. package/build/cjs/metrics/public-api.js.map +1 -1
  170. package/build/cjs/profiling.js +11 -41
  171. package/build/cjs/profiling.js.map +1 -1
  172. package/build/cjs/scope.js +73 -224
  173. package/build/cjs/scope.js.map +1 -1
  174. package/build/cjs/sdk.js +2 -21
  175. package/build/cjs/sdk.js.map +1 -1
  176. package/build/cjs/semanticAttributes.js +30 -116
  177. package/build/cjs/semanticAttributes.js.map +1 -1
  178. package/build/cjs/server-runtime-client.js +32 -87
  179. package/build/cjs/server-runtime-client.js.map +1 -1
  180. package/build/cjs/server.js +17 -3
  181. package/build/cjs/server.js.map +1 -1
  182. package/build/cjs/session.js +14 -67
  183. package/build/cjs/session.js.map +1 -1
  184. package/build/cjs/tracing/ai/gen-ai-attributes.js +45 -249
  185. package/build/cjs/tracing/ai/gen-ai-attributes.js.map +1 -1
  186. package/build/cjs/tracing/ai/mediaStripping.js +21 -116
  187. package/build/cjs/tracing/ai/mediaStripping.js.map +1 -1
  188. package/build/cjs/tracing/ai/messageTruncation.js +26 -212
  189. package/build/cjs/tracing/ai/messageTruncation.js.map +1 -1
  190. package/build/cjs/tracing/ai/utils.js +40 -180
  191. package/build/cjs/tracing/ai/utils.js.map +1 -1
  192. package/build/cjs/tracing/anthropic-ai/constants.js +9 -12
  193. package/build/cjs/tracing/anthropic-ai/constants.js.map +1 -1
  194. package/build/cjs/tracing/anthropic-ai/index.js +67 -172
  195. package/build/cjs/tracing/anthropic-ai/index.js.map +1 -1
  196. package/build/cjs/tracing/anthropic-ai/streaming.js +45 -149
  197. package/build/cjs/tracing/anthropic-ai/streaming.js.map +1 -1
  198. package/build/cjs/tracing/anthropic-ai/utils.js +17 -47
  199. package/build/cjs/tracing/anthropic-ai/utils.js.map +1 -1
  200. package/build/cjs/tracing/dynamicSamplingContext.js +18 -85
  201. package/build/cjs/tracing/dynamicSamplingContext.js.map +1 -1
  202. package/build/cjs/tracing/errors.js +2 -14
  203. package/build/cjs/tracing/errors.js.map +1 -1
  204. package/build/cjs/tracing/google-genai/constants.js +9 -16
  205. package/build/cjs/tracing/google-genai/constants.js.map +1 -1
  206. package/build/cjs/tracing/google-genai/index.js +79 -223
  207. package/build/cjs/tracing/google-genai/index.js.map +1 -1
  208. package/build/cjs/tracing/google-genai/streaming.js +11 -56
  209. package/build/cjs/tracing/google-genai/streaming.js.map +1 -1
  210. package/build/cjs/tracing/google-genai/utils.js +8 -13
  211. package/build/cjs/tracing/google-genai/utils.js.map +1 -1
  212. package/build/cjs/tracing/idleSpan.js +48 -174
  213. package/build/cjs/tracing/idleSpan.js.map +1 -1
  214. package/build/cjs/tracing/langchain/constants.js +8 -9
  215. package/build/cjs/tracing/langchain/constants.js.map +1 -1
  216. package/build/cjs/tracing/langchain/embeddings.js +31 -75
  217. package/build/cjs/tracing/langchain/embeddings.js.map +1 -1
  218. package/build/cjs/tracing/langchain/index.js +64 -161
  219. package/build/cjs/tracing/langchain/index.js.map +1 -1
  220. package/build/cjs/tracing/langchain/utils.js +101 -311
  221. package/build/cjs/tracing/langchain/utils.js.map +1 -1
  222. package/build/cjs/tracing/langgraph/constants.js +2 -2
  223. package/build/cjs/tracing/langgraph/index.js +57 -160
  224. package/build/cjs/tracing/langgraph/index.js.map +1 -1
  225. package/build/cjs/tracing/langgraph/utils.js +53 -170
  226. package/build/cjs/tracing/langgraph/utils.js.map +1 -1
  227. package/build/cjs/tracing/logSpans.js +10 -26
  228. package/build/cjs/tracing/logSpans.js.map +1 -1
  229. package/build/cjs/tracing/measurement.js +6 -18
  230. package/build/cjs/tracing/measurement.js.map +1 -1
  231. package/build/cjs/tracing/openai/constants.js +20 -24
  232. package/build/cjs/tracing/openai/constants.js.map +1 -1
  233. package/build/cjs/tracing/openai/index.js +52 -132
  234. package/build/cjs/tracing/openai/index.js.map +1 -1
  235. package/build/cjs/tracing/openai/streaming.js +24 -102
  236. package/build/cjs/tracing/openai/streaming.js.map +1 -1
  237. package/build/cjs/tracing/openai/utils.js +36 -107
  238. package/build/cjs/tracing/openai/utils.js.map +1 -1
  239. package/build/cjs/tracing/sampling.js +23 -63
  240. package/build/cjs/tracing/sampling.js.map +1 -1
  241. package/build/cjs/tracing/sentryNonRecordingSpan.js +15 -40
  242. package/build/cjs/tracing/sentryNonRecordingSpan.js.map +1 -1
  243. package/build/cjs/tracing/sentrySpan.js +66 -172
  244. package/build/cjs/tracing/sentrySpan.js.map +1 -1
  245. package/build/cjs/tracing/spans/beforeSendSpan.js +4 -32
  246. package/build/cjs/tracing/spans/beforeSendSpan.js.map +1 -1
  247. package/build/cjs/tracing/spans/captureSpan.js +63 -165
  248. package/build/cjs/tracing/spans/captureSpan.js.map +1 -1
  249. package/build/cjs/tracing/spans/envelope.js +12 -24
  250. package/build/cjs/tracing/spans/envelope.js.map +1 -1
  251. package/build/cjs/tracing/spans/estimateSize.js +0 -22
  252. package/build/cjs/tracing/spans/estimateSize.js.map +1 -1
  253. package/build/cjs/tracing/spans/extractGenAiSpans.js +11 -33
  254. package/build/cjs/tracing/spans/extractGenAiSpans.js.map +1 -1
  255. package/build/cjs/tracing/spans/hasSpanStreamingEnabled.js +1 -4
  256. package/build/cjs/tracing/spans/hasSpanStreamingEnabled.js.map +1 -1
  257. package/build/cjs/tracing/spans/scopeContextAttributes.js +58 -0
  258. package/build/cjs/tracing/spans/scopeContextAttributes.js.map +1 -0
  259. package/build/cjs/tracing/spans/spanBuffer.js +21 -71
  260. package/build/cjs/tracing/spans/spanBuffer.js.map +1 -1
  261. package/build/cjs/tracing/spans/spanJsonToStreamedSpan.js +4 -8
  262. package/build/cjs/tracing/spans/spanJsonToStreamedSpan.js.map +1 -1
  263. package/build/cjs/tracing/spanstatus.js +15 -32
  264. package/build/cjs/tracing/spanstatus.js.map +1 -1
  265. package/build/cjs/tracing/trace.js +95 -311
  266. package/build/cjs/tracing/trace.js.map +1 -1
  267. package/build/cjs/tracing/utils.js +4 -14
  268. package/build/cjs/tracing/utils.js.map +1 -1
  269. package/build/cjs/tracing/vercel-ai/constants.js +15 -26
  270. package/build/cjs/tracing/vercel-ai/constants.js.map +1 -1
  271. package/build/cjs/tracing/vercel-ai/index.js +84 -288
  272. package/build/cjs/tracing/vercel-ai/index.js.map +1 -1
  273. package/build/cjs/tracing/vercel-ai/utils.js +30 -128
  274. package/build/cjs/tracing/vercel-ai/utils.js.map +1 -1
  275. package/build/cjs/tracing/vercel-ai/vercel-ai-attributes.js +22 -229
  276. package/build/cjs/tracing/vercel-ai/vercel-ai-attributes.js.map +1 -1
  277. package/build/cjs/transports/base.js +32 -67
  278. package/build/cjs/transports/base.js.map +1 -1
  279. package/build/cjs/transports/multiplexed.js +38 -103
  280. package/build/cjs/transports/multiplexed.js.map +1 -1
  281. package/build/cjs/transports/offline.js +31 -72
  282. package/build/cjs/transports/offline.js.map +1 -1
  283. package/build/cjs/transports/userAgent.js +4 -13
  284. package/build/cjs/transports/userAgent.js.map +1 -1
  285. package/build/cjs/trpc.js +19 -39
  286. package/build/cjs/trpc.js.map +1 -1
  287. package/build/cjs/utils/aggregate-errors.js +18 -62
  288. package/build/cjs/utils/aggregate-errors.js.map +1 -1
  289. package/build/cjs/utils/ai/providerSkip.js +3 -50
  290. package/build/cjs/utils/ai/providerSkip.js.map +1 -1
  291. package/build/cjs/utils/anr.js +7 -36
  292. package/build/cjs/utils/anr.js.map +1 -1
  293. package/build/cjs/utils/baggage.js +37 -146
  294. package/build/cjs/utils/baggage.js.map +1 -1
  295. package/build/cjs/utils/breadcrumb-log-level.js +5 -9
  296. package/build/cjs/utils/breadcrumb-log-level.js.map +1 -1
  297. package/build/cjs/utils/browser.js +24 -86
  298. package/build/cjs/utils/browser.js.map +1 -1
  299. package/build/cjs/utils/chain-and-copy-promiselike.js +10 -27
  300. package/build/cjs/utils/chain-and-copy-promiselike.js.map +1 -1
  301. package/build/cjs/utils/clientreport.js +4 -13
  302. package/build/cjs/utils/clientreport.js.map +1 -1
  303. package/build/cjs/utils/cookie.js +6 -53
  304. package/build/cjs/utils/cookie.js.map +1 -1
  305. package/build/cjs/utils/data-collection/defaultPiiToCollectionOptions.js +28 -0
  306. package/build/cjs/utils/data-collection/defaultPiiToCollectionOptions.js.map +1 -0
  307. package/build/cjs/utils/data-collection/filterCookies.js +23 -0
  308. package/build/cjs/utils/data-collection/filterCookies.js.map +1 -0
  309. package/build/cjs/utils/data-collection/filterKeyValueData.js +43 -0
  310. package/build/cjs/utils/data-collection/filterKeyValueData.js.map +1 -0
  311. package/build/cjs/utils/data-collection/filterQueryParams.js +26 -0
  312. package/build/cjs/utils/data-collection/filterQueryParams.js.map +1 -0
  313. package/build/cjs/utils/data-collection/filtering-snippets.js +61 -0
  314. package/build/cjs/utils/data-collection/filtering-snippets.js.map +1 -0
  315. package/build/cjs/utils/data-collection/resolveDataCollectionOptions.js +37 -0
  316. package/build/cjs/utils/data-collection/resolveDataCollectionOptions.js.map +1 -0
  317. package/build/cjs/utils/debounce.js +5 -32
  318. package/build/cjs/utils/debounce.js.map +1 -1
  319. package/build/cjs/utils/debug-ids.js +4 -42
  320. package/build/cjs/utils/debug-ids.js.map +1 -1
  321. package/build/cjs/utils/debug-logger.js +23 -56
  322. package/build/cjs/utils/debug-logger.js.map +1 -1
  323. package/build/cjs/utils/dsn.js +18 -81
  324. package/build/cjs/utils/dsn.js.map +1 -1
  325. package/build/cjs/utils/env.js +3 -27
  326. package/build/cjs/utils/env.js.map +1 -1
  327. package/build/cjs/utils/envToBool.js +2 -15
  328. package/build/cjs/utils/envToBool.js.map +1 -1
  329. package/build/cjs/utils/envelope.js +39 -133
  330. package/build/cjs/utils/envelope.js.map +1 -1
  331. package/build/cjs/utils/error.js +3 -10
  332. package/build/cjs/utils/error.js.map +1 -1
  333. package/build/cjs/utils/eventUtils.js +0 -8
  334. package/build/cjs/utils/eventUtils.js.map +1 -1
  335. package/build/cjs/utils/eventbuilder.js +30 -114
  336. package/build/cjs/utils/eventbuilder.js.map +1 -1
  337. package/build/cjs/utils/exports.js +5 -24
  338. package/build/cjs/utils/exports.js.map +1 -1
  339. package/build/cjs/utils/featureFlags.js +10 -96
  340. package/build/cjs/utils/featureFlags.js.map +1 -1
  341. package/build/cjs/utils/flushIfServerless.js +14 -48
  342. package/build/cjs/utils/flushIfServerless.js.map +1 -1
  343. package/build/cjs/utils/get-default-export.js +1 -25
  344. package/build/cjs/utils/get-default-export.js.map +1 -1
  345. package/build/cjs/utils/handleCallbackErrors.js +10 -48
  346. package/build/cjs/utils/handleCallbackErrors.js.map +1 -1
  347. package/build/cjs/utils/hasSpansEnabled.js +4 -28
  348. package/build/cjs/utils/hasSpansEnabled.js.map +1 -1
  349. package/build/cjs/utils/ipAddress.js +7 -19
  350. package/build/cjs/utils/ipAddress.js.map +1 -1
  351. package/build/cjs/utils/is.js +18 -163
  352. package/build/cjs/utils/is.js.map +1 -1
  353. package/build/cjs/utils/isBrowser.js +3 -9
  354. package/build/cjs/utils/isBrowser.js.map +1 -1
  355. package/build/cjs/utils/isSentryRequestUrl.js +2 -19
  356. package/build/cjs/utils/isSentryRequestUrl.js.map +1 -1
  357. package/build/cjs/utils/lru.js +13 -24
  358. package/build/cjs/utils/lru.js.map +1 -1
  359. package/build/cjs/utils/merge.js +1 -17
  360. package/build/cjs/utils/merge.js.map +1 -1
  361. package/build/cjs/utils/meta.js +1 -24
  362. package/build/cjs/utils/meta.js.map +1 -1
  363. package/build/cjs/utils/misc.js +31 -134
  364. package/build/cjs/utils/misc.js.map +1 -1
  365. package/build/cjs/utils/node-stack-trace.js +22 -61
  366. package/build/cjs/utils/node-stack-trace.js.map +1 -1
  367. package/build/cjs/utils/node.js +3 -48
  368. package/build/cjs/utils/node.js.map +1 -1
  369. package/build/cjs/utils/normalizationHints.js +5 -18
  370. package/build/cjs/utils/normalizationHints.js.map +1 -1
  371. package/build/cjs/utils/normalize.js +39 -205
  372. package/build/cjs/utils/normalize.js.map +1 -1
  373. package/build/cjs/utils/object.js +33 -168
  374. package/build/cjs/utils/object.js.map +1 -1
  375. package/build/cjs/utils/parameterize.js +2 -21
  376. package/build/cjs/utils/parameterize.js.map +1 -1
  377. package/build/cjs/utils/parseSampleRate.js +4 -13
  378. package/build/cjs/utils/parseSampleRate.js.map +1 -1
  379. package/build/cjs/utils/path.js +28 -115
  380. package/build/cjs/utils/path.js.map +1 -1
  381. package/build/cjs/utils/prepareEvent.js +53 -191
  382. package/build/cjs/utils/prepareEvent.js.map +1 -1
  383. package/build/cjs/utils/promisebuffer.js +5 -47
  384. package/build/cjs/utils/promisebuffer.js.map +1 -1
  385. package/build/cjs/utils/propagationContext.js +0 -7
  386. package/build/cjs/utils/propagationContext.js.map +1 -1
  387. package/build/cjs/utils/randomSafeContext.js +3 -22
  388. package/build/cjs/utils/randomSafeContext.js.map +1 -1
  389. package/build/cjs/utils/ratelimit.js +13 -66
  390. package/build/cjs/utils/ratelimit.js.map +1 -1
  391. package/build/cjs/utils/request.js +62 -269
  392. package/build/cjs/utils/request.js.map +1 -1
  393. package/build/cjs/utils/scopeData.js +15 -79
  394. package/build/cjs/utils/scopeData.js.map +1 -1
  395. package/build/cjs/utils/sdkMetadata.js +5 -19
  396. package/build/cjs/utils/sdkMetadata.js.map +1 -1
  397. package/build/cjs/utils/severity.js +1 -9
  398. package/build/cjs/utils/severity.js.map +1 -1
  399. package/build/cjs/utils/should-ignore-span.js +6 -38
  400. package/build/cjs/utils/should-ignore-span.js.map +1 -1
  401. package/build/cjs/utils/spanOnScope.js +3 -14
  402. package/build/cjs/utils/spanOnScope.js.map +1 -1
  403. package/build/cjs/utils/spanUtils.js +42 -222
  404. package/build/cjs/utils/spanUtils.js.map +1 -1
  405. package/build/cjs/utils/stacktrace.js +19 -106
  406. package/build/cjs/utils/stacktrace.js.map +1 -1
  407. package/build/cjs/utils/string.js +7 -75
  408. package/build/cjs/utils/string.js.map +1 -1
  409. package/build/cjs/utils/supports.js +14 -99
  410. package/build/cjs/utils/supports.js.map +1 -1
  411. package/build/cjs/utils/syncpromise.js +19 -68
  412. package/build/cjs/utils/syncpromise.js.map +1 -1
  413. package/build/cjs/utils/time.js +7 -84
  414. package/build/cjs/utils/time.js.map +1 -1
  415. package/build/cjs/utils/timer.js +1 -10
  416. package/build/cjs/utils/timer.js.map +1 -1
  417. package/build/cjs/utils/timestampSequence.js +5 -21
  418. package/build/cjs/utils/timestampSequence.js.map +1 -1
  419. package/build/cjs/utils/trace-info.js +3 -10
  420. package/build/cjs/utils/trace-info.js.map +1 -1
  421. package/build/cjs/utils/traceData.js +4 -39
  422. package/build/cjs/utils/traceData.js.map +1 -1
  423. package/build/cjs/utils/tracePropagationTargets.js +4 -18
  424. package/build/cjs/utils/tracePropagationTargets.js.map +1 -1
  425. package/build/cjs/utils/tracing.js +32 -106
  426. package/build/cjs/utils/tracing.js.map +1 -1
  427. package/build/cjs/utils/transactionEvent.js +11 -19
  428. package/build/cjs/utils/transactionEvent.js.map +1 -1
  429. package/build/cjs/utils/tunnel.js +12 -33
  430. package/build/cjs/utils/tunnel.js.map +1 -1
  431. package/build/cjs/utils/url.js +42 -176
  432. package/build/cjs/utils/url.js.map +1 -1
  433. package/build/cjs/utils/vercelWaitUntil.js +4 -12
  434. package/build/cjs/utils/vercelWaitUntil.js.map +1 -1
  435. package/build/cjs/utils/version.js +1 -3
  436. package/build/cjs/utils/version.js.map +1 -1
  437. package/build/cjs/utils/weakRef.js +5 -36
  438. package/build/cjs/utils/weakRef.js.map +1 -1
  439. package/build/cjs/utils/worldwide.js +1 -4
  440. package/build/cjs/utils/worldwide.js.map +1 -1
  441. package/build/cjs/vendor/escapeStringForRegex.js +1 -32
  442. package/build/cjs/vendor/escapeStringForRegex.js.map +1 -1
  443. package/build/cjs/vendor/getIpAddress.js +19 -99
  444. package/build/cjs/vendor/getIpAddress.js.map +1 -1
  445. package/build/esm/api.js +10 -34
  446. package/build/esm/api.js.map +1 -1
  447. package/build/esm/asyncContext/index.js +0 -14
  448. package/build/esm/asyncContext/index.js.map +1 -1
  449. package/build/esm/asyncContext/stackStrategy.js +16 -47
  450. package/build/esm/asyncContext/stackStrategy.js.map +1 -1
  451. package/build/esm/attributes.js +17 -95
  452. package/build/esm/attributes.js.map +1 -1
  453. package/build/esm/breadcrumbs.js +2 -22
  454. package/build/esm/breadcrumbs.js.map +1 -1
  455. package/build/esm/browser.js +5 -1
  456. package/build/esm/browser.js.map +1 -1
  457. package/build/esm/carrier.js +5 -42
  458. package/build/esm/carrier.js.map +1 -1
  459. package/build/esm/checkin.js +5 -19
  460. package/build/esm/checkin.js.map +1 -1
  461. package/build/esm/client.js +216 -585
  462. package/build/esm/client.js.map +1 -1
  463. package/build/esm/constants.js +2 -2
  464. package/build/esm/currentScopes.js +5 -86
  465. package/build/esm/currentScopes.js.map +1 -1
  466. package/build/esm/debug-build.js +0 -5
  467. package/build/esm/debug-build.js.map +1 -1
  468. package/build/esm/defaultScopes.js +2 -5
  469. package/build/esm/defaultScopes.js.map +1 -1
  470. package/build/esm/envelope.js +32 -103
  471. package/build/esm/envelope.js.map +1 -1
  472. package/build/esm/eventProcessors.js +4 -23
  473. package/build/esm/eventProcessors.js.map +1 -1
  474. package/build/esm/exports.js +21 -197
  475. package/build/esm/exports.js.map +1 -1
  476. package/build/esm/feedback.js +7 -19
  477. package/build/esm/feedback.js.map +1 -1
  478. package/build/esm/fetch.js +66 -201
  479. package/build/esm/fetch.js.map +1 -1
  480. package/build/esm/index.js +7 -1
  481. package/build/esm/index.js.map +1 -1
  482. package/build/esm/instrument/console.js +9 -41
  483. package/build/esm/instrument/console.js.map +1 -1
  484. package/build/esm/instrument/fetch.js +47 -156
  485. package/build/esm/instrument/fetch.js.map +1 -1
  486. package/build/esm/instrument/globalError.js +4 -25
  487. package/build/esm/instrument/globalError.js.map +1 -1
  488. package/build/esm/instrument/globalUnhandledRejection.js +4 -21
  489. package/build/esm/instrument/globalUnhandledRejection.js.map +1 -1
  490. package/build/esm/instrument/handlers.js +9 -21
  491. package/build/esm/instrument/handlers.js.map +1 -1
  492. package/build/esm/integration.js +13 -77
  493. package/build/esm/integration.js.map +1 -1
  494. package/build/esm/integrations/captureconsole.js +16 -40
  495. package/build/esm/integrations/captureconsole.js.map +1 -1
  496. package/build/esm/integrations/consola.js +57 -163
  497. package/build/esm/integrations/consola.js.map +1 -1
  498. package/build/esm/integrations/console.js +11 -43
  499. package/build/esm/integrations/console.js.map +1 -1
  500. package/build/esm/integrations/conversationId.js +5 -22
  501. package/build/esm/integrations/conversationId.js.map +1 -1
  502. package/build/esm/integrations/dedupe.js +16 -74
  503. package/build/esm/integrations/dedupe.js.map +1 -1
  504. package/build/esm/integrations/eventFilters.js +63 -114
  505. package/build/esm/integrations/eventFilters.js.map +1 -1
  506. package/build/esm/integrations/express/index.js +30 -145
  507. package/build/esm/integrations/express/index.js.map +1 -1
  508. package/build/esm/integrations/express/patch-layer.js +20 -130
  509. package/build/esm/integrations/express/patch-layer.js.map +1 -1
  510. package/build/esm/integrations/express/request-layer-store.js +1 -3
  511. package/build/esm/integrations/express/request-layer-store.js.map +1 -1
  512. package/build/esm/integrations/express/set-sdk-processing-metadata.js +0 -2
  513. package/build/esm/integrations/express/set-sdk-processing-metadata.js.map +1 -1
  514. package/build/esm/integrations/express/types.js +6 -7
  515. package/build/esm/integrations/express/types.js.map +1 -1
  516. package/build/esm/integrations/express/utils.js +37 -145
  517. package/build/esm/integrations/express/utils.js.map +1 -1
  518. package/build/esm/integrations/extraerrordata.js +24 -69
  519. package/build/esm/integrations/extraerrordata.js.map +1 -1
  520. package/build/esm/integrations/featureFlags/featureFlagsIntegration.js +3 -29
  521. package/build/esm/integrations/featureFlags/featureFlagsIntegration.js.map +1 -1
  522. package/build/esm/integrations/featureFlags/growthbook.js +11 -40
  523. package/build/esm/integrations/featureFlags/growthbook.js.map +1 -1
  524. package/build/esm/integrations/functiontostring.js +6 -27
  525. package/build/esm/integrations/functiontostring.js.map +1 -1
  526. package/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +10 -18
  527. package/build/esm/integrations/http/add-outgoing-request-breadcrumb.js.map +1 -1
  528. package/build/esm/integrations/http/client-patch.js +8 -70
  529. package/build/esm/integrations/http/client-patch.js.map +1 -1
  530. package/build/esm/integrations/http/client-subscriptions.js +22 -59
  531. package/build/esm/integrations/http/client-subscriptions.js.map +1 -1
  532. package/build/esm/integrations/http/constants.js +3 -3
  533. package/build/esm/integrations/http/double-wrap-warning.js +10 -18
  534. package/build/esm/integrations/http/double-wrap-warning.js.map +1 -1
  535. package/build/esm/integrations/http/get-outgoing-span-data.js +30 -47
  536. package/build/esm/integrations/http/get-outgoing-span-data.js.map +1 -1
  537. package/build/esm/integrations/http/get-request-url.js +7 -24
  538. package/build/esm/integrations/http/get-request-url.js.map +1 -1
  539. package/build/esm/integrations/http/inject-trace-propagation-headers.js +14 -38
  540. package/build/esm/integrations/http/inject-trace-propagation-headers.js.map +1 -1
  541. package/build/esm/integrations/http/patch-request-to-capture-body.js +78 -0
  542. package/build/esm/integrations/http/patch-request-to-capture-body.js.map +1 -0
  543. package/build/esm/integrations/http/record-request-session.js +59 -0
  544. package/build/esm/integrations/http/record-request-session.js.map +1 -0
  545. package/build/esm/integrations/http/server-subscription.js +285 -0
  546. package/build/esm/integrations/http/server-subscription.js.map +1 -0
  547. package/build/esm/integrations/linkederrors.js +6 -11
  548. package/build/esm/integrations/linkederrors.js.map +1 -1
  549. package/build/esm/integrations/mcp-server/attributeExtraction.js +26 -69
  550. package/build/esm/integrations/mcp-server/attributeExtraction.js.map +1 -1
  551. package/build/esm/integrations/mcp-server/attributes.js +30 -138
  552. package/build/esm/integrations/mcp-server/attributes.js.map +1 -1
  553. package/build/esm/integrations/mcp-server/correlation.js +20 -91
  554. package/build/esm/integrations/mcp-server/correlation.js.map +1 -1
  555. package/build/esm/integrations/mcp-server/errorCapture.js +6 -25
  556. package/build/esm/integrations/mcp-server/errorCapture.js.map +1 -1
  557. package/build/esm/integrations/mcp-server/handlers.js +55 -169
  558. package/build/esm/integrations/mcp-server/handlers.js.map +1 -1
  559. package/build/esm/integrations/mcp-server/index.js +7 -60
  560. package/build/esm/integrations/mcp-server/index.js.map +1 -1
  561. package/build/esm/integrations/mcp-server/methodConfig.js +21 -59
  562. package/build/esm/integrations/mcp-server/methodConfig.js.map +1 -1
  563. package/build/esm/integrations/mcp-server/piiFiltering.js +5 -33
  564. package/build/esm/integrations/mcp-server/piiFiltering.js.map +1 -1
  565. package/build/esm/integrations/mcp-server/resultExtraction.js +20 -76
  566. package/build/esm/integrations/mcp-server/resultExtraction.js.map +1 -1
  567. package/build/esm/integrations/mcp-server/sessionExtraction.js +30 -121
  568. package/build/esm/integrations/mcp-server/sessionExtraction.js.map +1 -1
  569. package/build/esm/integrations/mcp-server/sessionManagement.js +2 -60
  570. package/build/esm/integrations/mcp-server/sessionManagement.js.map +1 -1
  571. package/build/esm/integrations/mcp-server/spans.js +20 -107
  572. package/build/esm/integrations/mcp-server/spans.js.map +1 -1
  573. package/build/esm/integrations/mcp-server/transport.js +26 -94
  574. package/build/esm/integrations/mcp-server/transport.js.map +1 -1
  575. package/build/esm/integrations/mcp-server/validation.js +6 -72
  576. package/build/esm/integrations/mcp-server/validation.js.map +1 -1
  577. package/build/esm/integrations/moduleMetadata.js +6 -20
  578. package/build/esm/integrations/moduleMetadata.js.map +1 -1
  579. package/build/esm/integrations/postgresjs.js +78 -287
  580. package/build/esm/integrations/postgresjs.js.map +1 -1
  581. package/build/esm/integrations/requestdata.js +30 -93
  582. package/build/esm/integrations/requestdata.js.map +1 -1
  583. package/build/esm/integrations/rewriteframes.js +14 -45
  584. package/build/esm/integrations/rewriteframes.js.map +1 -1
  585. package/build/esm/integrations/spanStreaming.js +9 -15
  586. package/build/esm/integrations/spanStreaming.js.map +1 -1
  587. package/build/esm/integrations/supabase.js +224 -333
  588. package/build/esm/integrations/supabase.js.map +1 -1
  589. package/build/esm/integrations/third-party-errors-filter.js +60 -85
  590. package/build/esm/integrations/third-party-errors-filter.js.map +1 -1
  591. package/build/esm/integrations/zoderrors.js +35 -111
  592. package/build/esm/integrations/zoderrors.js.map +1 -1
  593. package/build/esm/logs/console-integration.js +15 -50
  594. package/build/esm/logs/console-integration.js.map +1 -1
  595. package/build/esm/logs/constants.js +1 -6
  596. package/build/esm/logs/constants.js.map +1 -1
  597. package/build/esm/logs/envelope.js +10 -40
  598. package/build/esm/logs/envelope.js.map +1 -1
  599. package/build/esm/logs/internal.js +53 -126
  600. package/build/esm/logs/internal.js.map +1 -1
  601. package/build/esm/logs/public-api.js +13 -228
  602. package/build/esm/logs/public-api.js.map +1 -1
  603. package/build/esm/logs/utils.js +6 -47
  604. package/build/esm/logs/utils.js.map +1 -1
  605. package/build/esm/metadata.js +6 -51
  606. package/build/esm/metadata.js.map +1 -1
  607. package/build/esm/metrics/envelope.js +12 -45
  608. package/build/esm/metrics/envelope.js.map +1 -1
  609. package/build/esm/metrics/internal.js +31 -144
  610. package/build/esm/metrics/internal.js.map +1 -1
  611. package/build/esm/metrics/public-api.js +4 -109
  612. package/build/esm/metrics/public-api.js.map +1 -1
  613. package/build/esm/package.json +1 -1
  614. package/build/esm/profiling.js +11 -41
  615. package/build/esm/profiling.js.map +1 -1
  616. package/build/esm/scope.js +73 -224
  617. package/build/esm/scope.js.map +1 -1
  618. package/build/esm/sdk.js +2 -21
  619. package/build/esm/sdk.js.map +1 -1
  620. package/build/esm/semanticAttributes.js +31 -118
  621. package/build/esm/semanticAttributes.js.map +1 -1
  622. package/build/esm/server-runtime-client.js +32 -87
  623. package/build/esm/server-runtime-client.js.map +1 -1
  624. package/build/esm/server.js +7 -1
  625. package/build/esm/server.js.map +1 -1
  626. package/build/esm/session.js +14 -67
  627. package/build/esm/session.js.map +1 -1
  628. package/build/esm/tracing/ai/gen-ai-attributes.js +45 -249
  629. package/build/esm/tracing/ai/gen-ai-attributes.js.map +1 -1
  630. package/build/esm/tracing/ai/mediaStripping.js +21 -116
  631. package/build/esm/tracing/ai/mediaStripping.js.map +1 -1
  632. package/build/esm/tracing/ai/messageTruncation.js +26 -212
  633. package/build/esm/tracing/ai/messageTruncation.js.map +1 -1
  634. package/build/esm/tracing/ai/utils.js +40 -180
  635. package/build/esm/tracing/ai/utils.js.map +1 -1
  636. package/build/esm/tracing/anthropic-ai/constants.js +9 -12
  637. package/build/esm/tracing/anthropic-ai/constants.js.map +1 -1
  638. package/build/esm/tracing/anthropic-ai/index.js +67 -172
  639. package/build/esm/tracing/anthropic-ai/index.js.map +1 -1
  640. package/build/esm/tracing/anthropic-ai/streaming.js +45 -149
  641. package/build/esm/tracing/anthropic-ai/streaming.js.map +1 -1
  642. package/build/esm/tracing/anthropic-ai/utils.js +17 -47
  643. package/build/esm/tracing/anthropic-ai/utils.js.map +1 -1
  644. package/build/esm/tracing/dynamicSamplingContext.js +18 -85
  645. package/build/esm/tracing/dynamicSamplingContext.js.map +1 -1
  646. package/build/esm/tracing/errors.js +2 -14
  647. package/build/esm/tracing/errors.js.map +1 -1
  648. package/build/esm/tracing/google-genai/constants.js +9 -16
  649. package/build/esm/tracing/google-genai/constants.js.map +1 -1
  650. package/build/esm/tracing/google-genai/index.js +79 -223
  651. package/build/esm/tracing/google-genai/index.js.map +1 -1
  652. package/build/esm/tracing/google-genai/streaming.js +11 -56
  653. package/build/esm/tracing/google-genai/streaming.js.map +1 -1
  654. package/build/esm/tracing/google-genai/utils.js +8 -13
  655. package/build/esm/tracing/google-genai/utils.js.map +1 -1
  656. package/build/esm/tracing/idleSpan.js +48 -174
  657. package/build/esm/tracing/idleSpan.js.map +1 -1
  658. package/build/esm/tracing/langchain/constants.js +8 -9
  659. package/build/esm/tracing/langchain/constants.js.map +1 -1
  660. package/build/esm/tracing/langchain/embeddings.js +31 -75
  661. package/build/esm/tracing/langchain/embeddings.js.map +1 -1
  662. package/build/esm/tracing/langchain/index.js +64 -161
  663. package/build/esm/tracing/langchain/index.js.map +1 -1
  664. package/build/esm/tracing/langchain/utils.js +101 -312
  665. package/build/esm/tracing/langchain/utils.js.map +1 -1
  666. package/build/esm/tracing/langgraph/constants.js +2 -2
  667. package/build/esm/tracing/langgraph/index.js +59 -162
  668. package/build/esm/tracing/langgraph/index.js.map +1 -1
  669. package/build/esm/tracing/langgraph/utils.js +54 -170
  670. package/build/esm/tracing/langgraph/utils.js.map +1 -1
  671. package/build/esm/tracing/logSpans.js +10 -26
  672. package/build/esm/tracing/logSpans.js.map +1 -1
  673. package/build/esm/tracing/measurement.js +6 -18
  674. package/build/esm/tracing/measurement.js.map +1 -1
  675. package/build/esm/tracing/openai/constants.js +20 -24
  676. package/build/esm/tracing/openai/constants.js.map +1 -1
  677. package/build/esm/tracing/openai/index.js +52 -132
  678. package/build/esm/tracing/openai/index.js.map +1 -1
  679. package/build/esm/tracing/openai/streaming.js +24 -102
  680. package/build/esm/tracing/openai/streaming.js.map +1 -1
  681. package/build/esm/tracing/openai/utils.js +36 -107
  682. package/build/esm/tracing/openai/utils.js.map +1 -1
  683. package/build/esm/tracing/sampling.js +23 -63
  684. package/build/esm/tracing/sampling.js.map +1 -1
  685. package/build/esm/tracing/sentryNonRecordingSpan.js +15 -40
  686. package/build/esm/tracing/sentryNonRecordingSpan.js.map +1 -1
  687. package/build/esm/tracing/sentrySpan.js +66 -172
  688. package/build/esm/tracing/sentrySpan.js.map +1 -1
  689. package/build/esm/tracing/spans/beforeSendSpan.js +4 -32
  690. package/build/esm/tracing/spans/beforeSendSpan.js.map +1 -1
  691. package/build/esm/tracing/spans/captureSpan.js +64 -166
  692. package/build/esm/tracing/spans/captureSpan.js.map +1 -1
  693. package/build/esm/tracing/spans/envelope.js +12 -24
  694. package/build/esm/tracing/spans/envelope.js.map +1 -1
  695. package/build/esm/tracing/spans/estimateSize.js +0 -22
  696. package/build/esm/tracing/spans/estimateSize.js.map +1 -1
  697. package/build/esm/tracing/spans/extractGenAiSpans.js +11 -33
  698. package/build/esm/tracing/spans/extractGenAiSpans.js.map +1 -1
  699. package/build/esm/tracing/spans/hasSpanStreamingEnabled.js +1 -4
  700. package/build/esm/tracing/spans/hasSpanStreamingEnabled.js.map +1 -1
  701. package/build/esm/tracing/spans/scopeContextAttributes.js +56 -0
  702. package/build/esm/tracing/spans/scopeContextAttributes.js.map +1 -0
  703. package/build/esm/tracing/spans/spanBuffer.js +21 -71
  704. package/build/esm/tracing/spans/spanBuffer.js.map +1 -1
  705. package/build/esm/tracing/spans/spanJsonToStreamedSpan.js +4 -8
  706. package/build/esm/tracing/spans/spanJsonToStreamedSpan.js.map +1 -1
  707. package/build/esm/tracing/spanstatus.js +15 -32
  708. package/build/esm/tracing/spanstatus.js.map +1 -1
  709. package/build/esm/tracing/trace.js +95 -311
  710. package/build/esm/tracing/trace.js.map +1 -1
  711. package/build/esm/tracing/utils.js +4 -14
  712. package/build/esm/tracing/utils.js.map +1 -1
  713. package/build/esm/tracing/vercel-ai/constants.js +15 -26
  714. package/build/esm/tracing/vercel-ai/constants.js.map +1 -1
  715. package/build/esm/tracing/vercel-ai/index.js +84 -288
  716. package/build/esm/tracing/vercel-ai/index.js.map +1 -1
  717. package/build/esm/tracing/vercel-ai/utils.js +30 -128
  718. package/build/esm/tracing/vercel-ai/utils.js.map +1 -1
  719. package/build/esm/tracing/vercel-ai/vercel-ai-attributes.js +22 -229
  720. package/build/esm/tracing/vercel-ai/vercel-ai-attributes.js.map +1 -1
  721. package/build/esm/transports/base.js +32 -67
  722. package/build/esm/transports/base.js.map +1 -1
  723. package/build/esm/transports/multiplexed.js +38 -103
  724. package/build/esm/transports/multiplexed.js.map +1 -1
  725. package/build/esm/transports/offline.js +31 -72
  726. package/build/esm/transports/offline.js.map +1 -1
  727. package/build/esm/transports/userAgent.js +4 -13
  728. package/build/esm/transports/userAgent.js.map +1 -1
  729. package/build/esm/trpc.js +19 -39
  730. package/build/esm/trpc.js.map +1 -1
  731. package/build/esm/utils/aggregate-errors.js +18 -62
  732. package/build/esm/utils/aggregate-errors.js.map +1 -1
  733. package/build/esm/utils/ai/providerSkip.js +3 -50
  734. package/build/esm/utils/ai/providerSkip.js.map +1 -1
  735. package/build/esm/utils/anr.js +7 -36
  736. package/build/esm/utils/anr.js.map +1 -1
  737. package/build/esm/utils/baggage.js +37 -146
  738. package/build/esm/utils/baggage.js.map +1 -1
  739. package/build/esm/utils/breadcrumb-log-level.js +5 -9
  740. package/build/esm/utils/breadcrumb-log-level.js.map +1 -1
  741. package/build/esm/utils/browser.js +24 -86
  742. package/build/esm/utils/browser.js.map +1 -1
  743. package/build/esm/utils/chain-and-copy-promiselike.js +10 -27
  744. package/build/esm/utils/chain-and-copy-promiselike.js.map +1 -1
  745. package/build/esm/utils/clientreport.js +4 -13
  746. package/build/esm/utils/clientreport.js.map +1 -1
  747. package/build/esm/utils/cookie.js +6 -53
  748. package/build/esm/utils/cookie.js.map +1 -1
  749. package/build/esm/utils/data-collection/defaultPiiToCollectionOptions.js +26 -0
  750. package/build/esm/utils/data-collection/defaultPiiToCollectionOptions.js.map +1 -0
  751. package/build/esm/utils/data-collection/filterCookies.js +21 -0
  752. package/build/esm/utils/data-collection/filterCookies.js.map +1 -0
  753. package/build/esm/utils/data-collection/filterKeyValueData.js +41 -0
  754. package/build/esm/utils/data-collection/filterKeyValueData.js.map +1 -0
  755. package/build/esm/utils/data-collection/filterQueryParams.js +24 -0
  756. package/build/esm/utils/data-collection/filterQueryParams.js.map +1 -0
  757. package/build/esm/utils/data-collection/filtering-snippets.js +56 -0
  758. package/build/esm/utils/data-collection/filtering-snippets.js.map +1 -0
  759. package/build/esm/utils/data-collection/resolveDataCollectionOptions.js +35 -0
  760. package/build/esm/utils/data-collection/resolveDataCollectionOptions.js.map +1 -0
  761. package/build/esm/utils/debounce.js +5 -32
  762. package/build/esm/utils/debounce.js.map +1 -1
  763. package/build/esm/utils/debug-ids.js +4 -42
  764. package/build/esm/utils/debug-ids.js.map +1 -1
  765. package/build/esm/utils/debug-logger.js +23 -56
  766. package/build/esm/utils/debug-logger.js.map +1 -1
  767. package/build/esm/utils/dsn.js +18 -81
  768. package/build/esm/utils/dsn.js.map +1 -1
  769. package/build/esm/utils/env.js +3 -27
  770. package/build/esm/utils/env.js.map +1 -1
  771. package/build/esm/utils/envToBool.js +2 -15
  772. package/build/esm/utils/envToBool.js.map +1 -1
  773. package/build/esm/utils/envelope.js +39 -133
  774. package/build/esm/utils/envelope.js.map +1 -1
  775. package/build/esm/utils/error.js +3 -10
  776. package/build/esm/utils/error.js.map +1 -1
  777. package/build/esm/utils/eventUtils.js +0 -8
  778. package/build/esm/utils/eventUtils.js.map +1 -1
  779. package/build/esm/utils/eventbuilder.js +30 -114
  780. package/build/esm/utils/eventbuilder.js.map +1 -1
  781. package/build/esm/utils/exports.js +5 -24
  782. package/build/esm/utils/exports.js.map +1 -1
  783. package/build/esm/utils/featureFlags.js +10 -96
  784. package/build/esm/utils/featureFlags.js.map +1 -1
  785. package/build/esm/utils/flushIfServerless.js +14 -48
  786. package/build/esm/utils/flushIfServerless.js.map +1 -1
  787. package/build/esm/utils/get-default-export.js +1 -25
  788. package/build/esm/utils/get-default-export.js.map +1 -1
  789. package/build/esm/utils/handleCallbackErrors.js +10 -48
  790. package/build/esm/utils/handleCallbackErrors.js.map +1 -1
  791. package/build/esm/utils/hasSpansEnabled.js +4 -28
  792. package/build/esm/utils/hasSpansEnabled.js.map +1 -1
  793. package/build/esm/utils/ipAddress.js +7 -19
  794. package/build/esm/utils/ipAddress.js.map +1 -1
  795. package/build/esm/utils/is.js +18 -163
  796. package/build/esm/utils/is.js.map +1 -1
  797. package/build/esm/utils/isBrowser.js +3 -9
  798. package/build/esm/utils/isBrowser.js.map +1 -1
  799. package/build/esm/utils/isSentryRequestUrl.js +2 -19
  800. package/build/esm/utils/isSentryRequestUrl.js.map +1 -1
  801. package/build/esm/utils/lru.js +13 -24
  802. package/build/esm/utils/lru.js.map +1 -1
  803. package/build/esm/utils/merge.js +1 -17
  804. package/build/esm/utils/merge.js.map +1 -1
  805. package/build/esm/utils/meta.js +1 -24
  806. package/build/esm/utils/meta.js.map +1 -1
  807. package/build/esm/utils/misc.js +31 -134
  808. package/build/esm/utils/misc.js.map +1 -1
  809. package/build/esm/utils/node-stack-trace.js +22 -61
  810. package/build/esm/utils/node-stack-trace.js.map +1 -1
  811. package/build/esm/utils/node.js +3 -48
  812. package/build/esm/utils/node.js.map +1 -1
  813. package/build/esm/utils/normalizationHints.js +5 -18
  814. package/build/esm/utils/normalizationHints.js.map +1 -1
  815. package/build/esm/utils/normalize.js +39 -205
  816. package/build/esm/utils/normalize.js.map +1 -1
  817. package/build/esm/utils/object.js +33 -168
  818. package/build/esm/utils/object.js.map +1 -1
  819. package/build/esm/utils/parameterize.js +2 -21
  820. package/build/esm/utils/parameterize.js.map +1 -1
  821. package/build/esm/utils/parseSampleRate.js +4 -13
  822. package/build/esm/utils/parseSampleRate.js.map +1 -1
  823. package/build/esm/utils/path.js +28 -115
  824. package/build/esm/utils/path.js.map +1 -1
  825. package/build/esm/utils/prepareEvent.js +53 -191
  826. package/build/esm/utils/prepareEvent.js.map +1 -1
  827. package/build/esm/utils/promisebuffer.js +5 -47
  828. package/build/esm/utils/promisebuffer.js.map +1 -1
  829. package/build/esm/utils/propagationContext.js +0 -7
  830. package/build/esm/utils/propagationContext.js.map +1 -1
  831. package/build/esm/utils/randomSafeContext.js +3 -22
  832. package/build/esm/utils/randomSafeContext.js.map +1 -1
  833. package/build/esm/utils/ratelimit.js +13 -66
  834. package/build/esm/utils/ratelimit.js.map +1 -1
  835. package/build/esm/utils/request.js +62 -269
  836. package/build/esm/utils/request.js.map +1 -1
  837. package/build/esm/utils/scopeData.js +15 -79
  838. package/build/esm/utils/scopeData.js.map +1 -1
  839. package/build/esm/utils/sdkMetadata.js +5 -19
  840. package/build/esm/utils/sdkMetadata.js.map +1 -1
  841. package/build/esm/utils/severity.js +1 -9
  842. package/build/esm/utils/severity.js.map +1 -1
  843. package/build/esm/utils/should-ignore-span.js +6 -38
  844. package/build/esm/utils/should-ignore-span.js.map +1 -1
  845. package/build/esm/utils/spanOnScope.js +3 -14
  846. package/build/esm/utils/spanOnScope.js.map +1 -1
  847. package/build/esm/utils/spanUtils.js +42 -222
  848. package/build/esm/utils/spanUtils.js.map +1 -1
  849. package/build/esm/utils/stacktrace.js +19 -106
  850. package/build/esm/utils/stacktrace.js.map +1 -1
  851. package/build/esm/utils/string.js +7 -75
  852. package/build/esm/utils/string.js.map +1 -1
  853. package/build/esm/utils/supports.js +14 -99
  854. package/build/esm/utils/supports.js.map +1 -1
  855. package/build/esm/utils/syncpromise.js +19 -68
  856. package/build/esm/utils/syncpromise.js.map +1 -1
  857. package/build/esm/utils/time.js +7 -84
  858. package/build/esm/utils/time.js.map +1 -1
  859. package/build/esm/utils/timer.js +1 -10
  860. package/build/esm/utils/timer.js.map +1 -1
  861. package/build/esm/utils/timestampSequence.js +5 -21
  862. package/build/esm/utils/timestampSequence.js.map +1 -1
  863. package/build/esm/utils/trace-info.js +3 -10
  864. package/build/esm/utils/trace-info.js.map +1 -1
  865. package/build/esm/utils/traceData.js +4 -39
  866. package/build/esm/utils/traceData.js.map +1 -1
  867. package/build/esm/utils/tracePropagationTargets.js +4 -18
  868. package/build/esm/utils/tracePropagationTargets.js.map +1 -1
  869. package/build/esm/utils/tracing.js +32 -106
  870. package/build/esm/utils/tracing.js.map +1 -1
  871. package/build/esm/utils/transactionEvent.js +11 -19
  872. package/build/esm/utils/transactionEvent.js.map +1 -1
  873. package/build/esm/utils/tunnel.js +12 -33
  874. package/build/esm/utils/tunnel.js.map +1 -1
  875. package/build/esm/utils/url.js +42 -176
  876. package/build/esm/utils/url.js.map +1 -1
  877. package/build/esm/utils/vercelWaitUntil.js +4 -12
  878. package/build/esm/utils/vercelWaitUntil.js.map +1 -1
  879. package/build/esm/utils/version.js +1 -3
  880. package/build/esm/utils/version.js.map +1 -1
  881. package/build/esm/utils/weakRef.js +5 -36
  882. package/build/esm/utils/weakRef.js.map +1 -1
  883. package/build/esm/utils/worldwide.js +1 -4
  884. package/build/esm/utils/worldwide.js.map +1 -1
  885. package/build/esm/vendor/escapeStringForRegex.js +1 -32
  886. package/build/esm/vendor/escapeStringForRegex.js.map +1 -1
  887. package/build/esm/vendor/getIpAddress.js +19 -99
  888. package/build/esm/vendor/getIpAddress.js.map +1 -1
  889. package/build/types/api.d.ts +2 -2
  890. package/build/types/api.d.ts.map +1 -1
  891. package/build/types/attributes.d.ts +5 -8
  892. package/build/types/attributes.d.ts.map +1 -1
  893. package/build/types/breadcrumbs.d.ts +1 -1
  894. package/build/types/breadcrumbs.d.ts.map +1 -1
  895. package/build/types/browser-exports.d.ts +3 -3
  896. package/build/types/browser-exports.d.ts.map +1 -1
  897. package/build/types/carrier.d.ts +2 -2
  898. package/build/types/carrier.d.ts.map +1 -1
  899. package/build/types/checkin.d.ts +4 -4
  900. package/build/types/checkin.d.ts.map +1 -1
  901. package/build/types/client.d.ts +32 -22
  902. package/build/types/client.d.ts.map +1 -1
  903. package/build/types/currentScopes.d.ts +1 -1
  904. package/build/types/currentScopes.d.ts.map +1 -1
  905. package/build/types/envelope.d.ts +7 -7
  906. package/build/types/envelope.d.ts.map +1 -1
  907. package/build/types/eventProcessors.d.ts +2 -2
  908. package/build/types/eventProcessors.d.ts.map +1 -1
  909. package/build/types/exports.d.ts +8 -8
  910. package/build/types/exports.d.ts.map +1 -1
  911. package/build/types/feedback.d.ts +2 -2
  912. package/build/types/feedback.d.ts.map +1 -1
  913. package/build/types/fetch.d.ts +3 -3
  914. package/build/types/fetch.d.ts.map +1 -1
  915. package/build/types/instrument/console.d.ts +1 -1
  916. package/build/types/instrument/console.d.ts.map +1 -1
  917. package/build/types/instrument/fetch.d.ts +1 -1
  918. package/build/types/instrument/fetch.d.ts.map +1 -1
  919. package/build/types/instrument/globalError.d.ts +1 -1
  920. package/build/types/instrument/globalError.d.ts.map +1 -1
  921. package/build/types/instrument/globalUnhandledRejection.d.ts +1 -1
  922. package/build/types/instrument/globalUnhandledRejection.d.ts.map +1 -1
  923. package/build/types/integration.d.ts +2 -2
  924. package/build/types/integration.d.ts.map +1 -1
  925. package/build/types/integrations/consola.d.ts +1 -1
  926. package/build/types/integrations/consola.d.ts.map +1 -1
  927. package/build/types/integrations/console.d.ts +1 -1
  928. package/build/types/integrations/console.d.ts.map +1 -1
  929. package/build/types/integrations/dedupe.d.ts +1 -1
  930. package/build/types/integrations/dedupe.d.ts.map +1 -1
  931. package/build/types/integrations/express/types.d.ts +2 -2
  932. package/build/types/integrations/express/types.d.ts.map +1 -1
  933. package/build/types/integrations/express/utils.d.ts +1 -1
  934. package/build/types/integrations/express/utils.d.ts.map +1 -1
  935. package/build/types/integrations/featureFlags/featureFlagsIntegration.d.ts +1 -1
  936. package/build/types/integrations/featureFlags/featureFlagsIntegration.d.ts.map +1 -1
  937. package/build/types/integrations/featureFlags/growthbook.d.ts +1 -1
  938. package/build/types/integrations/featureFlags/growthbook.d.ts.map +1 -1
  939. package/build/types/integrations/http/double-wrap-warning.d.ts +1 -1
  940. package/build/types/integrations/http/double-wrap-warning.d.ts.map +1 -1
  941. package/build/types/integrations/http/get-outgoing-span-data.d.ts +2 -2
  942. package/build/types/integrations/http/get-outgoing-span-data.d.ts.map +1 -1
  943. package/build/types/integrations/http/patch-request-to-capture-body.d.ts +12 -0
  944. package/build/types/integrations/http/patch-request-to-capture-body.d.ts.map +1 -0
  945. package/build/types/integrations/http/record-request-session.d.ts +18 -0
  946. package/build/types/integrations/http/record-request-session.d.ts.map +1 -0
  947. package/build/types/integrations/http/server-subscription.d.ts +26 -0
  948. package/build/types/integrations/http/server-subscription.d.ts.map +1 -0
  949. package/build/types/integrations/http/types.d.ts +12 -6
  950. package/build/types/integrations/http/types.d.ts.map +1 -1
  951. package/build/types/integrations/mcp-server/correlation.d.ts +1 -1
  952. package/build/types/integrations/mcp-server/correlation.d.ts.map +1 -1
  953. package/build/types/integrations/mcp-server/piiFiltering.d.ts +1 -1
  954. package/build/types/integrations/mcp-server/piiFiltering.d.ts.map +1 -1
  955. package/build/types/integrations/mcp-server/types.d.ts +1 -1
  956. package/build/types/integrations/mcp-server/types.d.ts.map +1 -1
  957. package/build/types/integrations/postgresjs.d.ts +1 -1
  958. package/build/types/integrations/postgresjs.d.ts.map +1 -1
  959. package/build/types/integrations/rewriteframes.d.ts +1 -1
  960. package/build/types/integrations/rewriteframes.d.ts.map +1 -1
  961. package/build/types/integrations/supabase.d.ts +14 -3
  962. package/build/types/integrations/supabase.d.ts.map +1 -1
  963. package/build/types/integrations/third-party-errors-filter.d.ts.map +1 -1
  964. package/build/types/integrations/zoderrors.d.ts +1 -1
  965. package/build/types/integrations/zoderrors.d.ts.map +1 -1
  966. package/build/types/logs/console-integration.d.ts +1 -1
  967. package/build/types/logs/console-integration.d.ts.map +1 -1
  968. package/build/types/logs/constants.d.ts +1 -1
  969. package/build/types/logs/constants.d.ts.map +1 -1
  970. package/build/types/logs/envelope.d.ts +4 -4
  971. package/build/types/logs/envelope.d.ts.map +1 -1
  972. package/build/types/logs/internal.d.ts +16 -1
  973. package/build/types/logs/internal.d.ts.map +1 -1
  974. package/build/types/logs/public-api.d.ts +2 -2
  975. package/build/types/logs/public-api.d.ts.map +1 -1
  976. package/build/types/metadata.d.ts +2 -2
  977. package/build/types/metadata.d.ts.map +1 -1
  978. package/build/types/metrics/envelope.d.ts +4 -4
  979. package/build/types/metrics/envelope.d.ts.map +1 -1
  980. package/build/types/metrics/internal.d.ts +1 -1
  981. package/build/types/metrics/internal.d.ts.map +1 -1
  982. package/build/types/metrics/public-api.d.ts +1 -1
  983. package/build/types/metrics/public-api.d.ts.map +1 -1
  984. package/build/types/profiling.d.ts +1 -1
  985. package/build/types/profiling.d.ts.map +1 -1
  986. package/build/types/report-dialog.d.ts +1 -1
  987. package/build/types/report-dialog.d.ts.map +1 -1
  988. package/build/types/scope.d.ts +14 -14
  989. package/build/types/scope.d.ts.map +1 -1
  990. package/build/types/sdk.d.ts +1 -1
  991. package/build/types/sdk.d.ts.map +1 -1
  992. package/build/types/semanticAttributes.d.ts +6 -4
  993. package/build/types/semanticAttributes.d.ts.map +1 -1
  994. package/build/types/server-exports.d.ts +3 -1
  995. package/build/types/server-exports.d.ts.map +1 -1
  996. package/build/types/server-runtime-client.d.ts +6 -6
  997. package/build/types/server-runtime-client.d.ts.map +1 -1
  998. package/build/types/session.d.ts +1 -1
  999. package/build/types/session.d.ts.map +1 -1
  1000. package/build/types/shared-exports.d.ts +58 -53
  1001. package/build/types/shared-exports.d.ts.map +1 -1
  1002. package/build/types/tracing/ai/utils.d.ts +1 -1
  1003. package/build/types/tracing/ai/utils.d.ts.map +1 -1
  1004. package/build/types/tracing/anthropic-ai/streaming.d.ts +1 -1
  1005. package/build/types/tracing/anthropic-ai/streaming.d.ts.map +1 -1
  1006. package/build/types/tracing/anthropic-ai/utils.d.ts +2 -2
  1007. package/build/types/tracing/anthropic-ai/utils.d.ts.map +1 -1
  1008. package/build/types/tracing/dynamicSamplingContext.d.ts +2 -2
  1009. package/build/types/tracing/dynamicSamplingContext.d.ts.map +1 -1
  1010. package/build/types/tracing/google-genai/streaming.d.ts +1 -1
  1011. package/build/types/tracing/google-genai/streaming.d.ts.map +1 -1
  1012. package/build/types/tracing/idleSpan.d.ts +2 -2
  1013. package/build/types/tracing/idleSpan.d.ts.map +1 -1
  1014. package/build/types/tracing/langchain/utils.d.ts +6 -1
  1015. package/build/types/tracing/langchain/utils.d.ts.map +1 -1
  1016. package/build/types/tracing/langgraph/index.d.ts.map +1 -1
  1017. package/build/types/tracing/langgraph/utils.d.ts +1 -3
  1018. package/build/types/tracing/langgraph/utils.d.ts.map +1 -1
  1019. package/build/types/tracing/logSpans.d.ts +1 -1
  1020. package/build/types/tracing/logSpans.d.ts.map +1 -1
  1021. package/build/types/tracing/measurement.d.ts +2 -2
  1022. package/build/types/tracing/measurement.d.ts.map +1 -1
  1023. package/build/types/tracing/openai/streaming.d.ts +1 -1
  1024. package/build/types/tracing/openai/streaming.d.ts.map +1 -1
  1025. package/build/types/tracing/openai/utils.d.ts +1 -1
  1026. package/build/types/tracing/openai/utils.d.ts.map +1 -1
  1027. package/build/types/tracing/sampling.d.ts +2 -2
  1028. package/build/types/tracing/sampling.d.ts.map +1 -1
  1029. package/build/types/tracing/sentryNonRecordingSpan.d.ts +3 -3
  1030. package/build/types/tracing/sentryNonRecordingSpan.d.ts.map +1 -1
  1031. package/build/types/tracing/sentrySpan.d.ts +4 -4
  1032. package/build/types/tracing/sentrySpan.d.ts.map +1 -1
  1033. package/build/types/tracing/spans/beforeSendSpan.d.ts +3 -3
  1034. package/build/types/tracing/spans/beforeSendSpan.d.ts.map +1 -1
  1035. package/build/types/tracing/spans/captureSpan.d.ts +1 -1
  1036. package/build/types/tracing/spans/captureSpan.d.ts.map +1 -1
  1037. package/build/types/tracing/spans/envelope.d.ts +2 -2
  1038. package/build/types/tracing/spans/envelope.d.ts.map +1 -1
  1039. package/build/types/tracing/spans/estimateSize.d.ts +1 -1
  1040. package/build/types/tracing/spans/estimateSize.d.ts.map +1 -1
  1041. package/build/types/tracing/spans/extractGenAiSpans.d.ts +2 -2
  1042. package/build/types/tracing/spans/extractGenAiSpans.d.ts.map +1 -1
  1043. package/build/types/tracing/spans/scopeContextAttributes.d.ts +9 -0
  1044. package/build/types/tracing/spans/scopeContextAttributes.d.ts.map +1 -0
  1045. package/build/types/tracing/spans/spanJsonToStreamedSpan.d.ts +1 -1
  1046. package/build/types/tracing/spans/spanJsonToStreamedSpan.d.ts.map +1 -1
  1047. package/build/types/tracing/spanstatus.d.ts +2 -2
  1048. package/build/types/tracing/spanstatus.d.ts.map +1 -1
  1049. package/build/types/tracing/trace.d.ts +2 -2
  1050. package/build/types/tracing/trace.d.ts.map +1 -1
  1051. package/build/types/tracing/utils.d.ts +1 -1
  1052. package/build/types/tracing/utils.d.ts.map +1 -1
  1053. package/build/types/tracing/vercel-ai/utils.d.ts +2 -2
  1054. package/build/types/tracing/vercel-ai/utils.d.ts.map +1 -1
  1055. package/build/types/transports/base.d.ts +1 -1
  1056. package/build/types/transports/base.d.ts.map +1 -1
  1057. package/build/types/transports/multiplexed.d.ts +3 -3
  1058. package/build/types/transports/multiplexed.d.ts.map +1 -1
  1059. package/build/types/transports/offline.d.ts +2 -2
  1060. package/build/types/transports/offline.d.ts.map +1 -1
  1061. package/build/types/transports/userAgent.d.ts +1 -1
  1062. package/build/types/transports/userAgent.d.ts.map +1 -1
  1063. package/build/types/trpc.d.ts.map +1 -1
  1064. package/build/types/types/attachment.d.ts.map +1 -0
  1065. package/build/types/types/breadcrumb.d.ts.map +1 -0
  1066. package/build/types/types/browseroptions.d.ts.map +1 -0
  1067. package/build/types/types/checkin.d.ts.map +1 -0
  1068. package/build/types/types/clientreport.d.ts.map +1 -0
  1069. package/build/types/types/context.d.ts.map +1 -0
  1070. package/build/types/types/csp.d.ts.map +1 -0
  1071. package/build/types/types/datacategory.d.ts.map +1 -0
  1072. package/build/types/types/datacollection.d.ts +75 -0
  1073. package/build/types/types/datacollection.d.ts.map +1 -0
  1074. package/build/types/types/debugMeta.d.ts.map +1 -0
  1075. package/build/types/types/dsn.d.ts.map +1 -0
  1076. package/build/types/types/envelope.d.ts.map +1 -0
  1077. package/build/types/types/error.d.ts.map +1 -0
  1078. package/build/types/types/event.d.ts.map +1 -0
  1079. package/build/types/types/eventprocessor.d.ts.map +1 -0
  1080. package/build/types/types/exception.d.ts.map +1 -0
  1081. package/build/types/types/extra.d.ts.map +1 -0
  1082. package/build/types/types/feedback/config.d.ts.map +1 -0
  1083. package/build/types/types/feedback/form.d.ts.map +1 -0
  1084. package/build/types/types/feedback/index.d.ts.map +1 -0
  1085. package/build/types/types/feedback/sendFeedback.d.ts.map +1 -0
  1086. package/build/types/types/feedback/theme.d.ts.map +1 -0
  1087. package/build/types/types/instrument.d.ts.map +1 -0
  1088. package/build/types/types/integration.d.ts.map +1 -0
  1089. package/build/types/types/link.d.ts.map +1 -0
  1090. package/build/types/types/log.d.ts.map +1 -0
  1091. package/build/types/types/measurement.d.ts.map +1 -0
  1092. package/build/types/types/mechanism.d.ts.map +1 -0
  1093. package/build/types/types/metric.d.ts.map +1 -0
  1094. package/build/types/types/misc.d.ts.map +1 -0
  1095. package/build/types/types/opentelemetry.d.ts.map +1 -0
  1096. package/build/types/{types-hoist → types}/options.d.ts +17 -0
  1097. package/build/types/types/options.d.ts.map +1 -0
  1098. package/build/types/types/package.d.ts.map +1 -0
  1099. package/build/types/types/parameterize.d.ts.map +1 -0
  1100. package/build/types/types/polymorphics.d.ts.map +1 -0
  1101. package/build/types/types/profiling.d.ts.map +1 -0
  1102. package/build/types/types/replay.d.ts.map +1 -0
  1103. package/build/types/types/request.d.ts.map +1 -0
  1104. package/build/types/types/runtime.d.ts.map +1 -0
  1105. package/build/types/{types-hoist → types}/samplingcontext.d.ts +1 -1
  1106. package/build/types/types/samplingcontext.d.ts.map +1 -0
  1107. package/build/types/types/sdkinfo.d.ts.map +1 -0
  1108. package/build/types/types/sdkmetadata.d.ts.map +1 -0
  1109. package/build/types/types/session.d.ts.map +1 -0
  1110. package/build/types/types/severity.d.ts.map +1 -0
  1111. package/build/types/types/span.d.ts.map +1 -0
  1112. package/build/types/types/spanStatus.d.ts.map +1 -0
  1113. package/build/types/types/stackframe.d.ts.map +1 -0
  1114. package/build/types/types/stacktrace.d.ts.map +1 -0
  1115. package/build/types/{types-hoist → types}/startSpanOptions.d.ts +13 -0
  1116. package/build/types/types/startSpanOptions.d.ts.map +1 -0
  1117. package/build/types/types/thread.d.ts.map +1 -0
  1118. package/build/types/types/timedEvent.d.ts.map +1 -0
  1119. package/build/types/types/tracing.d.ts.map +1 -0
  1120. package/build/types/types/transaction.d.ts.map +1 -0
  1121. package/build/types/types/transport.d.ts.map +1 -0
  1122. package/build/types/types/user.d.ts.map +1 -0
  1123. package/build/types/types/view-hierarchy.d.ts.map +1 -0
  1124. package/build/types/types/vue.d.ts.map +1 -0
  1125. package/build/types/types/webfetchapi.d.ts.map +1 -0
  1126. package/build/types/types/wrappedfunction.d.ts.map +1 -0
  1127. package/build/types/utils/aggregate-errors.d.ts +3 -3
  1128. package/build/types/utils/aggregate-errors.d.ts.map +1 -1
  1129. package/build/types/utils/anr.d.ts +1 -1
  1130. package/build/types/utils/anr.d.ts.map +1 -1
  1131. package/build/types/utils/baggage.d.ts +1 -1
  1132. package/build/types/utils/baggage.d.ts.map +1 -1
  1133. package/build/types/utils/breadcrumb-log-level.d.ts +1 -1
  1134. package/build/types/utils/breadcrumb-log-level.d.ts.map +1 -1
  1135. package/build/types/utils/clientreport.d.ts +2 -2
  1136. package/build/types/utils/clientreport.d.ts.map +1 -1
  1137. package/build/types/utils/data-collection/defaultPiiToCollectionOptions.d.ts +6 -0
  1138. package/build/types/utils/data-collection/defaultPiiToCollectionOptions.d.ts.map +1 -0
  1139. package/build/types/utils/data-collection/filterCookies.d.ts +9 -0
  1140. package/build/types/utils/data-collection/filterCookies.d.ts.map +1 -0
  1141. package/build/types/utils/data-collection/filterKeyValueData.d.ts +11 -0
  1142. package/build/types/utils/data-collection/filterKeyValueData.d.ts.map +1 -0
  1143. package/build/types/utils/data-collection/filterQueryParams.d.ts +9 -0
  1144. package/build/types/utils/data-collection/filterQueryParams.d.ts.map +1 -0
  1145. package/build/types/utils/data-collection/filtering-snippets.d.ts +14 -0
  1146. package/build/types/utils/data-collection/filtering-snippets.d.ts.map +1 -0
  1147. package/build/types/utils/data-collection/resolveDataCollectionOptions.d.ts +14 -0
  1148. package/build/types/utils/data-collection/resolveDataCollectionOptions.d.ts.map +1 -0
  1149. package/build/types/utils/debug-ids.d.ts +2 -2
  1150. package/build/types/utils/debug-ids.d.ts.map +1 -1
  1151. package/build/types/utils/debug-logger.d.ts +1 -1
  1152. package/build/types/utils/debug-logger.d.ts.map +1 -1
  1153. package/build/types/utils/dsn.d.ts +1 -1
  1154. package/build/types/utils/dsn.d.ts.map +1 -1
  1155. package/build/types/utils/env.d.ts.map +1 -1
  1156. package/build/types/utils/envelope.d.ts +8 -8
  1157. package/build/types/utils/envelope.d.ts.map +1 -1
  1158. package/build/types/utils/error.d.ts +1 -1
  1159. package/build/types/utils/error.d.ts.map +1 -1
  1160. package/build/types/utils/eventUtils.d.ts +1 -1
  1161. package/build/types/utils/eventUtils.d.ts.map +1 -1
  1162. package/build/types/utils/eventbuilder.d.ts +6 -6
  1163. package/build/types/utils/eventbuilder.d.ts.map +1 -1
  1164. package/build/types/utils/featureFlags.d.ts +1 -1
  1165. package/build/types/utils/featureFlags.d.ts.map +1 -1
  1166. package/build/types/utils/hasSpansEnabled.d.ts +1 -1
  1167. package/build/types/utils/hasSpansEnabled.d.ts.map +1 -1
  1168. package/build/types/utils/ipAddress.d.ts +2 -2
  1169. package/build/types/utils/ipAddress.d.ts.map +1 -1
  1170. package/build/types/utils/is.d.ts +4 -4
  1171. package/build/types/utils/is.d.ts.map +1 -1
  1172. package/build/types/utils/meta.d.ts +1 -1
  1173. package/build/types/utils/meta.d.ts.map +1 -1
  1174. package/build/types/utils/misc.d.ts +3 -3
  1175. package/build/types/utils/misc.d.ts.map +1 -1
  1176. package/build/types/utils/node-stack-trace.d.ts +1 -1
  1177. package/build/types/utils/node-stack-trace.d.ts.map +1 -1
  1178. package/build/types/utils/object.d.ts +1 -1
  1179. package/build/types/utils/object.d.ts.map +1 -1
  1180. package/build/types/utils/parameterize.d.ts +1 -1
  1181. package/build/types/utils/parameterize.d.ts.map +1 -1
  1182. package/build/types/utils/prepareEvent.d.ts +3 -3
  1183. package/build/types/utils/prepareEvent.d.ts.map +1 -1
  1184. package/build/types/utils/ratelimit.d.ts +2 -2
  1185. package/build/types/utils/ratelimit.d.ts.map +1 -1
  1186. package/build/types/utils/request.d.ts +3 -3
  1187. package/build/types/utils/request.d.ts.map +1 -1
  1188. package/build/types/utils/scopeData.d.ts +1 -1
  1189. package/build/types/utils/scopeData.d.ts.map +1 -1
  1190. package/build/types/utils/sdkMetadata.d.ts +1 -1
  1191. package/build/types/utils/sdkMetadata.d.ts.map +1 -1
  1192. package/build/types/utils/severity.d.ts +1 -1
  1193. package/build/types/utils/severity.d.ts.map +1 -1
  1194. package/build/types/utils/should-ignore-span.d.ts +2 -2
  1195. package/build/types/utils/should-ignore-span.d.ts.map +1 -1
  1196. package/build/types/utils/spanOnScope.d.ts +1 -1
  1197. package/build/types/utils/spanOnScope.d.ts.map +1 -1
  1198. package/build/types/utils/spanUtils.d.ts +4 -4
  1199. package/build/types/utils/spanUtils.d.ts.map +1 -1
  1200. package/build/types/utils/stacktrace.d.ts +4 -4
  1201. package/build/types/utils/stacktrace.d.ts.map +1 -1
  1202. package/build/types/utils/trace-info.d.ts +2 -2
  1203. package/build/types/utils/trace-info.d.ts.map +1 -1
  1204. package/build/types/utils/traceData.d.ts +2 -2
  1205. package/build/types/utils/traceData.d.ts.map +1 -1
  1206. package/build/types/utils/tracePropagationTargets.d.ts +1 -1
  1207. package/build/types/utils/tracePropagationTargets.d.ts.map +1 -1
  1208. package/build/types/utils/tracing.d.ts +2 -2
  1209. package/build/types/utils/tracing.d.ts.map +1 -1
  1210. package/build/types/utils/transactionEvent.d.ts +2 -2
  1211. package/build/types/utils/transactionEvent.d.ts.map +1 -1
  1212. package/build/types/utils/url.d.ts +1 -1
  1213. package/build/types/utils/url.d.ts.map +1 -1
  1214. package/build/types/utils/worldwide.d.ts +1 -0
  1215. package/build/types/utils/worldwide.d.ts.map +1 -1
  1216. package/build/types-ts3.8/api.d.ts +2 -2
  1217. package/build/types-ts3.8/attributes.d.ts +5 -8
  1218. package/build/types-ts3.8/breadcrumbs.d.ts +1 -1
  1219. package/build/types-ts3.8/browser-exports.d.ts +3 -3
  1220. package/build/types-ts3.8/carrier.d.ts +2 -2
  1221. package/build/types-ts3.8/checkin.d.ts +4 -4
  1222. package/build/types-ts3.8/client.d.ts +32 -22
  1223. package/build/types-ts3.8/currentScopes.d.ts +1 -1
  1224. package/build/types-ts3.8/envelope.d.ts +7 -7
  1225. package/build/types-ts3.8/eventProcessors.d.ts +2 -2
  1226. package/build/types-ts3.8/exports.d.ts +8 -8
  1227. package/build/types-ts3.8/feedback.d.ts +2 -2
  1228. package/build/types-ts3.8/fetch.d.ts +3 -3
  1229. package/build/types-ts3.8/instrument/console.d.ts +1 -1
  1230. package/build/types-ts3.8/instrument/fetch.d.ts +1 -1
  1231. package/build/types-ts3.8/instrument/globalError.d.ts +1 -1
  1232. package/build/types-ts3.8/instrument/globalUnhandledRejection.d.ts +1 -1
  1233. package/build/types-ts3.8/integration.d.ts +2 -2
  1234. package/build/types-ts3.8/integrations/consola.d.ts +1 -1
  1235. package/build/types-ts3.8/integrations/console.d.ts +1 -1
  1236. package/build/types-ts3.8/integrations/dedupe.d.ts +1 -1
  1237. package/build/types-ts3.8/integrations/express/types.d.ts +2 -2
  1238. package/build/types-ts3.8/integrations/express/utils.d.ts +1 -1
  1239. package/build/types-ts3.8/integrations/featureFlags/featureFlagsIntegration.d.ts +1 -1
  1240. package/build/types-ts3.8/integrations/featureFlags/growthbook.d.ts +1 -1
  1241. package/build/types-ts3.8/integrations/http/double-wrap-warning.d.ts +1 -1
  1242. package/build/types-ts3.8/integrations/http/get-outgoing-span-data.d.ts +2 -2
  1243. package/build/types-ts3.8/integrations/http/patch-request-to-capture-body.d.ts +12 -0
  1244. package/build/types-ts3.8/integrations/http/record-request-session.d.ts +18 -0
  1245. package/build/types-ts3.8/integrations/http/server-subscription.d.ts +26 -0
  1246. package/build/types-ts3.8/integrations/http/types.d.ts +12 -6
  1247. package/build/types-ts3.8/integrations/mcp-server/correlation.d.ts +1 -1
  1248. package/build/types-ts3.8/integrations/mcp-server/piiFiltering.d.ts +1 -1
  1249. package/build/types-ts3.8/integrations/mcp-server/types.d.ts +1 -1
  1250. package/build/types-ts3.8/integrations/postgresjs.d.ts +1 -1
  1251. package/build/types-ts3.8/integrations/rewriteframes.d.ts +1 -1
  1252. package/build/types-ts3.8/integrations/supabase.d.ts +14 -3
  1253. package/build/types-ts3.8/integrations/zoderrors.d.ts +1 -1
  1254. package/build/types-ts3.8/logs/console-integration.d.ts +1 -1
  1255. package/build/types-ts3.8/logs/constants.d.ts +1 -1
  1256. package/build/types-ts3.8/logs/envelope.d.ts +4 -4
  1257. package/build/types-ts3.8/logs/internal.d.ts +16 -1
  1258. package/build/types-ts3.8/logs/public-api.d.ts +2 -2
  1259. package/build/types-ts3.8/metadata.d.ts +2 -2
  1260. package/build/types-ts3.8/metrics/envelope.d.ts +4 -4
  1261. package/build/types-ts3.8/metrics/internal.d.ts +1 -1
  1262. package/build/types-ts3.8/metrics/public-api.d.ts +1 -1
  1263. package/build/types-ts3.8/profiling.d.ts +1 -1
  1264. package/build/types-ts3.8/report-dialog.d.ts +1 -1
  1265. package/build/types-ts3.8/scope.d.ts +14 -14
  1266. package/build/types-ts3.8/sdk.d.ts +1 -1
  1267. package/build/types-ts3.8/semanticAttributes.d.ts +6 -4
  1268. package/build/types-ts3.8/server-exports.d.ts +3 -1
  1269. package/build/types-ts3.8/server-runtime-client.d.ts +6 -6
  1270. package/build/types-ts3.8/session.d.ts +1 -1
  1271. package/build/types-ts3.8/shared-exports.d.ts +58 -53
  1272. package/build/types-ts3.8/tracing/ai/utils.d.ts +1 -1
  1273. package/build/types-ts3.8/tracing/anthropic-ai/streaming.d.ts +1 -1
  1274. package/build/types-ts3.8/tracing/anthropic-ai/utils.d.ts +2 -2
  1275. package/build/types-ts3.8/tracing/dynamicSamplingContext.d.ts +2 -2
  1276. package/build/types-ts3.8/tracing/google-genai/streaming.d.ts +1 -1
  1277. package/build/types-ts3.8/tracing/idleSpan.d.ts +2 -2
  1278. package/build/types-ts3.8/tracing/langchain/utils.d.ts +6 -1
  1279. package/build/types-ts3.8/tracing/langgraph/utils.d.ts +1 -3
  1280. package/build/types-ts3.8/tracing/logSpans.d.ts +1 -1
  1281. package/build/types-ts3.8/tracing/measurement.d.ts +2 -2
  1282. package/build/types-ts3.8/tracing/openai/streaming.d.ts +1 -1
  1283. package/build/types-ts3.8/tracing/openai/utils.d.ts +1 -1
  1284. package/build/types-ts3.8/tracing/sampling.d.ts +2 -2
  1285. package/build/types-ts3.8/tracing/sentryNonRecordingSpan.d.ts +3 -3
  1286. package/build/types-ts3.8/tracing/sentrySpan.d.ts +4 -4
  1287. package/build/types-ts3.8/tracing/spans/beforeSendSpan.d.ts +3 -3
  1288. package/build/types-ts3.8/tracing/spans/captureSpan.d.ts +1 -1
  1289. package/build/types-ts3.8/tracing/spans/envelope.d.ts +2 -2
  1290. package/build/types-ts3.8/tracing/spans/estimateSize.d.ts +1 -1
  1291. package/build/types-ts3.8/tracing/spans/extractGenAiSpans.d.ts +2 -2
  1292. package/build/types-ts3.8/tracing/spans/scopeContextAttributes.d.ts +9 -0
  1293. package/build/types-ts3.8/tracing/spans/spanJsonToStreamedSpan.d.ts +1 -1
  1294. package/build/types-ts3.8/tracing/spanstatus.d.ts +2 -2
  1295. package/build/types-ts3.8/tracing/trace.d.ts +2 -2
  1296. package/build/types-ts3.8/tracing/utils.d.ts +1 -1
  1297. package/build/types-ts3.8/tracing/vercel-ai/utils.d.ts +2 -2
  1298. package/build/types-ts3.8/transports/base.d.ts +1 -1
  1299. package/build/types-ts3.8/transports/multiplexed.d.ts +3 -3
  1300. package/build/types-ts3.8/transports/offline.d.ts +2 -2
  1301. package/build/types-ts3.8/transports/userAgent.d.ts +1 -1
  1302. package/build/types-ts3.8/types/datacollection.d.ts +75 -0
  1303. package/build/types-ts3.8/{types-hoist → types}/options.d.ts +17 -0
  1304. package/build/types-ts3.8/{types-hoist → types}/samplingcontext.d.ts +1 -1
  1305. package/build/types-ts3.8/{types-hoist → types}/startSpanOptions.d.ts +13 -0
  1306. package/build/types-ts3.8/utils/aggregate-errors.d.ts +3 -3
  1307. package/build/types-ts3.8/utils/anr.d.ts +1 -1
  1308. package/build/types-ts3.8/utils/baggage.d.ts +1 -1
  1309. package/build/types-ts3.8/utils/breadcrumb-log-level.d.ts +1 -1
  1310. package/build/types-ts3.8/utils/clientreport.d.ts +2 -2
  1311. package/build/types-ts3.8/utils/data-collection/defaultPiiToCollectionOptions.d.ts +6 -0
  1312. package/build/types-ts3.8/utils/data-collection/filterCookies.d.ts +9 -0
  1313. package/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +11 -0
  1314. package/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +9 -0
  1315. package/build/types-ts3.8/utils/data-collection/filtering-snippets.d.ts +14 -0
  1316. package/build/types-ts3.8/utils/data-collection/resolveDataCollectionOptions.d.ts +14 -0
  1317. package/build/types-ts3.8/utils/debug-ids.d.ts +2 -2
  1318. package/build/types-ts3.8/utils/debug-logger.d.ts +1 -1
  1319. package/build/types-ts3.8/utils/dsn.d.ts +1 -1
  1320. package/build/types-ts3.8/utils/envelope.d.ts +8 -8
  1321. package/build/types-ts3.8/utils/error.d.ts +1 -1
  1322. package/build/types-ts3.8/utils/eventUtils.d.ts +1 -1
  1323. package/build/types-ts3.8/utils/eventbuilder.d.ts +6 -6
  1324. package/build/types-ts3.8/utils/featureFlags.d.ts +1 -1
  1325. package/build/types-ts3.8/utils/hasSpansEnabled.d.ts +1 -1
  1326. package/build/types-ts3.8/utils/ipAddress.d.ts +2 -2
  1327. package/build/types-ts3.8/utils/is.d.ts +4 -4
  1328. package/build/types-ts3.8/utils/meta.d.ts +1 -1
  1329. package/build/types-ts3.8/utils/misc.d.ts +3 -3
  1330. package/build/types-ts3.8/utils/node-stack-trace.d.ts +1 -1
  1331. package/build/types-ts3.8/utils/object.d.ts +1 -1
  1332. package/build/types-ts3.8/utils/parameterize.d.ts +1 -1
  1333. package/build/types-ts3.8/utils/prepareEvent.d.ts +3 -3
  1334. package/build/types-ts3.8/utils/ratelimit.d.ts +2 -2
  1335. package/build/types-ts3.8/utils/request.d.ts +3 -3
  1336. package/build/types-ts3.8/utils/scopeData.d.ts +1 -1
  1337. package/build/types-ts3.8/utils/sdkMetadata.d.ts +1 -1
  1338. package/build/types-ts3.8/utils/severity.d.ts +1 -1
  1339. package/build/types-ts3.8/utils/should-ignore-span.d.ts +2 -2
  1340. package/build/types-ts3.8/utils/spanOnScope.d.ts +1 -1
  1341. package/build/types-ts3.8/utils/spanUtils.d.ts +4 -4
  1342. package/build/types-ts3.8/utils/stacktrace.d.ts +4 -4
  1343. package/build/types-ts3.8/utils/trace-info.d.ts +2 -2
  1344. package/build/types-ts3.8/utils/traceData.d.ts +2 -2
  1345. package/build/types-ts3.8/utils/tracePropagationTargets.d.ts +1 -1
  1346. package/build/types-ts3.8/utils/tracing.d.ts +2 -2
  1347. package/build/types-ts3.8/utils/transactionEvent.d.ts +2 -2
  1348. package/build/types-ts3.8/utils/url.d.ts +1 -1
  1349. package/build/types-ts3.8/utils/worldwide.d.ts +1 -0
  1350. package/package.json +10 -2
  1351. package/server.d.ts +4 -0
  1352. package/build/types/types-hoist/attachment.d.ts.map +0 -1
  1353. package/build/types/types-hoist/breadcrumb.d.ts.map +0 -1
  1354. package/build/types/types-hoist/browseroptions.d.ts.map +0 -1
  1355. package/build/types/types-hoist/checkin.d.ts.map +0 -1
  1356. package/build/types/types-hoist/clientreport.d.ts.map +0 -1
  1357. package/build/types/types-hoist/context.d.ts.map +0 -1
  1358. package/build/types/types-hoist/csp.d.ts.map +0 -1
  1359. package/build/types/types-hoist/datacategory.d.ts.map +0 -1
  1360. package/build/types/types-hoist/debugMeta.d.ts.map +0 -1
  1361. package/build/types/types-hoist/dsn.d.ts.map +0 -1
  1362. package/build/types/types-hoist/envelope.d.ts.map +0 -1
  1363. package/build/types/types-hoist/error.d.ts.map +0 -1
  1364. package/build/types/types-hoist/event.d.ts.map +0 -1
  1365. package/build/types/types-hoist/eventprocessor.d.ts.map +0 -1
  1366. package/build/types/types-hoist/exception.d.ts.map +0 -1
  1367. package/build/types/types-hoist/extra.d.ts.map +0 -1
  1368. package/build/types/types-hoist/feedback/config.d.ts.map +0 -1
  1369. package/build/types/types-hoist/feedback/form.d.ts.map +0 -1
  1370. package/build/types/types-hoist/feedback/index.d.ts.map +0 -1
  1371. package/build/types/types-hoist/feedback/sendFeedback.d.ts.map +0 -1
  1372. package/build/types/types-hoist/feedback/theme.d.ts.map +0 -1
  1373. package/build/types/types-hoist/instrument.d.ts.map +0 -1
  1374. package/build/types/types-hoist/integration.d.ts.map +0 -1
  1375. package/build/types/types-hoist/link.d.ts.map +0 -1
  1376. package/build/types/types-hoist/log.d.ts.map +0 -1
  1377. package/build/types/types-hoist/measurement.d.ts.map +0 -1
  1378. package/build/types/types-hoist/mechanism.d.ts.map +0 -1
  1379. package/build/types/types-hoist/metric.d.ts.map +0 -1
  1380. package/build/types/types-hoist/misc.d.ts.map +0 -1
  1381. package/build/types/types-hoist/opentelemetry.d.ts.map +0 -1
  1382. package/build/types/types-hoist/options.d.ts.map +0 -1
  1383. package/build/types/types-hoist/package.d.ts.map +0 -1
  1384. package/build/types/types-hoist/parameterize.d.ts.map +0 -1
  1385. package/build/types/types-hoist/polymorphics.d.ts.map +0 -1
  1386. package/build/types/types-hoist/profiling.d.ts.map +0 -1
  1387. package/build/types/types-hoist/replay.d.ts.map +0 -1
  1388. package/build/types/types-hoist/request.d.ts.map +0 -1
  1389. package/build/types/types-hoist/runtime.d.ts.map +0 -1
  1390. package/build/types/types-hoist/samplingcontext.d.ts.map +0 -1
  1391. package/build/types/types-hoist/sdkinfo.d.ts.map +0 -1
  1392. package/build/types/types-hoist/sdkmetadata.d.ts.map +0 -1
  1393. package/build/types/types-hoist/session.d.ts.map +0 -1
  1394. package/build/types/types-hoist/severity.d.ts.map +0 -1
  1395. package/build/types/types-hoist/span.d.ts.map +0 -1
  1396. package/build/types/types-hoist/spanStatus.d.ts.map +0 -1
  1397. package/build/types/types-hoist/stackframe.d.ts.map +0 -1
  1398. package/build/types/types-hoist/stacktrace.d.ts.map +0 -1
  1399. package/build/types/types-hoist/startSpanOptions.d.ts.map +0 -1
  1400. package/build/types/types-hoist/thread.d.ts.map +0 -1
  1401. package/build/types/types-hoist/timedEvent.d.ts.map +0 -1
  1402. package/build/types/types-hoist/tracing.d.ts.map +0 -1
  1403. package/build/types/types-hoist/transaction.d.ts.map +0 -1
  1404. package/build/types/types-hoist/transport.d.ts.map +0 -1
  1405. package/build/types/types-hoist/user.d.ts.map +0 -1
  1406. package/build/types/types-hoist/view-hierarchy.d.ts.map +0 -1
  1407. package/build/types/types-hoist/vue.d.ts.map +0 -1
  1408. package/build/types/types-hoist/webfetchapi.d.ts.map +0 -1
  1409. package/build/types/types-hoist/wrappedfunction.d.ts.map +0 -1
  1410. /package/build/types/{types-hoist → types}/attachment.d.ts +0 -0
  1411. /package/build/types/{types-hoist → types}/breadcrumb.d.ts +0 -0
  1412. /package/build/types/{types-hoist → types}/browseroptions.d.ts +0 -0
  1413. /package/build/types/{types-hoist → types}/checkin.d.ts +0 -0
  1414. /package/build/types/{types-hoist → types}/clientreport.d.ts +0 -0
  1415. /package/build/types/{types-hoist → types}/context.d.ts +0 -0
  1416. /package/build/types/{types-hoist → types}/csp.d.ts +0 -0
  1417. /package/build/types/{types-hoist → types}/datacategory.d.ts +0 -0
  1418. /package/build/types/{types-hoist → types}/debugMeta.d.ts +0 -0
  1419. /package/build/types/{types-hoist → types}/dsn.d.ts +0 -0
  1420. /package/build/types/{types-hoist → types}/envelope.d.ts +0 -0
  1421. /package/build/types/{types-hoist → types}/error.d.ts +0 -0
  1422. /package/build/types/{types-hoist → types}/event.d.ts +0 -0
  1423. /package/build/types/{types-hoist → types}/eventprocessor.d.ts +0 -0
  1424. /package/build/types/{types-hoist → types}/exception.d.ts +0 -0
  1425. /package/build/types/{types-hoist → types}/extra.d.ts +0 -0
  1426. /package/build/types/{types-hoist → types}/feedback/config.d.ts +0 -0
  1427. /package/build/types/{types-hoist → types}/feedback/form.d.ts +0 -0
  1428. /package/build/types/{types-hoist → types}/feedback/index.d.ts +0 -0
  1429. /package/build/types/{types-hoist → types}/feedback/sendFeedback.d.ts +0 -0
  1430. /package/build/types/{types-hoist → types}/feedback/theme.d.ts +0 -0
  1431. /package/build/types/{types-hoist → types}/instrument.d.ts +0 -0
  1432. /package/build/types/{types-hoist → types}/integration.d.ts +0 -0
  1433. /package/build/types/{types-hoist → types}/link.d.ts +0 -0
  1434. /package/build/types/{types-hoist → types}/log.d.ts +0 -0
  1435. /package/build/types/{types-hoist → types}/measurement.d.ts +0 -0
  1436. /package/build/types/{types-hoist → types}/mechanism.d.ts +0 -0
  1437. /package/build/types/{types-hoist → types}/metric.d.ts +0 -0
  1438. /package/build/types/{types-hoist → types}/misc.d.ts +0 -0
  1439. /package/build/types/{types-hoist → types}/opentelemetry.d.ts +0 -0
  1440. /package/build/types/{types-hoist → types}/package.d.ts +0 -0
  1441. /package/build/types/{types-hoist → types}/parameterize.d.ts +0 -0
  1442. /package/build/types/{types-hoist → types}/polymorphics.d.ts +0 -0
  1443. /package/build/types/{types-hoist → types}/profiling.d.ts +0 -0
  1444. /package/build/types/{types-hoist → types}/replay.d.ts +0 -0
  1445. /package/build/types/{types-hoist → types}/request.d.ts +0 -0
  1446. /package/build/types/{types-hoist → types}/runtime.d.ts +0 -0
  1447. /package/build/types/{types-hoist → types}/sdkinfo.d.ts +0 -0
  1448. /package/build/types/{types-hoist → types}/sdkmetadata.d.ts +0 -0
  1449. /package/build/types/{types-hoist → types}/session.d.ts +0 -0
  1450. /package/build/types/{types-hoist → types}/severity.d.ts +0 -0
  1451. /package/build/types/{types-hoist → types}/span.d.ts +0 -0
  1452. /package/build/types/{types-hoist → types}/spanStatus.d.ts +0 -0
  1453. /package/build/types/{types-hoist → types}/stackframe.d.ts +0 -0
  1454. /package/build/types/{types-hoist → types}/stacktrace.d.ts +0 -0
  1455. /package/build/types/{types-hoist → types}/thread.d.ts +0 -0
  1456. /package/build/types/{types-hoist → types}/timedEvent.d.ts +0 -0
  1457. /package/build/types/{types-hoist → types}/tracing.d.ts +0 -0
  1458. /package/build/types/{types-hoist → types}/transaction.d.ts +0 -0
  1459. /package/build/types/{types-hoist → types}/transport.d.ts +0 -0
  1460. /package/build/types/{types-hoist → types}/user.d.ts +0 -0
  1461. /package/build/types/{types-hoist → types}/view-hierarchy.d.ts +0 -0
  1462. /package/build/types/{types-hoist → types}/vue.d.ts +0 -0
  1463. /package/build/types/{types-hoist → types}/webfetchapi.d.ts +0 -0
  1464. /package/build/types/{types-hoist → types}/wrappedfunction.d.ts +0 -0
  1465. /package/build/types-ts3.8/{types-hoist → types}/attachment.d.ts +0 -0
  1466. /package/build/types-ts3.8/{types-hoist → types}/breadcrumb.d.ts +0 -0
  1467. /package/build/types-ts3.8/{types-hoist → types}/browseroptions.d.ts +0 -0
  1468. /package/build/types-ts3.8/{types-hoist → types}/checkin.d.ts +0 -0
  1469. /package/build/types-ts3.8/{types-hoist → types}/clientreport.d.ts +0 -0
  1470. /package/build/types-ts3.8/{types-hoist → types}/context.d.ts +0 -0
  1471. /package/build/types-ts3.8/{types-hoist → types}/csp.d.ts +0 -0
  1472. /package/build/types-ts3.8/{types-hoist → types}/datacategory.d.ts +0 -0
  1473. /package/build/types-ts3.8/{types-hoist → types}/debugMeta.d.ts +0 -0
  1474. /package/build/types-ts3.8/{types-hoist → types}/dsn.d.ts +0 -0
  1475. /package/build/types-ts3.8/{types-hoist → types}/envelope.d.ts +0 -0
  1476. /package/build/types-ts3.8/{types-hoist → types}/error.d.ts +0 -0
  1477. /package/build/types-ts3.8/{types-hoist → types}/event.d.ts +0 -0
  1478. /package/build/types-ts3.8/{types-hoist → types}/eventprocessor.d.ts +0 -0
  1479. /package/build/types-ts3.8/{types-hoist → types}/exception.d.ts +0 -0
  1480. /package/build/types-ts3.8/{types-hoist → types}/extra.d.ts +0 -0
  1481. /package/build/types-ts3.8/{types-hoist → types}/feedback/config.d.ts +0 -0
  1482. /package/build/types-ts3.8/{types-hoist → types}/feedback/form.d.ts +0 -0
  1483. /package/build/types-ts3.8/{types-hoist → types}/feedback/index.d.ts +0 -0
  1484. /package/build/types-ts3.8/{types-hoist → types}/feedback/sendFeedback.d.ts +0 -0
  1485. /package/build/types-ts3.8/{types-hoist → types}/feedback/theme.d.ts +0 -0
  1486. /package/build/types-ts3.8/{types-hoist → types}/instrument.d.ts +0 -0
  1487. /package/build/types-ts3.8/{types-hoist → types}/integration.d.ts +0 -0
  1488. /package/build/types-ts3.8/{types-hoist → types}/link.d.ts +0 -0
  1489. /package/build/types-ts3.8/{types-hoist → types}/log.d.ts +0 -0
  1490. /package/build/types-ts3.8/{types-hoist → types}/measurement.d.ts +0 -0
  1491. /package/build/types-ts3.8/{types-hoist → types}/mechanism.d.ts +0 -0
  1492. /package/build/types-ts3.8/{types-hoist → types}/metric.d.ts +0 -0
  1493. /package/build/types-ts3.8/{types-hoist → types}/misc.d.ts +0 -0
  1494. /package/build/types-ts3.8/{types-hoist → types}/opentelemetry.d.ts +0 -0
  1495. /package/build/types-ts3.8/{types-hoist → types}/package.d.ts +0 -0
  1496. /package/build/types-ts3.8/{types-hoist → types}/parameterize.d.ts +0 -0
  1497. /package/build/types-ts3.8/{types-hoist → types}/polymorphics.d.ts +0 -0
  1498. /package/build/types-ts3.8/{types-hoist → types}/profiling.d.ts +0 -0
  1499. /package/build/types-ts3.8/{types-hoist → types}/replay.d.ts +0 -0
  1500. /package/build/types-ts3.8/{types-hoist → types}/request.d.ts +0 -0
  1501. /package/build/types-ts3.8/{types-hoist → types}/runtime.d.ts +0 -0
  1502. /package/build/types-ts3.8/{types-hoist → types}/sdkinfo.d.ts +0 -0
  1503. /package/build/types-ts3.8/{types-hoist → types}/sdkmetadata.d.ts +0 -0
  1504. /package/build/types-ts3.8/{types-hoist → types}/session.d.ts +0 -0
  1505. /package/build/types-ts3.8/{types-hoist → types}/severity.d.ts +0 -0
  1506. /package/build/types-ts3.8/{types-hoist → types}/span.d.ts +0 -0
  1507. /package/build/types-ts3.8/{types-hoist → types}/spanStatus.d.ts +0 -0
  1508. /package/build/types-ts3.8/{types-hoist → types}/stackframe.d.ts +0 -0
  1509. /package/build/types-ts3.8/{types-hoist → types}/stacktrace.d.ts +0 -0
  1510. /package/build/types-ts3.8/{types-hoist → types}/thread.d.ts +0 -0
  1511. /package/build/types-ts3.8/{types-hoist → types}/timedEvent.d.ts +0 -0
  1512. /package/build/types-ts3.8/{types-hoist → types}/tracing.d.ts +0 -0
  1513. /package/build/types-ts3.8/{types-hoist → types}/transaction.d.ts +0 -0
  1514. /package/build/types-ts3.8/{types-hoist → types}/transport.d.ts +0 -0
  1515. /package/build/types-ts3.8/{types-hoist → types}/user.d.ts +0 -0
  1516. /package/build/types-ts3.8/{types-hoist → types}/view-hierarchy.d.ts +0 -0
  1517. /package/build/types-ts3.8/{types-hoist → types}/vue.d.ts +0 -0
  1518. /package/build/types-ts3.8/{types-hoist → types}/webfetchapi.d.ts +0 -0
  1519. /package/build/types-ts3.8/{types-hoist → types}/wrappedfunction.d.ts +0 -0
@@ -1,100 +1,63 @@
1
- import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_USER_USERNAME, SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS, SEMANTIC_ATTRIBUTE_USER_EMAIL, SEMANTIC_ATTRIBUTE_USER_ID, SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION, SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID, SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME, SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT, SEMANTIC_ATTRIBUTE_SENTRY_RELEASE, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME } from '../../semanticAttributes.js';
1
+ import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_USER_USERNAME, SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS, SEMANTIC_ATTRIBUTE_USER_EMAIL, SEMANTIC_ATTRIBUTE_USER_ID, SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION, SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID, SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME, SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT, SEMANTIC_ATTRIBUTE_SENTRY_RELEASE, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME } from '../../semanticAttributes.js';
2
2
  import { getCombinedScopeData } from '../../utils/scopeData.js';
3
3
  import { parseUrl, getSanitizedUrlString, stripUrlQueryAndFragment } from '../../utils/url.js';
4
4
  import { spanToStreamedSpanJSON, INTERNAL_getSegmentSpan, streamedSpanJsonToSerializedSpan, showSpanDropWarning } from '../../utils/spanUtils.js';
5
5
  import { getCapturedScopesOnSpan } from '../utils.js';
6
6
  import { isStreamedBeforeSendSpanCallback } from './beforeSendSpan.js';
7
+ import { scopeContextsToSpanAttributes } from './scopeContextAttributes.js';
7
8
 
8
- /**
9
- * Captures a span and returns a JSON representation to be enqueued for sending.
10
- *
11
- * IMPORTANT: This function converts the span to JSON immediately to avoid writing
12
- * to an already-ended OTel span instance (which is blocked by the OTel Span class).
13
- *
14
- * @returns the final serialized span with a reference to its segment span. This reference
15
- * is needed later on to compute the DSC for the span envelope.
16
- */
17
9
  function captureSpan(span, client) {
18
- // Convert to JSON FIRST - we cannot write to an already-ended span
19
10
  const spanJSON = spanToStreamedSpanJSON(span);
20
-
21
11
  const segmentSpan = INTERNAL_getSegmentSpan(span);
22
12
  const serializedSegmentSpan = spanToStreamedSpanJSON(segmentSpan);
23
-
24
13
  const { isolationScope: spanIsolationScope, scope: spanScope } = getCapturedScopesOnSpan(span);
25
-
26
14
  const finalScopeData = getCombinedScopeData(spanIsolationScope, spanScope);
27
-
28
15
  applyCommonSpanAttributes(spanJSON, serializedSegmentSpan, client, finalScopeData);
29
-
30
- // Backfill span data from OTel semantic conventions when not explicitly set.
31
- // OTel-originated spans don't have sentry.op, description, etc. — the non-streamed path
32
- // infers these in the SentrySpanExporter, but streamed spans skip the exporter entirely.
33
- // Access `kind` via duck-typing — OTel span objects have this property but it's not on Sentry's Span type.
34
- // This must run before all hooks and beforeSendSpan so that user callbacks can see and override inferred values.
35
- const spanKind = (span ).kind;
16
+ const spanKind = span.kind;
36
17
  inferSpanDataFromOtelAttributes(spanJSON, spanKind);
37
-
38
18
  if (spanJSON.is_segment) {
39
- // Allow hook subscribers to mutate the segment span JSON
40
- // This also invokes the `processSegmentSpan` hook of all integrations
41
- client.emit('processSegmentSpan', spanJSON);
19
+ applyScopeToSegmentSpan(spanJSON, finalScopeData);
20
+ applySdkMetadataToSegmentSpan(spanJSON, client);
21
+ client.emit("processSegmentSpan", spanJSON);
42
22
  }
43
-
44
- // This allows hook subscribers to mutate the span JSON
45
- // This also invokes the `processSpan` hook of all integrations
46
- client.emit('processSpan', spanJSON);
47
-
23
+ client.emit("processSpan", spanJSON);
48
24
  const { beforeSendSpan } = client.getOptions();
49
- const processedSpan =
50
- beforeSendSpan && isStreamedBeforeSendSpanCallback(beforeSendSpan)
51
- ? applyBeforeSendSpanCallback(spanJSON, beforeSendSpan)
52
- : spanJSON;
53
-
54
- // Backfill sentry.span.source from sentry.source. Only `sentry.span.source` is respected by Sentry.
55
- // TODO(v11): Remove this backfill once we renamed SEMANTIC_ATTRIBUTE_SENTRY_SOURCE to sentry.span.source
25
+ const processedSpan = beforeSendSpan && isStreamedBeforeSendSpanCallback(beforeSendSpan) ? applyBeforeSendSpanCallback(spanJSON, beforeSendSpan) : spanJSON;
56
26
  const spanNameSource = processedSpan.attributes?.[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];
57
27
  if (spanNameSource) {
58
28
  safeSetSpanJSONAttributes(processedSpan, {
59
29
  // Purposefully not using a constant defined here like in other attributes:
60
30
  // This will be the name for SEMANTIC_ATTRIBUTE_SENTRY_SOURCE in v11
61
- 'sentry.span.source': spanNameSource,
31
+ "sentry.span.source": spanNameSource
62
32
  });
63
33
  }
64
-
65
34
  return {
66
35
  ...streamedSpanJsonToSerializedSpan(processedSpan),
67
- _segmentSpan: segmentSpan,
36
+ _segmentSpan: segmentSpan
68
37
  };
69
38
  }
70
-
71
- /**
72
- * Safely set attributes on a span JSON.
73
- * If an attribute already exists, it will not be overwritten.
74
- */
75
- function safeSetSpanJSONAttributes(
76
- spanJSON,
77
- newAttributes,
78
- ) {
39
+ function applyScopeToSegmentSpan(segmentSpanJSON, scopeData) {
40
+ const contextAttributes = scopeContextsToSpanAttributes(scopeData.contexts);
41
+ safeSetSpanJSONAttributes(segmentSpanJSON, contextAttributes);
42
+ }
43
+ function safeSetSpanJSONAttributes(spanJSON, newAttributes) {
79
44
  const originalAttributes = spanJSON.attributes ?? (spanJSON.attributes = {});
80
-
81
45
  Object.entries(newAttributes).forEach(([key, value]) => {
82
46
  if (value != null && !(key in originalAttributes)) {
83
47
  originalAttributes[key] = value;
84
48
  }
85
49
  });
86
50
  }
87
-
88
- function applyCommonSpanAttributes(
89
- spanJSON,
90
- serializedSegmentSpan,
91
- client,
92
- scopeData,
93
- ) {
51
+ function applySdkMetadataToSegmentSpan(segmentSpanJSON, client) {
52
+ const integrationNames = client.getIntegrationNames();
53
+ if (!integrationNames.length) return;
54
+ safeSetSpanJSONAttributes(segmentSpanJSON, {
55
+ [SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS]: integrationNames
56
+ });
57
+ }
58
+ function applyCommonSpanAttributes(spanJSON, serializedSegmentSpan, client, scopeData) {
94
59
  const sdk = client.getSdkMetadata();
95
- const { release, environment, sendDefaultPii } = client.getOptions();
96
-
97
- // avoid overwriting any previously set attributes (from users or potentially our SDK instrumentation)
60
+ const { release, environment } = client.getOptions();
98
61
  safeSetSpanJSONAttributes(spanJSON, {
99
62
  [SEMANTIC_ATTRIBUTE_SENTRY_RELEASE]: release,
100
63
  [SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT]: environment,
@@ -102,25 +65,14 @@ function applyCommonSpanAttributes(
102
65
  [SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID]: serializedSegmentSpan.span_id,
103
66
  [SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME]: sdk?.sdk?.name,
104
67
  [SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION]: sdk?.sdk?.version,
105
- ...(sendDefaultPii
106
- ? {
107
- [SEMANTIC_ATTRIBUTE_USER_ID]: scopeData.user?.id,
108
- [SEMANTIC_ATTRIBUTE_USER_EMAIL]: scopeData.user?.email,
109
- [SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS]: scopeData.user?.ip_address,
110
- [SEMANTIC_ATTRIBUTE_USER_USERNAME]: scopeData.user?.username,
111
- }
112
- : {}),
113
- ...scopeData.attributes,
68
+ [SEMANTIC_ATTRIBUTE_USER_ID]: scopeData.user?.id,
69
+ [SEMANTIC_ATTRIBUTE_USER_EMAIL]: scopeData.user?.email,
70
+ [SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS]: scopeData.user?.ip_address,
71
+ [SEMANTIC_ATTRIBUTE_USER_USERNAME]: scopeData.user?.username,
72
+ ...scopeData.attributes
114
73
  });
115
74
  }
116
-
117
- /**
118
- * Apply a user-provided beforeSendSpan callback to a span JSON.
119
- */
120
- function applyBeforeSendSpanCallback(
121
- span,
122
- beforeSendSpan,
123
- ) {
75
+ function applyBeforeSendSpanCallback(span, beforeSendSpan) {
124
76
  const modifedSpan = beforeSendSpan(span);
125
77
  if (!modifedSpan) {
126
78
  showSpanDropWarning();
@@ -128,154 +80,100 @@ function applyBeforeSendSpanCallback(
128
80
  }
129
81
  return modifedSpan;
130
82
  }
131
-
132
- // OTel SpanKind values (numeric to avoid importing from @opentelemetry/api)
133
83
  const SPAN_KIND_SERVER = 1;
134
84
  const SPAN_KIND_CLIENT = 2;
135
-
136
- /**
137
- * Infer and backfill span data from OTel semantic conventions.
138
- * This mirrors what the `SentrySpanExporter` does for non-streamed spans via `getSpanData`/`inferSpanData`.
139
- * Streamed spans skip the exporter, so we do the inference here during capture.
140
- *
141
- * Backfills: `sentry.op`, `sentry.source`, and `name` (description).
142
- * Uses `safeSetSpanJSONAttributes` so explicitly set attributes are never overwritten.
143
- */
144
- /** Exported only for tests. */
145
85
  function inferSpanDataFromOtelAttributes(spanJSON, spanKind) {
146
86
  const attributes = spanJSON.attributes;
147
87
  if (!attributes) {
148
88
  return;
149
89
  }
150
-
151
- const httpMethod = attributes['http.request.method'] || attributes['http.method'];
90
+ const httpMethod = attributes["http.request.method"] || attributes["http.method"];
152
91
  if (httpMethod) {
153
92
  inferHttpSpanData(spanJSON, attributes, spanKind, httpMethod);
154
93
  return;
155
94
  }
156
-
157
- const dbSystem = attributes['db.system.name'] || attributes['db.system'];
158
- const opIsCache =
159
- typeof attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP] === 'string' &&
160
- `${attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP]}`.startsWith('cache.');
95
+ const dbSystem = attributes["db.system.name"] || attributes["db.system"];
96
+ const opIsCache = typeof attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP] === "string" && `${attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP]}`.startsWith("cache.");
161
97
  if (dbSystem && !opIsCache) {
162
98
  inferDbSpanData(spanJSON, attributes);
163
99
  return;
164
100
  }
165
-
166
- if (attributes['rpc.service']) {
167
- safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'rpc' });
101
+ if (attributes["rpc.service"]) {
102
+ safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: "rpc" });
168
103
  return;
169
104
  }
170
-
171
- if (attributes['messaging.system']) {
172
- safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'message' });
105
+ if (attributes["messaging.system"]) {
106
+ safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: "message" });
173
107
  return;
174
108
  }
175
-
176
- const faasTrigger = attributes['faas.trigger'];
109
+ const faasTrigger = attributes["faas.trigger"];
177
110
  if (faasTrigger) {
178
111
  safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: `${faasTrigger}` });
179
112
  }
180
113
  }
181
-
182
- function inferHttpSpanData(
183
- spanJSON,
184
- attributes,
185
- spanKind,
186
- httpMethod,
187
- ) {
188
- // Infer op: http.client, http.server, or just http
189
- const opParts = ['http'];
114
+ function inferHttpSpanData(spanJSON, attributes, spanKind, httpMethod) {
115
+ const opParts = ["http"];
190
116
  if (spanKind === SPAN_KIND_CLIENT) {
191
- opParts.push('client');
117
+ opParts.push("client");
192
118
  } else if (spanKind === SPAN_KIND_SERVER) {
193
- opParts.push('server');
119
+ opParts.push("server");
194
120
  }
195
- if (attributes['sentry.http.prefetch']) {
196
- opParts.push('prefetch');
121
+ if (attributes["sentry.http.prefetch"]) {
122
+ opParts.push("prefetch");
197
123
  }
198
- safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: opParts.join('.') });
199
-
200
- // If the user set a custom span name via updateSpanName(), apply it — OTel instrumentation
201
- // may have overwritten span.name after the user set it, so we restore from the attribute.
124
+ safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: opParts.join(".") });
202
125
  const customName = attributes[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];
203
- if (typeof customName === 'string') {
126
+ if (typeof customName === "string") {
204
127
  spanJSON.name = customName;
205
128
  return;
206
129
  }
207
-
208
- if (attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] === 'custom') {
130
+ if (attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] === "custom") {
209
131
  return;
210
132
  }
211
-
212
- const httpRoute = attributes['http.route'];
213
- if (typeof httpRoute === 'string') {
133
+ const httpRoute = attributes["http.route"];
134
+ if (typeof httpRoute === "string") {
214
135
  spanJSON.name = `${httpMethod} ${httpRoute}`;
215
- safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'route' });
136
+ safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: "route" });
216
137
  } else {
217
- // Infer span name from URL attributes, matching the non-streamed exporter's behavior.
218
- // Only overwrite the name for OTel spans (known spanKind)
219
138
  if (spanKind === SPAN_KIND_CLIENT || spanKind === SPAN_KIND_SERVER) {
220
139
  const urlPath = getUrlPath(attributes, spanKind);
221
140
  if (urlPath) {
222
141
  spanJSON.name = `${httpMethod} ${urlPath}`;
223
142
  }
224
143
  }
225
- safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url' });
144
+ safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: "url" });
226
145
  }
227
146
  }
228
-
229
- /**
230
- * Extract a URL path from span attributes for use in the span name.
231
- * Mirrors the logic in the non-streamed exporter's `getSanitizedUrl`.
232
- */
233
- function getUrlPath(
234
- attributes,
235
- spanKind,
236
- ) {
237
- const httpUrl = attributes['http.url'] || attributes['url.full'];
238
- const httpTarget = attributes['http.target'];
239
-
240
- const parsedUrl = typeof httpUrl === 'string' ? parseUrl(httpUrl) : undefined;
241
- const sanitizedUrl = parsedUrl ? getSanitizedUrlString(parsedUrl) : undefined;
242
-
243
- // For server spans, prefer the relative target path
244
- if (spanKind === SPAN_KIND_SERVER && typeof httpTarget === 'string') {
147
+ function getUrlPath(attributes, spanKind) {
148
+ const httpUrl = attributes["http.url"] || attributes["url.full"];
149
+ const httpTarget = attributes["http.target"];
150
+ const parsedUrl = typeof httpUrl === "string" ? parseUrl(httpUrl) : void 0;
151
+ const sanitizedUrl = parsedUrl ? getSanitizedUrlString(parsedUrl) : void 0;
152
+ if (spanKind === SPAN_KIND_SERVER && typeof httpTarget === "string") {
245
153
  return stripUrlQueryAndFragment(httpTarget);
246
154
  }
247
-
248
- // For client spans (and others), use the full sanitized URL
249
155
  if (sanitizedUrl) {
250
156
  return sanitizedUrl;
251
157
  }
252
-
253
- // Fall back to target if no full URL is available
254
- if (typeof httpTarget === 'string') {
158
+ if (typeof httpTarget === "string") {
255
159
  return stripUrlQueryAndFragment(httpTarget);
256
160
  }
257
-
258
- return undefined;
161
+ return void 0;
259
162
  }
260
-
261
163
  function inferDbSpanData(spanJSON, attributes) {
262
- safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'db' });
263
-
264
- // If the user set a custom span name via updateSpanName(), apply it.
164
+ safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: "db" });
265
165
  const customName = attributes[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];
266
- if (typeof customName === 'string') {
166
+ if (typeof customName === "string") {
267
167
  spanJSON.name = customName;
268
168
  return;
269
169
  }
270
-
271
- if (attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] === 'custom') {
170
+ if (attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] === "custom") {
272
171
  return;
273
172
  }
274
-
275
- const statement = attributes['db.statement'];
173
+ const statement = attributes["db.statement"];
276
174
  if (statement) {
277
175
  spanJSON.name = `${statement}`;
278
- safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'task' });
176
+ safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: "task" });
279
177
  }
280
178
  }
281
179
 
@@ -1 +1 @@
1
- {"version":3,"file":"captureSpan.js","sources":["../../../../src/tracing/spans/captureSpan.ts"],"sourcesContent":["import type { RawAttributes } from '../../attributes';\nimport type { Client } from '../../client';\nimport type { ScopeData } from '../../scope';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME,\n SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT,\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_RELEASE,\n SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME,\n SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION,\n SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID,\n SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n SEMANTIC_ATTRIBUTE_USER_EMAIL,\n SEMANTIC_ATTRIBUTE_USER_ID,\n SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS,\n SEMANTIC_ATTRIBUTE_USER_USERNAME,\n} from '../../semanticAttributes';\nimport type { SerializedStreamedSpan, Span, StreamedSpanJSON } from '../../types-hoist/span';\nimport { getCombinedScopeData } from '../../utils/scopeData';\nimport { getSanitizedUrlString, parseUrl, stripUrlQueryAndFragment } from '../../utils/url';\nimport {\n INTERNAL_getSegmentSpan,\n showSpanDropWarning,\n spanToStreamedSpanJSON,\n streamedSpanJsonToSerializedSpan,\n} from '../../utils/spanUtils';\nimport { getCapturedScopesOnSpan } from '../utils';\nimport { isStreamedBeforeSendSpanCallback } from './beforeSendSpan';\n\nexport type SerializedStreamedSpanWithSegmentSpan = SerializedStreamedSpan & {\n _segmentSpan: Span;\n};\n\n/**\n * Captures a span and returns a JSON representation to be enqueued for sending.\n *\n * IMPORTANT: This function converts the span to JSON immediately to avoid writing\n * to an already-ended OTel span instance (which is blocked by the OTel Span class).\n *\n * @returns the final serialized span with a reference to its segment span. This reference\n * is needed later on to compute the DSC for the span envelope.\n */\nexport function captureSpan(span: Span, client: Client): SerializedStreamedSpanWithSegmentSpan {\n // Convert to JSON FIRST - we cannot write to an already-ended span\n const spanJSON = spanToStreamedSpanJSON(span);\n\n const segmentSpan = INTERNAL_getSegmentSpan(span);\n const serializedSegmentSpan = spanToStreamedSpanJSON(segmentSpan);\n\n const { isolationScope: spanIsolationScope, scope: spanScope } = getCapturedScopesOnSpan(span);\n\n const finalScopeData = getCombinedScopeData(spanIsolationScope, spanScope);\n\n applyCommonSpanAttributes(spanJSON, serializedSegmentSpan, client, finalScopeData);\n\n // Backfill span data from OTel semantic conventions when not explicitly set.\n // OTel-originated spans don't have sentry.op, description, etc. — the non-streamed path\n // infers these in the SentrySpanExporter, but streamed spans skip the exporter entirely.\n // Access `kind` via duck-typing — OTel span objects have this property but it's not on Sentry's Span type.\n // This must run before all hooks and beforeSendSpan so that user callbacks can see and override inferred values.\n const spanKind = (span as { kind?: number }).kind;\n inferSpanDataFromOtelAttributes(spanJSON, spanKind);\n\n if (spanJSON.is_segment) {\n applyScopeToSegmentSpan(spanJSON, finalScopeData);\n // Allow hook subscribers to mutate the segment span JSON\n // This also invokes the `processSegmentSpan` hook of all integrations\n client.emit('processSegmentSpan', spanJSON);\n }\n\n // This allows hook subscribers to mutate the span JSON\n // This also invokes the `processSpan` hook of all integrations\n client.emit('processSpan', spanJSON);\n\n const { beforeSendSpan } = client.getOptions();\n const processedSpan =\n beforeSendSpan && isStreamedBeforeSendSpanCallback(beforeSendSpan)\n ? applyBeforeSendSpanCallback(spanJSON, beforeSendSpan)\n : spanJSON;\n\n // Backfill sentry.span.source from sentry.source. Only `sentry.span.source` is respected by Sentry.\n // TODO(v11): Remove this backfill once we renamed SEMANTIC_ATTRIBUTE_SENTRY_SOURCE to sentry.span.source\n const spanNameSource = processedSpan.attributes?.[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n if (spanNameSource) {\n safeSetSpanJSONAttributes(processedSpan, {\n // Purposefully not using a constant defined here like in other attributes:\n // This will be the name for SEMANTIC_ATTRIBUTE_SENTRY_SOURCE in v11\n 'sentry.span.source': spanNameSource,\n });\n }\n\n return {\n ...streamedSpanJsonToSerializedSpan(processedSpan),\n _segmentSpan: segmentSpan,\n };\n}\n\nfunction applyScopeToSegmentSpan(_segmentSpanJSON: StreamedSpanJSON, _scopeData: ScopeData): void {\n // TODO: Apply contexts data from auto instrumentation to segment span\n // This will follow in a separate PR\n}\n\n/**\n * Safely set attributes on a span JSON.\n * If an attribute already exists, it will not be overwritten.\n */\nexport function safeSetSpanJSONAttributes(\n spanJSON: StreamedSpanJSON,\n newAttributes: RawAttributes<Record<string, unknown>>,\n): void {\n const originalAttributes = spanJSON.attributes ?? (spanJSON.attributes = {});\n\n Object.entries(newAttributes).forEach(([key, value]) => {\n if (value != null && !(key in originalAttributes)) {\n originalAttributes[key] = value;\n }\n });\n}\n\nfunction applyCommonSpanAttributes(\n spanJSON: StreamedSpanJSON,\n serializedSegmentSpan: StreamedSpanJSON,\n client: Client,\n scopeData: ScopeData,\n): void {\n const sdk = client.getSdkMetadata();\n const { release, environment, sendDefaultPii } = client.getOptions();\n\n // avoid overwriting any previously set attributes (from users or potentially our SDK instrumentation)\n safeSetSpanJSONAttributes(spanJSON, {\n [SEMANTIC_ATTRIBUTE_SENTRY_RELEASE]: release,\n [SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT]: environment,\n [SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME]: serializedSegmentSpan.name,\n [SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID]: serializedSegmentSpan.span_id,\n [SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME]: sdk?.sdk?.name,\n [SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION]: sdk?.sdk?.version,\n ...(sendDefaultPii\n ? {\n [SEMANTIC_ATTRIBUTE_USER_ID]: scopeData.user?.id,\n [SEMANTIC_ATTRIBUTE_USER_EMAIL]: scopeData.user?.email,\n [SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS]: scopeData.user?.ip_address,\n [SEMANTIC_ATTRIBUTE_USER_USERNAME]: scopeData.user?.username,\n }\n : {}),\n ...scopeData.attributes,\n });\n}\n\n/**\n * Apply a user-provided beforeSendSpan callback to a span JSON.\n */\nexport function applyBeforeSendSpanCallback(\n span: StreamedSpanJSON,\n beforeSendSpan: (span: StreamedSpanJSON) => StreamedSpanJSON,\n): StreamedSpanJSON {\n const modifedSpan = beforeSendSpan(span);\n if (!modifedSpan) {\n showSpanDropWarning();\n return span;\n }\n return modifedSpan;\n}\n\n// OTel SpanKind values (numeric to avoid importing from @opentelemetry/api)\nconst SPAN_KIND_SERVER = 1;\nconst SPAN_KIND_CLIENT = 2;\n\n/**\n * Infer and backfill span data from OTel semantic conventions.\n * This mirrors what the `SentrySpanExporter` does for non-streamed spans via `getSpanData`/`inferSpanData`.\n * Streamed spans skip the exporter, so we do the inference here during capture.\n *\n * Backfills: `sentry.op`, `sentry.source`, and `name` (description).\n * Uses `safeSetSpanJSONAttributes` so explicitly set attributes are never overwritten.\n */\n/** Exported only for tests. */\nexport function inferSpanDataFromOtelAttributes(spanJSON: StreamedSpanJSON, spanKind?: number): void {\n const attributes = spanJSON.attributes;\n if (!attributes) {\n return;\n }\n\n const httpMethod = attributes['http.request.method'] || attributes['http.method'];\n if (httpMethod) {\n inferHttpSpanData(spanJSON, attributes, spanKind, httpMethod);\n return;\n }\n\n const dbSystem = attributes['db.system.name'] || attributes['db.system'];\n const opIsCache =\n typeof attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP] === 'string' &&\n `${attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP]}`.startsWith('cache.');\n if (dbSystem && !opIsCache) {\n inferDbSpanData(spanJSON, attributes);\n return;\n }\n\n if (attributes['rpc.service']) {\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'rpc' });\n return;\n }\n\n if (attributes['messaging.system']) {\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'message' });\n return;\n }\n\n const faasTrigger = attributes['faas.trigger'];\n if (faasTrigger) {\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: `${faasTrigger}` });\n }\n}\n\nfunction inferHttpSpanData(\n spanJSON: StreamedSpanJSON,\n attributes: RawAttributes<Record<string, unknown>>,\n spanKind: number | undefined,\n httpMethod: unknown,\n): void {\n // Infer op: http.client, http.server, or just http\n const opParts = ['http'];\n if (spanKind === SPAN_KIND_CLIENT) {\n opParts.push('client');\n } else if (spanKind === SPAN_KIND_SERVER) {\n opParts.push('server');\n }\n if (attributes['sentry.http.prefetch']) {\n opParts.push('prefetch');\n }\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: opParts.join('.') });\n\n // If the user set a custom span name via updateSpanName(), apply it — OTel instrumentation\n // may have overwritten span.name after the user set it, so we restore from the attribute.\n const customName = attributes[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n if (typeof customName === 'string') {\n spanJSON.name = customName;\n return;\n }\n\n if (attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] === 'custom') {\n return;\n }\n\n const httpRoute = attributes['http.route'];\n if (typeof httpRoute === 'string') {\n spanJSON.name = `${httpMethod} ${httpRoute}`;\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'route' });\n } else {\n // Infer span name from URL attributes, matching the non-streamed exporter's behavior.\n // Only overwrite the name for OTel spans (known spanKind)\n if (spanKind === SPAN_KIND_CLIENT || spanKind === SPAN_KIND_SERVER) {\n const urlPath = getUrlPath(attributes, spanKind);\n if (urlPath) {\n spanJSON.name = `${httpMethod} ${urlPath}`;\n }\n }\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url' });\n }\n}\n\n/**\n * Extract a URL path from span attributes for use in the span name.\n * Mirrors the logic in the non-streamed exporter's `getSanitizedUrl`.\n */\nfunction getUrlPath(\n attributes: RawAttributes<Record<string, unknown>>,\n spanKind: number | undefined,\n): string | undefined {\n const httpUrl = attributes['http.url'] || attributes['url.full'];\n const httpTarget = attributes['http.target'];\n\n const parsedUrl = typeof httpUrl === 'string' ? parseUrl(httpUrl) : undefined;\n const sanitizedUrl = parsedUrl ? getSanitizedUrlString(parsedUrl) : undefined;\n\n // For server spans, prefer the relative target path\n if (spanKind === SPAN_KIND_SERVER && typeof httpTarget === 'string') {\n return stripUrlQueryAndFragment(httpTarget);\n }\n\n // For client spans (and others), use the full sanitized URL\n if (sanitizedUrl) {\n return sanitizedUrl;\n }\n\n // Fall back to target if no full URL is available\n if (typeof httpTarget === 'string') {\n return stripUrlQueryAndFragment(httpTarget);\n }\n\n return undefined;\n}\n\nfunction inferDbSpanData(spanJSON: StreamedSpanJSON, attributes: RawAttributes<Record<string, unknown>>): void {\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'db' });\n\n // If the user set a custom span name via updateSpanName(), apply it.\n const customName = attributes[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n if (typeof customName === 'string') {\n spanJSON.name = customName;\n return;\n }\n\n if (attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] === 'custom') {\n return;\n }\n\n const statement = attributes['db.statement'];\n if (statement) {\n spanJSON.name = `${statement}`;\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'task' });\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captureSpan.js","sources":["../../../../src/tracing/spans/captureSpan.ts"],"sourcesContent":["import type { RawAttributes } from '../../attributes';\nimport type { Client } from '../../client';\nimport type { ScopeData } from '../../scope';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME,\n SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT,\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_RELEASE,\n SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS,\n SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME,\n SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION,\n SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID,\n SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n SEMANTIC_ATTRIBUTE_USER_EMAIL,\n SEMANTIC_ATTRIBUTE_USER_ID,\n SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS,\n SEMANTIC_ATTRIBUTE_USER_USERNAME,\n} from '../../semanticAttributes';\nimport type { SerializedStreamedSpan, Span, StreamedSpanJSON } from '../../types/span';\nimport { getCombinedScopeData } from '../../utils/scopeData';\nimport { getSanitizedUrlString, parseUrl, stripUrlQueryAndFragment } from '../../utils/url';\nimport {\n INTERNAL_getSegmentSpan,\n showSpanDropWarning,\n spanToStreamedSpanJSON,\n streamedSpanJsonToSerializedSpan,\n} from '../../utils/spanUtils';\nimport { getCapturedScopesOnSpan } from '../utils';\nimport { isStreamedBeforeSendSpanCallback } from './beforeSendSpan';\nimport { scopeContextsToSpanAttributes } from './scopeContextAttributes';\n\nexport type SerializedStreamedSpanWithSegmentSpan = SerializedStreamedSpan & {\n _segmentSpan: Span;\n};\n\n/**\n * Captures a span and returns a JSON representation to be enqueued for sending.\n *\n * IMPORTANT: This function converts the span to JSON immediately to avoid writing\n * to an already-ended OTel span instance (which is blocked by the OTel Span class).\n *\n * @returns the final serialized span with a reference to its segment span. This reference\n * is needed later on to compute the DSC for the span envelope.\n */\nexport function captureSpan(span: Span, client: Client): SerializedStreamedSpanWithSegmentSpan {\n // Convert to JSON FIRST - we cannot write to an already-ended span\n const spanJSON = spanToStreamedSpanJSON(span);\n\n const segmentSpan = INTERNAL_getSegmentSpan(span);\n const serializedSegmentSpan = spanToStreamedSpanJSON(segmentSpan);\n\n const { isolationScope: spanIsolationScope, scope: spanScope } = getCapturedScopesOnSpan(span);\n\n const finalScopeData = getCombinedScopeData(spanIsolationScope, spanScope);\n\n applyCommonSpanAttributes(spanJSON, serializedSegmentSpan, client, finalScopeData);\n\n // Backfill span data from OTel semantic conventions when not explicitly set.\n // OTel-originated spans don't have sentry.op, description, etc. — the non-streamed path\n // infers these in the SentrySpanExporter, but streamed spans skip the exporter entirely.\n // Access `kind` via duck-typing — OTel span objects have this property but it's not on Sentry's Span type.\n // This must run before all hooks and beforeSendSpan so that user callbacks can see and override inferred values.\n const spanKind = (span as { kind?: number }).kind;\n inferSpanDataFromOtelAttributes(spanJSON, spanKind);\n\n if (spanJSON.is_segment) {\n applyScopeToSegmentSpan(spanJSON, finalScopeData);\n applySdkMetadataToSegmentSpan(spanJSON, client);\n // Allow hook subscribers to mutate the segment span JSON\n // This also invokes the `processSegmentSpan` hook of all integrations\n client.emit('processSegmentSpan', spanJSON);\n }\n\n // This allows hook subscribers to mutate the span JSON\n // This also invokes the `processSpan` hook of all integrations\n client.emit('processSpan', spanJSON);\n\n const { beforeSendSpan } = client.getOptions();\n const processedSpan =\n beforeSendSpan && isStreamedBeforeSendSpanCallback(beforeSendSpan)\n ? applyBeforeSendSpanCallback(spanJSON, beforeSendSpan)\n : spanJSON;\n\n // Backfill sentry.span.source from sentry.source. Only `sentry.span.source` is respected by Sentry.\n // TODO(v11): Remove this backfill once we renamed SEMANTIC_ATTRIBUTE_SENTRY_SOURCE to sentry.span.source\n const spanNameSource = processedSpan.attributes?.[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n if (spanNameSource) {\n safeSetSpanJSONAttributes(processedSpan, {\n // Purposefully not using a constant defined here like in other attributes:\n // This will be the name for SEMANTIC_ATTRIBUTE_SENTRY_SOURCE in v11\n 'sentry.span.source': spanNameSource,\n });\n }\n\n return {\n ...streamedSpanJsonToSerializedSpan(processedSpan),\n _segmentSpan: segmentSpan,\n };\n}\n\nfunction applyScopeToSegmentSpan(segmentSpanJSON: StreamedSpanJSON, scopeData: ScopeData): void {\n const contextAttributes = scopeContextsToSpanAttributes(scopeData.contexts);\n safeSetSpanJSONAttributes(segmentSpanJSON, contextAttributes);\n}\n\n/**\n * Safely set attributes on a span JSON.\n * If an attribute already exists, it will not be overwritten.\n */\nexport function safeSetSpanJSONAttributes(\n spanJSON: StreamedSpanJSON,\n newAttributes: RawAttributes<Record<string, unknown>>,\n): void {\n const originalAttributes = spanJSON.attributes ?? (spanJSON.attributes = {});\n\n Object.entries(newAttributes).forEach(([key, value]) => {\n if (value != null && !(key in originalAttributes)) {\n originalAttributes[key] = value;\n }\n });\n}\n\nfunction applySdkMetadataToSegmentSpan(segmentSpanJSON: StreamedSpanJSON, client: Client): void {\n const integrationNames = client.getIntegrationNames();\n if (!integrationNames.length) return;\n\n safeSetSpanJSONAttributes(segmentSpanJSON, {\n [SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS]: integrationNames,\n });\n}\n\nfunction applyCommonSpanAttributes(\n spanJSON: StreamedSpanJSON,\n serializedSegmentSpan: StreamedSpanJSON,\n client: Client,\n scopeData: ScopeData,\n): void {\n const sdk = client.getSdkMetadata();\n const { release, environment } = client.getOptions();\n\n // avoid overwriting any previously set attributes (from users or potentially our SDK instrumentation)\n safeSetSpanJSONAttributes(spanJSON, {\n [SEMANTIC_ATTRIBUTE_SENTRY_RELEASE]: release,\n [SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT]: environment,\n [SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME]: serializedSegmentSpan.name,\n [SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID]: serializedSegmentSpan.span_id,\n [SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME]: sdk?.sdk?.name,\n [SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION]: sdk?.sdk?.version,\n [SEMANTIC_ATTRIBUTE_USER_ID]: scopeData.user?.id,\n [SEMANTIC_ATTRIBUTE_USER_EMAIL]: scopeData.user?.email,\n [SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS]: scopeData.user?.ip_address,\n [SEMANTIC_ATTRIBUTE_USER_USERNAME]: scopeData.user?.username,\n ...scopeData.attributes,\n });\n}\n\n/**\n * Apply a user-provided beforeSendSpan callback to a span JSON.\n */\nexport function applyBeforeSendSpanCallback(\n span: StreamedSpanJSON,\n beforeSendSpan: (span: StreamedSpanJSON) => StreamedSpanJSON,\n): StreamedSpanJSON {\n const modifedSpan = beforeSendSpan(span);\n if (!modifedSpan) {\n showSpanDropWarning();\n return span;\n }\n return modifedSpan;\n}\n\n// OTel SpanKind values (numeric to avoid importing from @opentelemetry/api)\nconst SPAN_KIND_SERVER = 1;\nconst SPAN_KIND_CLIENT = 2;\n\n/**\n * Infer and backfill span data from OTel semantic conventions.\n * This mirrors what the `SentrySpanExporter` does for non-streamed spans via `getSpanData`/`inferSpanData`.\n * Streamed spans skip the exporter, so we do the inference here during capture.\n *\n * Backfills: `sentry.op`, `sentry.source`, and `name` (description).\n * Uses `safeSetSpanJSONAttributes` so explicitly set attributes are never overwritten.\n */\n/** Exported only for tests. */\nexport function inferSpanDataFromOtelAttributes(spanJSON: StreamedSpanJSON, spanKind?: number): void {\n const attributes = spanJSON.attributes;\n if (!attributes) {\n return;\n }\n\n const httpMethod = attributes['http.request.method'] || attributes['http.method'];\n if (httpMethod) {\n inferHttpSpanData(spanJSON, attributes, spanKind, httpMethod);\n return;\n }\n\n const dbSystem = attributes['db.system.name'] || attributes['db.system'];\n const opIsCache =\n typeof attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP] === 'string' &&\n `${attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP]}`.startsWith('cache.');\n if (dbSystem && !opIsCache) {\n inferDbSpanData(spanJSON, attributes);\n return;\n }\n\n if (attributes['rpc.service']) {\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'rpc' });\n return;\n }\n\n if (attributes['messaging.system']) {\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'message' });\n return;\n }\n\n const faasTrigger = attributes['faas.trigger'];\n if (faasTrigger) {\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: `${faasTrigger}` });\n }\n}\n\nfunction inferHttpSpanData(\n spanJSON: StreamedSpanJSON,\n attributes: RawAttributes<Record<string, unknown>>,\n spanKind: number | undefined,\n httpMethod: unknown,\n): void {\n // Infer op: http.client, http.server, or just http\n const opParts = ['http'];\n if (spanKind === SPAN_KIND_CLIENT) {\n opParts.push('client');\n } else if (spanKind === SPAN_KIND_SERVER) {\n opParts.push('server');\n }\n if (attributes['sentry.http.prefetch']) {\n opParts.push('prefetch');\n }\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: opParts.join('.') });\n\n // If the user set a custom span name via updateSpanName(), apply it — OTel instrumentation\n // may have overwritten span.name after the user set it, so we restore from the attribute.\n const customName = attributes[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n if (typeof customName === 'string') {\n spanJSON.name = customName;\n return;\n }\n\n if (attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] === 'custom') {\n return;\n }\n\n const httpRoute = attributes['http.route'];\n if (typeof httpRoute === 'string') {\n spanJSON.name = `${httpMethod} ${httpRoute}`;\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'route' });\n } else {\n // Infer span name from URL attributes, matching the non-streamed exporter's behavior.\n // Only overwrite the name for OTel spans (known spanKind)\n if (spanKind === SPAN_KIND_CLIENT || spanKind === SPAN_KIND_SERVER) {\n const urlPath = getUrlPath(attributes, spanKind);\n if (urlPath) {\n spanJSON.name = `${httpMethod} ${urlPath}`;\n }\n }\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url' });\n }\n}\n\n/**\n * Extract a URL path from span attributes for use in the span name.\n * Mirrors the logic in the non-streamed exporter's `getSanitizedUrl`.\n */\nfunction getUrlPath(\n attributes: RawAttributes<Record<string, unknown>>,\n spanKind: number | undefined,\n): string | undefined {\n const httpUrl = attributes['http.url'] || attributes['url.full'];\n const httpTarget = attributes['http.target'];\n\n const parsedUrl = typeof httpUrl === 'string' ? parseUrl(httpUrl) : undefined;\n const sanitizedUrl = parsedUrl ? getSanitizedUrlString(parsedUrl) : undefined;\n\n // For server spans, prefer the relative target path\n if (spanKind === SPAN_KIND_SERVER && typeof httpTarget === 'string') {\n return stripUrlQueryAndFragment(httpTarget);\n }\n\n // For client spans (and others), use the full sanitized URL\n if (sanitizedUrl) {\n return sanitizedUrl;\n }\n\n // Fall back to target if no full URL is available\n if (typeof httpTarget === 'string') {\n return stripUrlQueryAndFragment(httpTarget);\n }\n\n return undefined;\n}\n\nfunction inferDbSpanData(spanJSON: StreamedSpanJSON, attributes: RawAttributes<Record<string, unknown>>): void {\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'db' });\n\n // If the user set a custom span name via updateSpanName(), apply it.\n const customName = attributes[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n if (typeof customName === 'string') {\n spanJSON.name = customName;\n return;\n }\n\n if (attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] === 'custom') {\n return;\n }\n\n const statement = attributes['db.statement'];\n if (statement) {\n spanJSON.name = `${statement}`;\n safeSetSpanJSONAttributes(spanJSON, { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'task' });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -2,42 +2,30 @@ import { dsnToString } from '../../utils/dsn.js';
2
2
  import { getSdkMetadataForEnvelopeHeader, createEnvelope } from '../../utils/envelope.js';
3
3
  import { isBrowser } from '../../utils/isBrowser.js';
4
4
 
5
- /**
6
- * Creates a span v2 span streaming envelope
7
- */
8
- function createStreamedSpanEnvelope(
9
- serializedSpans,
10
- dsc,
11
- client,
12
- ) {
5
+ function createStreamedSpanEnvelope(serializedSpans, dsc, client) {
13
6
  const options = client.getOptions();
14
7
  const dsn = client.getDsn();
15
8
  const tunnel = options.tunnel;
16
9
  const sdk = getSdkMetadataForEnvelopeHeader(options._metadata);
17
-
18
10
  const headers = {
19
- sent_at: new Date().toISOString(),
20
- ...(dscHasRequiredProps(dsc) && { trace: dsc }),
21
- ...(sdk && { sdk }),
22
- ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),
11
+ sent_at: (/* @__PURE__ */ new Date()).toISOString(),
12
+ ...dscHasRequiredProps(dsc) && { trace: dsc },
13
+ ...sdk && { sdk },
14
+ ...!!tunnel && dsn && { dsn: dsnToString(dsn) }
23
15
  };
24
-
25
- const inferSetting = options.sendDefaultPii ? 'auto' : 'never';
26
-
16
+ const inferSetting = client.getDataCollectionOptions().userInfo ? "auto" : "never";
27
17
  const spanContainer = [
28
- { type: 'span', item_count: serializedSpans.length, content_type: 'application/vnd.sentry.items.span.v2+json' },
18
+ { type: "span", item_count: serializedSpans.length, content_type: "application/vnd.sentry.items.span.v2+json" },
29
19
  {
30
20
  version: 2,
31
- ...(isBrowser() && {
32
- ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting },
33
- }),
34
- items: serializedSpans,
35
- },
21
+ ...isBrowser() && {
22
+ ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting }
23
+ },
24
+ items: serializedSpans
25
+ }
36
26
  ];
37
-
38
27
  return createEnvelope(headers, [spanContainer]);
39
28
  }
40
-
41
29
  function dscHasRequiredProps(dsc) {
42
30
  return !!dsc.trace_id && !!dsc.public_key;
43
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sources":["../../../../src/tracing/spans/envelope.ts"],"sourcesContent":["import type { Client } from '../../client';\nimport type { DynamicSamplingContext, SpanContainerItem, StreamedSpanEnvelope } from '../../types-hoist/envelope';\nimport type { SerializedStreamedSpan } from '../../types-hoist/span';\nimport { dsnToString } from '../../utils/dsn';\nimport { createEnvelope, getSdkMetadataForEnvelopeHeader } from '../../utils/envelope';\nimport { isBrowser } from '../../utils/isBrowser';\n\n/**\n * Creates a span v2 span streaming envelope\n */\nexport function createStreamedSpanEnvelope(\n serializedSpans: Array<SerializedStreamedSpan>,\n dsc: Partial<DynamicSamplingContext>,\n client: Client,\n): StreamedSpanEnvelope {\n const options = client.getOptions();\n const dsn = client.getDsn();\n const tunnel = options.tunnel;\n const sdk = getSdkMetadataForEnvelopeHeader(options._metadata);\n\n const headers: StreamedSpanEnvelope[0] = {\n sent_at: new Date().toISOString(),\n ...(dscHasRequiredProps(dsc) && { trace: dsc }),\n ...(sdk && { sdk }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n };\n\n const inferSetting = options.sendDefaultPii ? 'auto' : 'never';\n\n const spanContainer: SpanContainerItem = [\n { type: 'span', item_count: serializedSpans.length, content_type: 'application/vnd.sentry.items.span.v2+json' },\n {\n version: 2,\n ...(isBrowser() && {\n ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting },\n }),\n items: serializedSpans,\n },\n ];\n\n return createEnvelope<StreamedSpanEnvelope>(headers, [spanContainer]);\n}\n\nfunction dscHasRequiredProps(dsc: Partial<DynamicSamplingContext>): dsc is DynamicSamplingContext {\n return !!dsc.trace_id && !!dsc.public_key;\n}\n"],"names":[],"mappings":";;;;AAOA;AACA;AACA;AACO,SAAS,0BAA0B;AAC1C,EAAE,eAAe;AACjB,EAAE,GAAG;AACL,EAAE,MAAM;AACR,EAAwB;AACxB,EAAE,MAAM,OAAA,GAAU,MAAM,CAAC,UAAU,EAAE;AACrC,EAAE,MAAM,GAAA,GAAM,MAAM,CAAC,MAAM,EAAE;AAC7B,EAAE,MAAM,MAAA,GAAS,OAAO,CAAC,MAAM;AAC/B,EAAE,MAAM,MAAM,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC;;AAEhE,EAAE,MAAM,OAAO,GAA4B;AAC3C,IAAI,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AACrC,IAAI,IAAI,mBAAmB,CAAC,GAAG,CAAA,IAAK,EAAE,KAAK,EAAE,GAAA,EAAK,CAAC;AACnD,IAAI,IAAI,GAAA,IAAO,EAAE,GAAA,EAAK,CAAC;AACvB,IAAI,IAAI,CAAC,CAAC,MAAA,IAAU,GAAA,IAAO,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAA,EAAG,CAAC;AACrD,GAAG;;AAEH,EAAE,MAAM,eAAe,OAAO,CAAC,cAAA,GAAiB,MAAA,GAAS,OAAO;;AAEhE,EAAE,MAAM,aAAa,GAAsB;AAC3C,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,6CAA6C;AACnH,IAAI;AACJ,MAAM,OAAO,EAAE,CAAC;AAChB,MAAM,IAAI,SAAS,MAAM;AACzB,QAAQ,eAAe,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAA,EAAc;AACnF,OAAO,CAAC;AACR,MAAM,KAAK,EAAE,eAAe;AAC5B,KAAK;AACL,GAAG;;AAEH,EAAE,OAAO,cAAc,CAAuB,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;AACvE;;AAEA,SAAS,mBAAmB,CAAC,GAAG,EAAkE;AAClG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,QAAA,IAAY,CAAC,CAAC,GAAG,CAAC,UAAU;AAC3C;;;;"}
1
+ {"version":3,"file":"envelope.js","sources":["../../../../src/tracing/spans/envelope.ts"],"sourcesContent":["import type { Client } from '../../client';\nimport type { DynamicSamplingContext, SpanContainerItem, StreamedSpanEnvelope } from '../../types/envelope';\nimport type { SerializedStreamedSpan } from '../../types/span';\nimport { dsnToString } from '../../utils/dsn';\nimport { createEnvelope, getSdkMetadataForEnvelopeHeader } from '../../utils/envelope';\nimport { isBrowser } from '../../utils/isBrowser';\n\n/**\n * Creates a span v2 span streaming envelope\n */\nexport function createStreamedSpanEnvelope(\n serializedSpans: Array<SerializedStreamedSpan>,\n dsc: Partial<DynamicSamplingContext>,\n client: Client,\n): StreamedSpanEnvelope {\n const options = client.getOptions();\n const dsn = client.getDsn();\n const tunnel = options.tunnel;\n const sdk = getSdkMetadataForEnvelopeHeader(options._metadata);\n\n const headers: StreamedSpanEnvelope[0] = {\n sent_at: new Date().toISOString(),\n ...(dscHasRequiredProps(dsc) && { trace: dsc }),\n ...(sdk && { sdk }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n };\n\n const inferSetting = client.getDataCollectionOptions().userInfo ? 'auto' : 'never';\n\n const spanContainer: SpanContainerItem = [\n { type: 'span', item_count: serializedSpans.length, content_type: 'application/vnd.sentry.items.span.v2+json' },\n {\n version: 2,\n ...(isBrowser() && {\n ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting },\n }),\n items: serializedSpans,\n },\n ];\n\n return createEnvelope<StreamedSpanEnvelope>(headers, [spanContainer]);\n}\n\nfunction dscHasRequiredProps(dsc: Partial<DynamicSamplingContext>): dsc is DynamicSamplingContext {\n return !!dsc.trace_id && !!dsc.public_key;\n}\n"],"names":[],"mappings":";;;;AAUO,SAAS,0BAAA,CACd,eAAA,EACA,GAAA,EACA,MAAA,EACsB;AACtB,EAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAClC,EAAA,MAAM,GAAA,GAAM,OAAO,MAAA,EAAO;AAC1B,EAAA,MAAM,SAAS,OAAA,CAAQ,MAAA;AACvB,EAAA,MAAM,GAAA,GAAM,+BAAA,CAAgC,OAAA,CAAQ,SAAS,CAAA;AAE7D,EAAA,MAAM,OAAA,GAAmC;AAAA,IACvC,OAAA,EAAA,iBAAS,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY;AAAA,IAChC,GAAI,mBAAA,CAAoB,GAAG,CAAA,IAAK,EAAE,OAAO,GAAA,EAAI;AAAA,IAC7C,GAAI,GAAA,IAAO,EAAE,GAAA,EAAI;AAAA,IACjB,GAAI,CAAC,CAAC,MAAA,IAAU,OAAO,EAAE,GAAA,EAAK,WAAA,CAAY,GAAG,CAAA;AAAE,GACjD;AAEA,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,wBAAA,EAAyB,CAAE,WAAW,MAAA,GAAS,OAAA;AAE3E,EAAA,MAAM,aAAA,GAAmC;AAAA,IACvC,EAAE,IAAA,EAAM,MAAA,EAAQ,YAAY,eAAA,CAAgB,MAAA,EAAQ,cAAc,2CAAA,EAA4C;AAAA,IAC9G;AAAA,MACE,OAAA,EAAS,CAAA;AAAA,MACT,GAAI,WAAU,IAAK;AAAA,QACjB,eAAA,EAAiB,EAAE,QAAA,EAAU,YAAA,EAAc,kBAAkB,YAAA;AAAa,OAC5E;AAAA,MACA,KAAA,EAAO;AAAA;AACT,GACF;AAEA,EAAA,OAAO,cAAA,CAAqC,OAAA,EAAS,CAAC,aAAa,CAAC,CAAA;AACtE;AAEA,SAAS,oBAAoB,GAAA,EAAqE;AAChG,EAAA,OAAO,CAAC,CAAC,GAAA,CAAI,QAAA,IAAY,CAAC,CAAC,GAAA,CAAI,UAAA;AACjC;;;;"}
@@ -1,34 +1,12 @@
1
1
  import { estimateTypedAttributesSizeInBytes } from '../../attributes.js';
2
2
 
3
- /**
4
- * Estimates the serialized byte size of a {@link SerializedStreamedSpan}.
5
- *
6
- * Uses 2 bytes per character as a UTF-16 approximation, and 8 bytes per number.
7
- * The estimate is intentionally conservative and may be slightly lower than the
8
- * actual byte size on the wire.
9
- * We compensate for this by setting the span buffers internal limit well below the limit
10
- * of how large an actual span v2 envelope may be.
11
- */
12
3
  function estimateSerializedSpanSizeInBytes(span) {
13
- /*
14
- * Fixed-size fields are pre-computed as a constant for performance:
15
- * - two timestamps (8 bytes each = 16)
16
- * - is_segment boolean (5 bytes, assumed false for most spans)
17
- * - trace_id – always 32 hex chars (64 bytes)
18
- * - span_id – always 16 hex chars (32 bytes)
19
- * - parent_span_id – 16 hex chars, assumed present for most spans (32 bytes)
20
- * - status "ok" – most common value (8 bytes)
21
- * = 156 bytes total base
22
- */
23
4
  let weight = 156;
24
5
  weight += span.name.length * 2;
25
6
  weight += estimateTypedAttributesSizeInBytes(span.attributes);
26
7
  if (span.links && span.links.length > 0) {
27
- // Assumption: Links are roughly equal in number of attributes
28
- // probably not always true but allows us to cut down on runtime
29
8
  const firstLink = span.links[0];
30
9
  const attributes = firstLink?.attributes;
31
- // Fixed size 100 due to span_id, trace_id and sampled flag (see above)
32
10
  const linkWeight = 100 + (attributes ? estimateTypedAttributesSizeInBytes(attributes) : 0);
33
11
  weight += linkWeight * span.links.length;
34
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"estimateSize.js","sources":["../../../../src/tracing/spans/estimateSize.ts"],"sourcesContent":["import { estimateTypedAttributesSizeInBytes } from '../../attributes';\nimport type { SerializedStreamedSpan } from '../../types-hoist/span';\n\n/**\n * Estimates the serialized byte size of a {@link SerializedStreamedSpan}.\n *\n * Uses 2 bytes per character as a UTF-16 approximation, and 8 bytes per number.\n * The estimate is intentionally conservative and may be slightly lower than the\n * actual byte size on the wire.\n * We compensate for this by setting the span buffers internal limit well below the limit\n * of how large an actual span v2 envelope may be.\n */\nexport function estimateSerializedSpanSizeInBytes(span: SerializedStreamedSpan): number {\n /*\n * Fixed-size fields are pre-computed as a constant for performance:\n * - two timestamps (8 bytes each = 16)\n * - is_segment boolean (5 bytes, assumed false for most spans)\n * - trace_id – always 32 hex chars (64 bytes)\n * - span_id – always 16 hex chars (32 bytes)\n * - parent_span_id – 16 hex chars, assumed present for most spans (32 bytes)\n * - status \"ok\" – most common value (8 bytes)\n * = 156 bytes total base\n */\n let weight = 156;\n weight += span.name.length * 2;\n weight += estimateTypedAttributesSizeInBytes(span.attributes);\n if (span.links && span.links.length > 0) {\n // Assumption: Links are roughly equal in number of attributes\n // probably not always true but allows us to cut down on runtime\n const firstLink = span.links[0];\n const attributes = firstLink?.attributes;\n // Fixed size 100 due to span_id, trace_id and sampled flag (see above)\n const linkWeight = 100 + (attributes ? estimateTypedAttributesSizeInBytes(attributes) : 0);\n weight += linkWeight * span.links.length;\n }\n return weight;\n}\n"],"names":[],"mappings":";;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,iCAAiC,CAAC,IAAI,EAAkC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,MAAA,GAAS,GAAG;AAClB,EAAE,MAAA,IAAU,IAAI,CAAC,IAAI,CAAC,MAAA,GAAS,CAAC;AAChC,EAAE,UAAU,kCAAkC,CAAC,IAAI,CAAC,UAAU,CAAC;AAC/D,EAAE,IAAI,IAAI,CAAC,KAAA,IAAS,IAAI,CAAC,KAAK,CAAC,MAAA,GAAS,CAAC,EAAE;AAC3C;AACA;AACA,IAAI,MAAM,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,IAAI,MAAM,UAAA,GAAa,SAAS,EAAE,UAAU;AAC5C;AACA,IAAI,MAAM,UAAA,GAAa,GAAA,IAAO,UAAA,GAAa,kCAAkC,CAAC,UAAU,CAAA,GAAI,CAAC,CAAC;AAC9F,IAAI,MAAA,IAAU,UAAA,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM;AAC5C,EAAE;AACF,EAAE,OAAO,MAAM;AACf;;;;"}
1
+ {"version":3,"file":"estimateSize.js","sources":["../../../../src/tracing/spans/estimateSize.ts"],"sourcesContent":["import { estimateTypedAttributesSizeInBytes } from '../../attributes';\nimport type { SerializedStreamedSpan } from '../../types/span';\n\n/**\n * Estimates the serialized byte size of a {@link SerializedStreamedSpan}.\n *\n * Uses 2 bytes per character as a UTF-16 approximation, and 8 bytes per number.\n * The estimate is intentionally conservative and may be slightly lower than the\n * actual byte size on the wire.\n * We compensate for this by setting the span buffers internal limit well below the limit\n * of how large an actual span v2 envelope may be.\n */\nexport function estimateSerializedSpanSizeInBytes(span: SerializedStreamedSpan): number {\n /*\n * Fixed-size fields are pre-computed as a constant for performance:\n * - two timestamps (8 bytes each = 16)\n * - is_segment boolean (5 bytes, assumed false for most spans)\n * - trace_id – always 32 hex chars (64 bytes)\n * - span_id – always 16 hex chars (32 bytes)\n * - parent_span_id – 16 hex chars, assumed present for most spans (32 bytes)\n * - status \"ok\" – most common value (8 bytes)\n * = 156 bytes total base\n */\n let weight = 156;\n weight += span.name.length * 2;\n weight += estimateTypedAttributesSizeInBytes(span.attributes);\n if (span.links && span.links.length > 0) {\n // Assumption: Links are roughly equal in number of attributes\n // probably not always true but allows us to cut down on runtime\n const firstLink = span.links[0];\n const attributes = firstLink?.attributes;\n // Fixed size 100 due to span_id, trace_id and sampled flag (see above)\n const linkWeight = 100 + (attributes ? estimateTypedAttributesSizeInBytes(attributes) : 0);\n weight += linkWeight * span.links.length;\n }\n return weight;\n}\n"],"names":[],"mappings":";;AAYO,SAAS,kCAAkC,IAAA,EAAsC;AAWtF,EAAA,IAAI,MAAA,GAAS,GAAA;AACb,EAAA,MAAA,IAAU,IAAA,CAAK,KAAK,MAAA,GAAS,CAAA;AAC7B,EAAA,MAAA,IAAU,kCAAA,CAAmC,KAAK,UAAU,CAAA;AAC5D,EAAA,IAAI,IAAA,CAAK,KAAA,IAAS,IAAA,CAAK,KAAA,CAAM,SAAS,CAAA,EAAG;AAGvC,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,KAAA,CAAM,CAAC,CAAA;AAC9B,IAAA,MAAM,aAAa,SAAA,EAAW,UAAA;AAE9B,IAAA,MAAM,UAAA,GAAa,GAAA,IAAO,UAAA,GAAa,kCAAA,CAAmC,UAAU,CAAA,GAAI,CAAA,CAAA;AACxF,IAAA,MAAA,IAAU,UAAA,GAAa,KAAK,KAAA,CAAM,MAAA;AAAA,EACpC;AACA,EAAA,OAAO,MAAA;AACT;;;;"}
@@ -2,55 +2,33 @@ import { isBrowser } from '../../utils/isBrowser.js';
2
2
  import { hasSpanStreamingEnabled } from './hasSpanStreamingEnabled.js';
3
3
  import { spanJsonToSerializedStreamedSpan } from './spanJsonToStreamedSpan.js';
4
4
 
5
- /**
6
- * Extracts gen_ai spans from a transaction event, converts them to span v2 format,
7
- * and returns them as a SpanContainerItem.
8
- *
9
- * Only applies to static mode (non-streaming) transactions.
10
- *
11
- * WARNING: This function mutates `event.spans` by removing the extracted gen_ai spans
12
- * from the array. Call this before creating the event envelope so the transaction
13
- * item does not include the extracted spans.
14
- */
15
5
  function extractGenAiSpansFromEvent(event, client) {
16
- if (
17
- event.type !== 'transaction' ||
18
- !event.spans?.length ||
19
- !event.sdkProcessingMetadata?.hasGenAiSpans ||
20
- !client.getOptions().streamGenAiSpans ||
21
- hasSpanStreamingEnabled(client)
22
- ) {
23
- return undefined;
6
+ if (event.type !== "transaction" || !event.spans?.length || !event.sdkProcessingMetadata?.hasGenAiSpans || !client.getOptions().streamGenAiSpans || hasSpanStreamingEnabled(client)) {
7
+ return void 0;
24
8
  }
25
-
26
9
  const genAiSpans = [];
27
10
  const remainingSpans = [];
28
-
29
11
  for (const span of event.spans) {
30
- if (span.op?.startsWith('gen_ai.')) {
12
+ if (span.op?.startsWith("gen_ai.")) {
31
13
  genAiSpans.push(spanJsonToSerializedStreamedSpan(span));
32
14
  } else {
33
15
  remainingSpans.push(span);
34
16
  }
35
17
  }
36
-
37
18
  if (genAiSpans.length === 0) {
38
- return undefined;
19
+ return void 0;
39
20
  }
40
-
41
21
  event.spans = remainingSpans;
42
-
43
- const inferSetting = client.getOptions().sendDefaultPii ? 'auto' : 'never';
44
-
22
+ const inferSetting = client.getOptions().sendDefaultPii ? "auto" : "never";
45
23
  return [
46
- { type: 'span', item_count: genAiSpans.length, content_type: 'application/vnd.sentry.items.span.v2+json' },
24
+ { type: "span", item_count: genAiSpans.length, content_type: "application/vnd.sentry.items.span.v2+json" },
47
25
  {
48
26
  version: 2,
49
- ...(isBrowser() && {
50
- ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting },
51
- }),
52
- items: genAiSpans,
53
- },
27
+ ...isBrowser() && {
28
+ ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting }
29
+ },
30
+ items: genAiSpans
31
+ }
54
32
  ];
55
33
  }
56
34