@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 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/tracing/langchain/utils.ts"],"sourcesContent":["import { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../../semanticAttributes';\nimport type { SpanAttributeValue } from '../../types-hoist/span';\nimport {\n GEN_AI_AGENT_NAME_ATTRIBUTE,\n GEN_AI_INPUT_MESSAGES_ATTRIBUTE,\n GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE,\n GEN_AI_OPERATION_NAME_ATTRIBUTE,\n GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE,\n GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE,\n GEN_AI_REQUEST_MODEL_ATTRIBUTE,\n GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE,\n GEN_AI_REQUEST_STREAM_ATTRIBUTE,\n GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE,\n GEN_AI_REQUEST_TOP_P_ATTRIBUTE,\n GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE,\n GEN_AI_RESPONSE_ID_ATTRIBUTE,\n GEN_AI_RESPONSE_MODEL_ATTRIBUTE,\n GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE,\n GEN_AI_RESPONSE_TEXT_ATTRIBUTE,\n GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE,\n GEN_AI_SYSTEM_ATTRIBUTE,\n GEN_AI_SYSTEM_INSTRUCTIONS_ATTRIBUTE,\n GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE,\n GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE,\n GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE,\n GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE,\n GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE,\n} from '../ai/gen-ai-attributes';\nimport { isContentMedia, stripInlineMediaFromSingleMessage } from '../ai/mediaStripping';\nimport { extractSystemInstructions, getJsonString, getTruncatedJsonString } from '../ai/utils';\nimport { LANGCHAIN_ORIGIN, ROLE_MAP } from './constants';\nimport type { LangChainLLMResult, LangChainMessage, LangChainSerialized } from './types';\n\n/**\n * Assigns an attribute only when the value is neither `undefined` nor `null`.\n *\n * We keep this tiny helper because call sites are repetitive and easy to miswrite.\n * It also preserves falsy-but-valid values like `0` and `\"\"`.\n */\nconst setIfDefined = (target: Record<string, SpanAttributeValue>, key: string, value: unknown): void => {\n if (value != null) target[key] = value as SpanAttributeValue;\n};\n\n/**\n * Like `setIfDefined`, but converts the value with `Number()` and skips only when the\n * result is `NaN`. This ensures numeric 0 makes it through (unlike truthy checks).\n */\nconst setNumberIfDefined = (target: Record<string, SpanAttributeValue>, key: string, value: unknown): void => {\n const n = Number(value);\n if (!Number.isNaN(n)) target[key] = n;\n};\n\n/**\n * Converts a value to a string. Avoids double-quoted JSON strings where a plain\n * string is desired, but still handles objects/arrays safely.\n */\nfunction asString(v: unknown): string {\n if (typeof v === 'string') return v;\n try {\n return JSON.stringify(v);\n } catch {\n return String(v);\n }\n}\n\n/**\n * Converts message content to a string, stripping inline media (base64 images, audio, etc.)\n * from multimodal content before stringification so downstream media stripping can't miss it.\n *\n * @example\n * // String content passes through unchanged:\n * normalizeContent(\"Hello\") // => \"Hello\"\n *\n * // Multimodal array content — media is replaced with \"[Blob substitute]\" before JSON.stringify:\n * normalizeContent([\n * { type: \"text\", text: \"What color?\" },\n * { type: \"image_url\", image_url: { url: \"data:image/png;base64,iVBOR...\" } }\n * ])\n * // => '[{\"type\":\"text\",\"text\":\"What color?\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"[Blob substitute]\"}}]'\n *\n * // Without this, asString() would JSON.stringify the raw array and the base64 blob\n * // would end up in span attributes, since downstream stripping only works on objects.\n */\nfunction normalizeContent(v: unknown): string {\n if (Array.isArray(v)) {\n try {\n const stripped = v.map(part =>\n part && typeof part === 'object' && isContentMedia(part) ? stripInlineMediaFromSingleMessage(part) : part,\n );\n return JSON.stringify(stripped);\n } catch {\n return String(v);\n }\n }\n return asString(v);\n}\n\n/**\n * Normalizes a single role token to our canonical set.\n *\n * @param role Incoming role value (free-form, any casing)\n * @returns Canonical role: 'user' | 'assistant' | 'system' | 'function' | 'tool' | <passthrough>\n */\nfunction normalizeMessageRole(role: string): string {\n const normalized = role.toLowerCase();\n return ROLE_MAP[normalized] ?? normalized;\n}\n\n/**\n * Infers a role from a LangChain message constructor name.\n *\n * Checks for substrings like \"System\", \"Human\", \"AI\", etc.\n */\nfunction normalizeRoleNameFromCtor(name: string): string {\n if (name.includes('System')) return 'system';\n if (name.includes('Human')) return 'user';\n if (name.includes('AI') || name.includes('Assistant')) return 'assistant';\n if (name.includes('Function')) return 'function';\n if (name.includes('Tool')) return 'tool';\n return 'user';\n}\n\n/**\n * Returns invocation params from a LangChain `tags` object.\n *\n * LangChain often passes runtime parameters (model, temperature, etc.) via the\n * `tags.invocation_params` bag. If `tags` is an array (LangChain sometimes uses\n * string tags), we return `undefined`.\n *\n * @param tags LangChain tags (string[] or record)\n * @returns The `invocation_params` object, if present\n */\nexport function getInvocationParams(tags?: string[] | Record<string, unknown>): Record<string, unknown> | undefined {\n if (!tags || Array.isArray(tags)) return undefined;\n return tags.invocation_params as Record<string, unknown> | undefined;\n}\n\n/**\n * Normalizes a heterogeneous set of LangChain messages to `{ role, content }`.\n *\n * Why so many branches? LangChain messages can arrive in several shapes:\n * - Message classes with `_getType()` (most reliable)\n * - Classes with meaningful constructor names (e.g. `SystemMessage`)\n * - Plain objects with `type`, or `{ role, content }`\n * - Serialized format with `{ lc: 1, id: [...], kwargs: { content } }`\n * We preserve the prioritization to minimize behavioral drift.\n *\n * @param messages Mixed LangChain messages\n * @returns Array of normalized `{ role, content }`\n */\nexport function normalizeLangChainMessages(messages: LangChainMessage[]): Array<{ role: string; content: string }> {\n return messages.map(message => {\n // 1) Prefer _getType() when present\n const maybeGetType = (message as { _getType?: () => string })._getType;\n if (typeof maybeGetType === 'function') {\n const messageType = maybeGetType.call(message);\n return {\n role: normalizeMessageRole(messageType),\n content: normalizeContent(message.content),\n };\n }\n\n // 2) Serialized LangChain format (lc: 1) - check before constructor name\n // This is more reliable than constructor.name which can be lost during serialization\n if (message.lc === 1 && message.kwargs) {\n const id = message.id;\n const messageType = Array.isArray(id) && id.length > 0 ? id[id.length - 1] : '';\n const role = typeof messageType === 'string' ? normalizeRoleNameFromCtor(messageType) : 'user';\n\n return {\n role: normalizeMessageRole(role),\n content: normalizeContent(message.kwargs?.content),\n };\n }\n\n // 3) Then objects with `type`\n if (message.type) {\n const role = String(message.type).toLowerCase();\n return {\n role: normalizeMessageRole(role),\n content: normalizeContent(message.content),\n };\n }\n\n // 4) Then objects with `{ role, content }` - check before constructor name\n // Plain objects have constructor.name=\"Object\" which would incorrectly default to \"user\"\n if (message.role) {\n return {\n role: normalizeMessageRole(String(message.role)),\n content: normalizeContent(message.content),\n };\n }\n\n // 5) Then try constructor name (SystemMessage / HumanMessage / ...)\n // Only use this if we haven't matched a more specific case\n const ctor = (message as { constructor?: { name?: string } }).constructor?.name;\n if (ctor && ctor !== 'Object') {\n return {\n role: normalizeMessageRole(normalizeRoleNameFromCtor(ctor)),\n content: normalizeContent(message.content),\n };\n }\n\n // 6) Fallback: treat as user text\n return {\n role: 'user',\n content: normalizeContent(message.content),\n };\n });\n}\n\n/**\n * Extracts request attributes common to both LLM and ChatModel invocations.\n *\n * Source precedence:\n * 1) `invocationParams` (highest)\n * 2) `langSmithMetadata`\n *\n * Numeric values are set even when 0 (e.g. `temperature: 0`), but skipped if `NaN`.\n */\nfunction extractCommonRequestAttributes(\n serialized: LangChainSerialized,\n invocationParams?: Record<string, unknown>,\n langSmithMetadata?: Record<string, unknown>,\n): Record<string, SpanAttributeValue> {\n const attrs: Record<string, SpanAttributeValue> = {};\n\n // Get kwargs if available (from constructor type)\n const kwargs = 'kwargs' in serialized ? serialized.kwargs : undefined;\n\n const temperature = invocationParams?.temperature ?? langSmithMetadata?.ls_temperature ?? kwargs?.temperature;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE, temperature);\n\n const maxTokens = invocationParams?.max_tokens ?? langSmithMetadata?.ls_max_tokens ?? kwargs?.max_tokens;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE, maxTokens);\n\n const topP = invocationParams?.top_p ?? kwargs?.top_p;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_TOP_P_ATTRIBUTE, topP);\n\n const frequencyPenalty = invocationParams?.frequency_penalty;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE, frequencyPenalty);\n\n const presencePenalty = invocationParams?.presence_penalty;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE, presencePenalty);\n\n // LangChain uses `stream`. We only set the attribute if the key actually exists\n // (some callbacks report `false` even on streamed requests, this stems from LangChain's callback handler).\n if (invocationParams && 'stream' in invocationParams) {\n setIfDefined(attrs, GEN_AI_REQUEST_STREAM_ATTRIBUTE, Boolean(invocationParams.stream));\n }\n\n return attrs;\n}\n\n/**\n * Small helper to assemble boilerplate attributes shared by both request extractors.\n * Always uses 'chat' as the operation type for all LLM and chat model operations.\n */\nfunction baseRequestAttributes(\n system: unknown,\n modelName: unknown,\n serialized: LangChainSerialized,\n invocationParams?: Record<string, unknown>,\n langSmithMetadata?: Record<string, unknown>,\n): Record<string, SpanAttributeValue> {\n return {\n [GEN_AI_SYSTEM_ATTRIBUTE]: asString(system ?? 'langchain'),\n [GEN_AI_OPERATION_NAME_ATTRIBUTE]: 'chat',\n [GEN_AI_REQUEST_MODEL_ATTRIBUTE]: asString(modelName),\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: LANGCHAIN_ORIGIN,\n ...extractCommonRequestAttributes(serialized, invocationParams, langSmithMetadata),\n };\n}\n\n/**\n * Extracts attributes for plain LLM invocations (string prompts).\n *\n * - Operation is tagged as `chat` following OpenTelemetry semantic conventions.\n * LangChain LLM operations are treated as chat operations.\n * - When `recordInputs` is true, string prompts are wrapped into `{role:\"user\"}`\n * messages to align with the chat schema used elsewhere.\n */\nexport function extractLLMRequestAttributes(\n llm: LangChainSerialized,\n prompts: string[],\n recordInputs: boolean,\n enableTruncation: boolean,\n invocationParams?: Record<string, unknown>,\n langSmithMetadata?: Record<string, unknown>,\n): Record<string, SpanAttributeValue> {\n const system = langSmithMetadata?.ls_provider;\n const modelName = invocationParams?.model ?? langSmithMetadata?.ls_model_name ?? 'unknown';\n\n const attrs = baseRequestAttributes(system, modelName, llm, invocationParams, langSmithMetadata);\n\n if (recordInputs && Array.isArray(prompts) && prompts.length > 0) {\n setIfDefined(attrs, GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE, prompts.length);\n const messages = prompts.map(p => ({ role: 'user', content: p }));\n setIfDefined(\n attrs,\n GEN_AI_INPUT_MESSAGES_ATTRIBUTE,\n enableTruncation ? getTruncatedJsonString(messages) : getJsonString(messages),\n );\n }\n\n return attrs;\n}\n\n/**\n * Extracts attributes for ChatModel invocations (array-of-arrays of messages).\n *\n * - Operation is tagged as `chat` following OpenTelemetry semantic conventions.\n * LangChain chat model operations are chat operations.\n * - We flatten LangChain's `LangChainMessage[][]` and normalize shapes into a\n * consistent `{ role, content }` array when `recordInputs` is true.\n * - Provider system value falls back to `serialized.id?.[2]`.\n */\nexport function extractChatModelRequestAttributes(\n llm: LangChainSerialized,\n langChainMessages: LangChainMessage[][],\n recordInputs: boolean,\n enableTruncation: boolean,\n invocationParams?: Record<string, unknown>,\n langSmithMetadata?: Record<string, unknown>,\n): Record<string, SpanAttributeValue> {\n const system = langSmithMetadata?.ls_provider ?? llm.id?.[2];\n const modelName = invocationParams?.model ?? langSmithMetadata?.ls_model_name ?? 'unknown';\n\n const attrs = baseRequestAttributes(system, modelName, llm, invocationParams, langSmithMetadata);\n\n if (recordInputs && Array.isArray(langChainMessages) && langChainMessages.length > 0) {\n const normalized = normalizeLangChainMessages(langChainMessages.flat());\n\n const { systemInstructions, filteredMessages } = extractSystemInstructions(normalized);\n\n if (systemInstructions) {\n setIfDefined(attrs, GEN_AI_SYSTEM_INSTRUCTIONS_ATTRIBUTE, systemInstructions);\n }\n\n const filteredLength = Array.isArray(filteredMessages) ? filteredMessages.length : 0;\n setIfDefined(attrs, GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE, filteredLength);\n\n setIfDefined(\n attrs,\n GEN_AI_INPUT_MESSAGES_ATTRIBUTE,\n enableTruncation ? getTruncatedJsonString(filteredMessages) : getJsonString(filteredMessages),\n );\n }\n\n return attrs;\n}\n\n/**\n * Extracts tool calls from generations and records them on the span attributes.\n * Prefers message.tool_calls (LangChain's normalized format). Falls back to\n * scanning message.content for Anthropic-style tool_use items in older versions\n * where tool_calls may not be populated.\n */\nfunction addToolCallsAttributes(generations: LangChainMessage[][], attrs: Record<string, SpanAttributeValue>): void {\n const toolCalls: unknown[] = [];\n const flatGenerations = generations.flat();\n\n for (const gen of flatGenerations) {\n const msg = gen.message as Record<string, unknown> | undefined;\n const msgToolCalls = msg?.tool_calls as unknown[] | undefined;\n if (Array.isArray(msgToolCalls) && msgToolCalls.length > 0) {\n toolCalls.push(...msgToolCalls);\n } else {\n // Fallback for older LangChain versions: scan message.content for Anthropic-style tool_use\n const content = gen.message?.content;\n if (Array.isArray(content)) {\n for (const item of content) {\n const t = item as Record<string, unknown>;\n if (t.type === 'tool_use') toolCalls.push(t);\n }\n }\n }\n }\n\n if (toolCalls.length > 0) {\n setIfDefined(attrs, GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE, asString(toolCalls));\n }\n}\n\n/**\n * Adds token usage attributes, supporting both OpenAI (`tokenUsage`) and Anthropic (`usage`) formats.\n * - Preserve zero values (0 tokens) by avoiding truthy checks.\n * - Compute a total for Anthropic when not explicitly provided.\n * - Include cache token metrics when present.\n */\nfunction addTokenUsageAttributes(\n llmOutput: LangChainLLMResult['llmOutput'],\n attrs: Record<string, SpanAttributeValue>,\n): void {\n if (!llmOutput) return;\n\n const tokenUsage = llmOutput.tokenUsage as\n | { promptTokens?: number; completionTokens?: number; totalTokens?: number }\n | undefined;\n const anthropicUsage = llmOutput.usage as\n | {\n input_tokens?: number;\n output_tokens?: number;\n cache_creation_input_tokens?: number;\n cache_read_input_tokens?: number;\n }\n | undefined;\n\n if (tokenUsage) {\n setNumberIfDefined(attrs, GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE, tokenUsage.promptTokens);\n setNumberIfDefined(attrs, GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE, tokenUsage.completionTokens);\n setNumberIfDefined(attrs, GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE, tokenUsage.totalTokens);\n } else if (anthropicUsage) {\n setNumberIfDefined(attrs, GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE, anthropicUsage.input_tokens);\n setNumberIfDefined(attrs, GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE, anthropicUsage.output_tokens);\n\n // Compute total when not provided by the provider.\n const input = Number(anthropicUsage.input_tokens);\n const output = Number(anthropicUsage.output_tokens);\n const total = (Number.isNaN(input) ? 0 : input) + (Number.isNaN(output) ? 0 : output);\n if (total > 0) setNumberIfDefined(attrs, GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE, total);\n\n // Extra Anthropic cache metrics (present only when caching is enabled)\n if (anthropicUsage.cache_creation_input_tokens !== undefined)\n setNumberIfDefined(\n attrs,\n GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE,\n anthropicUsage.cache_creation_input_tokens,\n );\n if (anthropicUsage.cache_read_input_tokens !== undefined)\n setNumberIfDefined(attrs, GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE, anthropicUsage.cache_read_input_tokens);\n }\n}\n\n/**\n * Extracts response-related attributes based on a `LangChainLLMResult`.\n *\n * - Records finish reasons when present on generations (e.g., OpenAI)\n * - When `recordOutputs` is true, captures textual response content and any\n * tool calls.\n * - Also propagates model name (`model_name` or `model`), response `id`, and\n * `stop_reason` (for providers that use it).\n */\nexport function extractLlmResponseAttributes(\n llmResult: LangChainLLMResult,\n recordOutputs: boolean,\n): Record<string, SpanAttributeValue> | undefined {\n if (!llmResult) return;\n\n const attrs: Record<string, SpanAttributeValue> = {};\n\n if (Array.isArray(llmResult.generations)) {\n const finishReasons = llmResult.generations\n .flat()\n .map(g => {\n // v1 uses generationInfo.finish_reason\n if (g.generationInfo?.finish_reason) {\n return g.generationInfo.finish_reason;\n }\n // v0.3+ uses generation_info.finish_reason\n if (g.generation_info?.finish_reason) {\n return g.generation_info.finish_reason;\n }\n return null;\n })\n .filter((r): r is string => typeof r === 'string');\n\n if (finishReasons.length > 0) {\n setIfDefined(attrs, GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE, asString(finishReasons));\n }\n\n // Tool calls metadata (names, IDs) are not PII, so capture them regardless of recordOutputs\n addToolCallsAttributes(llmResult.generations as LangChainMessage[][], attrs);\n\n if (recordOutputs) {\n const texts = llmResult.generations\n .flat()\n .map(gen => gen.text ?? gen.message?.content)\n .filter(t => typeof t === 'string');\n\n if (texts.length > 0) {\n setIfDefined(attrs, GEN_AI_RESPONSE_TEXT_ATTRIBUTE, asString(texts));\n }\n }\n }\n\n addTokenUsageAttributes(llmResult.llmOutput, attrs);\n\n const llmOutput = llmResult.llmOutput;\n\n // Extract from v1 generations structure if available\n const firstGeneration = llmResult.generations?.[0]?.[0];\n const v1Message = firstGeneration?.message;\n\n // Provider model identifier: `model_name` (OpenAI-style) or `model` (others)\n // v1 stores this in message.response_metadata.model_name\n const modelName = llmOutput?.model_name ?? llmOutput?.model ?? v1Message?.response_metadata?.model_name;\n if (modelName) setIfDefined(attrs, GEN_AI_RESPONSE_MODEL_ATTRIBUTE, modelName);\n\n // Response ID: v1 stores this in message.id\n const responseId = llmOutput?.id ?? v1Message?.id;\n if (responseId) {\n setIfDefined(attrs, GEN_AI_RESPONSE_ID_ATTRIBUTE, responseId);\n }\n\n // Stop reason: v1 stores this in message.response_metadata.finish_reason\n const stopReason = llmOutput?.stop_reason ?? v1Message?.response_metadata?.finish_reason;\n if (stopReason) {\n setIfDefined(attrs, GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE, asString(stopReason));\n }\n\n return attrs;\n}\n\nexport function getAgentNameFromMetadata(metadata?: Record<string, unknown>): Record<string, SpanAttributeValue> {\n const attrs: Record<string, SpanAttributeValue> = {};\n // lc_agent_name is injected by instrumentCompiledGraphInvoke (langgraph integration)\n const agentName = metadata?.lc_agent_name;\n if (typeof agentName === 'string') {\n attrs[GEN_AI_AGENT_NAME_ATTRIBUTE] = agentName;\n }\n return attrs;\n}\n\nexport function extractToolDefinitions(extraParams?: Record<string, unknown>): string | undefined {\n const tools =\n (extraParams?.invocation_params as Record<string, unknown>)?.tools ??\n (extraParams?.options as Record<string, unknown>)?.tools;\n if (!Array.isArray(tools) || tools.length === 0) return undefined;\n const toolDefs = tools.map((tool: Record<string, unknown>) => {\n const fn = tool.function as Record<string, unknown> | undefined;\n return {\n type: 'function',\n name: tool.name ?? fn?.name ?? '',\n description: tool.description ?? fn?.description,\n };\n });\n return JSON.stringify(toolDefs);\n}\n"],"names":["isContentMedia","stripInlineMediaFromSingleMessage","ROLE_MAP","GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE","GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE","GEN_AI_REQUEST_TOP_P_ATTRIBUTE","GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE","GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE","GEN_AI_REQUEST_STREAM_ATTRIBUTE","GEN_AI_SYSTEM_ATTRIBUTE","GEN_AI_OPERATION_NAME_ATTRIBUTE","GEN_AI_REQUEST_MODEL_ATTRIBUTE","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","LANGCHAIN_ORIGIN","GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE","GEN_AI_INPUT_MESSAGES_ATTRIBUTE","getTruncatedJsonString","getJsonString","extractSystemInstructions","GEN_AI_SYSTEM_INSTRUCTIONS_ATTRIBUTE","GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE","GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE","GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE","GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE","GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE","GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE","GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE","GEN_AI_RESPONSE_TEXT_ATTRIBUTE","GEN_AI_RESPONSE_MODEL_ATTRIBUTE","GEN_AI_RESPONSE_ID_ATTRIBUTE","GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE","GEN_AI_AGENT_NAME_ATTRIBUTE"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/tracing/langchain/utils.ts"],"sourcesContent":["import { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../../semanticAttributes';\nimport type { SpanAttributeValue } from '../../types/span';\nimport {\n GEN_AI_AGENT_NAME_ATTRIBUTE,\n GEN_AI_INPUT_MESSAGES_ATTRIBUTE,\n GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE,\n GEN_AI_OPERATION_NAME_ATTRIBUTE,\n GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE,\n GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE,\n GEN_AI_REQUEST_MODEL_ATTRIBUTE,\n GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE,\n GEN_AI_REQUEST_STREAM_ATTRIBUTE,\n GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE,\n GEN_AI_REQUEST_TOP_P_ATTRIBUTE,\n GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE,\n GEN_AI_RESPONSE_ID_ATTRIBUTE,\n GEN_AI_RESPONSE_MODEL_ATTRIBUTE,\n GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE,\n GEN_AI_RESPONSE_TEXT_ATTRIBUTE,\n GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE,\n GEN_AI_SYSTEM_ATTRIBUTE,\n GEN_AI_SYSTEM_INSTRUCTIONS_ATTRIBUTE,\n GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE,\n GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE,\n GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE,\n GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE,\n GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE,\n} from '../ai/gen-ai-attributes';\nimport { isContentMedia, stripInlineMediaFromSingleMessage } from '../ai/mediaStripping';\nimport { extractSystemInstructions, getJsonString, getTruncatedJsonString } from '../ai/utils';\nimport { LANGCHAIN_ORIGIN, ROLE_MAP } from './constants';\nimport type { LangChainLLMResult, LangChainMessage, LangChainSerialized } from './types';\n\n/**\n * Assigns an attribute only when the value is neither `undefined` nor `null`.\n *\n * We keep this tiny helper because call sites are repetitive and easy to miswrite.\n * It also preserves falsy-but-valid values like `0` and `\"\"`.\n */\nconst setIfDefined = (target: Record<string, SpanAttributeValue>, key: string, value: unknown): void => {\n if (value != null) target[key] = value as SpanAttributeValue;\n};\n\n/**\n * Like `setIfDefined`, but converts the value with `Number()` and skips only when the\n * result is `NaN`. This ensures numeric 0 makes it through (unlike truthy checks).\n */\nconst setNumberIfDefined = (target: Record<string, SpanAttributeValue>, key: string, value: unknown): void => {\n const n = Number(value);\n if (!Number.isNaN(n)) target[key] = n;\n};\n\n/**\n * Converts a value to a string. Avoids double-quoted JSON strings where a plain\n * string is desired, but still handles objects/arrays safely.\n */\nfunction asString(v: unknown): string {\n if (typeof v === 'string') return v;\n try {\n return JSON.stringify(v);\n } catch {\n return String(v);\n }\n}\n\n/**\n * Converts message content to a string, stripping inline media (base64 images, audio, etc.)\n * from multimodal content before stringification so downstream media stripping can't miss it.\n *\n * @example\n * // String content passes through unchanged:\n * normalizeContent(\"Hello\") // => \"Hello\"\n *\n * // Multimodal array content — media is replaced with \"[Blob substitute]\" before JSON.stringify:\n * normalizeContent([\n * { type: \"text\", text: \"What color?\" },\n * { type: \"image_url\", image_url: { url: \"data:image/png;base64,iVBOR...\" } }\n * ])\n * // => '[{\"type\":\"text\",\"text\":\"What color?\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"[Blob substitute]\"}}]'\n *\n * // Without this, asString() would JSON.stringify the raw array and the base64 blob\n * // would end up in span attributes, since downstream stripping only works on objects.\n */\nfunction normalizeContent(v: unknown): string {\n if (Array.isArray(v)) {\n try {\n const stripped = v.map(part =>\n part && typeof part === 'object' && isContentMedia(part) ? stripInlineMediaFromSingleMessage(part) : part,\n );\n return JSON.stringify(stripped);\n } catch {\n return String(v);\n }\n }\n return asString(v);\n}\n\n/**\n * Normalizes a single role token to our canonical set.\n *\n * @param role Incoming role value (free-form, any casing)\n * @returns Canonical role: 'user' | 'assistant' | 'system' | 'function' | 'tool' | <passthrough>\n */\nfunction normalizeMessageRole(role: string): string {\n const normalized = role.toLowerCase();\n return ROLE_MAP[normalized] ?? normalized;\n}\n\n/**\n * Infers a role from a LangChain message constructor name.\n *\n * Checks for substrings like \"System\", \"Human\", \"AI\", etc.\n */\nfunction normalizeRoleNameFromCtor(name: string): string {\n if (name.includes('System')) return 'system';\n if (name.includes('Human')) return 'user';\n if (name.includes('AI') || name.includes('Assistant')) return 'assistant';\n if (name.includes('Function')) return 'function';\n if (name.includes('Tool')) return 'tool';\n return 'user';\n}\n\n/**\n * Returns invocation params from a LangChain `tags` object.\n *\n * LangChain often passes runtime parameters (model, temperature, etc.) via the\n * `tags.invocation_params` bag. If `tags` is an array (LangChain sometimes uses\n * string tags), we return `undefined`.\n *\n * @param tags LangChain tags (string[] or record)\n * @returns The `invocation_params` object, if present\n */\nexport function getInvocationParams(tags?: string[] | Record<string, unknown>): Record<string, unknown> | undefined {\n if (!tags || Array.isArray(tags)) return undefined;\n return tags.invocation_params as Record<string, unknown> | undefined;\n}\n\n/**\n * Normalizes a heterogeneous set of LangChain messages to `{ role, content }`.\n *\n * Why so many branches? LangChain messages can arrive in several shapes:\n * - Message classes with `_getType()` (most reliable)\n * - Classes with meaningful constructor names (e.g. `SystemMessage`)\n * - Plain objects with `type`, or `{ role, content }`\n * - Serialized format with `{ lc: 1, id: [...], kwargs: { content } }`\n * We preserve the prioritization to minimize behavioral drift.\n *\n * @param messages Mixed LangChain messages\n * @returns Array of normalized `{ role, content }`\n */\nexport function normalizeLangChainMessages(messages: LangChainMessage[]): Array<{ role: string; content: string }> {\n return messages.map(message => {\n // 1) Prefer _getType() when present\n const maybeGetType = (message as { _getType?: () => string })._getType;\n if (typeof maybeGetType === 'function') {\n const messageType = maybeGetType.call(message);\n return {\n role: normalizeMessageRole(messageType),\n content: normalizeContent(message.content),\n };\n }\n\n // 2) Serialized LangChain format (lc: 1) - check before constructor name\n // This is more reliable than constructor.name which can be lost during serialization\n if (message.lc === 1 && message.kwargs) {\n const id = message.id;\n const messageType = Array.isArray(id) && id.length > 0 ? id[id.length - 1] : '';\n const role = typeof messageType === 'string' ? normalizeRoleNameFromCtor(messageType) : 'user';\n\n return {\n role: normalizeMessageRole(role),\n content: normalizeContent(message.kwargs?.content),\n };\n }\n\n // 3) Then objects with `type`\n if (message.type) {\n const role = String(message.type).toLowerCase();\n return {\n role: normalizeMessageRole(role),\n content: normalizeContent(message.content),\n };\n }\n\n // 4) Then objects with `{ role, content }` - check before constructor name\n // Plain objects have constructor.name=\"Object\" which would incorrectly default to \"user\"\n if (message.role) {\n return {\n role: normalizeMessageRole(String(message.role)),\n content: normalizeContent(message.content),\n };\n }\n\n // 5) Then try constructor name (SystemMessage / HumanMessage / ...)\n // Only use this if we haven't matched a more specific case\n const ctor = (message as { constructor?: { name?: string } }).constructor?.name;\n if (ctor && ctor !== 'Object') {\n return {\n role: normalizeMessageRole(normalizeRoleNameFromCtor(ctor)),\n content: normalizeContent(message.content),\n };\n }\n\n // 6) Fallback: treat as user text\n return {\n role: 'user',\n content: normalizeContent(message.content),\n };\n });\n}\n\n/**\n * Extracts request attributes common to both LLM and ChatModel invocations.\n *\n * Source precedence:\n * 1) `invocationParams` (highest)\n * 2) `langSmithMetadata`\n *\n * Numeric values are set even when 0 (e.g. `temperature: 0`), but skipped if `NaN`.\n */\nfunction extractCommonRequestAttributes(\n serialized: LangChainSerialized,\n invocationParams?: Record<string, unknown>,\n langSmithMetadata?: Record<string, unknown>,\n): Record<string, SpanAttributeValue> {\n const attrs: Record<string, SpanAttributeValue> = {};\n\n // Get kwargs if available (from constructor type)\n const kwargs = 'kwargs' in serialized ? serialized.kwargs : undefined;\n\n const temperature = invocationParams?.temperature ?? langSmithMetadata?.ls_temperature ?? kwargs?.temperature;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE, temperature);\n\n const maxTokens = invocationParams?.max_tokens ?? langSmithMetadata?.ls_max_tokens ?? kwargs?.max_tokens;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE, maxTokens);\n\n const topP = invocationParams?.top_p ?? kwargs?.top_p;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_TOP_P_ATTRIBUTE, topP);\n\n const frequencyPenalty = invocationParams?.frequency_penalty;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE, frequencyPenalty);\n\n const presencePenalty = invocationParams?.presence_penalty;\n setNumberIfDefined(attrs, GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE, presencePenalty);\n\n // LangChain uses `stream`. We only set the attribute if the key actually exists\n // (some callbacks report `false` even on streamed requests, this stems from LangChain's callback handler).\n if (invocationParams && 'stream' in invocationParams) {\n setIfDefined(attrs, GEN_AI_REQUEST_STREAM_ATTRIBUTE, Boolean(invocationParams.stream));\n }\n\n return attrs;\n}\n\n/**\n * Small helper to assemble boilerplate attributes shared by both request extractors.\n * Always uses 'chat' as the operation type for all LLM and chat model operations.\n */\nfunction baseRequestAttributes(\n system: unknown,\n modelName: unknown,\n serialized: LangChainSerialized,\n invocationParams?: Record<string, unknown>,\n langSmithMetadata?: Record<string, unknown>,\n): Record<string, SpanAttributeValue> {\n return {\n [GEN_AI_SYSTEM_ATTRIBUTE]: asString(system ?? 'langchain'),\n [GEN_AI_OPERATION_NAME_ATTRIBUTE]: 'chat',\n [GEN_AI_REQUEST_MODEL_ATTRIBUTE]: asString(modelName),\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: LANGCHAIN_ORIGIN,\n ...extractCommonRequestAttributes(serialized, invocationParams, langSmithMetadata),\n };\n}\n\n/**\n * Extracts attributes for plain LLM invocations (string prompts).\n *\n * - Operation is tagged as `chat` following OpenTelemetry semantic conventions.\n * LangChain LLM operations are treated as chat operations.\n * - When `recordInputs` is true, string prompts are wrapped into `{role:\"user\"}`\n * messages to align with the chat schema used elsewhere.\n */\nexport function extractLLMRequestAttributes(\n llm: LangChainSerialized,\n prompts: string[],\n recordInputs: boolean,\n enableTruncation: boolean,\n invocationParams?: Record<string, unknown>,\n langSmithMetadata?: Record<string, unknown>,\n): Record<string, SpanAttributeValue> {\n const system = langSmithMetadata?.ls_provider;\n const modelName = invocationParams?.model ?? langSmithMetadata?.ls_model_name ?? 'unknown';\n\n const attrs = baseRequestAttributes(system, modelName, llm, invocationParams, langSmithMetadata);\n\n if (recordInputs && Array.isArray(prompts) && prompts.length > 0) {\n setIfDefined(attrs, GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE, prompts.length);\n const messages = prompts.map(p => ({ role: 'user', content: p }));\n setIfDefined(\n attrs,\n GEN_AI_INPUT_MESSAGES_ATTRIBUTE,\n enableTruncation ? getTruncatedJsonString(messages) : getJsonString(messages),\n );\n }\n\n return attrs;\n}\n\n/**\n * Extracts attributes for ChatModel invocations (array-of-arrays of messages).\n *\n * - Operation is tagged as `chat` following OpenTelemetry semantic conventions.\n * LangChain chat model operations are chat operations.\n * - We flatten LangChain's `LangChainMessage[][]` and normalize shapes into a\n * consistent `{ role, content }` array when `recordInputs` is true.\n * - Provider system value falls back to `serialized.id?.[2]`.\n */\nexport function extractChatModelRequestAttributes(\n llm: LangChainSerialized,\n langChainMessages: LangChainMessage[][],\n recordInputs: boolean,\n enableTruncation: boolean,\n invocationParams?: Record<string, unknown>,\n langSmithMetadata?: Record<string, unknown>,\n): Record<string, SpanAttributeValue> {\n const system = langSmithMetadata?.ls_provider ?? llm.id?.[2];\n const modelName = invocationParams?.model ?? langSmithMetadata?.ls_model_name ?? 'unknown';\n\n const attrs = baseRequestAttributes(system, modelName, llm, invocationParams, langSmithMetadata);\n\n if (recordInputs && Array.isArray(langChainMessages) && langChainMessages.length > 0) {\n const normalized = normalizeLangChainMessages(langChainMessages.flat());\n\n const { systemInstructions, filteredMessages } = extractSystemInstructions(normalized);\n\n if (systemInstructions) {\n setIfDefined(attrs, GEN_AI_SYSTEM_INSTRUCTIONS_ATTRIBUTE, systemInstructions);\n }\n\n const filteredLength = Array.isArray(filteredMessages) ? filteredMessages.length : 0;\n setIfDefined(attrs, GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE, filteredLength);\n\n setIfDefined(\n attrs,\n GEN_AI_INPUT_MESSAGES_ATTRIBUTE,\n enableTruncation ? getTruncatedJsonString(filteredMessages) : getJsonString(filteredMessages),\n );\n }\n\n return attrs;\n}\n\n/**\n * Extracts tool calls from generations and records them on the span attributes.\n * Prefers message.tool_calls (LangChain's normalized format). Falls back to\n * scanning message.content for Anthropic-style tool_use items in older versions\n * where tool_calls may not be populated.\n */\nfunction addToolCallsAttributes(generations: LangChainMessage[][], attrs: Record<string, SpanAttributeValue>): void {\n const toolCalls: unknown[] = [];\n const flatGenerations = generations.flat();\n\n for (const gen of flatGenerations) {\n const msg = gen.message as Record<string, unknown> | undefined;\n const msgToolCalls = msg?.tool_calls as unknown[] | undefined;\n if (Array.isArray(msgToolCalls) && msgToolCalls.length > 0) {\n toolCalls.push(...msgToolCalls);\n } else {\n // Fallback for older LangChain versions: scan message.content for Anthropic-style tool_use\n const content = gen.message?.content;\n if (Array.isArray(content)) {\n for (const item of content) {\n const t = item as Record<string, unknown>;\n if (t.type === 'tool_use') toolCalls.push(t);\n }\n }\n }\n }\n\n if (toolCalls.length > 0) {\n setIfDefined(attrs, GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE, asString(toolCalls));\n }\n}\n\n/**\n * Adds token usage attributes, supporting both OpenAI (`tokenUsage`) and Anthropic (`usage`) formats.\n * - Preserve zero values (0 tokens) by avoiding truthy checks.\n * - Compute a total for Anthropic when not explicitly provided.\n * - Include cache token metrics when present.\n */\nfunction addTokenUsageAttributes(\n llmOutput: LangChainLLMResult['llmOutput'],\n attrs: Record<string, SpanAttributeValue>,\n): void {\n if (!llmOutput) return;\n\n const tokenUsage = llmOutput.tokenUsage as\n | { promptTokens?: number; completionTokens?: number; totalTokens?: number }\n | undefined;\n const anthropicUsage = llmOutput.usage as\n | {\n input_tokens?: number;\n output_tokens?: number;\n cache_creation_input_tokens?: number;\n cache_read_input_tokens?: number;\n }\n | undefined;\n\n if (tokenUsage) {\n setNumberIfDefined(attrs, GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE, tokenUsage.promptTokens);\n setNumberIfDefined(attrs, GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE, tokenUsage.completionTokens);\n setNumberIfDefined(attrs, GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE, tokenUsage.totalTokens);\n } else if (anthropicUsage) {\n setNumberIfDefined(attrs, GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE, anthropicUsage.input_tokens);\n setNumberIfDefined(attrs, GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE, anthropicUsage.output_tokens);\n\n // Compute total when not provided by the provider.\n const input = Number(anthropicUsage.input_tokens);\n const output = Number(anthropicUsage.output_tokens);\n const total = (Number.isNaN(input) ? 0 : input) + (Number.isNaN(output) ? 0 : output);\n if (total > 0) setNumberIfDefined(attrs, GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE, total);\n\n // Extra Anthropic cache metrics (present only when caching is enabled)\n if (anthropicUsage.cache_creation_input_tokens !== undefined)\n setNumberIfDefined(\n attrs,\n GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE,\n anthropicUsage.cache_creation_input_tokens,\n );\n if (anthropicUsage.cache_read_input_tokens !== undefined)\n setNumberIfDefined(attrs, GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE, anthropicUsage.cache_read_input_tokens);\n }\n}\n\n/**\n * Extracts response-related attributes based on a `LangChainLLMResult`.\n *\n * - Records finish reasons when present on generations (e.g., OpenAI)\n * - When `recordOutputs` is true, captures textual response content and any\n * tool calls.\n * - Also propagates model name (`model_name` or `model`), response `id`, and\n * `stop_reason` (for providers that use it).\n */\nexport function extractLlmResponseAttributes(\n llmResult: LangChainLLMResult,\n recordOutputs: boolean,\n): Record<string, SpanAttributeValue> | undefined {\n if (!llmResult) return;\n\n const attrs: Record<string, SpanAttributeValue> = {};\n\n if (Array.isArray(llmResult.generations)) {\n const finishReasons = llmResult.generations\n .flat()\n .map(g => {\n // v1 uses generationInfo.finish_reason\n if (g.generationInfo?.finish_reason) {\n return g.generationInfo.finish_reason;\n }\n // v0.3+ uses generation_info.finish_reason\n if (g.generation_info?.finish_reason) {\n return g.generation_info.finish_reason;\n }\n return null;\n })\n .filter((r): r is string => typeof r === 'string');\n\n if (finishReasons.length > 0) {\n setIfDefined(attrs, GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE, asString(finishReasons));\n }\n\n // Tool calls metadata (names, IDs) are not PII, so capture them regardless of recordOutputs\n addToolCallsAttributes(llmResult.generations as LangChainMessage[][], attrs);\n\n if (recordOutputs) {\n const texts = llmResult.generations\n .flat()\n .map(gen => gen.text ?? gen.message?.content)\n .filter(t => typeof t === 'string');\n\n if (texts.length > 0) {\n setIfDefined(attrs, GEN_AI_RESPONSE_TEXT_ATTRIBUTE, asString(texts));\n }\n }\n }\n\n addTokenUsageAttributes(llmResult.llmOutput, attrs);\n\n const llmOutput = llmResult.llmOutput;\n\n // Extract from v1 generations structure if available\n const firstGeneration = llmResult.generations?.[0]?.[0];\n const v1Message = firstGeneration?.message;\n\n // Provider model identifier: `model_name` (OpenAI-style) or `model` (others)\n // v1 stores this in message.response_metadata.model_name\n const modelName = llmOutput?.model_name ?? llmOutput?.model ?? v1Message?.response_metadata?.model_name;\n if (modelName) setIfDefined(attrs, GEN_AI_RESPONSE_MODEL_ATTRIBUTE, modelName);\n\n // Response ID: v1 stores this in message.id\n const responseId = llmOutput?.id ?? v1Message?.id;\n if (responseId) {\n setIfDefined(attrs, GEN_AI_RESPONSE_ID_ATTRIBUTE, responseId);\n }\n\n // Stop reason: v1 stores this in message.response_metadata.finish_reason\n const stopReason = llmOutput?.stop_reason ?? v1Message?.response_metadata?.finish_reason;\n if (stopReason) {\n setIfDefined(attrs, GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE, asString(stopReason));\n }\n\n return attrs;\n}\n\nexport function getAgentNameFromMetadata(metadata?: Record<string, unknown>): Record<string, SpanAttributeValue> {\n const attrs: Record<string, SpanAttributeValue> = {};\n // lc_agent_name is injected by instrumentCompiledGraphInvoke (langgraph integration)\n const agentName = metadata?.lc_agent_name;\n if (typeof agentName === 'string') {\n attrs[GEN_AI_AGENT_NAME_ATTRIBUTE] = agentName;\n }\n return attrs;\n}\n\nexport function extractToolDefinitions(extraParams?: Record<string, unknown>): string | undefined {\n const tools =\n (extraParams?.invocation_params as Record<string, unknown>)?.tools ??\n (extraParams?.options as Record<string, unknown>)?.tools;\n if (!Array.isArray(tools) || tools.length === 0) return undefined;\n const toolDefs = tools.map((tool: Record<string, unknown>) => {\n const fn = tool.function as Record<string, unknown> | undefined;\n return {\n type: 'function',\n name: tool.name ?? fn?.name ?? '',\n description: tool.description ?? fn?.description,\n };\n });\n return JSON.stringify(toolDefs);\n}\n\n/** Duck-types a LangChain `CallbackManager` (avoids coupling to a specific `@langchain/core` resolution). */\nfunction isCallbackManager(value: unknown): value is {\n addHandler: (handler: unknown, inherit?: boolean) => void;\n copy: () => unknown;\n handlers?: unknown[];\n} {\n if (!value || typeof value !== 'object') {\n return false;\n }\n const candidate = value as { addHandler?: unknown; copy?: unknown };\n return typeof candidate.addHandler === 'function' && typeof candidate.copy === 'function';\n}\n\nfunction isSentryHandler(handler: unknown): boolean {\n return typeof handler === 'object' && (handler as Record<string, unknown>)?.name === 'SentryCallbackHandler';\n}\n\nfunction containsSentryHandler(handlers: unknown[]): boolean {\n return handlers.some(isSentryHandler);\n}\n\n/**\n * Merge `sentryHandler` into a given set of LangChain callbacks or callback manager.\n * @internal Exported for cross-package instrumentation.\n */\nexport function _INTERNAL_mergeLangChainCallbackHandler(existing: unknown, sentryHandler: unknown): unknown {\n if (!existing) {\n return [sentryHandler];\n }\n\n if (isCallbackManager(existing)) {\n if (containsSentryHandler(existing.handlers ?? [])) {\n return existing;\n }\n\n const copied = existing.copy() as { addHandler: (handler: unknown, inherit?: boolean) => void };\n copied.addHandler(sentryHandler, true);\n return copied;\n }\n\n const handlers = Array.isArray(existing) ? existing : [existing];\n if (containsSentryHandler(handlers)) {\n return existing;\n }\n\n return [...handlers, sentryHandler];\n}\n"],"names":["isContentMedia","stripInlineMediaFromSingleMessage","ROLE_MAP","GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE","GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE","GEN_AI_REQUEST_TOP_P_ATTRIBUTE","GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE","GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE","GEN_AI_REQUEST_STREAM_ATTRIBUTE","GEN_AI_SYSTEM_ATTRIBUTE","GEN_AI_OPERATION_NAME_ATTRIBUTE","GEN_AI_REQUEST_MODEL_ATTRIBUTE","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","LANGCHAIN_ORIGIN","GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE","GEN_AI_INPUT_MESSAGES_ATTRIBUTE","getTruncatedJsonString","getJsonString","extractSystemInstructions","GEN_AI_SYSTEM_INSTRUCTIONS_ATTRIBUTE","GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE","GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE","GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE","GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE","GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE","GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE","GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE","GEN_AI_RESPONSE_TEXT_ATTRIBUTE","GEN_AI_RESPONSE_MODEL_ATTRIBUTE","GEN_AI_RESPONSE_ID_ATTRIBUTE","GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE","GEN_AI_AGENT_NAME_ATTRIBUTE"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
 
3
- const LANGGRAPH_INTEGRATION_NAME = 'LangGraph';
4
- const LANGGRAPH_ORIGIN = 'auto.ai.langgraph';
3
+ const LANGGRAPH_INTEGRATION_NAME = "LangGraph";
4
+ const LANGGRAPH_ORIGIN = "auto.ai.langgraph";
5
5
 
6
6
  exports.LANGGRAPH_INTEGRATION_NAME = LANGGRAPH_INTEGRATION_NAME;
7
7
  exports.LANGGRAPH_ORIGIN = LANGGRAPH_ORIGIN;
@@ -12,232 +12,163 @@ const constants = require('./constants.js');
12
12
  const utils$1 = require('./utils.js');
13
13
 
14
14
  let _insideCreateReactAgent = false;
15
-
16
- const SENTRY_PATCHED = '__sentry_patched__';
17
-
18
- /**
19
- * Instruments StateGraph's compile method to create spans for agent creation and invocation
20
- *
21
- * Wraps the compile() method to:
22
- * - Create a `gen_ai.create_agent` span when compile() is called
23
- * - Automatically wrap the invoke() method on the returned compiled graph with a `gen_ai.invoke_agent` span
24
- *
25
- */
26
- function instrumentStateGraphCompile(
27
- originalCompile,
28
- options,
29
- ) {
15
+ const SENTRY_PATCHED = "__sentry_patched__";
16
+ function instrumentStateGraphCompile(originalCompile, options) {
30
17
  if (Object.prototype.hasOwnProperty.call(originalCompile, SENTRY_PATCHED)) {
31
18
  return originalCompile;
32
19
  }
33
-
34
20
  const sentryHandler = index.createLangChainCallbackHandler(options);
35
-
36
21
  const wrapped = new Proxy(originalCompile, {
37
22
  apply(target, thisArg, args) {
38
- // Skip when called from within createReactAgent to avoid duplicate instrumentation
39
23
  if (_insideCreateReactAgent) {
40
24
  return Reflect.apply(target, thisArg, args);
41
25
  }
42
-
43
26
  return trace.startSpan(
44
27
  {
45
- op: 'gen_ai.create_agent',
46
- name: 'create_agent',
28
+ op: "gen_ai.create_agent",
29
+ name: "create_agent",
47
30
  attributes: {
48
31
  [semanticAttributes.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: constants.LANGGRAPH_ORIGIN,
49
- [semanticAttributes.SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'gen_ai.create_agent',
50
- [genAiAttributes.GEN_AI_OPERATION_NAME_ATTRIBUTE]: 'create_agent',
51
- },
32
+ [semanticAttributes.SEMANTIC_ATTRIBUTE_SENTRY_OP]: "gen_ai.create_agent",
33
+ [genAiAttributes.GEN_AI_OPERATION_NAME_ATTRIBUTE]: "create_agent"
34
+ }
52
35
  },
53
- span => {
36
+ (span) => {
54
37
  try {
55
38
  const compiledGraph = Reflect.apply(target, thisArg, args);
56
- const compileOptions = args.length > 0 ? (args[0] ) : {};
57
-
58
- // Extract graph name
59
- if (compileOptions?.name && typeof compileOptions.name === 'string') {
39
+ const compileOptions = args.length > 0 ? args[0] : {};
40
+ if (compileOptions?.name && typeof compileOptions.name === "string") {
60
41
  span.setAttribute(genAiAttributes.GEN_AI_AGENT_NAME_ATTRIBUTE, compileOptions.name);
61
42
  span.updateName(`create_agent ${compileOptions.name}`);
62
43
  }
63
-
64
- // Instrument agent invoke method on the compiled graph
65
44
  const originalInvoke = compiledGraph.invoke;
66
- if (originalInvoke && typeof originalInvoke === 'function') {
45
+ if (originalInvoke && typeof originalInvoke === "function") {
67
46
  compiledGraph.invoke = instrumentCompiledGraphInvoke(
68
- originalInvoke.bind(compiledGraph) ,
47
+ originalInvoke.bind(compiledGraph),
69
48
  compiledGraph,
70
49
  compileOptions,
71
50
  options,
72
- undefined,
73
- sentryHandler,
74
- ) ;
51
+ void 0,
52
+ sentryHandler
53
+ );
75
54
  }
76
-
77
55
  return compiledGraph;
78
56
  } catch (error) {
79
- span.setStatus({ code: spanstatus.SPAN_STATUS_ERROR, message: 'internal_error' });
57
+ span.setStatus({ code: spanstatus.SPAN_STATUS_ERROR, message: "internal_error" });
80
58
  exports$1.captureException(error, {
81
59
  mechanism: {
82
60
  handled: false,
83
- type: 'auto.ai.langgraph.error',
84
- },
61
+ type: "auto.ai.langgraph.error"
62
+ }
85
63
  });
86
64
  throw error;
87
65
  }
88
- },
66
+ }
89
67
  );
90
- },
91
- }) ;
92
-
68
+ }
69
+ });
93
70
  Object.defineProperty(wrapped, SENTRY_PATCHED, { value: true, enumerable: false });
94
71
  return wrapped;
95
72
  }
96
-
97
- /**
98
- * Instruments CompiledGraph's invoke method to create spans for agent invocation
99
- *
100
- * Creates a `gen_ai.invoke_agent` span when invoke() is called
101
- */
102
- function instrumentCompiledGraphInvoke(
103
- originalInvoke,
104
- graphInstance,
105
- compileOptions,
106
- options,
107
- llm,
108
- sentryCallbackHandler,
109
- ) {
73
+ function instrumentCompiledGraphInvoke(originalInvoke, graphInstance, compileOptions, options, llm, sentryCallbackHandler) {
110
74
  return new Proxy(originalInvoke, {
111
75
  apply(target, thisArg, args) {
112
76
  const modelName = llm?.modelName ?? llm?.model;
113
77
  return trace.startSpan(
114
78
  {
115
- op: 'gen_ai.invoke_agent',
116
- name: 'invoke_agent',
79
+ op: "gen_ai.invoke_agent",
80
+ name: "invoke_agent",
117
81
  attributes: {
118
82
  [semanticAttributes.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: constants.LANGGRAPH_ORIGIN,
119
83
  [semanticAttributes.SEMANTIC_ATTRIBUTE_SENTRY_OP]: genAiAttributes.GEN_AI_INVOKE_AGENT_OPERATION_ATTRIBUTE,
120
- [genAiAttributes.GEN_AI_OPERATION_NAME_ATTRIBUTE]: 'invoke_agent',
121
- },
84
+ [genAiAttributes.GEN_AI_OPERATION_NAME_ATTRIBUTE]: "invoke_agent"
85
+ }
122
86
  },
123
- async span => {
87
+ async (span) => {
124
88
  try {
125
89
  const graphName = compileOptions?.name;
126
-
127
- if (graphName && typeof graphName === 'string') {
90
+ if (graphName && typeof graphName === "string") {
128
91
  span.setAttribute(genAiAttributes.GEN_AI_PIPELINE_NAME_ATTRIBUTE, graphName);
129
92
  span.setAttribute(genAiAttributes.GEN_AI_AGENT_NAME_ATTRIBUTE, graphName);
130
93
  span.updateName(`invoke_agent ${graphName}`);
131
94
  }
132
-
133
95
  if (modelName) {
134
96
  span.setAttribute(genAiAttributes.GEN_AI_REQUEST_MODEL_ATTRIBUTE, modelName);
135
97
  }
136
-
137
- // Extract thread_id from the config (second argument)
138
- // LangGraph uses config.configurable.thread_id for conversation/session linking
139
- const config = args.length > 1 ? (args[1] ) : undefined;
140
- const configurable = config?.configurable ;
98
+ const config = args.length > 1 ? args[1] : void 0;
99
+ const configurable = config?.configurable;
141
100
  const threadId = configurable?.thread_id;
142
- if (threadId && typeof threadId === 'string') {
101
+ if (threadId && typeof threadId === "string") {
143
102
  span.setAttribute(genAiAttributes.GEN_AI_CONVERSATION_ID_ATTRIBUTE, threadId);
144
103
  }
145
-
146
- // Inject callback handler and agent name into invoke config
147
104
  if (sentryCallbackHandler) {
148
- const invokeConfig = (args[1] ?? {}) ;
105
+ const invokeConfig = args[1] ?? {};
149
106
  args[1] = invokeConfig;
150
-
151
- const existingMetadata = (invokeConfig.metadata ?? {}) ;
107
+ const existingMetadata = invokeConfig.metadata ?? {};
152
108
  invokeConfig.metadata = {
153
109
  ...existingMetadata,
154
110
  __sentry_langgraph__: true,
155
- ...(typeof graphName === 'string' ? { lc_agent_name: graphName } : {}),
111
+ ...typeof graphName === "string" ? { lc_agent_name: graphName } : {}
156
112
  };
157
-
158
- invokeConfig.callbacks = utils$1.mergeSentryCallback(invokeConfig.callbacks, sentryCallbackHandler);
113
+ invokeConfig.callbacks = utils$2._INTERNAL_mergeLangChainCallbackHandler(
114
+ invokeConfig.callbacks,
115
+ sentryCallbackHandler
116
+ );
159
117
  }
160
-
161
- // Extract available tools from the graph instance
162
118
  const tools = utils$1.extractToolsFromCompiledGraph(graphInstance);
163
119
  if (tools) {
164
120
  span.setAttribute(genAiAttributes.GEN_AI_REQUEST_AVAILABLE_TOOLS_ATTRIBUTE, JSON.stringify(tools));
165
121
  }
166
-
167
- // Parse input messages
168
122
  const recordInputs = options.recordInputs;
169
123
  const recordOutputs = options.recordOutputs;
170
- const inputMessages =
171
- args.length > 0 ? ((args[0] )?.messages ?? []) : [];
172
-
124
+ const inputMessages = args.length > 0 ? args[0]?.messages ?? [] : [];
173
125
  if (inputMessages && recordInputs) {
174
126
  const normalizedMessages = utils$2.normalizeLangChainMessages(inputMessages);
175
127
  const { systemInstructions, filteredMessages } = utils.extractSystemInstructions(normalizedMessages);
176
-
177
128
  if (systemInstructions) {
178
129
  span.setAttribute(genAiAttributes.GEN_AI_SYSTEM_INSTRUCTIONS_ATTRIBUTE, systemInstructions);
179
130
  }
180
-
181
131
  const enableTruncation = utils.shouldEnableTruncation(options.enableTruncation);
182
132
  const filteredLength = Array.isArray(filteredMessages) ? filteredMessages.length : 0;
183
133
  span.setAttributes({
184
- [genAiAttributes.GEN_AI_INPUT_MESSAGES_ATTRIBUTE]: enableTruncation
185
- ? utils.getTruncatedJsonString(filteredMessages)
186
- : utils.getJsonString(filteredMessages),
187
- [genAiAttributes.GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE]: filteredLength,
134
+ [genAiAttributes.GEN_AI_INPUT_MESSAGES_ATTRIBUTE]: enableTruncation ? utils.getTruncatedJsonString(filteredMessages) : utils.getJsonString(filteredMessages),
135
+ [genAiAttributes.GEN_AI_INPUT_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE]: filteredLength
188
136
  });
189
137
  }
190
-
191
- // Call original invoke
192
138
  const result = await Reflect.apply(target, thisArg, args);
193
-
194
139
  if (recordOutputs) {
195
140
  utils$1.setResponseAttributes(span, inputMessages ?? null, result);
196
141
  }
197
-
198
142
  return result;
199
143
  } catch (error) {
200
- span.setStatus({ code: spanstatus.SPAN_STATUS_ERROR, message: 'internal_error' });
144
+ span.setStatus({ code: spanstatus.SPAN_STATUS_ERROR, message: "internal_error" });
201
145
  exports$1.captureException(error, {
202
146
  mechanism: {
203
147
  handled: false,
204
- type: 'auto.ai.langgraph.error',
205
- },
148
+ type: "auto.ai.langgraph.error"
149
+ }
206
150
  });
207
151
  throw error;
208
152
  }
209
- },
153
+ }
210
154
  );
211
- },
212
- }) ;
155
+ }
156
+ });
213
157
  }
214
-
215
- /**
216
- * Instruments createReactAgent to create invoke_agent and execute_tool spans.
217
- */
218
- function instrumentCreateReactAgent(
219
- originalCreateReactAgent,
220
- options,
221
- ) {
158
+ function instrumentCreateReactAgent(originalCreateReactAgent, options) {
222
159
  if (Object.prototype.hasOwnProperty.call(originalCreateReactAgent, SENTRY_PATCHED)) {
223
160
  return originalCreateReactAgent;
224
161
  }
225
-
226
162
  const resolvedOptions = utils.resolveAIRecordingOptions(options);
227
163
  const sentryHandler = index.createLangChainCallbackHandler(resolvedOptions);
228
-
229
164
  const wrapped = new Proxy(originalCreateReactAgent, {
230
165
  apply(target, thisArg, args) {
231
166
  const llm = utils$1.extractLLMFromParams(args);
232
167
  const agentName = utils$1.extractAgentNameFromParams(args);
233
-
234
- // Wrap tools with execute_tool spans (direct access gives us name, type, description)
235
- const params = args[0] ;
168
+ const params = args[0];
236
169
  if (params && Array.isArray(params.tools) && params.tools.length > 0) {
237
- utils$1.wrapToolsWithSpans(params.tools, resolvedOptions, agentName ?? undefined);
170
+ utils$1.wrapToolsWithSpans(params.tools, resolvedOptions, agentName ?? void 0);
238
171
  }
239
-
240
- // Suppress StateGraph.compile instrumentation inside createReactAgent
241
172
  _insideCreateReactAgent = true;
242
173
  let compiledGraph;
243
174
  try {
@@ -245,63 +176,29 @@ function instrumentCreateReactAgent(
245
176
  } finally {
246
177
  _insideCreateReactAgent = false;
247
178
  }
248
-
249
- // Wrap invoke() on the returned compiled graph
250
179
  const originalInvoke = compiledGraph.invoke;
251
- if (originalInvoke && typeof originalInvoke === 'function') {
180
+ if (originalInvoke && typeof originalInvoke === "function") {
252
181
  const compileOptions = {};
253
182
  if (agentName) {
254
183
  compileOptions.name = agentName;
255
184
  }
256
-
257
185
  compiledGraph.invoke = instrumentCompiledGraphInvoke(
258
- originalInvoke.bind(compiledGraph) ,
186
+ originalInvoke.bind(compiledGraph),
259
187
  compiledGraph,
260
188
  compileOptions,
261
189
  resolvedOptions,
262
190
  llm,
263
- sentryHandler,
264
- ) ;
191
+ sentryHandler
192
+ );
265
193
  }
266
-
267
194
  return compiledGraph;
268
- },
269
- }) ;
270
-
195
+ }
196
+ });
271
197
  Object.defineProperty(wrapped, SENTRY_PATCHED, { value: true, enumerable: false });
272
198
  return wrapped;
273
199
  }
274
-
275
- /**
276
- * Directly instruments a StateGraph instance to add tracing spans
277
- *
278
- * This function can be used to manually instrument LangGraph StateGraph instances
279
- * in environments where automatic instrumentation is not available or desired.
280
- *
281
- * @param stateGraph - The StateGraph instance to instrument
282
- * @param options - Optional configuration for recording inputs/outputs
283
- *
284
- * @example
285
- * ```typescript
286
- * import { instrumentLangGraph } from '@sentry/cloudflare';
287
- * import { StateGraph } from '@langchain/langgraph';
288
- *
289
- * const graph = new StateGraph(MessagesAnnotation)
290
- * .addNode('agent', mockLlm)
291
- * .addEdge(START, 'agent')
292
- * .addEdge('agent', END);
293
- *
294
- * instrumentLangGraph(graph, { recordInputs: true, recordOutputs: true });
295
- * const compiled = graph.compile({ name: 'my_agent' });
296
- * ```
297
- */
298
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
299
- function instrumentLangGraph(
300
- stateGraph,
301
- options,
302
- ) {
200
+ function instrumentLangGraph(stateGraph, options) {
303
201
  stateGraph.compile = instrumentStateGraphCompile(stateGraph.compile, utils.resolveAIRecordingOptions(options));
304
-
305
202
  return stateGraph;
306
203
  }
307
204