@sentry/core 10.53.1 → 10.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1517) hide show
  1. package/build/cjs/api.js +10 -34
  2. package/build/cjs/api.js.map +1 -1
  3. package/build/cjs/asyncContext/index.js +0 -14
  4. package/build/cjs/asyncContext/index.js.map +1 -1
  5. package/build/cjs/asyncContext/stackStrategy.js +16 -47
  6. package/build/cjs/asyncContext/stackStrategy.js.map +1 -1
  7. package/build/cjs/attributes.js +17 -95
  8. package/build/cjs/attributes.js.map +1 -1
  9. package/build/cjs/breadcrumbs.js +2 -22
  10. package/build/cjs/breadcrumbs.js.map +1 -1
  11. package/build/cjs/browser.js +12 -3
  12. package/build/cjs/browser.js.map +1 -1
  13. package/build/cjs/carrier.js +5 -42
  14. package/build/cjs/carrier.js.map +1 -1
  15. package/build/cjs/checkin.js +5 -19
  16. package/build/cjs/checkin.js.map +1 -1
  17. package/build/cjs/client.js +216 -585
  18. package/build/cjs/client.js.map +1 -1
  19. package/build/cjs/constants.js +2 -2
  20. package/build/cjs/currentScopes.js +5 -86
  21. package/build/cjs/currentScopes.js.map +1 -1
  22. package/build/cjs/debug-build.js +0 -5
  23. package/build/cjs/debug-build.js.map +1 -1
  24. package/build/cjs/defaultScopes.js +2 -5
  25. package/build/cjs/defaultScopes.js.map +1 -1
  26. package/build/cjs/envelope.js +32 -103
  27. package/build/cjs/envelope.js.map +1 -1
  28. package/build/cjs/eventProcessors.js +4 -23
  29. package/build/cjs/eventProcessors.js.map +1 -1
  30. package/build/cjs/exports.js +21 -197
  31. package/build/cjs/exports.js.map +1 -1
  32. package/build/cjs/feedback.js +7 -19
  33. package/build/cjs/feedback.js.map +1 -1
  34. package/build/cjs/fetch.js +66 -201
  35. package/build/cjs/fetch.js.map +1 -1
  36. package/build/cjs/index.js +17 -3
  37. package/build/cjs/index.js.map +1 -1
  38. package/build/cjs/instrument/console.js +9 -41
  39. package/build/cjs/instrument/console.js.map +1 -1
  40. package/build/cjs/instrument/fetch.js +47 -156
  41. package/build/cjs/instrument/fetch.js.map +1 -1
  42. package/build/cjs/instrument/globalError.js +4 -25
  43. package/build/cjs/instrument/globalError.js.map +1 -1
  44. package/build/cjs/instrument/globalUnhandledRejection.js +4 -21
  45. package/build/cjs/instrument/globalUnhandledRejection.js.map +1 -1
  46. package/build/cjs/instrument/handlers.js +9 -21
  47. package/build/cjs/instrument/handlers.js.map +1 -1
  48. package/build/cjs/integration.js +13 -77
  49. package/build/cjs/integration.js.map +1 -1
  50. package/build/cjs/integrations/captureconsole.js +16 -40
  51. package/build/cjs/integrations/captureconsole.js.map +1 -1
  52. package/build/cjs/integrations/consola.js +57 -163
  53. package/build/cjs/integrations/consola.js.map +1 -1
  54. package/build/cjs/integrations/console.js +11 -43
  55. package/build/cjs/integrations/console.js.map +1 -1
  56. package/build/cjs/integrations/conversationId.js +5 -22
  57. package/build/cjs/integrations/conversationId.js.map +1 -1
  58. package/build/cjs/integrations/dedupe.js +16 -74
  59. package/build/cjs/integrations/dedupe.js.map +1 -1
  60. package/build/cjs/integrations/eventFilters.js +63 -114
  61. package/build/cjs/integrations/eventFilters.js.map +1 -1
  62. package/build/cjs/integrations/express/index.js +30 -145
  63. package/build/cjs/integrations/express/index.js.map +1 -1
  64. package/build/cjs/integrations/express/patch-layer.js +20 -130
  65. package/build/cjs/integrations/express/patch-layer.js.map +1 -1
  66. package/build/cjs/integrations/express/request-layer-store.js +1 -3
  67. package/build/cjs/integrations/express/request-layer-store.js.map +1 -1
  68. package/build/cjs/integrations/express/set-sdk-processing-metadata.js +0 -2
  69. package/build/cjs/integrations/express/set-sdk-processing-metadata.js.map +1 -1
  70. package/build/cjs/integrations/express/types.js +6 -7
  71. package/build/cjs/integrations/express/types.js.map +1 -1
  72. package/build/cjs/integrations/express/utils.js +37 -145
  73. package/build/cjs/integrations/express/utils.js.map +1 -1
  74. package/build/cjs/integrations/extraerrordata.js +24 -69
  75. package/build/cjs/integrations/extraerrordata.js.map +1 -1
  76. package/build/cjs/integrations/featureFlags/featureFlagsIntegration.js +3 -29
  77. package/build/cjs/integrations/featureFlags/featureFlagsIntegration.js.map +1 -1
  78. package/build/cjs/integrations/featureFlags/growthbook.js +11 -40
  79. package/build/cjs/integrations/featureFlags/growthbook.js.map +1 -1
  80. package/build/cjs/integrations/functiontostring.js +6 -27
  81. package/build/cjs/integrations/functiontostring.js.map +1 -1
  82. package/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +10 -18
  83. package/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js.map +1 -1
  84. package/build/cjs/integrations/http/client-patch.js +8 -70
  85. package/build/cjs/integrations/http/client-patch.js.map +1 -1
  86. package/build/cjs/integrations/http/client-subscriptions.js +22 -59
  87. package/build/cjs/integrations/http/client-subscriptions.js.map +1 -1
  88. package/build/cjs/integrations/http/constants.js +3 -3
  89. package/build/cjs/integrations/http/double-wrap-warning.js +10 -18
  90. package/build/cjs/integrations/http/double-wrap-warning.js.map +1 -1
  91. package/build/cjs/integrations/http/get-outgoing-span-data.js +30 -47
  92. package/build/cjs/integrations/http/get-outgoing-span-data.js.map +1 -1
  93. package/build/cjs/integrations/http/get-request-url.js +7 -24
  94. package/build/cjs/integrations/http/get-request-url.js.map +1 -1
  95. package/build/cjs/integrations/http/inject-trace-propagation-headers.js +14 -38
  96. package/build/cjs/integrations/http/inject-trace-propagation-headers.js.map +1 -1
  97. package/build/cjs/integrations/http/patch-request-to-capture-body.js +80 -0
  98. package/build/cjs/integrations/http/patch-request-to-capture-body.js.map +1 -0
  99. package/build/cjs/integrations/http/record-request-session.js +61 -0
  100. package/build/cjs/integrations/http/record-request-session.js.map +1 -0
  101. package/build/cjs/integrations/http/server-subscription.js +289 -0
  102. package/build/cjs/integrations/http/server-subscription.js.map +1 -0
  103. package/build/cjs/integrations/linkederrors.js +6 -11
  104. package/build/cjs/integrations/linkederrors.js.map +1 -1
  105. package/build/cjs/integrations/mcp-server/attributeExtraction.js +26 -69
  106. package/build/cjs/integrations/mcp-server/attributeExtraction.js.map +1 -1
  107. package/build/cjs/integrations/mcp-server/attributes.js +30 -138
  108. package/build/cjs/integrations/mcp-server/attributes.js.map +1 -1
  109. package/build/cjs/integrations/mcp-server/correlation.js +20 -91
  110. package/build/cjs/integrations/mcp-server/correlation.js.map +1 -1
  111. package/build/cjs/integrations/mcp-server/errorCapture.js +6 -25
  112. package/build/cjs/integrations/mcp-server/errorCapture.js.map +1 -1
  113. package/build/cjs/integrations/mcp-server/handlers.js +55 -169
  114. package/build/cjs/integrations/mcp-server/handlers.js.map +1 -1
  115. package/build/cjs/integrations/mcp-server/index.js +7 -60
  116. package/build/cjs/integrations/mcp-server/index.js.map +1 -1
  117. package/build/cjs/integrations/mcp-server/methodConfig.js +21 -59
  118. package/build/cjs/integrations/mcp-server/methodConfig.js.map +1 -1
  119. package/build/cjs/integrations/mcp-server/piiFiltering.js +5 -33
  120. package/build/cjs/integrations/mcp-server/piiFiltering.js.map +1 -1
  121. package/build/cjs/integrations/mcp-server/resultExtraction.js +20 -76
  122. package/build/cjs/integrations/mcp-server/resultExtraction.js.map +1 -1
  123. package/build/cjs/integrations/mcp-server/sessionExtraction.js +30 -121
  124. package/build/cjs/integrations/mcp-server/sessionExtraction.js.map +1 -1
  125. package/build/cjs/integrations/mcp-server/sessionManagement.js +2 -60
  126. package/build/cjs/integrations/mcp-server/sessionManagement.js.map +1 -1
  127. package/build/cjs/integrations/mcp-server/spans.js +20 -107
  128. package/build/cjs/integrations/mcp-server/spans.js.map +1 -1
  129. package/build/cjs/integrations/mcp-server/transport.js +26 -94
  130. package/build/cjs/integrations/mcp-server/transport.js.map +1 -1
  131. package/build/cjs/integrations/mcp-server/validation.js +6 -72
  132. package/build/cjs/integrations/mcp-server/validation.js.map +1 -1
  133. package/build/cjs/integrations/moduleMetadata.js +6 -20
  134. package/build/cjs/integrations/moduleMetadata.js.map +1 -1
  135. package/build/cjs/integrations/postgresjs.js +78 -287
  136. package/build/cjs/integrations/postgresjs.js.map +1 -1
  137. package/build/cjs/integrations/requestdata.js +30 -93
  138. package/build/cjs/integrations/requestdata.js.map +1 -1
  139. package/build/cjs/integrations/rewriteframes.js +14 -45
  140. package/build/cjs/integrations/rewriteframes.js.map +1 -1
  141. package/build/cjs/integrations/spanStreaming.js +9 -15
  142. package/build/cjs/integrations/spanStreaming.js.map +1 -1
  143. package/build/cjs/integrations/supabase.js +224 -333
  144. package/build/cjs/integrations/supabase.js.map +1 -1
  145. package/build/cjs/integrations/third-party-errors-filter.js +60 -85
  146. package/build/cjs/integrations/third-party-errors-filter.js.map +1 -1
  147. package/build/cjs/integrations/zoderrors.js +35 -111
  148. package/build/cjs/integrations/zoderrors.js.map +1 -1
  149. package/build/cjs/logs/console-integration.js +15 -50
  150. package/build/cjs/logs/console-integration.js.map +1 -1
  151. package/build/cjs/logs/constants.js +1 -6
  152. package/build/cjs/logs/constants.js.map +1 -1
  153. package/build/cjs/logs/envelope.js +10 -40
  154. package/build/cjs/logs/envelope.js.map +1 -1
  155. package/build/cjs/logs/internal.js +53 -125
  156. package/build/cjs/logs/internal.js.map +1 -1
  157. package/build/cjs/logs/public-api.js +13 -228
  158. package/build/cjs/logs/public-api.js.map +1 -1
  159. package/build/cjs/logs/utils.js +6 -47
  160. package/build/cjs/logs/utils.js.map +1 -1
  161. package/build/cjs/metadata.js +6 -51
  162. package/build/cjs/metadata.js.map +1 -1
  163. package/build/cjs/metrics/envelope.js +12 -45
  164. package/build/cjs/metrics/envelope.js.map +1 -1
  165. package/build/cjs/metrics/internal.js +31 -144
  166. package/build/cjs/metrics/internal.js.map +1 -1
  167. package/build/cjs/metrics/public-api.js +4 -109
  168. package/build/cjs/metrics/public-api.js.map +1 -1
  169. package/build/cjs/profiling.js +11 -41
  170. package/build/cjs/profiling.js.map +1 -1
  171. package/build/cjs/scope.js +73 -224
  172. package/build/cjs/scope.js.map +1 -1
  173. package/build/cjs/sdk.js +2 -21
  174. package/build/cjs/sdk.js.map +1 -1
  175. package/build/cjs/semanticAttributes.js +30 -116
  176. package/build/cjs/semanticAttributes.js.map +1 -1
  177. package/build/cjs/server-runtime-client.js +32 -87
  178. package/build/cjs/server-runtime-client.js.map +1 -1
  179. package/build/cjs/server.js +17 -3
  180. package/build/cjs/server.js.map +1 -1
  181. package/build/cjs/session.js +14 -67
  182. package/build/cjs/session.js.map +1 -1
  183. package/build/cjs/tracing/ai/gen-ai-attributes.js +45 -249
  184. package/build/cjs/tracing/ai/gen-ai-attributes.js.map +1 -1
  185. package/build/cjs/tracing/ai/mediaStripping.js +21 -116
  186. package/build/cjs/tracing/ai/mediaStripping.js.map +1 -1
  187. package/build/cjs/tracing/ai/messageTruncation.js +26 -212
  188. package/build/cjs/tracing/ai/messageTruncation.js.map +1 -1
  189. package/build/cjs/tracing/ai/utils.js +40 -180
  190. package/build/cjs/tracing/ai/utils.js.map +1 -1
  191. package/build/cjs/tracing/anthropic-ai/constants.js +9 -12
  192. package/build/cjs/tracing/anthropic-ai/constants.js.map +1 -1
  193. package/build/cjs/tracing/anthropic-ai/index.js +67 -172
  194. package/build/cjs/tracing/anthropic-ai/index.js.map +1 -1
  195. package/build/cjs/tracing/anthropic-ai/streaming.js +45 -149
  196. package/build/cjs/tracing/anthropic-ai/streaming.js.map +1 -1
  197. package/build/cjs/tracing/anthropic-ai/utils.js +17 -47
  198. package/build/cjs/tracing/anthropic-ai/utils.js.map +1 -1
  199. package/build/cjs/tracing/dynamicSamplingContext.js +18 -85
  200. package/build/cjs/tracing/dynamicSamplingContext.js.map +1 -1
  201. package/build/cjs/tracing/errors.js +2 -14
  202. package/build/cjs/tracing/errors.js.map +1 -1
  203. package/build/cjs/tracing/google-genai/constants.js +9 -16
  204. package/build/cjs/tracing/google-genai/constants.js.map +1 -1
  205. package/build/cjs/tracing/google-genai/index.js +79 -223
  206. package/build/cjs/tracing/google-genai/index.js.map +1 -1
  207. package/build/cjs/tracing/google-genai/streaming.js +11 -56
  208. package/build/cjs/tracing/google-genai/streaming.js.map +1 -1
  209. package/build/cjs/tracing/google-genai/utils.js +8 -13
  210. package/build/cjs/tracing/google-genai/utils.js.map +1 -1
  211. package/build/cjs/tracing/idleSpan.js +48 -174
  212. package/build/cjs/tracing/idleSpan.js.map +1 -1
  213. package/build/cjs/tracing/langchain/constants.js +8 -9
  214. package/build/cjs/tracing/langchain/constants.js.map +1 -1
  215. package/build/cjs/tracing/langchain/embeddings.js +31 -75
  216. package/build/cjs/tracing/langchain/embeddings.js.map +1 -1
  217. package/build/cjs/tracing/langchain/index.js +64 -161
  218. package/build/cjs/tracing/langchain/index.js.map +1 -1
  219. package/build/cjs/tracing/langchain/utils.js +101 -311
  220. package/build/cjs/tracing/langchain/utils.js.map +1 -1
  221. package/build/cjs/tracing/langgraph/constants.js +2 -2
  222. package/build/cjs/tracing/langgraph/index.js +57 -160
  223. package/build/cjs/tracing/langgraph/index.js.map +1 -1
  224. package/build/cjs/tracing/langgraph/utils.js +53 -170
  225. package/build/cjs/tracing/langgraph/utils.js.map +1 -1
  226. package/build/cjs/tracing/logSpans.js +10 -26
  227. package/build/cjs/tracing/logSpans.js.map +1 -1
  228. package/build/cjs/tracing/measurement.js +6 -18
  229. package/build/cjs/tracing/measurement.js.map +1 -1
  230. package/build/cjs/tracing/openai/constants.js +20 -24
  231. package/build/cjs/tracing/openai/constants.js.map +1 -1
  232. package/build/cjs/tracing/openai/index.js +52 -132
  233. package/build/cjs/tracing/openai/index.js.map +1 -1
  234. package/build/cjs/tracing/openai/streaming.js +24 -102
  235. package/build/cjs/tracing/openai/streaming.js.map +1 -1
  236. package/build/cjs/tracing/openai/utils.js +36 -107
  237. package/build/cjs/tracing/openai/utils.js.map +1 -1
  238. package/build/cjs/tracing/sampling.js +23 -63
  239. package/build/cjs/tracing/sampling.js.map +1 -1
  240. package/build/cjs/tracing/sentryNonRecordingSpan.js +15 -40
  241. package/build/cjs/tracing/sentryNonRecordingSpan.js.map +1 -1
  242. package/build/cjs/tracing/sentrySpan.js +66 -172
  243. package/build/cjs/tracing/sentrySpan.js.map +1 -1
  244. package/build/cjs/tracing/spans/beforeSendSpan.js +4 -32
  245. package/build/cjs/tracing/spans/beforeSendSpan.js.map +1 -1
  246. package/build/cjs/tracing/spans/captureSpan.js +58 -156
  247. package/build/cjs/tracing/spans/captureSpan.js.map +1 -1
  248. package/build/cjs/tracing/spans/envelope.js +12 -24
  249. package/build/cjs/tracing/spans/envelope.js.map +1 -1
  250. package/build/cjs/tracing/spans/estimateSize.js +0 -22
  251. package/build/cjs/tracing/spans/estimateSize.js.map +1 -1
  252. package/build/cjs/tracing/spans/extractGenAiSpans.js +11 -33
  253. package/build/cjs/tracing/spans/extractGenAiSpans.js.map +1 -1
  254. package/build/cjs/tracing/spans/hasSpanStreamingEnabled.js +1 -4
  255. package/build/cjs/tracing/spans/hasSpanStreamingEnabled.js.map +1 -1
  256. package/build/cjs/tracing/spans/scopeContextAttributes.js +58 -0
  257. package/build/cjs/tracing/spans/scopeContextAttributes.js.map +1 -0
  258. package/build/cjs/tracing/spans/spanBuffer.js +21 -71
  259. package/build/cjs/tracing/spans/spanBuffer.js.map +1 -1
  260. package/build/cjs/tracing/spans/spanJsonToStreamedSpan.js +4 -8
  261. package/build/cjs/tracing/spans/spanJsonToStreamedSpan.js.map +1 -1
  262. package/build/cjs/tracing/spanstatus.js +15 -32
  263. package/build/cjs/tracing/spanstatus.js.map +1 -1
  264. package/build/cjs/tracing/trace.js +95 -311
  265. package/build/cjs/tracing/trace.js.map +1 -1
  266. package/build/cjs/tracing/utils.js +4 -14
  267. package/build/cjs/tracing/utils.js.map +1 -1
  268. package/build/cjs/tracing/vercel-ai/constants.js +15 -26
  269. package/build/cjs/tracing/vercel-ai/constants.js.map +1 -1
  270. package/build/cjs/tracing/vercel-ai/index.js +84 -288
  271. package/build/cjs/tracing/vercel-ai/index.js.map +1 -1
  272. package/build/cjs/tracing/vercel-ai/utils.js +30 -128
  273. package/build/cjs/tracing/vercel-ai/utils.js.map +1 -1
  274. package/build/cjs/tracing/vercel-ai/vercel-ai-attributes.js +22 -229
  275. package/build/cjs/tracing/vercel-ai/vercel-ai-attributes.js.map +1 -1
  276. package/build/cjs/transports/base.js +32 -67
  277. package/build/cjs/transports/base.js.map +1 -1
  278. package/build/cjs/transports/multiplexed.js +38 -103
  279. package/build/cjs/transports/multiplexed.js.map +1 -1
  280. package/build/cjs/transports/offline.js +31 -72
  281. package/build/cjs/transports/offline.js.map +1 -1
  282. package/build/cjs/transports/userAgent.js +4 -13
  283. package/build/cjs/transports/userAgent.js.map +1 -1
  284. package/build/cjs/trpc.js +19 -39
  285. package/build/cjs/trpc.js.map +1 -1
  286. package/build/cjs/utils/aggregate-errors.js +18 -62
  287. package/build/cjs/utils/aggregate-errors.js.map +1 -1
  288. package/build/cjs/utils/ai/providerSkip.js +3 -50
  289. package/build/cjs/utils/ai/providerSkip.js.map +1 -1
  290. package/build/cjs/utils/anr.js +7 -36
  291. package/build/cjs/utils/anr.js.map +1 -1
  292. package/build/cjs/utils/baggage.js +37 -146
  293. package/build/cjs/utils/baggage.js.map +1 -1
  294. package/build/cjs/utils/breadcrumb-log-level.js +5 -9
  295. package/build/cjs/utils/breadcrumb-log-level.js.map +1 -1
  296. package/build/cjs/utils/browser.js +24 -86
  297. package/build/cjs/utils/browser.js.map +1 -1
  298. package/build/cjs/utils/chain-and-copy-promiselike.js +10 -27
  299. package/build/cjs/utils/chain-and-copy-promiselike.js.map +1 -1
  300. package/build/cjs/utils/clientreport.js +4 -13
  301. package/build/cjs/utils/clientreport.js.map +1 -1
  302. package/build/cjs/utils/cookie.js +6 -53
  303. package/build/cjs/utils/cookie.js.map +1 -1
  304. package/build/cjs/utils/data-collection/defaultPiiToCollectionOptions.js +28 -0
  305. package/build/cjs/utils/data-collection/defaultPiiToCollectionOptions.js.map +1 -0
  306. package/build/cjs/utils/data-collection/filterCookies.js +23 -0
  307. package/build/cjs/utils/data-collection/filterCookies.js.map +1 -0
  308. package/build/cjs/utils/data-collection/filterKeyValueData.js +43 -0
  309. package/build/cjs/utils/data-collection/filterKeyValueData.js.map +1 -0
  310. package/build/cjs/utils/data-collection/filterQueryParams.js +26 -0
  311. package/build/cjs/utils/data-collection/filterQueryParams.js.map +1 -0
  312. package/build/cjs/utils/data-collection/filtering-snippets.js +61 -0
  313. package/build/cjs/utils/data-collection/filtering-snippets.js.map +1 -0
  314. package/build/cjs/utils/data-collection/resolveDataCollectionOptions.js +37 -0
  315. package/build/cjs/utils/data-collection/resolveDataCollectionOptions.js.map +1 -0
  316. package/build/cjs/utils/debounce.js +5 -32
  317. package/build/cjs/utils/debounce.js.map +1 -1
  318. package/build/cjs/utils/debug-ids.js +4 -42
  319. package/build/cjs/utils/debug-ids.js.map +1 -1
  320. package/build/cjs/utils/debug-logger.js +23 -56
  321. package/build/cjs/utils/debug-logger.js.map +1 -1
  322. package/build/cjs/utils/dsn.js +18 -81
  323. package/build/cjs/utils/dsn.js.map +1 -1
  324. package/build/cjs/utils/env.js +3 -27
  325. package/build/cjs/utils/env.js.map +1 -1
  326. package/build/cjs/utils/envToBool.js +2 -15
  327. package/build/cjs/utils/envToBool.js.map +1 -1
  328. package/build/cjs/utils/envelope.js +39 -133
  329. package/build/cjs/utils/envelope.js.map +1 -1
  330. package/build/cjs/utils/error.js +3 -10
  331. package/build/cjs/utils/error.js.map +1 -1
  332. package/build/cjs/utils/eventUtils.js +0 -8
  333. package/build/cjs/utils/eventUtils.js.map +1 -1
  334. package/build/cjs/utils/eventbuilder.js +30 -114
  335. package/build/cjs/utils/eventbuilder.js.map +1 -1
  336. package/build/cjs/utils/exports.js +5 -24
  337. package/build/cjs/utils/exports.js.map +1 -1
  338. package/build/cjs/utils/featureFlags.js +10 -96
  339. package/build/cjs/utils/featureFlags.js.map +1 -1
  340. package/build/cjs/utils/flushIfServerless.js +14 -48
  341. package/build/cjs/utils/flushIfServerless.js.map +1 -1
  342. package/build/cjs/utils/get-default-export.js +1 -25
  343. package/build/cjs/utils/get-default-export.js.map +1 -1
  344. package/build/cjs/utils/handleCallbackErrors.js +10 -48
  345. package/build/cjs/utils/handleCallbackErrors.js.map +1 -1
  346. package/build/cjs/utils/hasSpansEnabled.js +4 -28
  347. package/build/cjs/utils/hasSpansEnabled.js.map +1 -1
  348. package/build/cjs/utils/ipAddress.js +7 -19
  349. package/build/cjs/utils/ipAddress.js.map +1 -1
  350. package/build/cjs/utils/is.js +18 -163
  351. package/build/cjs/utils/is.js.map +1 -1
  352. package/build/cjs/utils/isBrowser.js +3 -9
  353. package/build/cjs/utils/isBrowser.js.map +1 -1
  354. package/build/cjs/utils/isSentryRequestUrl.js +2 -19
  355. package/build/cjs/utils/isSentryRequestUrl.js.map +1 -1
  356. package/build/cjs/utils/lru.js +13 -24
  357. package/build/cjs/utils/lru.js.map +1 -1
  358. package/build/cjs/utils/merge.js +1 -17
  359. package/build/cjs/utils/merge.js.map +1 -1
  360. package/build/cjs/utils/meta.js +1 -24
  361. package/build/cjs/utils/meta.js.map +1 -1
  362. package/build/cjs/utils/misc.js +31 -134
  363. package/build/cjs/utils/misc.js.map +1 -1
  364. package/build/cjs/utils/node-stack-trace.js +22 -61
  365. package/build/cjs/utils/node-stack-trace.js.map +1 -1
  366. package/build/cjs/utils/node.js +3 -48
  367. package/build/cjs/utils/node.js.map +1 -1
  368. package/build/cjs/utils/normalizationHints.js +5 -18
  369. package/build/cjs/utils/normalizationHints.js.map +1 -1
  370. package/build/cjs/utils/normalize.js +39 -205
  371. package/build/cjs/utils/normalize.js.map +1 -1
  372. package/build/cjs/utils/object.js +33 -168
  373. package/build/cjs/utils/object.js.map +1 -1
  374. package/build/cjs/utils/parameterize.js +2 -21
  375. package/build/cjs/utils/parameterize.js.map +1 -1
  376. package/build/cjs/utils/parseSampleRate.js +4 -13
  377. package/build/cjs/utils/parseSampleRate.js.map +1 -1
  378. package/build/cjs/utils/path.js +28 -115
  379. package/build/cjs/utils/path.js.map +1 -1
  380. package/build/cjs/utils/prepareEvent.js +53 -191
  381. package/build/cjs/utils/prepareEvent.js.map +1 -1
  382. package/build/cjs/utils/promisebuffer.js +5 -47
  383. package/build/cjs/utils/promisebuffer.js.map +1 -1
  384. package/build/cjs/utils/propagationContext.js +0 -7
  385. package/build/cjs/utils/propagationContext.js.map +1 -1
  386. package/build/cjs/utils/randomSafeContext.js +3 -22
  387. package/build/cjs/utils/randomSafeContext.js.map +1 -1
  388. package/build/cjs/utils/ratelimit.js +13 -66
  389. package/build/cjs/utils/ratelimit.js.map +1 -1
  390. package/build/cjs/utils/request.js +62 -269
  391. package/build/cjs/utils/request.js.map +1 -1
  392. package/build/cjs/utils/scopeData.js +15 -79
  393. package/build/cjs/utils/scopeData.js.map +1 -1
  394. package/build/cjs/utils/sdkMetadata.js +5 -19
  395. package/build/cjs/utils/sdkMetadata.js.map +1 -1
  396. package/build/cjs/utils/severity.js +1 -9
  397. package/build/cjs/utils/severity.js.map +1 -1
  398. package/build/cjs/utils/should-ignore-span.js +6 -38
  399. package/build/cjs/utils/should-ignore-span.js.map +1 -1
  400. package/build/cjs/utils/spanOnScope.js +3 -14
  401. package/build/cjs/utils/spanOnScope.js.map +1 -1
  402. package/build/cjs/utils/spanUtils.js +42 -222
  403. package/build/cjs/utils/spanUtils.js.map +1 -1
  404. package/build/cjs/utils/stacktrace.js +19 -106
  405. package/build/cjs/utils/stacktrace.js.map +1 -1
  406. package/build/cjs/utils/string.js +7 -75
  407. package/build/cjs/utils/string.js.map +1 -1
  408. package/build/cjs/utils/supports.js +14 -99
  409. package/build/cjs/utils/supports.js.map +1 -1
  410. package/build/cjs/utils/syncpromise.js +19 -68
  411. package/build/cjs/utils/syncpromise.js.map +1 -1
  412. package/build/cjs/utils/time.js +7 -84
  413. package/build/cjs/utils/time.js.map +1 -1
  414. package/build/cjs/utils/timer.js +1 -10
  415. package/build/cjs/utils/timer.js.map +1 -1
  416. package/build/cjs/utils/timestampSequence.js +5 -21
  417. package/build/cjs/utils/timestampSequence.js.map +1 -1
  418. package/build/cjs/utils/trace-info.js +3 -10
  419. package/build/cjs/utils/trace-info.js.map +1 -1
  420. package/build/cjs/utils/traceData.js +4 -39
  421. package/build/cjs/utils/traceData.js.map +1 -1
  422. package/build/cjs/utils/tracePropagationTargets.js +4 -18
  423. package/build/cjs/utils/tracePropagationTargets.js.map +1 -1
  424. package/build/cjs/utils/tracing.js +32 -106
  425. package/build/cjs/utils/tracing.js.map +1 -1
  426. package/build/cjs/utils/transactionEvent.js +11 -19
  427. package/build/cjs/utils/transactionEvent.js.map +1 -1
  428. package/build/cjs/utils/tunnel.js +12 -33
  429. package/build/cjs/utils/tunnel.js.map +1 -1
  430. package/build/cjs/utils/url.js +42 -176
  431. package/build/cjs/utils/url.js.map +1 -1
  432. package/build/cjs/utils/vercelWaitUntil.js +4 -12
  433. package/build/cjs/utils/vercelWaitUntil.js.map +1 -1
  434. package/build/cjs/utils/version.js +1 -3
  435. package/build/cjs/utils/version.js.map +1 -1
  436. package/build/cjs/utils/weakRef.js +5 -36
  437. package/build/cjs/utils/weakRef.js.map +1 -1
  438. package/build/cjs/utils/worldwide.js +1 -4
  439. package/build/cjs/utils/worldwide.js.map +1 -1
  440. package/build/cjs/vendor/escapeStringForRegex.js +1 -32
  441. package/build/cjs/vendor/escapeStringForRegex.js.map +1 -1
  442. package/build/cjs/vendor/getIpAddress.js +19 -99
  443. package/build/cjs/vendor/getIpAddress.js.map +1 -1
  444. package/build/esm/api.js +10 -34
  445. package/build/esm/api.js.map +1 -1
  446. package/build/esm/asyncContext/index.js +0 -14
  447. package/build/esm/asyncContext/index.js.map +1 -1
  448. package/build/esm/asyncContext/stackStrategy.js +16 -47
  449. package/build/esm/asyncContext/stackStrategy.js.map +1 -1
  450. package/build/esm/attributes.js +17 -95
  451. package/build/esm/attributes.js.map +1 -1
  452. package/build/esm/breadcrumbs.js +2 -22
  453. package/build/esm/breadcrumbs.js.map +1 -1
  454. package/build/esm/browser.js +5 -1
  455. package/build/esm/browser.js.map +1 -1
  456. package/build/esm/carrier.js +5 -42
  457. package/build/esm/carrier.js.map +1 -1
  458. package/build/esm/checkin.js +5 -19
  459. package/build/esm/checkin.js.map +1 -1
  460. package/build/esm/client.js +216 -585
  461. package/build/esm/client.js.map +1 -1
  462. package/build/esm/constants.js +2 -2
  463. package/build/esm/currentScopes.js +5 -86
  464. package/build/esm/currentScopes.js.map +1 -1
  465. package/build/esm/debug-build.js +0 -5
  466. package/build/esm/debug-build.js.map +1 -1
  467. package/build/esm/defaultScopes.js +2 -5
  468. package/build/esm/defaultScopes.js.map +1 -1
  469. package/build/esm/envelope.js +32 -103
  470. package/build/esm/envelope.js.map +1 -1
  471. package/build/esm/eventProcessors.js +4 -23
  472. package/build/esm/eventProcessors.js.map +1 -1
  473. package/build/esm/exports.js +21 -197
  474. package/build/esm/exports.js.map +1 -1
  475. package/build/esm/feedback.js +7 -19
  476. package/build/esm/feedback.js.map +1 -1
  477. package/build/esm/fetch.js +66 -201
  478. package/build/esm/fetch.js.map +1 -1
  479. package/build/esm/index.js +7 -1
  480. package/build/esm/index.js.map +1 -1
  481. package/build/esm/instrument/console.js +9 -41
  482. package/build/esm/instrument/console.js.map +1 -1
  483. package/build/esm/instrument/fetch.js +47 -156
  484. package/build/esm/instrument/fetch.js.map +1 -1
  485. package/build/esm/instrument/globalError.js +4 -25
  486. package/build/esm/instrument/globalError.js.map +1 -1
  487. package/build/esm/instrument/globalUnhandledRejection.js +4 -21
  488. package/build/esm/instrument/globalUnhandledRejection.js.map +1 -1
  489. package/build/esm/instrument/handlers.js +9 -21
  490. package/build/esm/instrument/handlers.js.map +1 -1
  491. package/build/esm/integration.js +13 -77
  492. package/build/esm/integration.js.map +1 -1
  493. package/build/esm/integrations/captureconsole.js +16 -40
  494. package/build/esm/integrations/captureconsole.js.map +1 -1
  495. package/build/esm/integrations/consola.js +57 -163
  496. package/build/esm/integrations/consola.js.map +1 -1
  497. package/build/esm/integrations/console.js +11 -43
  498. package/build/esm/integrations/console.js.map +1 -1
  499. package/build/esm/integrations/conversationId.js +5 -22
  500. package/build/esm/integrations/conversationId.js.map +1 -1
  501. package/build/esm/integrations/dedupe.js +16 -74
  502. package/build/esm/integrations/dedupe.js.map +1 -1
  503. package/build/esm/integrations/eventFilters.js +63 -114
  504. package/build/esm/integrations/eventFilters.js.map +1 -1
  505. package/build/esm/integrations/express/index.js +30 -145
  506. package/build/esm/integrations/express/index.js.map +1 -1
  507. package/build/esm/integrations/express/patch-layer.js +20 -130
  508. package/build/esm/integrations/express/patch-layer.js.map +1 -1
  509. package/build/esm/integrations/express/request-layer-store.js +1 -3
  510. package/build/esm/integrations/express/request-layer-store.js.map +1 -1
  511. package/build/esm/integrations/express/set-sdk-processing-metadata.js +0 -2
  512. package/build/esm/integrations/express/set-sdk-processing-metadata.js.map +1 -1
  513. package/build/esm/integrations/express/types.js +6 -7
  514. package/build/esm/integrations/express/types.js.map +1 -1
  515. package/build/esm/integrations/express/utils.js +37 -145
  516. package/build/esm/integrations/express/utils.js.map +1 -1
  517. package/build/esm/integrations/extraerrordata.js +24 -69
  518. package/build/esm/integrations/extraerrordata.js.map +1 -1
  519. package/build/esm/integrations/featureFlags/featureFlagsIntegration.js +3 -29
  520. package/build/esm/integrations/featureFlags/featureFlagsIntegration.js.map +1 -1
  521. package/build/esm/integrations/featureFlags/growthbook.js +11 -40
  522. package/build/esm/integrations/featureFlags/growthbook.js.map +1 -1
  523. package/build/esm/integrations/functiontostring.js +6 -27
  524. package/build/esm/integrations/functiontostring.js.map +1 -1
  525. package/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +10 -18
  526. package/build/esm/integrations/http/add-outgoing-request-breadcrumb.js.map +1 -1
  527. package/build/esm/integrations/http/client-patch.js +8 -70
  528. package/build/esm/integrations/http/client-patch.js.map +1 -1
  529. package/build/esm/integrations/http/client-subscriptions.js +22 -59
  530. package/build/esm/integrations/http/client-subscriptions.js.map +1 -1
  531. package/build/esm/integrations/http/constants.js +3 -3
  532. package/build/esm/integrations/http/double-wrap-warning.js +10 -18
  533. package/build/esm/integrations/http/double-wrap-warning.js.map +1 -1
  534. package/build/esm/integrations/http/get-outgoing-span-data.js +30 -47
  535. package/build/esm/integrations/http/get-outgoing-span-data.js.map +1 -1
  536. package/build/esm/integrations/http/get-request-url.js +7 -24
  537. package/build/esm/integrations/http/get-request-url.js.map +1 -1
  538. package/build/esm/integrations/http/inject-trace-propagation-headers.js +14 -38
  539. package/build/esm/integrations/http/inject-trace-propagation-headers.js.map +1 -1
  540. package/build/esm/integrations/http/patch-request-to-capture-body.js +78 -0
  541. package/build/esm/integrations/http/patch-request-to-capture-body.js.map +1 -0
  542. package/build/esm/integrations/http/record-request-session.js +59 -0
  543. package/build/esm/integrations/http/record-request-session.js.map +1 -0
  544. package/build/esm/integrations/http/server-subscription.js +285 -0
  545. package/build/esm/integrations/http/server-subscription.js.map +1 -0
  546. package/build/esm/integrations/linkederrors.js +6 -11
  547. package/build/esm/integrations/linkederrors.js.map +1 -1
  548. package/build/esm/integrations/mcp-server/attributeExtraction.js +26 -69
  549. package/build/esm/integrations/mcp-server/attributeExtraction.js.map +1 -1
  550. package/build/esm/integrations/mcp-server/attributes.js +30 -138
  551. package/build/esm/integrations/mcp-server/attributes.js.map +1 -1
  552. package/build/esm/integrations/mcp-server/correlation.js +20 -91
  553. package/build/esm/integrations/mcp-server/correlation.js.map +1 -1
  554. package/build/esm/integrations/mcp-server/errorCapture.js +6 -25
  555. package/build/esm/integrations/mcp-server/errorCapture.js.map +1 -1
  556. package/build/esm/integrations/mcp-server/handlers.js +55 -169
  557. package/build/esm/integrations/mcp-server/handlers.js.map +1 -1
  558. package/build/esm/integrations/mcp-server/index.js +7 -60
  559. package/build/esm/integrations/mcp-server/index.js.map +1 -1
  560. package/build/esm/integrations/mcp-server/methodConfig.js +21 -59
  561. package/build/esm/integrations/mcp-server/methodConfig.js.map +1 -1
  562. package/build/esm/integrations/mcp-server/piiFiltering.js +5 -33
  563. package/build/esm/integrations/mcp-server/piiFiltering.js.map +1 -1
  564. package/build/esm/integrations/mcp-server/resultExtraction.js +20 -76
  565. package/build/esm/integrations/mcp-server/resultExtraction.js.map +1 -1
  566. package/build/esm/integrations/mcp-server/sessionExtraction.js +30 -121
  567. package/build/esm/integrations/mcp-server/sessionExtraction.js.map +1 -1
  568. package/build/esm/integrations/mcp-server/sessionManagement.js +2 -60
  569. package/build/esm/integrations/mcp-server/sessionManagement.js.map +1 -1
  570. package/build/esm/integrations/mcp-server/spans.js +20 -107
  571. package/build/esm/integrations/mcp-server/spans.js.map +1 -1
  572. package/build/esm/integrations/mcp-server/transport.js +26 -94
  573. package/build/esm/integrations/mcp-server/transport.js.map +1 -1
  574. package/build/esm/integrations/mcp-server/validation.js +6 -72
  575. package/build/esm/integrations/mcp-server/validation.js.map +1 -1
  576. package/build/esm/integrations/moduleMetadata.js +6 -20
  577. package/build/esm/integrations/moduleMetadata.js.map +1 -1
  578. package/build/esm/integrations/postgresjs.js +78 -287
  579. package/build/esm/integrations/postgresjs.js.map +1 -1
  580. package/build/esm/integrations/requestdata.js +30 -93
  581. package/build/esm/integrations/requestdata.js.map +1 -1
  582. package/build/esm/integrations/rewriteframes.js +14 -45
  583. package/build/esm/integrations/rewriteframes.js.map +1 -1
  584. package/build/esm/integrations/spanStreaming.js +9 -15
  585. package/build/esm/integrations/spanStreaming.js.map +1 -1
  586. package/build/esm/integrations/supabase.js +224 -333
  587. package/build/esm/integrations/supabase.js.map +1 -1
  588. package/build/esm/integrations/third-party-errors-filter.js +60 -85
  589. package/build/esm/integrations/third-party-errors-filter.js.map +1 -1
  590. package/build/esm/integrations/zoderrors.js +35 -111
  591. package/build/esm/integrations/zoderrors.js.map +1 -1
  592. package/build/esm/logs/console-integration.js +15 -50
  593. package/build/esm/logs/console-integration.js.map +1 -1
  594. package/build/esm/logs/constants.js +1 -6
  595. package/build/esm/logs/constants.js.map +1 -1
  596. package/build/esm/logs/envelope.js +10 -40
  597. package/build/esm/logs/envelope.js.map +1 -1
  598. package/build/esm/logs/internal.js +53 -126
  599. package/build/esm/logs/internal.js.map +1 -1
  600. package/build/esm/logs/public-api.js +13 -228
  601. package/build/esm/logs/public-api.js.map +1 -1
  602. package/build/esm/logs/utils.js +6 -47
  603. package/build/esm/logs/utils.js.map +1 -1
  604. package/build/esm/metadata.js +6 -51
  605. package/build/esm/metadata.js.map +1 -1
  606. package/build/esm/metrics/envelope.js +12 -45
  607. package/build/esm/metrics/envelope.js.map +1 -1
  608. package/build/esm/metrics/internal.js +31 -144
  609. package/build/esm/metrics/internal.js.map +1 -1
  610. package/build/esm/metrics/public-api.js +4 -109
  611. package/build/esm/metrics/public-api.js.map +1 -1
  612. package/build/esm/package.json +1 -1
  613. package/build/esm/profiling.js +11 -41
  614. package/build/esm/profiling.js.map +1 -1
  615. package/build/esm/scope.js +73 -224
  616. package/build/esm/scope.js.map +1 -1
  617. package/build/esm/sdk.js +2 -21
  618. package/build/esm/sdk.js.map +1 -1
  619. package/build/esm/semanticAttributes.js +31 -118
  620. package/build/esm/semanticAttributes.js.map +1 -1
  621. package/build/esm/server-runtime-client.js +32 -87
  622. package/build/esm/server-runtime-client.js.map +1 -1
  623. package/build/esm/server.js +7 -1
  624. package/build/esm/server.js.map +1 -1
  625. package/build/esm/session.js +14 -67
  626. package/build/esm/session.js.map +1 -1
  627. package/build/esm/tracing/ai/gen-ai-attributes.js +45 -249
  628. package/build/esm/tracing/ai/gen-ai-attributes.js.map +1 -1
  629. package/build/esm/tracing/ai/mediaStripping.js +21 -116
  630. package/build/esm/tracing/ai/mediaStripping.js.map +1 -1
  631. package/build/esm/tracing/ai/messageTruncation.js +26 -212
  632. package/build/esm/tracing/ai/messageTruncation.js.map +1 -1
  633. package/build/esm/tracing/ai/utils.js +40 -180
  634. package/build/esm/tracing/ai/utils.js.map +1 -1
  635. package/build/esm/tracing/anthropic-ai/constants.js +9 -12
  636. package/build/esm/tracing/anthropic-ai/constants.js.map +1 -1
  637. package/build/esm/tracing/anthropic-ai/index.js +67 -172
  638. package/build/esm/tracing/anthropic-ai/index.js.map +1 -1
  639. package/build/esm/tracing/anthropic-ai/streaming.js +45 -149
  640. package/build/esm/tracing/anthropic-ai/streaming.js.map +1 -1
  641. package/build/esm/tracing/anthropic-ai/utils.js +17 -47
  642. package/build/esm/tracing/anthropic-ai/utils.js.map +1 -1
  643. package/build/esm/tracing/dynamicSamplingContext.js +18 -85
  644. package/build/esm/tracing/dynamicSamplingContext.js.map +1 -1
  645. package/build/esm/tracing/errors.js +2 -14
  646. package/build/esm/tracing/errors.js.map +1 -1
  647. package/build/esm/tracing/google-genai/constants.js +9 -16
  648. package/build/esm/tracing/google-genai/constants.js.map +1 -1
  649. package/build/esm/tracing/google-genai/index.js +79 -223
  650. package/build/esm/tracing/google-genai/index.js.map +1 -1
  651. package/build/esm/tracing/google-genai/streaming.js +11 -56
  652. package/build/esm/tracing/google-genai/streaming.js.map +1 -1
  653. package/build/esm/tracing/google-genai/utils.js +8 -13
  654. package/build/esm/tracing/google-genai/utils.js.map +1 -1
  655. package/build/esm/tracing/idleSpan.js +48 -174
  656. package/build/esm/tracing/idleSpan.js.map +1 -1
  657. package/build/esm/tracing/langchain/constants.js +8 -9
  658. package/build/esm/tracing/langchain/constants.js.map +1 -1
  659. package/build/esm/tracing/langchain/embeddings.js +31 -75
  660. package/build/esm/tracing/langchain/embeddings.js.map +1 -1
  661. package/build/esm/tracing/langchain/index.js +64 -161
  662. package/build/esm/tracing/langchain/index.js.map +1 -1
  663. package/build/esm/tracing/langchain/utils.js +101 -312
  664. package/build/esm/tracing/langchain/utils.js.map +1 -1
  665. package/build/esm/tracing/langgraph/constants.js +2 -2
  666. package/build/esm/tracing/langgraph/index.js +59 -162
  667. package/build/esm/tracing/langgraph/index.js.map +1 -1
  668. package/build/esm/tracing/langgraph/utils.js +54 -170
  669. package/build/esm/tracing/langgraph/utils.js.map +1 -1
  670. package/build/esm/tracing/logSpans.js +10 -26
  671. package/build/esm/tracing/logSpans.js.map +1 -1
  672. package/build/esm/tracing/measurement.js +6 -18
  673. package/build/esm/tracing/measurement.js.map +1 -1
  674. package/build/esm/tracing/openai/constants.js +20 -24
  675. package/build/esm/tracing/openai/constants.js.map +1 -1
  676. package/build/esm/tracing/openai/index.js +52 -132
  677. package/build/esm/tracing/openai/index.js.map +1 -1
  678. package/build/esm/tracing/openai/streaming.js +24 -102
  679. package/build/esm/tracing/openai/streaming.js.map +1 -1
  680. package/build/esm/tracing/openai/utils.js +36 -107
  681. package/build/esm/tracing/openai/utils.js.map +1 -1
  682. package/build/esm/tracing/sampling.js +23 -63
  683. package/build/esm/tracing/sampling.js.map +1 -1
  684. package/build/esm/tracing/sentryNonRecordingSpan.js +15 -40
  685. package/build/esm/tracing/sentryNonRecordingSpan.js.map +1 -1
  686. package/build/esm/tracing/sentrySpan.js +66 -172
  687. package/build/esm/tracing/sentrySpan.js.map +1 -1
  688. package/build/esm/tracing/spans/beforeSendSpan.js +4 -32
  689. package/build/esm/tracing/spans/beforeSendSpan.js.map +1 -1
  690. package/build/esm/tracing/spans/captureSpan.js +59 -157
  691. package/build/esm/tracing/spans/captureSpan.js.map +1 -1
  692. package/build/esm/tracing/spans/envelope.js +12 -24
  693. package/build/esm/tracing/spans/envelope.js.map +1 -1
  694. package/build/esm/tracing/spans/estimateSize.js +0 -22
  695. package/build/esm/tracing/spans/estimateSize.js.map +1 -1
  696. package/build/esm/tracing/spans/extractGenAiSpans.js +11 -33
  697. package/build/esm/tracing/spans/extractGenAiSpans.js.map +1 -1
  698. package/build/esm/tracing/spans/hasSpanStreamingEnabled.js +1 -4
  699. package/build/esm/tracing/spans/hasSpanStreamingEnabled.js.map +1 -1
  700. package/build/esm/tracing/spans/scopeContextAttributes.js +56 -0
  701. package/build/esm/tracing/spans/scopeContextAttributes.js.map +1 -0
  702. package/build/esm/tracing/spans/spanBuffer.js +21 -71
  703. package/build/esm/tracing/spans/spanBuffer.js.map +1 -1
  704. package/build/esm/tracing/spans/spanJsonToStreamedSpan.js +4 -8
  705. package/build/esm/tracing/spans/spanJsonToStreamedSpan.js.map +1 -1
  706. package/build/esm/tracing/spanstatus.js +15 -32
  707. package/build/esm/tracing/spanstatus.js.map +1 -1
  708. package/build/esm/tracing/trace.js +95 -311
  709. package/build/esm/tracing/trace.js.map +1 -1
  710. package/build/esm/tracing/utils.js +4 -14
  711. package/build/esm/tracing/utils.js.map +1 -1
  712. package/build/esm/tracing/vercel-ai/constants.js +15 -26
  713. package/build/esm/tracing/vercel-ai/constants.js.map +1 -1
  714. package/build/esm/tracing/vercel-ai/index.js +84 -288
  715. package/build/esm/tracing/vercel-ai/index.js.map +1 -1
  716. package/build/esm/tracing/vercel-ai/utils.js +30 -128
  717. package/build/esm/tracing/vercel-ai/utils.js.map +1 -1
  718. package/build/esm/tracing/vercel-ai/vercel-ai-attributes.js +22 -229
  719. package/build/esm/tracing/vercel-ai/vercel-ai-attributes.js.map +1 -1
  720. package/build/esm/transports/base.js +32 -67
  721. package/build/esm/transports/base.js.map +1 -1
  722. package/build/esm/transports/multiplexed.js +38 -103
  723. package/build/esm/transports/multiplexed.js.map +1 -1
  724. package/build/esm/transports/offline.js +31 -72
  725. package/build/esm/transports/offline.js.map +1 -1
  726. package/build/esm/transports/userAgent.js +4 -13
  727. package/build/esm/transports/userAgent.js.map +1 -1
  728. package/build/esm/trpc.js +19 -39
  729. package/build/esm/trpc.js.map +1 -1
  730. package/build/esm/utils/aggregate-errors.js +18 -62
  731. package/build/esm/utils/aggregate-errors.js.map +1 -1
  732. package/build/esm/utils/ai/providerSkip.js +3 -50
  733. package/build/esm/utils/ai/providerSkip.js.map +1 -1
  734. package/build/esm/utils/anr.js +7 -36
  735. package/build/esm/utils/anr.js.map +1 -1
  736. package/build/esm/utils/baggage.js +37 -146
  737. package/build/esm/utils/baggage.js.map +1 -1
  738. package/build/esm/utils/breadcrumb-log-level.js +5 -9
  739. package/build/esm/utils/breadcrumb-log-level.js.map +1 -1
  740. package/build/esm/utils/browser.js +24 -86
  741. package/build/esm/utils/browser.js.map +1 -1
  742. package/build/esm/utils/chain-and-copy-promiselike.js +10 -27
  743. package/build/esm/utils/chain-and-copy-promiselike.js.map +1 -1
  744. package/build/esm/utils/clientreport.js +4 -13
  745. package/build/esm/utils/clientreport.js.map +1 -1
  746. package/build/esm/utils/cookie.js +6 -53
  747. package/build/esm/utils/cookie.js.map +1 -1
  748. package/build/esm/utils/data-collection/defaultPiiToCollectionOptions.js +26 -0
  749. package/build/esm/utils/data-collection/defaultPiiToCollectionOptions.js.map +1 -0
  750. package/build/esm/utils/data-collection/filterCookies.js +21 -0
  751. package/build/esm/utils/data-collection/filterCookies.js.map +1 -0
  752. package/build/esm/utils/data-collection/filterKeyValueData.js +41 -0
  753. package/build/esm/utils/data-collection/filterKeyValueData.js.map +1 -0
  754. package/build/esm/utils/data-collection/filterQueryParams.js +24 -0
  755. package/build/esm/utils/data-collection/filterQueryParams.js.map +1 -0
  756. package/build/esm/utils/data-collection/filtering-snippets.js +56 -0
  757. package/build/esm/utils/data-collection/filtering-snippets.js.map +1 -0
  758. package/build/esm/utils/data-collection/resolveDataCollectionOptions.js +35 -0
  759. package/build/esm/utils/data-collection/resolveDataCollectionOptions.js.map +1 -0
  760. package/build/esm/utils/debounce.js +5 -32
  761. package/build/esm/utils/debounce.js.map +1 -1
  762. package/build/esm/utils/debug-ids.js +4 -42
  763. package/build/esm/utils/debug-ids.js.map +1 -1
  764. package/build/esm/utils/debug-logger.js +23 -56
  765. package/build/esm/utils/debug-logger.js.map +1 -1
  766. package/build/esm/utils/dsn.js +18 -81
  767. package/build/esm/utils/dsn.js.map +1 -1
  768. package/build/esm/utils/env.js +3 -27
  769. package/build/esm/utils/env.js.map +1 -1
  770. package/build/esm/utils/envToBool.js +2 -15
  771. package/build/esm/utils/envToBool.js.map +1 -1
  772. package/build/esm/utils/envelope.js +39 -133
  773. package/build/esm/utils/envelope.js.map +1 -1
  774. package/build/esm/utils/error.js +3 -10
  775. package/build/esm/utils/error.js.map +1 -1
  776. package/build/esm/utils/eventUtils.js +0 -8
  777. package/build/esm/utils/eventUtils.js.map +1 -1
  778. package/build/esm/utils/eventbuilder.js +30 -114
  779. package/build/esm/utils/eventbuilder.js.map +1 -1
  780. package/build/esm/utils/exports.js +5 -24
  781. package/build/esm/utils/exports.js.map +1 -1
  782. package/build/esm/utils/featureFlags.js +10 -96
  783. package/build/esm/utils/featureFlags.js.map +1 -1
  784. package/build/esm/utils/flushIfServerless.js +14 -48
  785. package/build/esm/utils/flushIfServerless.js.map +1 -1
  786. package/build/esm/utils/get-default-export.js +1 -25
  787. package/build/esm/utils/get-default-export.js.map +1 -1
  788. package/build/esm/utils/handleCallbackErrors.js +10 -48
  789. package/build/esm/utils/handleCallbackErrors.js.map +1 -1
  790. package/build/esm/utils/hasSpansEnabled.js +4 -28
  791. package/build/esm/utils/hasSpansEnabled.js.map +1 -1
  792. package/build/esm/utils/ipAddress.js +7 -19
  793. package/build/esm/utils/ipAddress.js.map +1 -1
  794. package/build/esm/utils/is.js +18 -163
  795. package/build/esm/utils/is.js.map +1 -1
  796. package/build/esm/utils/isBrowser.js +3 -9
  797. package/build/esm/utils/isBrowser.js.map +1 -1
  798. package/build/esm/utils/isSentryRequestUrl.js +2 -19
  799. package/build/esm/utils/isSentryRequestUrl.js.map +1 -1
  800. package/build/esm/utils/lru.js +13 -24
  801. package/build/esm/utils/lru.js.map +1 -1
  802. package/build/esm/utils/merge.js +1 -17
  803. package/build/esm/utils/merge.js.map +1 -1
  804. package/build/esm/utils/meta.js +1 -24
  805. package/build/esm/utils/meta.js.map +1 -1
  806. package/build/esm/utils/misc.js +31 -134
  807. package/build/esm/utils/misc.js.map +1 -1
  808. package/build/esm/utils/node-stack-trace.js +22 -61
  809. package/build/esm/utils/node-stack-trace.js.map +1 -1
  810. package/build/esm/utils/node.js +3 -48
  811. package/build/esm/utils/node.js.map +1 -1
  812. package/build/esm/utils/normalizationHints.js +5 -18
  813. package/build/esm/utils/normalizationHints.js.map +1 -1
  814. package/build/esm/utils/normalize.js +39 -205
  815. package/build/esm/utils/normalize.js.map +1 -1
  816. package/build/esm/utils/object.js +33 -168
  817. package/build/esm/utils/object.js.map +1 -1
  818. package/build/esm/utils/parameterize.js +2 -21
  819. package/build/esm/utils/parameterize.js.map +1 -1
  820. package/build/esm/utils/parseSampleRate.js +4 -13
  821. package/build/esm/utils/parseSampleRate.js.map +1 -1
  822. package/build/esm/utils/path.js +28 -115
  823. package/build/esm/utils/path.js.map +1 -1
  824. package/build/esm/utils/prepareEvent.js +53 -191
  825. package/build/esm/utils/prepareEvent.js.map +1 -1
  826. package/build/esm/utils/promisebuffer.js +5 -47
  827. package/build/esm/utils/promisebuffer.js.map +1 -1
  828. package/build/esm/utils/propagationContext.js +0 -7
  829. package/build/esm/utils/propagationContext.js.map +1 -1
  830. package/build/esm/utils/randomSafeContext.js +3 -22
  831. package/build/esm/utils/randomSafeContext.js.map +1 -1
  832. package/build/esm/utils/ratelimit.js +13 -66
  833. package/build/esm/utils/ratelimit.js.map +1 -1
  834. package/build/esm/utils/request.js +62 -269
  835. package/build/esm/utils/request.js.map +1 -1
  836. package/build/esm/utils/scopeData.js +15 -79
  837. package/build/esm/utils/scopeData.js.map +1 -1
  838. package/build/esm/utils/sdkMetadata.js +5 -19
  839. package/build/esm/utils/sdkMetadata.js.map +1 -1
  840. package/build/esm/utils/severity.js +1 -9
  841. package/build/esm/utils/severity.js.map +1 -1
  842. package/build/esm/utils/should-ignore-span.js +6 -38
  843. package/build/esm/utils/should-ignore-span.js.map +1 -1
  844. package/build/esm/utils/spanOnScope.js +3 -14
  845. package/build/esm/utils/spanOnScope.js.map +1 -1
  846. package/build/esm/utils/spanUtils.js +42 -222
  847. package/build/esm/utils/spanUtils.js.map +1 -1
  848. package/build/esm/utils/stacktrace.js +19 -106
  849. package/build/esm/utils/stacktrace.js.map +1 -1
  850. package/build/esm/utils/string.js +7 -75
  851. package/build/esm/utils/string.js.map +1 -1
  852. package/build/esm/utils/supports.js +14 -99
  853. package/build/esm/utils/supports.js.map +1 -1
  854. package/build/esm/utils/syncpromise.js +19 -68
  855. package/build/esm/utils/syncpromise.js.map +1 -1
  856. package/build/esm/utils/time.js +7 -84
  857. package/build/esm/utils/time.js.map +1 -1
  858. package/build/esm/utils/timer.js +1 -10
  859. package/build/esm/utils/timer.js.map +1 -1
  860. package/build/esm/utils/timestampSequence.js +5 -21
  861. package/build/esm/utils/timestampSequence.js.map +1 -1
  862. package/build/esm/utils/trace-info.js +3 -10
  863. package/build/esm/utils/trace-info.js.map +1 -1
  864. package/build/esm/utils/traceData.js +4 -39
  865. package/build/esm/utils/traceData.js.map +1 -1
  866. package/build/esm/utils/tracePropagationTargets.js +4 -18
  867. package/build/esm/utils/tracePropagationTargets.js.map +1 -1
  868. package/build/esm/utils/tracing.js +32 -106
  869. package/build/esm/utils/tracing.js.map +1 -1
  870. package/build/esm/utils/transactionEvent.js +11 -19
  871. package/build/esm/utils/transactionEvent.js.map +1 -1
  872. package/build/esm/utils/tunnel.js +12 -33
  873. package/build/esm/utils/tunnel.js.map +1 -1
  874. package/build/esm/utils/url.js +42 -176
  875. package/build/esm/utils/url.js.map +1 -1
  876. package/build/esm/utils/vercelWaitUntil.js +4 -12
  877. package/build/esm/utils/vercelWaitUntil.js.map +1 -1
  878. package/build/esm/utils/version.js +1 -3
  879. package/build/esm/utils/version.js.map +1 -1
  880. package/build/esm/utils/weakRef.js +5 -36
  881. package/build/esm/utils/weakRef.js.map +1 -1
  882. package/build/esm/utils/worldwide.js +1 -4
  883. package/build/esm/utils/worldwide.js.map +1 -1
  884. package/build/esm/vendor/escapeStringForRegex.js +1 -32
  885. package/build/esm/vendor/escapeStringForRegex.js.map +1 -1
  886. package/build/esm/vendor/getIpAddress.js +19 -99
  887. package/build/esm/vendor/getIpAddress.js.map +1 -1
  888. package/build/types/api.d.ts +2 -2
  889. package/build/types/api.d.ts.map +1 -1
  890. package/build/types/attributes.d.ts +5 -8
  891. package/build/types/attributes.d.ts.map +1 -1
  892. package/build/types/breadcrumbs.d.ts +1 -1
  893. package/build/types/breadcrumbs.d.ts.map +1 -1
  894. package/build/types/browser-exports.d.ts +3 -3
  895. package/build/types/browser-exports.d.ts.map +1 -1
  896. package/build/types/carrier.d.ts +2 -2
  897. package/build/types/carrier.d.ts.map +1 -1
  898. package/build/types/checkin.d.ts +4 -4
  899. package/build/types/checkin.d.ts.map +1 -1
  900. package/build/types/client.d.ts +32 -22
  901. package/build/types/client.d.ts.map +1 -1
  902. package/build/types/currentScopes.d.ts +1 -1
  903. package/build/types/currentScopes.d.ts.map +1 -1
  904. package/build/types/envelope.d.ts +7 -7
  905. package/build/types/envelope.d.ts.map +1 -1
  906. package/build/types/eventProcessors.d.ts +2 -2
  907. package/build/types/eventProcessors.d.ts.map +1 -1
  908. package/build/types/exports.d.ts +8 -8
  909. package/build/types/exports.d.ts.map +1 -1
  910. package/build/types/feedback.d.ts +2 -2
  911. package/build/types/feedback.d.ts.map +1 -1
  912. package/build/types/fetch.d.ts +3 -3
  913. package/build/types/fetch.d.ts.map +1 -1
  914. package/build/types/instrument/console.d.ts +1 -1
  915. package/build/types/instrument/console.d.ts.map +1 -1
  916. package/build/types/instrument/fetch.d.ts +1 -1
  917. package/build/types/instrument/fetch.d.ts.map +1 -1
  918. package/build/types/instrument/globalError.d.ts +1 -1
  919. package/build/types/instrument/globalError.d.ts.map +1 -1
  920. package/build/types/instrument/globalUnhandledRejection.d.ts +1 -1
  921. package/build/types/instrument/globalUnhandledRejection.d.ts.map +1 -1
  922. package/build/types/integration.d.ts +2 -2
  923. package/build/types/integration.d.ts.map +1 -1
  924. package/build/types/integrations/consola.d.ts +1 -1
  925. package/build/types/integrations/consola.d.ts.map +1 -1
  926. package/build/types/integrations/console.d.ts +1 -1
  927. package/build/types/integrations/console.d.ts.map +1 -1
  928. package/build/types/integrations/dedupe.d.ts +1 -1
  929. package/build/types/integrations/dedupe.d.ts.map +1 -1
  930. package/build/types/integrations/express/types.d.ts +2 -2
  931. package/build/types/integrations/express/types.d.ts.map +1 -1
  932. package/build/types/integrations/express/utils.d.ts +1 -1
  933. package/build/types/integrations/express/utils.d.ts.map +1 -1
  934. package/build/types/integrations/featureFlags/featureFlagsIntegration.d.ts +1 -1
  935. package/build/types/integrations/featureFlags/featureFlagsIntegration.d.ts.map +1 -1
  936. package/build/types/integrations/featureFlags/growthbook.d.ts +1 -1
  937. package/build/types/integrations/featureFlags/growthbook.d.ts.map +1 -1
  938. package/build/types/integrations/http/double-wrap-warning.d.ts +1 -1
  939. package/build/types/integrations/http/double-wrap-warning.d.ts.map +1 -1
  940. package/build/types/integrations/http/get-outgoing-span-data.d.ts +2 -2
  941. package/build/types/integrations/http/get-outgoing-span-data.d.ts.map +1 -1
  942. package/build/types/integrations/http/patch-request-to-capture-body.d.ts +12 -0
  943. package/build/types/integrations/http/patch-request-to-capture-body.d.ts.map +1 -0
  944. package/build/types/integrations/http/record-request-session.d.ts +18 -0
  945. package/build/types/integrations/http/record-request-session.d.ts.map +1 -0
  946. package/build/types/integrations/http/server-subscription.d.ts +26 -0
  947. package/build/types/integrations/http/server-subscription.d.ts.map +1 -0
  948. package/build/types/integrations/http/types.d.ts +12 -6
  949. package/build/types/integrations/http/types.d.ts.map +1 -1
  950. package/build/types/integrations/mcp-server/correlation.d.ts +1 -1
  951. package/build/types/integrations/mcp-server/correlation.d.ts.map +1 -1
  952. package/build/types/integrations/mcp-server/piiFiltering.d.ts +1 -1
  953. package/build/types/integrations/mcp-server/piiFiltering.d.ts.map +1 -1
  954. package/build/types/integrations/mcp-server/types.d.ts +1 -1
  955. package/build/types/integrations/mcp-server/types.d.ts.map +1 -1
  956. package/build/types/integrations/postgresjs.d.ts +1 -1
  957. package/build/types/integrations/postgresjs.d.ts.map +1 -1
  958. package/build/types/integrations/rewriteframes.d.ts +1 -1
  959. package/build/types/integrations/rewriteframes.d.ts.map +1 -1
  960. package/build/types/integrations/supabase.d.ts +14 -3
  961. package/build/types/integrations/supabase.d.ts.map +1 -1
  962. package/build/types/integrations/third-party-errors-filter.d.ts.map +1 -1
  963. package/build/types/integrations/zoderrors.d.ts +1 -1
  964. package/build/types/integrations/zoderrors.d.ts.map +1 -1
  965. package/build/types/logs/console-integration.d.ts +1 -1
  966. package/build/types/logs/console-integration.d.ts.map +1 -1
  967. package/build/types/logs/constants.d.ts +1 -1
  968. package/build/types/logs/constants.d.ts.map +1 -1
  969. package/build/types/logs/envelope.d.ts +4 -4
  970. package/build/types/logs/envelope.d.ts.map +1 -1
  971. package/build/types/logs/internal.d.ts +16 -1
  972. package/build/types/logs/internal.d.ts.map +1 -1
  973. package/build/types/logs/public-api.d.ts +2 -2
  974. package/build/types/logs/public-api.d.ts.map +1 -1
  975. package/build/types/metadata.d.ts +2 -2
  976. package/build/types/metadata.d.ts.map +1 -1
  977. package/build/types/metrics/envelope.d.ts +4 -4
  978. package/build/types/metrics/envelope.d.ts.map +1 -1
  979. package/build/types/metrics/internal.d.ts +1 -1
  980. package/build/types/metrics/internal.d.ts.map +1 -1
  981. package/build/types/metrics/public-api.d.ts +1 -1
  982. package/build/types/metrics/public-api.d.ts.map +1 -1
  983. package/build/types/profiling.d.ts +1 -1
  984. package/build/types/profiling.d.ts.map +1 -1
  985. package/build/types/report-dialog.d.ts +1 -1
  986. package/build/types/report-dialog.d.ts.map +1 -1
  987. package/build/types/scope.d.ts +14 -14
  988. package/build/types/scope.d.ts.map +1 -1
  989. package/build/types/sdk.d.ts +1 -1
  990. package/build/types/sdk.d.ts.map +1 -1
  991. package/build/types/semanticAttributes.d.ts +2 -0
  992. package/build/types/semanticAttributes.d.ts.map +1 -1
  993. package/build/types/server-exports.d.ts +3 -1
  994. package/build/types/server-exports.d.ts.map +1 -1
  995. package/build/types/server-runtime-client.d.ts +6 -6
  996. package/build/types/server-runtime-client.d.ts.map +1 -1
  997. package/build/types/session.d.ts +1 -1
  998. package/build/types/session.d.ts.map +1 -1
  999. package/build/types/shared-exports.d.ts +58 -53
  1000. package/build/types/shared-exports.d.ts.map +1 -1
  1001. package/build/types/tracing/ai/utils.d.ts +1 -1
  1002. package/build/types/tracing/ai/utils.d.ts.map +1 -1
  1003. package/build/types/tracing/anthropic-ai/streaming.d.ts +1 -1
  1004. package/build/types/tracing/anthropic-ai/streaming.d.ts.map +1 -1
  1005. package/build/types/tracing/anthropic-ai/utils.d.ts +2 -2
  1006. package/build/types/tracing/anthropic-ai/utils.d.ts.map +1 -1
  1007. package/build/types/tracing/dynamicSamplingContext.d.ts +2 -2
  1008. package/build/types/tracing/dynamicSamplingContext.d.ts.map +1 -1
  1009. package/build/types/tracing/google-genai/streaming.d.ts +1 -1
  1010. package/build/types/tracing/google-genai/streaming.d.ts.map +1 -1
  1011. package/build/types/tracing/idleSpan.d.ts +2 -2
  1012. package/build/types/tracing/idleSpan.d.ts.map +1 -1
  1013. package/build/types/tracing/langchain/utils.d.ts +6 -1
  1014. package/build/types/tracing/langchain/utils.d.ts.map +1 -1
  1015. package/build/types/tracing/langgraph/index.d.ts.map +1 -1
  1016. package/build/types/tracing/langgraph/utils.d.ts +1 -3
  1017. package/build/types/tracing/langgraph/utils.d.ts.map +1 -1
  1018. package/build/types/tracing/logSpans.d.ts +1 -1
  1019. package/build/types/tracing/logSpans.d.ts.map +1 -1
  1020. package/build/types/tracing/measurement.d.ts +2 -2
  1021. package/build/types/tracing/measurement.d.ts.map +1 -1
  1022. package/build/types/tracing/openai/streaming.d.ts +1 -1
  1023. package/build/types/tracing/openai/streaming.d.ts.map +1 -1
  1024. package/build/types/tracing/openai/utils.d.ts +1 -1
  1025. package/build/types/tracing/openai/utils.d.ts.map +1 -1
  1026. package/build/types/tracing/sampling.d.ts +2 -2
  1027. package/build/types/tracing/sampling.d.ts.map +1 -1
  1028. package/build/types/tracing/sentryNonRecordingSpan.d.ts +3 -3
  1029. package/build/types/tracing/sentryNonRecordingSpan.d.ts.map +1 -1
  1030. package/build/types/tracing/sentrySpan.d.ts +4 -4
  1031. package/build/types/tracing/sentrySpan.d.ts.map +1 -1
  1032. package/build/types/tracing/spans/beforeSendSpan.d.ts +3 -3
  1033. package/build/types/tracing/spans/beforeSendSpan.d.ts.map +1 -1
  1034. package/build/types/tracing/spans/captureSpan.d.ts +1 -1
  1035. package/build/types/tracing/spans/captureSpan.d.ts.map +1 -1
  1036. package/build/types/tracing/spans/envelope.d.ts +2 -2
  1037. package/build/types/tracing/spans/envelope.d.ts.map +1 -1
  1038. package/build/types/tracing/spans/estimateSize.d.ts +1 -1
  1039. package/build/types/tracing/spans/estimateSize.d.ts.map +1 -1
  1040. package/build/types/tracing/spans/extractGenAiSpans.d.ts +2 -2
  1041. package/build/types/tracing/spans/extractGenAiSpans.d.ts.map +1 -1
  1042. package/build/types/tracing/spans/scopeContextAttributes.d.ts +9 -0
  1043. package/build/types/tracing/spans/scopeContextAttributes.d.ts.map +1 -0
  1044. package/build/types/tracing/spans/spanJsonToStreamedSpan.d.ts +1 -1
  1045. package/build/types/tracing/spans/spanJsonToStreamedSpan.d.ts.map +1 -1
  1046. package/build/types/tracing/spanstatus.d.ts +2 -2
  1047. package/build/types/tracing/spanstatus.d.ts.map +1 -1
  1048. package/build/types/tracing/trace.d.ts +2 -2
  1049. package/build/types/tracing/trace.d.ts.map +1 -1
  1050. package/build/types/tracing/utils.d.ts +1 -1
  1051. package/build/types/tracing/utils.d.ts.map +1 -1
  1052. package/build/types/tracing/vercel-ai/utils.d.ts +2 -2
  1053. package/build/types/tracing/vercel-ai/utils.d.ts.map +1 -1
  1054. package/build/types/transports/base.d.ts +1 -1
  1055. package/build/types/transports/base.d.ts.map +1 -1
  1056. package/build/types/transports/multiplexed.d.ts +3 -3
  1057. package/build/types/transports/multiplexed.d.ts.map +1 -1
  1058. package/build/types/transports/offline.d.ts +2 -2
  1059. package/build/types/transports/offline.d.ts.map +1 -1
  1060. package/build/types/transports/userAgent.d.ts +1 -1
  1061. package/build/types/transports/userAgent.d.ts.map +1 -1
  1062. package/build/types/trpc.d.ts.map +1 -1
  1063. package/build/types/types/attachment.d.ts.map +1 -0
  1064. package/build/types/types/breadcrumb.d.ts.map +1 -0
  1065. package/build/types/types/browseroptions.d.ts.map +1 -0
  1066. package/build/types/types/checkin.d.ts.map +1 -0
  1067. package/build/types/types/clientreport.d.ts.map +1 -0
  1068. package/build/types/types/context.d.ts.map +1 -0
  1069. package/build/types/types/csp.d.ts.map +1 -0
  1070. package/build/types/types/datacategory.d.ts.map +1 -0
  1071. package/build/types/types/datacollection.d.ts +75 -0
  1072. package/build/types/types/datacollection.d.ts.map +1 -0
  1073. package/build/types/types/debugMeta.d.ts.map +1 -0
  1074. package/build/types/types/dsn.d.ts.map +1 -0
  1075. package/build/types/types/envelope.d.ts.map +1 -0
  1076. package/build/types/types/error.d.ts.map +1 -0
  1077. package/build/types/types/event.d.ts.map +1 -0
  1078. package/build/types/types/eventprocessor.d.ts.map +1 -0
  1079. package/build/types/types/exception.d.ts.map +1 -0
  1080. package/build/types/types/extra.d.ts.map +1 -0
  1081. package/build/types/types/feedback/config.d.ts.map +1 -0
  1082. package/build/types/types/feedback/form.d.ts.map +1 -0
  1083. package/build/types/types/feedback/index.d.ts.map +1 -0
  1084. package/build/types/types/feedback/sendFeedback.d.ts.map +1 -0
  1085. package/build/types/types/feedback/theme.d.ts.map +1 -0
  1086. package/build/types/types/instrument.d.ts.map +1 -0
  1087. package/build/types/types/integration.d.ts.map +1 -0
  1088. package/build/types/types/link.d.ts.map +1 -0
  1089. package/build/types/types/log.d.ts.map +1 -0
  1090. package/build/types/types/measurement.d.ts.map +1 -0
  1091. package/build/types/types/mechanism.d.ts.map +1 -0
  1092. package/build/types/types/metric.d.ts.map +1 -0
  1093. package/build/types/types/misc.d.ts.map +1 -0
  1094. package/build/types/types/opentelemetry.d.ts.map +1 -0
  1095. package/build/types/{types-hoist → types}/options.d.ts +17 -0
  1096. package/build/types/types/options.d.ts.map +1 -0
  1097. package/build/types/types/package.d.ts.map +1 -0
  1098. package/build/types/types/parameterize.d.ts.map +1 -0
  1099. package/build/types/types/polymorphics.d.ts.map +1 -0
  1100. package/build/types/types/profiling.d.ts.map +1 -0
  1101. package/build/types/types/replay.d.ts.map +1 -0
  1102. package/build/types/types/request.d.ts.map +1 -0
  1103. package/build/types/types/runtime.d.ts.map +1 -0
  1104. package/build/types/{types-hoist → types}/samplingcontext.d.ts +1 -1
  1105. package/build/types/types/samplingcontext.d.ts.map +1 -0
  1106. package/build/types/types/sdkinfo.d.ts.map +1 -0
  1107. package/build/types/types/sdkmetadata.d.ts.map +1 -0
  1108. package/build/types/types/session.d.ts.map +1 -0
  1109. package/build/types/types/severity.d.ts.map +1 -0
  1110. package/build/types/types/span.d.ts.map +1 -0
  1111. package/build/types/types/spanStatus.d.ts.map +1 -0
  1112. package/build/types/types/stackframe.d.ts.map +1 -0
  1113. package/build/types/types/stacktrace.d.ts.map +1 -0
  1114. package/build/types/{types-hoist → types}/startSpanOptions.d.ts +13 -0
  1115. package/build/types/types/startSpanOptions.d.ts.map +1 -0
  1116. package/build/types/types/thread.d.ts.map +1 -0
  1117. package/build/types/types/timedEvent.d.ts.map +1 -0
  1118. package/build/types/types/tracing.d.ts.map +1 -0
  1119. package/build/types/types/transaction.d.ts.map +1 -0
  1120. package/build/types/types/transport.d.ts.map +1 -0
  1121. package/build/types/types/user.d.ts.map +1 -0
  1122. package/build/types/types/view-hierarchy.d.ts.map +1 -0
  1123. package/build/types/types/vue.d.ts.map +1 -0
  1124. package/build/types/types/webfetchapi.d.ts.map +1 -0
  1125. package/build/types/types/wrappedfunction.d.ts.map +1 -0
  1126. package/build/types/utils/aggregate-errors.d.ts +3 -3
  1127. package/build/types/utils/aggregate-errors.d.ts.map +1 -1
  1128. package/build/types/utils/anr.d.ts +1 -1
  1129. package/build/types/utils/anr.d.ts.map +1 -1
  1130. package/build/types/utils/baggage.d.ts +1 -1
  1131. package/build/types/utils/baggage.d.ts.map +1 -1
  1132. package/build/types/utils/breadcrumb-log-level.d.ts +1 -1
  1133. package/build/types/utils/breadcrumb-log-level.d.ts.map +1 -1
  1134. package/build/types/utils/clientreport.d.ts +2 -2
  1135. package/build/types/utils/clientreport.d.ts.map +1 -1
  1136. package/build/types/utils/data-collection/defaultPiiToCollectionOptions.d.ts +6 -0
  1137. package/build/types/utils/data-collection/defaultPiiToCollectionOptions.d.ts.map +1 -0
  1138. package/build/types/utils/data-collection/filterCookies.d.ts +9 -0
  1139. package/build/types/utils/data-collection/filterCookies.d.ts.map +1 -0
  1140. package/build/types/utils/data-collection/filterKeyValueData.d.ts +11 -0
  1141. package/build/types/utils/data-collection/filterKeyValueData.d.ts.map +1 -0
  1142. package/build/types/utils/data-collection/filterQueryParams.d.ts +9 -0
  1143. package/build/types/utils/data-collection/filterQueryParams.d.ts.map +1 -0
  1144. package/build/types/utils/data-collection/filtering-snippets.d.ts +14 -0
  1145. package/build/types/utils/data-collection/filtering-snippets.d.ts.map +1 -0
  1146. package/build/types/utils/data-collection/resolveDataCollectionOptions.d.ts +14 -0
  1147. package/build/types/utils/data-collection/resolveDataCollectionOptions.d.ts.map +1 -0
  1148. package/build/types/utils/debug-ids.d.ts +2 -2
  1149. package/build/types/utils/debug-ids.d.ts.map +1 -1
  1150. package/build/types/utils/debug-logger.d.ts +1 -1
  1151. package/build/types/utils/debug-logger.d.ts.map +1 -1
  1152. package/build/types/utils/dsn.d.ts +1 -1
  1153. package/build/types/utils/dsn.d.ts.map +1 -1
  1154. package/build/types/utils/env.d.ts.map +1 -1
  1155. package/build/types/utils/envelope.d.ts +8 -8
  1156. package/build/types/utils/envelope.d.ts.map +1 -1
  1157. package/build/types/utils/error.d.ts +1 -1
  1158. package/build/types/utils/error.d.ts.map +1 -1
  1159. package/build/types/utils/eventUtils.d.ts +1 -1
  1160. package/build/types/utils/eventUtils.d.ts.map +1 -1
  1161. package/build/types/utils/eventbuilder.d.ts +6 -6
  1162. package/build/types/utils/eventbuilder.d.ts.map +1 -1
  1163. package/build/types/utils/featureFlags.d.ts +1 -1
  1164. package/build/types/utils/featureFlags.d.ts.map +1 -1
  1165. package/build/types/utils/hasSpansEnabled.d.ts +1 -1
  1166. package/build/types/utils/hasSpansEnabled.d.ts.map +1 -1
  1167. package/build/types/utils/ipAddress.d.ts +2 -2
  1168. package/build/types/utils/ipAddress.d.ts.map +1 -1
  1169. package/build/types/utils/is.d.ts +4 -4
  1170. package/build/types/utils/is.d.ts.map +1 -1
  1171. package/build/types/utils/meta.d.ts +1 -1
  1172. package/build/types/utils/meta.d.ts.map +1 -1
  1173. package/build/types/utils/misc.d.ts +3 -3
  1174. package/build/types/utils/misc.d.ts.map +1 -1
  1175. package/build/types/utils/node-stack-trace.d.ts +1 -1
  1176. package/build/types/utils/node-stack-trace.d.ts.map +1 -1
  1177. package/build/types/utils/object.d.ts +1 -1
  1178. package/build/types/utils/object.d.ts.map +1 -1
  1179. package/build/types/utils/parameterize.d.ts +1 -1
  1180. package/build/types/utils/parameterize.d.ts.map +1 -1
  1181. package/build/types/utils/prepareEvent.d.ts +3 -3
  1182. package/build/types/utils/prepareEvent.d.ts.map +1 -1
  1183. package/build/types/utils/ratelimit.d.ts +2 -2
  1184. package/build/types/utils/ratelimit.d.ts.map +1 -1
  1185. package/build/types/utils/request.d.ts +3 -3
  1186. package/build/types/utils/request.d.ts.map +1 -1
  1187. package/build/types/utils/scopeData.d.ts +1 -1
  1188. package/build/types/utils/scopeData.d.ts.map +1 -1
  1189. package/build/types/utils/sdkMetadata.d.ts +1 -1
  1190. package/build/types/utils/sdkMetadata.d.ts.map +1 -1
  1191. package/build/types/utils/severity.d.ts +1 -1
  1192. package/build/types/utils/severity.d.ts.map +1 -1
  1193. package/build/types/utils/should-ignore-span.d.ts +2 -2
  1194. package/build/types/utils/should-ignore-span.d.ts.map +1 -1
  1195. package/build/types/utils/spanOnScope.d.ts +1 -1
  1196. package/build/types/utils/spanOnScope.d.ts.map +1 -1
  1197. package/build/types/utils/spanUtils.d.ts +4 -4
  1198. package/build/types/utils/spanUtils.d.ts.map +1 -1
  1199. package/build/types/utils/stacktrace.d.ts +4 -4
  1200. package/build/types/utils/stacktrace.d.ts.map +1 -1
  1201. package/build/types/utils/trace-info.d.ts +2 -2
  1202. package/build/types/utils/trace-info.d.ts.map +1 -1
  1203. package/build/types/utils/traceData.d.ts +2 -2
  1204. package/build/types/utils/traceData.d.ts.map +1 -1
  1205. package/build/types/utils/tracePropagationTargets.d.ts +1 -1
  1206. package/build/types/utils/tracePropagationTargets.d.ts.map +1 -1
  1207. package/build/types/utils/tracing.d.ts +2 -2
  1208. package/build/types/utils/tracing.d.ts.map +1 -1
  1209. package/build/types/utils/transactionEvent.d.ts +2 -2
  1210. package/build/types/utils/transactionEvent.d.ts.map +1 -1
  1211. package/build/types/utils/url.d.ts +1 -1
  1212. package/build/types/utils/url.d.ts.map +1 -1
  1213. package/build/types/utils/worldwide.d.ts +1 -0
  1214. package/build/types/utils/worldwide.d.ts.map +1 -1
  1215. package/build/types-ts3.8/api.d.ts +2 -2
  1216. package/build/types-ts3.8/attributes.d.ts +5 -8
  1217. package/build/types-ts3.8/breadcrumbs.d.ts +1 -1
  1218. package/build/types-ts3.8/browser-exports.d.ts +3 -3
  1219. package/build/types-ts3.8/carrier.d.ts +2 -2
  1220. package/build/types-ts3.8/checkin.d.ts +4 -4
  1221. package/build/types-ts3.8/client.d.ts +32 -22
  1222. package/build/types-ts3.8/currentScopes.d.ts +1 -1
  1223. package/build/types-ts3.8/envelope.d.ts +7 -7
  1224. package/build/types-ts3.8/eventProcessors.d.ts +2 -2
  1225. package/build/types-ts3.8/exports.d.ts +8 -8
  1226. package/build/types-ts3.8/feedback.d.ts +2 -2
  1227. package/build/types-ts3.8/fetch.d.ts +3 -3
  1228. package/build/types-ts3.8/instrument/console.d.ts +1 -1
  1229. package/build/types-ts3.8/instrument/fetch.d.ts +1 -1
  1230. package/build/types-ts3.8/instrument/globalError.d.ts +1 -1
  1231. package/build/types-ts3.8/instrument/globalUnhandledRejection.d.ts +1 -1
  1232. package/build/types-ts3.8/integration.d.ts +2 -2
  1233. package/build/types-ts3.8/integrations/consola.d.ts +1 -1
  1234. package/build/types-ts3.8/integrations/console.d.ts +1 -1
  1235. package/build/types-ts3.8/integrations/dedupe.d.ts +1 -1
  1236. package/build/types-ts3.8/integrations/express/types.d.ts +2 -2
  1237. package/build/types-ts3.8/integrations/express/utils.d.ts +1 -1
  1238. package/build/types-ts3.8/integrations/featureFlags/featureFlagsIntegration.d.ts +1 -1
  1239. package/build/types-ts3.8/integrations/featureFlags/growthbook.d.ts +1 -1
  1240. package/build/types-ts3.8/integrations/http/double-wrap-warning.d.ts +1 -1
  1241. package/build/types-ts3.8/integrations/http/get-outgoing-span-data.d.ts +2 -2
  1242. package/build/types-ts3.8/integrations/http/patch-request-to-capture-body.d.ts +12 -0
  1243. package/build/types-ts3.8/integrations/http/record-request-session.d.ts +18 -0
  1244. package/build/types-ts3.8/integrations/http/server-subscription.d.ts +26 -0
  1245. package/build/types-ts3.8/integrations/http/types.d.ts +12 -6
  1246. package/build/types-ts3.8/integrations/mcp-server/correlation.d.ts +1 -1
  1247. package/build/types-ts3.8/integrations/mcp-server/piiFiltering.d.ts +1 -1
  1248. package/build/types-ts3.8/integrations/mcp-server/types.d.ts +1 -1
  1249. package/build/types-ts3.8/integrations/postgresjs.d.ts +1 -1
  1250. package/build/types-ts3.8/integrations/rewriteframes.d.ts +1 -1
  1251. package/build/types-ts3.8/integrations/supabase.d.ts +14 -3
  1252. package/build/types-ts3.8/integrations/zoderrors.d.ts +1 -1
  1253. package/build/types-ts3.8/logs/console-integration.d.ts +1 -1
  1254. package/build/types-ts3.8/logs/constants.d.ts +1 -1
  1255. package/build/types-ts3.8/logs/envelope.d.ts +4 -4
  1256. package/build/types-ts3.8/logs/internal.d.ts +16 -1
  1257. package/build/types-ts3.8/logs/public-api.d.ts +2 -2
  1258. package/build/types-ts3.8/metadata.d.ts +2 -2
  1259. package/build/types-ts3.8/metrics/envelope.d.ts +4 -4
  1260. package/build/types-ts3.8/metrics/internal.d.ts +1 -1
  1261. package/build/types-ts3.8/metrics/public-api.d.ts +1 -1
  1262. package/build/types-ts3.8/profiling.d.ts +1 -1
  1263. package/build/types-ts3.8/report-dialog.d.ts +1 -1
  1264. package/build/types-ts3.8/scope.d.ts +14 -14
  1265. package/build/types-ts3.8/sdk.d.ts +1 -1
  1266. package/build/types-ts3.8/semanticAttributes.d.ts +2 -0
  1267. package/build/types-ts3.8/server-exports.d.ts +3 -1
  1268. package/build/types-ts3.8/server-runtime-client.d.ts +6 -6
  1269. package/build/types-ts3.8/session.d.ts +1 -1
  1270. package/build/types-ts3.8/shared-exports.d.ts +58 -53
  1271. package/build/types-ts3.8/tracing/ai/utils.d.ts +1 -1
  1272. package/build/types-ts3.8/tracing/anthropic-ai/streaming.d.ts +1 -1
  1273. package/build/types-ts3.8/tracing/anthropic-ai/utils.d.ts +2 -2
  1274. package/build/types-ts3.8/tracing/dynamicSamplingContext.d.ts +2 -2
  1275. package/build/types-ts3.8/tracing/google-genai/streaming.d.ts +1 -1
  1276. package/build/types-ts3.8/tracing/idleSpan.d.ts +2 -2
  1277. package/build/types-ts3.8/tracing/langchain/utils.d.ts +6 -1
  1278. package/build/types-ts3.8/tracing/langgraph/utils.d.ts +1 -3
  1279. package/build/types-ts3.8/tracing/logSpans.d.ts +1 -1
  1280. package/build/types-ts3.8/tracing/measurement.d.ts +2 -2
  1281. package/build/types-ts3.8/tracing/openai/streaming.d.ts +1 -1
  1282. package/build/types-ts3.8/tracing/openai/utils.d.ts +1 -1
  1283. package/build/types-ts3.8/tracing/sampling.d.ts +2 -2
  1284. package/build/types-ts3.8/tracing/sentryNonRecordingSpan.d.ts +3 -3
  1285. package/build/types-ts3.8/tracing/sentrySpan.d.ts +4 -4
  1286. package/build/types-ts3.8/tracing/spans/beforeSendSpan.d.ts +3 -3
  1287. package/build/types-ts3.8/tracing/spans/captureSpan.d.ts +1 -1
  1288. package/build/types-ts3.8/tracing/spans/envelope.d.ts +2 -2
  1289. package/build/types-ts3.8/tracing/spans/estimateSize.d.ts +1 -1
  1290. package/build/types-ts3.8/tracing/spans/extractGenAiSpans.d.ts +2 -2
  1291. package/build/types-ts3.8/tracing/spans/scopeContextAttributes.d.ts +9 -0
  1292. package/build/types-ts3.8/tracing/spans/spanJsonToStreamedSpan.d.ts +1 -1
  1293. package/build/types-ts3.8/tracing/spanstatus.d.ts +2 -2
  1294. package/build/types-ts3.8/tracing/trace.d.ts +2 -2
  1295. package/build/types-ts3.8/tracing/utils.d.ts +1 -1
  1296. package/build/types-ts3.8/tracing/vercel-ai/utils.d.ts +2 -2
  1297. package/build/types-ts3.8/transports/base.d.ts +1 -1
  1298. package/build/types-ts3.8/transports/multiplexed.d.ts +3 -3
  1299. package/build/types-ts3.8/transports/offline.d.ts +2 -2
  1300. package/build/types-ts3.8/transports/userAgent.d.ts +1 -1
  1301. package/build/types-ts3.8/types/datacollection.d.ts +75 -0
  1302. package/build/types-ts3.8/{types-hoist → types}/options.d.ts +17 -0
  1303. package/build/types-ts3.8/{types-hoist → types}/samplingcontext.d.ts +1 -1
  1304. package/build/types-ts3.8/{types-hoist → types}/startSpanOptions.d.ts +13 -0
  1305. package/build/types-ts3.8/utils/aggregate-errors.d.ts +3 -3
  1306. package/build/types-ts3.8/utils/anr.d.ts +1 -1
  1307. package/build/types-ts3.8/utils/baggage.d.ts +1 -1
  1308. package/build/types-ts3.8/utils/breadcrumb-log-level.d.ts +1 -1
  1309. package/build/types-ts3.8/utils/clientreport.d.ts +2 -2
  1310. package/build/types-ts3.8/utils/data-collection/defaultPiiToCollectionOptions.d.ts +6 -0
  1311. package/build/types-ts3.8/utils/data-collection/filterCookies.d.ts +9 -0
  1312. package/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +11 -0
  1313. package/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +9 -0
  1314. package/build/types-ts3.8/utils/data-collection/filtering-snippets.d.ts +14 -0
  1315. package/build/types-ts3.8/utils/data-collection/resolveDataCollectionOptions.d.ts +14 -0
  1316. package/build/types-ts3.8/utils/debug-ids.d.ts +2 -2
  1317. package/build/types-ts3.8/utils/debug-logger.d.ts +1 -1
  1318. package/build/types-ts3.8/utils/dsn.d.ts +1 -1
  1319. package/build/types-ts3.8/utils/envelope.d.ts +8 -8
  1320. package/build/types-ts3.8/utils/error.d.ts +1 -1
  1321. package/build/types-ts3.8/utils/eventUtils.d.ts +1 -1
  1322. package/build/types-ts3.8/utils/eventbuilder.d.ts +6 -6
  1323. package/build/types-ts3.8/utils/featureFlags.d.ts +1 -1
  1324. package/build/types-ts3.8/utils/hasSpansEnabled.d.ts +1 -1
  1325. package/build/types-ts3.8/utils/ipAddress.d.ts +2 -2
  1326. package/build/types-ts3.8/utils/is.d.ts +4 -4
  1327. package/build/types-ts3.8/utils/meta.d.ts +1 -1
  1328. package/build/types-ts3.8/utils/misc.d.ts +3 -3
  1329. package/build/types-ts3.8/utils/node-stack-trace.d.ts +1 -1
  1330. package/build/types-ts3.8/utils/object.d.ts +1 -1
  1331. package/build/types-ts3.8/utils/parameterize.d.ts +1 -1
  1332. package/build/types-ts3.8/utils/prepareEvent.d.ts +3 -3
  1333. package/build/types-ts3.8/utils/ratelimit.d.ts +2 -2
  1334. package/build/types-ts3.8/utils/request.d.ts +3 -3
  1335. package/build/types-ts3.8/utils/scopeData.d.ts +1 -1
  1336. package/build/types-ts3.8/utils/sdkMetadata.d.ts +1 -1
  1337. package/build/types-ts3.8/utils/severity.d.ts +1 -1
  1338. package/build/types-ts3.8/utils/should-ignore-span.d.ts +2 -2
  1339. package/build/types-ts3.8/utils/spanOnScope.d.ts +1 -1
  1340. package/build/types-ts3.8/utils/spanUtils.d.ts +4 -4
  1341. package/build/types-ts3.8/utils/stacktrace.d.ts +4 -4
  1342. package/build/types-ts3.8/utils/trace-info.d.ts +2 -2
  1343. package/build/types-ts3.8/utils/traceData.d.ts +2 -2
  1344. package/build/types-ts3.8/utils/tracePropagationTargets.d.ts +1 -1
  1345. package/build/types-ts3.8/utils/tracing.d.ts +2 -2
  1346. package/build/types-ts3.8/utils/transactionEvent.d.ts +2 -2
  1347. package/build/types-ts3.8/utils/url.d.ts +1 -1
  1348. package/build/types-ts3.8/utils/worldwide.d.ts +1 -0
  1349. package/package.json +1 -1
  1350. package/build/types/types-hoist/attachment.d.ts.map +0 -1
  1351. package/build/types/types-hoist/breadcrumb.d.ts.map +0 -1
  1352. package/build/types/types-hoist/browseroptions.d.ts.map +0 -1
  1353. package/build/types/types-hoist/checkin.d.ts.map +0 -1
  1354. package/build/types/types-hoist/clientreport.d.ts.map +0 -1
  1355. package/build/types/types-hoist/context.d.ts.map +0 -1
  1356. package/build/types/types-hoist/csp.d.ts.map +0 -1
  1357. package/build/types/types-hoist/datacategory.d.ts.map +0 -1
  1358. package/build/types/types-hoist/debugMeta.d.ts.map +0 -1
  1359. package/build/types/types-hoist/dsn.d.ts.map +0 -1
  1360. package/build/types/types-hoist/envelope.d.ts.map +0 -1
  1361. package/build/types/types-hoist/error.d.ts.map +0 -1
  1362. package/build/types/types-hoist/event.d.ts.map +0 -1
  1363. package/build/types/types-hoist/eventprocessor.d.ts.map +0 -1
  1364. package/build/types/types-hoist/exception.d.ts.map +0 -1
  1365. package/build/types/types-hoist/extra.d.ts.map +0 -1
  1366. package/build/types/types-hoist/feedback/config.d.ts.map +0 -1
  1367. package/build/types/types-hoist/feedback/form.d.ts.map +0 -1
  1368. package/build/types/types-hoist/feedback/index.d.ts.map +0 -1
  1369. package/build/types/types-hoist/feedback/sendFeedback.d.ts.map +0 -1
  1370. package/build/types/types-hoist/feedback/theme.d.ts.map +0 -1
  1371. package/build/types/types-hoist/instrument.d.ts.map +0 -1
  1372. package/build/types/types-hoist/integration.d.ts.map +0 -1
  1373. package/build/types/types-hoist/link.d.ts.map +0 -1
  1374. package/build/types/types-hoist/log.d.ts.map +0 -1
  1375. package/build/types/types-hoist/measurement.d.ts.map +0 -1
  1376. package/build/types/types-hoist/mechanism.d.ts.map +0 -1
  1377. package/build/types/types-hoist/metric.d.ts.map +0 -1
  1378. package/build/types/types-hoist/misc.d.ts.map +0 -1
  1379. package/build/types/types-hoist/opentelemetry.d.ts.map +0 -1
  1380. package/build/types/types-hoist/options.d.ts.map +0 -1
  1381. package/build/types/types-hoist/package.d.ts.map +0 -1
  1382. package/build/types/types-hoist/parameterize.d.ts.map +0 -1
  1383. package/build/types/types-hoist/polymorphics.d.ts.map +0 -1
  1384. package/build/types/types-hoist/profiling.d.ts.map +0 -1
  1385. package/build/types/types-hoist/replay.d.ts.map +0 -1
  1386. package/build/types/types-hoist/request.d.ts.map +0 -1
  1387. package/build/types/types-hoist/runtime.d.ts.map +0 -1
  1388. package/build/types/types-hoist/samplingcontext.d.ts.map +0 -1
  1389. package/build/types/types-hoist/sdkinfo.d.ts.map +0 -1
  1390. package/build/types/types-hoist/sdkmetadata.d.ts.map +0 -1
  1391. package/build/types/types-hoist/session.d.ts.map +0 -1
  1392. package/build/types/types-hoist/severity.d.ts.map +0 -1
  1393. package/build/types/types-hoist/span.d.ts.map +0 -1
  1394. package/build/types/types-hoist/spanStatus.d.ts.map +0 -1
  1395. package/build/types/types-hoist/stackframe.d.ts.map +0 -1
  1396. package/build/types/types-hoist/stacktrace.d.ts.map +0 -1
  1397. package/build/types/types-hoist/startSpanOptions.d.ts.map +0 -1
  1398. package/build/types/types-hoist/thread.d.ts.map +0 -1
  1399. package/build/types/types-hoist/timedEvent.d.ts.map +0 -1
  1400. package/build/types/types-hoist/tracing.d.ts.map +0 -1
  1401. package/build/types/types-hoist/transaction.d.ts.map +0 -1
  1402. package/build/types/types-hoist/transport.d.ts.map +0 -1
  1403. package/build/types/types-hoist/user.d.ts.map +0 -1
  1404. package/build/types/types-hoist/view-hierarchy.d.ts.map +0 -1
  1405. package/build/types/types-hoist/vue.d.ts.map +0 -1
  1406. package/build/types/types-hoist/webfetchapi.d.ts.map +0 -1
  1407. package/build/types/types-hoist/wrappedfunction.d.ts.map +0 -1
  1408. /package/build/types/{types-hoist → types}/attachment.d.ts +0 -0
  1409. /package/build/types/{types-hoist → types}/breadcrumb.d.ts +0 -0
  1410. /package/build/types/{types-hoist → types}/browseroptions.d.ts +0 -0
  1411. /package/build/types/{types-hoist → types}/checkin.d.ts +0 -0
  1412. /package/build/types/{types-hoist → types}/clientreport.d.ts +0 -0
  1413. /package/build/types/{types-hoist → types}/context.d.ts +0 -0
  1414. /package/build/types/{types-hoist → types}/csp.d.ts +0 -0
  1415. /package/build/types/{types-hoist → types}/datacategory.d.ts +0 -0
  1416. /package/build/types/{types-hoist → types}/debugMeta.d.ts +0 -0
  1417. /package/build/types/{types-hoist → types}/dsn.d.ts +0 -0
  1418. /package/build/types/{types-hoist → types}/envelope.d.ts +0 -0
  1419. /package/build/types/{types-hoist → types}/error.d.ts +0 -0
  1420. /package/build/types/{types-hoist → types}/event.d.ts +0 -0
  1421. /package/build/types/{types-hoist → types}/eventprocessor.d.ts +0 -0
  1422. /package/build/types/{types-hoist → types}/exception.d.ts +0 -0
  1423. /package/build/types/{types-hoist → types}/extra.d.ts +0 -0
  1424. /package/build/types/{types-hoist → types}/feedback/config.d.ts +0 -0
  1425. /package/build/types/{types-hoist → types}/feedback/form.d.ts +0 -0
  1426. /package/build/types/{types-hoist → types}/feedback/index.d.ts +0 -0
  1427. /package/build/types/{types-hoist → types}/feedback/sendFeedback.d.ts +0 -0
  1428. /package/build/types/{types-hoist → types}/feedback/theme.d.ts +0 -0
  1429. /package/build/types/{types-hoist → types}/instrument.d.ts +0 -0
  1430. /package/build/types/{types-hoist → types}/integration.d.ts +0 -0
  1431. /package/build/types/{types-hoist → types}/link.d.ts +0 -0
  1432. /package/build/types/{types-hoist → types}/log.d.ts +0 -0
  1433. /package/build/types/{types-hoist → types}/measurement.d.ts +0 -0
  1434. /package/build/types/{types-hoist → types}/mechanism.d.ts +0 -0
  1435. /package/build/types/{types-hoist → types}/metric.d.ts +0 -0
  1436. /package/build/types/{types-hoist → types}/misc.d.ts +0 -0
  1437. /package/build/types/{types-hoist → types}/opentelemetry.d.ts +0 -0
  1438. /package/build/types/{types-hoist → types}/package.d.ts +0 -0
  1439. /package/build/types/{types-hoist → types}/parameterize.d.ts +0 -0
  1440. /package/build/types/{types-hoist → types}/polymorphics.d.ts +0 -0
  1441. /package/build/types/{types-hoist → types}/profiling.d.ts +0 -0
  1442. /package/build/types/{types-hoist → types}/replay.d.ts +0 -0
  1443. /package/build/types/{types-hoist → types}/request.d.ts +0 -0
  1444. /package/build/types/{types-hoist → types}/runtime.d.ts +0 -0
  1445. /package/build/types/{types-hoist → types}/sdkinfo.d.ts +0 -0
  1446. /package/build/types/{types-hoist → types}/sdkmetadata.d.ts +0 -0
  1447. /package/build/types/{types-hoist → types}/session.d.ts +0 -0
  1448. /package/build/types/{types-hoist → types}/severity.d.ts +0 -0
  1449. /package/build/types/{types-hoist → types}/span.d.ts +0 -0
  1450. /package/build/types/{types-hoist → types}/spanStatus.d.ts +0 -0
  1451. /package/build/types/{types-hoist → types}/stackframe.d.ts +0 -0
  1452. /package/build/types/{types-hoist → types}/stacktrace.d.ts +0 -0
  1453. /package/build/types/{types-hoist → types}/thread.d.ts +0 -0
  1454. /package/build/types/{types-hoist → types}/timedEvent.d.ts +0 -0
  1455. /package/build/types/{types-hoist → types}/tracing.d.ts +0 -0
  1456. /package/build/types/{types-hoist → types}/transaction.d.ts +0 -0
  1457. /package/build/types/{types-hoist → types}/transport.d.ts +0 -0
  1458. /package/build/types/{types-hoist → types}/user.d.ts +0 -0
  1459. /package/build/types/{types-hoist → types}/view-hierarchy.d.ts +0 -0
  1460. /package/build/types/{types-hoist → types}/vue.d.ts +0 -0
  1461. /package/build/types/{types-hoist → types}/webfetchapi.d.ts +0 -0
  1462. /package/build/types/{types-hoist → types}/wrappedfunction.d.ts +0 -0
  1463. /package/build/types-ts3.8/{types-hoist → types}/attachment.d.ts +0 -0
  1464. /package/build/types-ts3.8/{types-hoist → types}/breadcrumb.d.ts +0 -0
  1465. /package/build/types-ts3.8/{types-hoist → types}/browseroptions.d.ts +0 -0
  1466. /package/build/types-ts3.8/{types-hoist → types}/checkin.d.ts +0 -0
  1467. /package/build/types-ts3.8/{types-hoist → types}/clientreport.d.ts +0 -0
  1468. /package/build/types-ts3.8/{types-hoist → types}/context.d.ts +0 -0
  1469. /package/build/types-ts3.8/{types-hoist → types}/csp.d.ts +0 -0
  1470. /package/build/types-ts3.8/{types-hoist → types}/datacategory.d.ts +0 -0
  1471. /package/build/types-ts3.8/{types-hoist → types}/debugMeta.d.ts +0 -0
  1472. /package/build/types-ts3.8/{types-hoist → types}/dsn.d.ts +0 -0
  1473. /package/build/types-ts3.8/{types-hoist → types}/envelope.d.ts +0 -0
  1474. /package/build/types-ts3.8/{types-hoist → types}/error.d.ts +0 -0
  1475. /package/build/types-ts3.8/{types-hoist → types}/event.d.ts +0 -0
  1476. /package/build/types-ts3.8/{types-hoist → types}/eventprocessor.d.ts +0 -0
  1477. /package/build/types-ts3.8/{types-hoist → types}/exception.d.ts +0 -0
  1478. /package/build/types-ts3.8/{types-hoist → types}/extra.d.ts +0 -0
  1479. /package/build/types-ts3.8/{types-hoist → types}/feedback/config.d.ts +0 -0
  1480. /package/build/types-ts3.8/{types-hoist → types}/feedback/form.d.ts +0 -0
  1481. /package/build/types-ts3.8/{types-hoist → types}/feedback/index.d.ts +0 -0
  1482. /package/build/types-ts3.8/{types-hoist → types}/feedback/sendFeedback.d.ts +0 -0
  1483. /package/build/types-ts3.8/{types-hoist → types}/feedback/theme.d.ts +0 -0
  1484. /package/build/types-ts3.8/{types-hoist → types}/instrument.d.ts +0 -0
  1485. /package/build/types-ts3.8/{types-hoist → types}/integration.d.ts +0 -0
  1486. /package/build/types-ts3.8/{types-hoist → types}/link.d.ts +0 -0
  1487. /package/build/types-ts3.8/{types-hoist → types}/log.d.ts +0 -0
  1488. /package/build/types-ts3.8/{types-hoist → types}/measurement.d.ts +0 -0
  1489. /package/build/types-ts3.8/{types-hoist → types}/mechanism.d.ts +0 -0
  1490. /package/build/types-ts3.8/{types-hoist → types}/metric.d.ts +0 -0
  1491. /package/build/types-ts3.8/{types-hoist → types}/misc.d.ts +0 -0
  1492. /package/build/types-ts3.8/{types-hoist → types}/opentelemetry.d.ts +0 -0
  1493. /package/build/types-ts3.8/{types-hoist → types}/package.d.ts +0 -0
  1494. /package/build/types-ts3.8/{types-hoist → types}/parameterize.d.ts +0 -0
  1495. /package/build/types-ts3.8/{types-hoist → types}/polymorphics.d.ts +0 -0
  1496. /package/build/types-ts3.8/{types-hoist → types}/profiling.d.ts +0 -0
  1497. /package/build/types-ts3.8/{types-hoist → types}/replay.d.ts +0 -0
  1498. /package/build/types-ts3.8/{types-hoist → types}/request.d.ts +0 -0
  1499. /package/build/types-ts3.8/{types-hoist → types}/runtime.d.ts +0 -0
  1500. /package/build/types-ts3.8/{types-hoist → types}/sdkinfo.d.ts +0 -0
  1501. /package/build/types-ts3.8/{types-hoist → types}/sdkmetadata.d.ts +0 -0
  1502. /package/build/types-ts3.8/{types-hoist → types}/session.d.ts +0 -0
  1503. /package/build/types-ts3.8/{types-hoist → types}/severity.d.ts +0 -0
  1504. /package/build/types-ts3.8/{types-hoist → types}/span.d.ts +0 -0
  1505. /package/build/types-ts3.8/{types-hoist → types}/spanStatus.d.ts +0 -0
  1506. /package/build/types-ts3.8/{types-hoist → types}/stackframe.d.ts +0 -0
  1507. /package/build/types-ts3.8/{types-hoist → types}/stacktrace.d.ts +0 -0
  1508. /package/build/types-ts3.8/{types-hoist → types}/thread.d.ts +0 -0
  1509. /package/build/types-ts3.8/{types-hoist → types}/timedEvent.d.ts +0 -0
  1510. /package/build/types-ts3.8/{types-hoist → types}/tracing.d.ts +0 -0
  1511. /package/build/types-ts3.8/{types-hoist → types}/transaction.d.ts +0 -0
  1512. /package/build/types-ts3.8/{types-hoist → types}/transport.d.ts +0 -0
  1513. /package/build/types-ts3.8/{types-hoist → types}/user.d.ts +0 -0
  1514. /package/build/types-ts3.8/{types-hoist → types}/view-hierarchy.d.ts +0 -0
  1515. /package/build/types-ts3.8/{types-hoist → types}/vue.d.ts +0 -0
  1516. /package/build/types-ts3.8/{types-hoist → types}/webfetchapi.d.ts +0 -0
  1517. /package/build/types-ts3.8/{types-hoist → types}/wrappedfunction.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"supabase.js","sources":["../../../src/integrations/supabase.ts"],"sourcesContent":["// Based on Kamil Ogórek's work on:\n// https://github.com/supabase-community/sentry-integration-js\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable max-lines */\nimport { addBreadcrumb } from '../breadcrumbs';\nimport { getClient } from '../currentScopes';\nimport { DEBUG_BUILD } from '../debug-build';\nimport { captureException } from '../exports';\nimport { defineIntegration } from '../integration';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes';\nimport { setHttpStatus, SPAN_STATUS_ERROR, SPAN_STATUS_OK, startSpan } from '../tracing';\nimport type { IntegrationFn } from '../types-hoist/integration';\nimport { debug } from '../utils/debug-logger';\nimport { isPlainObject } from '../utils/is';\nimport { addExceptionMechanism } from '../utils/misc';\n\nconst AUTH_OPERATIONS_TO_INSTRUMENT = [\n 'reauthenticate',\n 'signInAnonymously',\n 'signInWithOAuth',\n 'signInWithIdToken',\n 'signInWithOtp',\n 'signInWithPassword',\n 'signInWithSSO',\n 'signOut',\n 'signUp',\n 'verifyOtp',\n];\n\nconst AUTH_ADMIN_OPERATIONS_TO_INSTRUMENT = [\n 'createUser',\n 'deleteUser',\n 'listUsers',\n 'getUserById',\n 'updateUserById',\n 'inviteUserByEmail',\n];\n\nexport const FILTER_MAPPINGS = {\n eq: 'eq',\n neq: 'neq',\n gt: 'gt',\n gte: 'gte',\n lt: 'lt',\n lte: 'lte',\n like: 'like',\n 'like(all)': 'likeAllOf',\n 'like(any)': 'likeAnyOf',\n ilike: 'ilike',\n 'ilike(all)': 'ilikeAllOf',\n 'ilike(any)': 'ilikeAnyOf',\n is: 'is',\n in: 'in',\n cs: 'contains',\n cd: 'containedBy',\n sr: 'rangeGt',\n nxl: 'rangeGte',\n sl: 'rangeLt',\n nxr: 'rangeLte',\n adj: 'rangeAdjacent',\n ov: 'overlaps',\n fts: '',\n plfts: 'plain',\n phfts: 'phrase',\n wfts: 'websearch',\n not: 'not',\n};\n\nexport const DB_OPERATIONS_TO_INSTRUMENT = ['select', 'insert', 'upsert', 'update', 'delete'];\n\ntype AuthOperationFn = (...args: unknown[]) => Promise<unknown>;\ntype AuthOperationName = (typeof AUTH_OPERATIONS_TO_INSTRUMENT)[number];\ntype AuthAdminOperationName = (typeof AUTH_ADMIN_OPERATIONS_TO_INSTRUMENT)[number];\ntype PostgRESTQueryOperationFn = (...args: unknown[]) => PostgRESTFilterBuilder;\n\nexport interface SupabaseClientInstance {\n auth: {\n admin: Record<AuthAdminOperationName, AuthOperationFn>;\n } & Record<AuthOperationName, AuthOperationFn>;\n}\n\nexport interface PostgRESTQueryBuilder {\n [key: string]: PostgRESTQueryOperationFn;\n}\n\nexport interface PostgRESTFilterBuilder {\n method: string;\n headers: Record<string, string>;\n url: URL;\n schema: string;\n body: any;\n}\n\nexport interface SupabaseResponse {\n status?: number;\n error?: {\n message: string;\n code?: string;\n details?: unknown;\n };\n}\n\nexport interface SupabaseError extends Error {\n code?: string;\n details?: unknown;\n}\n\nexport interface SupabaseBreadcrumb {\n type: string;\n category: string;\n message: string;\n data?: {\n query?: string[];\n body?: Record<string, unknown>;\n };\n}\n\nexport interface SupabaseClientConstructor {\n prototype: {\n from: (table: string) => PostgRESTQueryBuilder;\n };\n}\n\nexport interface PostgRESTProtoThenable {\n then: <T>(\n onfulfilled?: ((value: T) => T | PromiseLike<T>) | null,\n onrejected?: ((reason: any) => T | PromiseLike<T>) | null,\n ) => Promise<T>;\n}\n\ntype SentryInstrumented<T> = T & {\n __SENTRY_INSTRUMENTED__?: boolean;\n};\n\nfunction markAsInstrumented<T>(fn: T): void {\n try {\n (fn as SentryInstrumented<T>).__SENTRY_INSTRUMENTED__ = true;\n } catch {\n // ignore errors here\n }\n}\n\nfunction isInstrumented<T>(fn: T): boolean | undefined {\n try {\n return (fn as SentryInstrumented<T>).__SENTRY_INSTRUMENTED__;\n } catch {\n return false;\n }\n}\n\n/**\n * Plain-object bodies are copied into `plainBody`; array inserts (and other non-plain shapes) stay only on `rawBody`.\n * Returns a payload suitable for span attributes / breadcrumbs when the client has `sendDefaultPii` enabled.\n */\nfunction getMutationBodyPayloadForTelemetry(rawBody: unknown, plainBody: Record<string, unknown>): unknown | undefined {\n if (Object.keys(plainBody).length > 0) {\n return plainBody;\n }\n if (Array.isArray(rawBody) && rawBody.length > 0) {\n return rawBody;\n }\n return undefined;\n}\n\n/** True when the PostgREST builder carries a mutation body (for `insert(...)`, etc. in span descriptions). */\nfunction hasMutationBodyForDescription(rawBody: unknown, plainBody: Record<string, unknown>): boolean {\n return getMutationBodyPayloadForTelemetry(rawBody, plainBody) !== undefined;\n}\n\n/**\n * Extracts the database operation type from the HTTP method and headers\n * @param method - The HTTP method of the request\n * @param headers - The request headers\n * @returns The database operation type ('select', 'insert', 'upsert', 'update', or 'delete')\n */\nexport function extractOperation(method: string, headers: Record<string, string> = {}): string {\n switch (method) {\n case 'GET': {\n return 'select';\n }\n case 'POST': {\n if (headers['Prefer']?.includes('resolution=')) {\n return 'upsert';\n } else {\n return 'insert';\n }\n }\n case 'PATCH': {\n return 'update';\n }\n case 'DELETE': {\n return 'delete';\n }\n default: {\n return '<unknown-op>';\n }\n }\n}\n\n/**\n * Translates Supabase filter parameters into readable method names for tracing\n * @param key - The filter key from the URL search parameters\n * @param query - The filter value from the URL search parameters\n * @returns A string representation of the filter as a method call\n */\nexport function translateFiltersIntoMethods(key: string, query: string): string {\n if (query === '' || query === '*') {\n return 'select(*)';\n }\n\n if (key === 'select') {\n return `select(${query})`;\n }\n\n if (key === 'or' || key.endsWith('.or')) {\n return `${key}${query}`;\n }\n\n const [filter, ...value] = query.split('.');\n\n let method;\n // Handle optional `configPart` of the filter\n if (filter?.startsWith('fts')) {\n method = 'textSearch';\n } else if (filter?.startsWith('plfts')) {\n method = 'textSearch[plain]';\n } else if (filter?.startsWith('phfts')) {\n method = 'textSearch[phrase]';\n } else if (filter?.startsWith('wfts')) {\n method = 'textSearch[websearch]';\n } else {\n method = (filter && FILTER_MAPPINGS[filter as keyof typeof FILTER_MAPPINGS]) || 'filter';\n }\n\n return `${method}(${key}, ${value.join('.')})`;\n}\n\nfunction instrumentAuthOperation(operation: AuthOperationFn, isAdmin = false): AuthOperationFn {\n return new Proxy(operation, {\n apply(target, thisArg, argumentsList) {\n return startSpan(\n {\n name: `auth ${isAdmin ? '(admin) ' : ''}${operation.name}`,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.db.supabase',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'db',\n 'db.system': 'postgresql',\n 'db.operation': `auth.${isAdmin ? 'admin.' : ''}${operation.name}`,\n },\n },\n span => {\n return Reflect.apply(target, thisArg, argumentsList)\n .then((res: unknown) => {\n if (res && typeof res === 'object' && 'error' in res && res.error) {\n span.setStatus({ code: SPAN_STATUS_ERROR });\n\n captureException(res.error, {\n mechanism: {\n handled: false,\n type: 'auto.db.supabase.auth',\n },\n });\n } else {\n span.setStatus({ code: SPAN_STATUS_OK });\n }\n\n span.end();\n return res;\n })\n .catch((err: unknown) => {\n span.setStatus({ code: SPAN_STATUS_ERROR });\n span.end();\n\n captureException(err, {\n mechanism: {\n handled: false,\n type: 'auto.db.supabase.auth',\n },\n });\n\n throw err;\n })\n .then(...argumentsList);\n },\n );\n },\n });\n}\n\nfunction instrumentSupabaseAuthClient(supabaseClientInstance: SupabaseClientInstance): void {\n const auth = supabaseClientInstance.auth;\n\n if (!auth || isInstrumented(supabaseClientInstance.auth)) {\n return;\n }\n\n for (const operation of AUTH_OPERATIONS_TO_INSTRUMENT) {\n const authOperation = auth[operation];\n\n if (!authOperation) {\n continue;\n }\n\n if (typeof supabaseClientInstance.auth[operation] === 'function') {\n supabaseClientInstance.auth[operation] = instrumentAuthOperation(authOperation);\n }\n }\n\n for (const operation of AUTH_ADMIN_OPERATIONS_TO_INSTRUMENT) {\n const authOperation = auth.admin[operation];\n\n if (!authOperation) {\n continue;\n }\n\n if (typeof supabaseClientInstance.auth.admin[operation] === 'function') {\n supabaseClientInstance.auth.admin[operation] = instrumentAuthOperation(authOperation, true);\n }\n }\n\n markAsInstrumented(supabaseClientInstance.auth);\n}\n\nfunction instrumentSupabaseClientConstructor(SupabaseClient: unknown): void {\n if (isInstrumented((SupabaseClient as SupabaseClientConstructor).prototype.from)) {\n return;\n }\n\n (SupabaseClient as SupabaseClientConstructor).prototype.from = new Proxy(\n (SupabaseClient as SupabaseClientConstructor).prototype.from,\n {\n apply(target, thisArg, argumentsList) {\n const rv = Reflect.apply(target, thisArg, argumentsList);\n const PostgRESTQueryBuilder = (rv as PostgRESTQueryBuilder).constructor;\n\n instrumentPostgRESTQueryBuilder(PostgRESTQueryBuilder as unknown as new () => PostgRESTQueryBuilder);\n\n return rv;\n },\n },\n );\n\n markAsInstrumented((SupabaseClient as SupabaseClientConstructor).prototype.from);\n}\n\nfunction instrumentPostgRESTFilterBuilder(PostgRESTFilterBuilder: PostgRESTFilterBuilder['constructor']): void {\n if (isInstrumented((PostgRESTFilterBuilder.prototype as unknown as PostgRESTProtoThenable).then)) {\n return;\n }\n\n (PostgRESTFilterBuilder.prototype as unknown as PostgRESTProtoThenable).then = new Proxy(\n (PostgRESTFilterBuilder.prototype as unknown as PostgRESTProtoThenable).then,\n {\n apply(target, thisArg, argumentsList) {\n const operations = DB_OPERATIONS_TO_INSTRUMENT;\n const typedThis = thisArg as PostgRESTFilterBuilder;\n const operation = extractOperation(typedThis.method, typedThis.headers);\n\n if (!operations.includes(operation)) {\n return Reflect.apply(target, thisArg, argumentsList);\n }\n\n if (!typedThis?.url?.pathname || typeof typedThis.url.pathname !== 'string') {\n return Reflect.apply(target, thisArg, argumentsList);\n }\n\n const pathParts = typedThis.url.pathname.split('/');\n const table = pathParts.length > 0 ? pathParts[pathParts.length - 1] : '';\n\n const queryItems: string[] = [];\n for (const [key, value] of typedThis.url.searchParams.entries()) {\n // It's possible to have multiple entries for the same key, eg. `id=eq.7&id=eq.3`,\n // so we need to use array instead of object to collect them.\n queryItems.push(translateFiltersIntoMethods(key, value));\n }\n const body: Record<string, unknown> = Object.create(null);\n if (isPlainObject(typedThis.body)) {\n for (const [key, value] of Object.entries(typedThis.body)) {\n body[key] = value;\n }\n }\n\n const sendDefaultPii = Boolean(getClient()?.getOptions().sendDefaultPii);\n const bodyPayload = getMutationBodyPayloadForTelemetry(typedThis.body, body);\n\n // Adding operation to the beginning of the description if it's not a `select` operation\n // For example, it can be an `insert` or `update` operation but the query can be `select(...)`\n // For `select` operations, we don't need repeat it in the description\n const mutationPart =\n operation === 'select'\n ? ''\n : `${operation}${hasMutationBodyForDescription(typedThis.body, body) ? '(...) ' : ''}`;\n const queryPart = sendDefaultPii ? queryItems.join(' ') : queryItems.length > 0 ? '[redacted]' : '';\n const descriptionMiddle = [mutationPart.trimEnd(), queryPart].filter(Boolean).join(' ');\n const description = descriptionMiddle ? `${descriptionMiddle} from(${table})` : `from(${table})`;\n\n const attributes: Record<string, any> = {\n 'db.table': table,\n 'db.schema': typedThis.schema,\n 'db.url': typedThis.url.origin,\n 'db.sdk': typedThis.headers['X-Client-Info'],\n 'db.system': 'postgresql',\n 'db.operation': operation,\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.db.supabase',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'db',\n };\n\n if (queryItems.length && sendDefaultPii) {\n attributes['db.query'] = queryItems;\n }\n\n if (bodyPayload !== undefined && sendDefaultPii) {\n attributes['db.body'] = bodyPayload;\n }\n\n return startSpan(\n {\n name: description,\n attributes,\n },\n span => {\n return (Reflect.apply(target, thisArg, []) as Promise<SupabaseResponse>)\n .then(\n (res: SupabaseResponse) => {\n if (span) {\n if (res && typeof res === 'object' && 'status' in res) {\n setHttpStatus(span, res.status || 500);\n }\n span.end();\n }\n\n if (res?.error) {\n const err = new Error(res.error.message) as SupabaseError;\n if (res.error.code) {\n err.code = res.error.code;\n }\n if (res.error.details) {\n err.details = res.error.details;\n }\n\n const supabaseContext: Record<string, any> = {};\n if (queryItems.length && sendDefaultPii) {\n supabaseContext.query = queryItems;\n }\n if (bodyPayload !== undefined && sendDefaultPii) {\n supabaseContext.body = bodyPayload;\n }\n\n captureException(err, scope => {\n scope.addEventProcessor(e => {\n addExceptionMechanism(e, {\n handled: false,\n type: 'auto.db.supabase.postgres',\n });\n\n return e;\n });\n\n scope.setContext('supabase', supabaseContext);\n\n return scope;\n });\n }\n\n const breadcrumb: SupabaseBreadcrumb = {\n type: 'supabase',\n category: `db.${operation}`,\n message: description,\n };\n\n const data: Record<string, unknown> = {};\n\n if (queryItems.length && sendDefaultPii) {\n data.query = queryItems;\n }\n\n if (bodyPayload !== undefined && sendDefaultPii) {\n data.body = bodyPayload;\n }\n\n if (Object.keys(data).length) {\n breadcrumb.data = data;\n }\n\n addBreadcrumb(breadcrumb);\n\n return res;\n },\n (err: Error) => {\n // TODO: shouldn't we capture this error?\n if (span) {\n setHttpStatus(span, 500);\n span.end();\n }\n throw err;\n },\n )\n .then(...argumentsList);\n },\n );\n },\n },\n );\n\n markAsInstrumented((PostgRESTFilterBuilder.prototype as unknown as PostgRESTProtoThenable).then);\n}\n\nfunction instrumentPostgRESTQueryBuilder(PostgRESTQueryBuilder: new () => PostgRESTQueryBuilder): void {\n // We need to wrap _all_ operations despite them sharing the same `PostgRESTFilterBuilder`\n // constructor, as we don't know which method will be called first, and we don't want to miss any calls.\n for (const operation of DB_OPERATIONS_TO_INSTRUMENT) {\n if (isInstrumented((PostgRESTQueryBuilder.prototype as Record<string, any>)[operation])) {\n continue;\n }\n\n type PostgRESTOperation = keyof Pick<PostgRESTQueryBuilder, 'select' | 'insert' | 'upsert' | 'update' | 'delete'>;\n (PostgRESTQueryBuilder.prototype as Record<string, any>)[operation as PostgRESTOperation] = new Proxy(\n (PostgRESTQueryBuilder.prototype as Record<string, any>)[operation as PostgRESTOperation],\n {\n apply(target, thisArg, argumentsList) {\n const rv = Reflect.apply(target, thisArg, argumentsList);\n const PostgRESTFilterBuilder = (rv as PostgRESTFilterBuilder).constructor;\n\n DEBUG_BUILD && debug.log(`Instrumenting ${operation} operation's PostgRESTFilterBuilder`);\n\n instrumentPostgRESTFilterBuilder(PostgRESTFilterBuilder);\n\n return rv;\n },\n },\n );\n\n markAsInstrumented((PostgRESTQueryBuilder.prototype as Record<string, any>)[operation]);\n }\n}\n\nexport const instrumentSupabaseClient = (supabaseClient: unknown): void => {\n if (!supabaseClient) {\n DEBUG_BUILD && debug.warn('Supabase integration was not installed because no Supabase client was provided.');\n return;\n }\n const SupabaseClientConstructor =\n supabaseClient.constructor === Function ? supabaseClient : supabaseClient.constructor;\n\n instrumentSupabaseClientConstructor(SupabaseClientConstructor);\n instrumentSupabaseAuthClient(supabaseClient as SupabaseClientInstance);\n};\n\nconst INTEGRATION_NAME = 'Supabase';\n\nconst _supabaseIntegration = ((supabaseClient: unknown) => {\n return {\n setupOnce() {\n instrumentSupabaseClient(supabaseClient);\n },\n name: INTEGRATION_NAME,\n };\n}) satisfies IntegrationFn;\n\nexport const supabaseIntegration = defineIntegration((options: { supabaseClient: any }) => {\n return _supabaseIntegration(options.supabaseClient);\n}) satisfies IntegrationFn;\n"],"names":["startSpan","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","SEMANTIC_ATTRIBUTE_SENTRY_OP","SPAN_STATUS_ERROR","captureException","SPAN_STATUS_OK","isPlainObject","getClient","setHttpStatus","addExceptionMechanism","addBreadcrumb","DEBUG_BUILD","debug","defineIntegration"],"mappings":"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"}
1
+ {"version":3,"file":"supabase.js","sources":["../../../src/integrations/supabase.ts"],"sourcesContent":["// Based on Kamil Ogórek's work on:\n// https://github.com/supabase-community/sentry-integration-js\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable max-lines */\nimport { addBreadcrumb } from '../breadcrumbs';\nimport { getClient } from '../currentScopes';\nimport { DEBUG_BUILD } from '../debug-build';\nimport { captureException } from '../exports';\nimport { defineIntegration } from '../integration';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes';\nimport { setHttpStatus, SPAN_STATUS_ERROR, SPAN_STATUS_OK, startSpan } from '../tracing';\nimport type { IntegrationFn } from '../types/integration';\nimport { debug } from '../utils/debug-logger';\nimport { isPlainObject } from '../utils/is';\nimport { addExceptionMechanism } from '../utils/misc';\n\nconst AUTH_OPERATIONS_TO_INSTRUMENT = [\n 'reauthenticate',\n 'signInAnonymously',\n 'signInWithOAuth',\n 'signInWithIdToken',\n 'signInWithOtp',\n 'signInWithPassword',\n 'signInWithSSO',\n 'signOut',\n 'signUp',\n 'verifyOtp',\n];\n\nconst AUTH_ADMIN_OPERATIONS_TO_INSTRUMENT = [\n 'createUser',\n 'deleteUser',\n 'listUsers',\n 'getUserById',\n 'updateUserById',\n 'inviteUserByEmail',\n];\n\nexport const FILTER_MAPPINGS = {\n eq: 'eq',\n neq: 'neq',\n gt: 'gt',\n gte: 'gte',\n lt: 'lt',\n lte: 'lte',\n like: 'like',\n 'like(all)': 'likeAllOf',\n 'like(any)': 'likeAnyOf',\n ilike: 'ilike',\n 'ilike(all)': 'ilikeAllOf',\n 'ilike(any)': 'ilikeAnyOf',\n is: 'is',\n in: 'in',\n cs: 'contains',\n cd: 'containedBy',\n sr: 'rangeGt',\n nxl: 'rangeGte',\n sl: 'rangeLt',\n nxr: 'rangeLte',\n adj: 'rangeAdjacent',\n ov: 'overlaps',\n fts: '',\n plfts: 'plain',\n phfts: 'phrase',\n wfts: 'websearch',\n not: 'not',\n};\n\nexport const DB_OPERATIONS_TO_INSTRUMENT = ['select', 'insert', 'upsert', 'update', 'delete'];\n\ntype AuthOperationFn = (...args: unknown[]) => Promise<unknown>;\ntype AuthOperationName = (typeof AUTH_OPERATIONS_TO_INSTRUMENT)[number];\ntype AuthAdminOperationName = (typeof AUTH_ADMIN_OPERATIONS_TO_INSTRUMENT)[number];\ntype PostgRESTQueryOperationFn = (...args: unknown[]) => PostgRESTFilterBuilder;\n\nexport interface SupabaseClientInstance {\n auth: {\n admin: Record<AuthAdminOperationName, AuthOperationFn>;\n } & Record<AuthOperationName, AuthOperationFn>;\n}\n\nexport interface PostgRESTQueryBuilder {\n [key: string]: PostgRESTQueryOperationFn;\n}\n\nexport interface PostgRESTFilterBuilder {\n method: string;\n headers: Record<string, string>;\n url: URL;\n schema: string;\n body: any;\n}\n\nexport interface SupabaseResponse {\n status?: number;\n error?: {\n message: string;\n code?: string;\n details?: unknown;\n };\n}\n\nexport interface SupabaseError extends Error {\n code?: string;\n details?: unknown;\n}\n\nexport interface SupabaseBreadcrumb {\n type: string;\n category: string;\n message: string;\n data?: {\n query?: string[];\n body?: Record<string, unknown>;\n };\n}\n\nexport interface SupabaseClientConstructor {\n prototype: {\n from: (table: string) => PostgRESTQueryBuilder;\n };\n}\n\nexport interface PostgRESTProtoThenable {\n then: <T>(\n onfulfilled?: ((value: T) => T | PromiseLike<T>) | null,\n onrejected?: ((reason: any) => T | PromiseLike<T>) | null,\n ) => Promise<T>;\n}\n\ntype SentryInstrumented<T> = T & {\n __SENTRY_INSTRUMENTED__?: boolean;\n};\n\nfunction markAsInstrumented<T>(fn: T): void {\n try {\n (fn as SentryInstrumented<T>).__SENTRY_INSTRUMENTED__ = true;\n } catch {\n // ignore errors here\n }\n}\n\nfunction isInstrumented<T>(fn: T): boolean | undefined {\n try {\n return (fn as SentryInstrumented<T>).__SENTRY_INSTRUMENTED__;\n } catch {\n return false;\n }\n}\n\n/**\n * Plain-object bodies are copied into `plainBody`; array inserts (and other non-plain shapes) stay only on `rawBody`.\n * Returns a payload suitable for span attributes / breadcrumbs when operation data collection is enabled.\n */\nfunction getMutationBodyPayloadForTelemetry(rawBody: unknown, plainBody: Record<string, unknown>): unknown | undefined {\n if (Object.keys(plainBody).length > 0) {\n return plainBody;\n }\n if (Array.isArray(rawBody) && rawBody.length > 0) {\n return rawBody;\n }\n return undefined;\n}\n\n/** True when the PostgREST builder carries a mutation body (for `insert(...)`, etc. in span descriptions). */\nfunction hasMutationBodyForDescription(rawBody: unknown, plainBody: Record<string, unknown>): boolean {\n return getMutationBodyPayloadForTelemetry(rawBody, plainBody) !== undefined;\n}\n\n/**\n * Extracts the database operation type from the HTTP method and headers\n * @param method - The HTTP method of the request\n * @param headers - The request headers\n * @returns The database operation type ('select', 'insert', 'upsert', 'update', or 'delete')\n */\nexport function extractOperation(method: string, headers: Record<string, string> = {}): string {\n switch (method) {\n case 'GET': {\n return 'select';\n }\n case 'POST': {\n if (headers['Prefer']?.includes('resolution=')) {\n return 'upsert';\n } else {\n return 'insert';\n }\n }\n case 'PATCH': {\n return 'update';\n }\n case 'DELETE': {\n return 'delete';\n }\n default: {\n return '<unknown-op>';\n }\n }\n}\n\n/**\n * Translates Supabase filter parameters into readable method names for tracing\n * @param key - The filter key from the URL search parameters\n * @param query - The filter value from the URL search parameters\n * @returns A string representation of the filter as a method call\n */\nexport function translateFiltersIntoMethods(key: string, query: string): string {\n if (query === '' || query === '*') {\n return 'select(*)';\n }\n\n if (key === 'select') {\n return `select(${query})`;\n }\n\n if (key === 'or' || key.endsWith('.or')) {\n return `${key}${query}`;\n }\n\n const [filter, ...value] = query.split('.');\n\n let method;\n // Handle optional `configPart` of the filter\n if (filter?.startsWith('fts')) {\n method = 'textSearch';\n } else if (filter?.startsWith('plfts')) {\n method = 'textSearch[plain]';\n } else if (filter?.startsWith('phfts')) {\n method = 'textSearch[phrase]';\n } else if (filter?.startsWith('wfts')) {\n method = 'textSearch[websearch]';\n } else {\n method = (filter && FILTER_MAPPINGS[filter as keyof typeof FILTER_MAPPINGS]) || 'filter';\n }\n\n return `${method}(${key}, ${value.join('.')})`;\n}\n\nfunction instrumentAuthOperation(operation: AuthOperationFn, isAdmin = false): AuthOperationFn {\n return new Proxy(operation, {\n apply(target, thisArg, argumentsList) {\n return startSpan(\n {\n name: `auth ${isAdmin ? '(admin) ' : ''}${operation.name}`,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.db.supabase',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'db',\n 'db.system': 'postgresql',\n 'db.operation': `auth.${isAdmin ? 'admin.' : ''}${operation.name}`,\n },\n },\n span => {\n return Reflect.apply(target, thisArg, argumentsList)\n .then((res: unknown) => {\n if (res && typeof res === 'object' && 'error' in res && res.error) {\n span.setStatus({ code: SPAN_STATUS_ERROR });\n\n captureException(res.error, {\n mechanism: {\n handled: false,\n type: 'auto.db.supabase.auth',\n },\n });\n } else {\n span.setStatus({ code: SPAN_STATUS_OK });\n }\n\n span.end();\n return res;\n })\n .catch((err: unknown) => {\n span.setStatus({ code: SPAN_STATUS_ERROR });\n span.end();\n\n captureException(err, {\n mechanism: {\n handled: false,\n type: 'auto.db.supabase.auth',\n },\n });\n\n throw err;\n })\n .then(...argumentsList);\n },\n );\n },\n });\n}\n\nfunction instrumentSupabaseAuthClient(supabaseClientInstance: SupabaseClientInstance): void {\n const auth = supabaseClientInstance.auth;\n\n if (!auth || isInstrumented(supabaseClientInstance.auth)) {\n return;\n }\n\n for (const operation of AUTH_OPERATIONS_TO_INSTRUMENT) {\n const authOperation = auth[operation];\n\n if (!authOperation) {\n continue;\n }\n\n if (typeof supabaseClientInstance.auth[operation] === 'function') {\n supabaseClientInstance.auth[operation] = instrumentAuthOperation(authOperation);\n }\n }\n\n for (const operation of AUTH_ADMIN_OPERATIONS_TO_INSTRUMENT) {\n const authOperation = auth.admin[operation];\n\n if (!authOperation) {\n continue;\n }\n\n if (typeof supabaseClientInstance.auth.admin[operation] === 'function') {\n supabaseClientInstance.auth.admin[operation] = instrumentAuthOperation(authOperation, true);\n }\n }\n\n markAsInstrumented(supabaseClientInstance.auth);\n}\n\nfunction instrumentSupabaseClientConstructor(SupabaseClient: unknown, _options: { sendOperationData?: boolean }): void {\n if (isInstrumented((SupabaseClient as SupabaseClientConstructor).prototype.from)) {\n return;\n }\n\n (SupabaseClient as SupabaseClientConstructor).prototype.from = new Proxy(\n (SupabaseClient as SupabaseClientConstructor).prototype.from,\n {\n apply(target, thisArg, argumentsList) {\n const rv = Reflect.apply(target, thisArg, argumentsList);\n const PostgRESTQueryBuilder = (rv as PostgRESTQueryBuilder).constructor;\n\n instrumentPostgRESTQueryBuilder(PostgRESTQueryBuilder as unknown as new () => PostgRESTQueryBuilder, _options);\n\n return rv;\n },\n },\n );\n\n markAsInstrumented((SupabaseClient as SupabaseClientConstructor).prototype.from);\n}\n\nfunction instrumentPostgRESTFilterBuilder(\n PostgRESTFilterBuilder: PostgRESTFilterBuilder['constructor'],\n _options: { sendOperationData?: boolean },\n): void {\n if (isInstrumented((PostgRESTFilterBuilder.prototype as unknown as PostgRESTProtoThenable).then)) {\n return;\n }\n\n (PostgRESTFilterBuilder.prototype as unknown as PostgRESTProtoThenable).then = new Proxy(\n (PostgRESTFilterBuilder.prototype as unknown as PostgRESTProtoThenable).then,\n {\n apply(target, thisArg, argumentsList) {\n const operations = DB_OPERATIONS_TO_INSTRUMENT;\n const typedThis = thisArg as PostgRESTFilterBuilder;\n const operation = extractOperation(typedThis.method, typedThis.headers);\n\n if (!operations.includes(operation)) {\n return Reflect.apply(target, thisArg, argumentsList);\n }\n\n if (!typedThis?.url?.pathname || typeof typedThis.url.pathname !== 'string') {\n return Reflect.apply(target, thisArg, argumentsList);\n }\n\n const pathParts = typedThis.url.pathname.split('/');\n const table = pathParts.length > 0 ? pathParts[pathParts.length - 1] : '';\n\n const queryItems: string[] = [];\n for (const [key, value] of typedThis.url.searchParams.entries()) {\n // It's possible to have multiple entries for the same key, eg. `id=eq.7&id=eq.3`,\n // so we need to use array instead of object to collect them.\n queryItems.push(translateFiltersIntoMethods(key, value));\n }\n const body: Record<string, unknown> = Object.create(null);\n if (isPlainObject(typedThis.body)) {\n for (const [key, value] of Object.entries(typedThis.body)) {\n body[key] = value;\n }\n }\n\n const client = getClient();\n const shouldSendData = _options.sendOperationData ?? client?.getDataCollectionOptions().userInfo === true;\n const bodyPayload = getMutationBodyPayloadForTelemetry(typedThis.body, body);\n\n // Adding operation to the beginning of the description if it's not a `select` operation\n // For example, it can be an `insert` or `update` operation but the query can be `select(...)`\n // For `select` operations, we don't need repeat it in the description\n const mutationPart =\n operation === 'select'\n ? ''\n : `${operation}${hasMutationBodyForDescription(typedThis.body, body) ? '(...) ' : ''}`;\n const queryPart = shouldSendData ? queryItems.join(' ') : queryItems.length > 0 ? '[redacted]' : '';\n const descriptionMiddle = [mutationPart.trimEnd(), queryPart].filter(Boolean).join(' ');\n const description = descriptionMiddle ? `${descriptionMiddle} from(${table})` : `from(${table})`;\n\n const attributes: Record<string, any> = {\n 'db.table': table,\n 'db.schema': typedThis.schema,\n 'db.url': typedThis.url.origin,\n 'db.sdk': typedThis.headers['X-Client-Info'],\n 'db.system': 'postgresql',\n 'db.operation': operation,\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.db.supabase',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'db',\n };\n\n if (queryItems.length && shouldSendData) {\n attributes['db.query'] = queryItems;\n }\n\n if (bodyPayload !== undefined && shouldSendData) {\n attributes['db.body'] = bodyPayload;\n }\n\n return startSpan(\n {\n name: description,\n attributes,\n },\n span => {\n return (Reflect.apply(target, thisArg, []) as Promise<SupabaseResponse>)\n .then(\n (res: SupabaseResponse) => {\n if (span) {\n if (res && typeof res === 'object' && 'status' in res) {\n setHttpStatus(span, res.status || 500);\n }\n span.end();\n }\n\n if (res?.error) {\n const err = new Error(res.error.message) as SupabaseError;\n if (res.error.code) {\n err.code = res.error.code;\n }\n if (res.error.details) {\n err.details = res.error.details;\n }\n\n const supabaseContext: Record<string, any> = {};\n if (queryItems.length && shouldSendData) {\n supabaseContext.query = queryItems;\n }\n if (bodyPayload !== undefined && shouldSendData) {\n supabaseContext.body = bodyPayload;\n }\n\n captureException(err, scope => {\n scope.addEventProcessor(e => {\n addExceptionMechanism(e, {\n handled: false,\n type: 'auto.db.supabase.postgres',\n });\n\n return e;\n });\n\n scope.setContext('supabase', supabaseContext);\n\n return scope;\n });\n }\n\n const breadcrumb: SupabaseBreadcrumb = {\n type: 'supabase',\n category: `db.${operation}`,\n message: description,\n };\n\n const data: Record<string, unknown> = {};\n\n if (queryItems.length && shouldSendData) {\n data.query = queryItems;\n }\n\n if (bodyPayload !== undefined && shouldSendData) {\n data.body = bodyPayload;\n }\n\n if (Object.keys(data).length) {\n breadcrumb.data = data;\n }\n\n addBreadcrumb(breadcrumb);\n\n return res;\n },\n (err: Error) => {\n // TODO: shouldn't we capture this error?\n if (span) {\n setHttpStatus(span, 500);\n span.end();\n }\n throw err;\n },\n )\n .then(...argumentsList);\n },\n );\n },\n },\n );\n\n markAsInstrumented((PostgRESTFilterBuilder.prototype as unknown as PostgRESTProtoThenable).then);\n}\n\nfunction instrumentPostgRESTQueryBuilder(\n PostgRESTQueryBuilder: new () => PostgRESTQueryBuilder,\n _options: { sendOperationData?: boolean },\n): void {\n // We need to wrap _all_ operations despite them sharing the same `PostgRESTFilterBuilder`\n // constructor, as we don't know which method will be called first, and we don't want to miss any calls.\n for (const operation of DB_OPERATIONS_TO_INSTRUMENT) {\n if (isInstrumented((PostgRESTQueryBuilder.prototype as Record<string, any>)[operation])) {\n continue;\n }\n\n type PostgRESTOperation = keyof Pick<PostgRESTQueryBuilder, 'select' | 'insert' | 'upsert' | 'update' | 'delete'>;\n (PostgRESTQueryBuilder.prototype as Record<string, any>)[operation as PostgRESTOperation] = new Proxy(\n (PostgRESTQueryBuilder.prototype as Record<string, any>)[operation as PostgRESTOperation],\n {\n apply(target, thisArg, argumentsList) {\n const rv = Reflect.apply(target, thisArg, argumentsList);\n const PostgRESTFilterBuilder = (rv as PostgRESTFilterBuilder).constructor;\n\n DEBUG_BUILD && debug.log(`Instrumenting ${operation} operation's PostgRESTFilterBuilder`);\n\n instrumentPostgRESTFilterBuilder(PostgRESTFilterBuilder, _options);\n\n return rv;\n },\n },\n );\n\n markAsInstrumented((PostgRESTQueryBuilder.prototype as Record<string, any>)[operation]);\n }\n}\n\nexport const instrumentSupabaseClient = (\n supabaseClient: unknown,\n options: { sendOperationData?: boolean } = {},\n): void => {\n if (!supabaseClient) {\n DEBUG_BUILD && debug.warn('Supabase integration was not installed because no Supabase client was provided.');\n return;\n }\n const SupabaseClientConstructor =\n supabaseClient.constructor === Function ? supabaseClient : supabaseClient.constructor;\n\n instrumentSupabaseClientConstructor(SupabaseClientConstructor, options);\n instrumentSupabaseAuthClient(supabaseClient as SupabaseClientInstance);\n};\n\ninterface SupabaseIntegrationOptions {\n supabaseClient: any;\n /**\n * Whether to attach PostgREST query filters and mutation body payloads\n * to Sentry telemetry.\n *\n * Falls back to `dataCollection.userInfo` when not set.\n * @default undefined\n */\n sendOperationData?: boolean;\n}\n\nconst INTEGRATION_NAME = 'Supabase';\n\nconst _supabaseIntegration = ((supabaseClient: unknown, options: { sendOperationData?: boolean }) => {\n return {\n setupOnce() {\n instrumentSupabaseClient(supabaseClient, options);\n },\n name: INTEGRATION_NAME,\n };\n}) satisfies IntegrationFn;\n\nexport const supabaseIntegration = defineIntegration((options: SupabaseIntegrationOptions) => {\n return _supabaseIntegration(options.supabaseClient, { sendOperationData: options.sendOperationData });\n}) satisfies IntegrationFn;\n"],"names":["startSpan","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","SEMANTIC_ATTRIBUTE_SENTRY_OP","SPAN_STATUS_ERROR","captureException","SPAN_STATUS_OK","isPlainObject","getClient","setHttpStatus","addExceptionMechanism","addBreadcrumb","DEBUG_BUILD","debug","defineIntegration"],"mappings":"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"}
@@ -4,20 +4,16 @@ const integration = require('../integration.js');
4
4
  const metadata = require('../metadata.js');
5
5
  const envelope = require('../utils/envelope.js');
6
6
  const stacktrace = require('../utils/stacktrace.js');
7
+ const worldwide = require('../utils/worldwide.js');
7
8
 
8
- /**
9
- * This integration allows you to filter out, or tag error events that do not come from user code marked with a bundle key via the Sentry bundler plugins.
10
- */
11
9
  const thirdPartyErrorFilterIntegration = integration.defineIntegration((options) => {
12
10
  return {
13
- name: 'ThirdPartyErrorsFilter',
11
+ name: "ThirdPartyErrorsFilter",
14
12
  setup(client) {
15
- // We need to strip metadata from stack frames before sending them to Sentry since these are client side only.
16
- client.on('beforeEnvelope', envelope$1 => {
13
+ client.on("beforeEnvelope", (envelope$1) => {
17
14
  envelope.forEachEnvelopeItem(envelope$1, (item, type) => {
18
- if (type === 'event') {
19
- const event = Array.isArray(item) ? (item )[1] : undefined;
20
-
15
+ if (type === "event") {
16
+ const event = Array.isArray(item) ? item[1] : void 0;
21
17
  if (event) {
22
18
  metadata.stripMetadataFromStackFrames(event);
23
19
  item[1] = event;
@@ -25,73 +21,65 @@ const thirdPartyErrorFilterIntegration = integration.defineIntegration((options)
25
21
  }
26
22
  });
27
23
  });
28
-
29
- client.on('applyFrameMetadata', event => {
30
- // Only apply stack frame metadata to error events
24
+ client.on("applyFrameMetadata", (event) => {
31
25
  if (event.type) {
32
26
  return;
33
27
  }
34
-
35
28
  const stackParser = client.getOptions().stackParser;
36
29
  metadata.addMetadataToStackFrames(stackParser, event);
37
30
  });
38
31
  },
39
-
32
+ preprocessEvent(event) {
33
+ if (options.ignoreSentryInternalFrames && (worldwide.GLOBAL_OBJ._sentryWrappedDepth ?? 0) > 0) {
34
+ event.sdkProcessingMetadata = {
35
+ ...event.sdkProcessingMetadata,
36
+ insideSentryWrapped: true
37
+ };
38
+ }
39
+ },
40
40
  processEvent(event) {
41
- const frameKeys = getBundleKeysForAllFramesWithFilenames(event, options.ignoreSentryInternalFrames);
42
-
41
+ const insideSentryWrapped = options.ignoreSentryInternalFrames ? event.sdkProcessingMetadata?.insideSentryWrapped === true && event.exception?.values?.length === 1 : false;
42
+ const frameKeys = getBundleKeysForAllFramesWithFilenames(
43
+ event,
44
+ options.ignoreSentryInternalFrames,
45
+ insideSentryWrapped
46
+ );
43
47
  if (frameKeys) {
44
- const arrayMethod =
45
- options.behaviour === 'drop-error-if-contains-third-party-frames' ||
46
- options.behaviour === 'apply-tag-if-contains-third-party-frames'
47
- ? 'some'
48
- : 'every';
49
-
50
- const behaviourApplies = frameKeys[arrayMethod](keys => !keys.some(key => options.filterKeys.includes(key)));
51
-
48
+ const arrayMethod = options.behaviour === "drop-error-if-contains-third-party-frames" || options.behaviour === "apply-tag-if-contains-third-party-frames" ? "some" : "every";
49
+ const behaviourApplies = frameKeys[arrayMethod]((keys) => !keys.some((key) => options.filterKeys.includes(key)));
52
50
  if (behaviourApplies) {
53
- const shouldDrop =
54
- options.behaviour === 'drop-error-if-contains-third-party-frames' ||
55
- options.behaviour === 'drop-error-if-exclusively-contains-third-party-frames';
51
+ const shouldDrop = options.behaviour === "drop-error-if-contains-third-party-frames" || options.behaviour === "drop-error-if-exclusively-contains-third-party-frames";
56
52
  if (shouldDrop) {
57
53
  return null;
58
54
  } else {
59
55
  event.tags = {
60
56
  ...event.tags,
61
- third_party_code: true,
57
+ third_party_code: true
62
58
  };
63
59
  }
64
60
  }
65
61
  }
66
-
67
62
  return event;
68
- },
63
+ }
69
64
  };
70
65
  });
71
-
72
- /**
73
- * Checks if a stack frame is a Sentry internal frame by strictly matching:
74
- * 1. The frame must be the last frame in the stack
75
- * 2. The filename must indicate the internal helpers file
76
- * 3. The context_line must contain the exact pattern "fn.apply(this, wrappedArguments)"
77
- * 4. The comment pattern "Attempt to invoke user-land function" must be present in pre_context
78
- *
79
- */
80
- function isSentryInternalFrame(frame, frameIndex) {
81
- // Only match the last frame (index 0 in reversed stack)
82
- if (frameIndex !== 0 || !frame.context_line || !frame.filename) {
66
+ function isSentryInternalFrame(frame, frameIndex, insideSentryWrapped) {
67
+ if (frameIndex !== 0) {
83
68
  return false;
84
69
  }
85
-
86
- if (
87
- !frame.filename.includes('sentry') ||
88
- !frame.filename.includes('helpers') || // Filename would look something like this: 'node_modules/@sentry/browser/build/npm/esm/helpers.js'
89
- !frame.context_line.includes(SENTRY_INTERNAL_FN_APPLY) // Must have context_line with the exact fn.apply pattern
90
- ) {
70
+ if (insideSentryWrapped && isLikelyMinifiedSentryWrappedFrame(frame)) {
71
+ return true;
72
+ }
73
+ if (frame.function === "sentryWrapped") {
74
+ return true;
75
+ }
76
+ if (!frame.context_line || !frame.filename) {
77
+ return false;
78
+ }
79
+ if (!frame.filename.includes("sentry") || !frame.filename.includes("helpers") || // Filename would look something like this: 'node_modules/@sentry/browser/build/npm/esm/helpers.js'
80
+ !frame.context_line.includes(SENTRY_INTERNAL_FN_APPLY)) {
91
81
  return false;
92
82
  }
93
-
94
- // Check pre_context array for comment pattern
95
83
  if (frame.pre_context) {
96
84
  const len = frame.pre_context.length;
97
85
  for (let i = 0; i < len; i++) {
@@ -100,47 +88,34 @@ function isSentryInternalFrame(frame, frameIndex) {
100
88
  }
101
89
  }
102
90
  }
103
-
104
91
  return false;
105
92
  }
106
-
107
- function getBundleKeysForAllFramesWithFilenames(
108
- event,
109
- ignoreSentryInternalFrames,
110
- ) {
93
+ function getBundleKeysForAllFramesWithFilenames(event, ignoreSentryInternalFrames, insideSentryWrapped) {
111
94
  const frames = stacktrace.getFramesFromEvent(event);
112
-
113
95
  if (!frames) {
114
- return undefined;
96
+ return void 0;
115
97
  }
116
-
117
- return frames
118
- .filter((frame, index) => {
119
- // Exclude frames without a filename
120
- if (!frame.filename) {
121
- return false;
122
- }
123
- // Exclude frames without location info, since these are likely native code or built-ins.
124
- // JS frames have lineno/colno, WASM frames have instruction_addr instead.
125
- if (frame.lineno == null && frame.colno == null && frame.instruction_addr == null) {
126
- return false;
127
- }
128
- // Optionally ignore Sentry internal frames
129
- return !ignoreSentryInternalFrames || !isSentryInternalFrame(frame, index);
130
- })
131
- .map(frame => {
132
- if (!frame.module_metadata) {
133
- return [];
134
- }
135
- return Object.keys(frame.module_metadata)
136
- .filter(key => key.startsWith(BUNDLER_PLUGIN_APP_KEY_PREFIX))
137
- .map(key => key.slice(BUNDLER_PLUGIN_APP_KEY_PREFIX.length));
138
- });
98
+ return frames.filter((frame, index) => {
99
+ if (!frame.filename) {
100
+ return false;
101
+ }
102
+ if (frame.lineno == null && frame.colno == null && frame.instruction_addr == null) {
103
+ return false;
104
+ }
105
+ return !ignoreSentryInternalFrames || !isSentryInternalFrame(frame, index, !!insideSentryWrapped);
106
+ }).map((frame) => {
107
+ if (!frame.module_metadata) {
108
+ return [];
109
+ }
110
+ return Object.keys(frame.module_metadata).filter((key) => key.startsWith(BUNDLER_PLUGIN_APP_KEY_PREFIX)).map((key) => key.slice(BUNDLER_PLUGIN_APP_KEY_PREFIX.length));
111
+ });
139
112
  }
140
-
141
- const BUNDLER_PLUGIN_APP_KEY_PREFIX = '_sentryBundlerPluginAppKey:';
142
- const SENTRY_INTERNAL_COMMENT = 'Attempt to invoke user-land function';
143
- const SENTRY_INTERNAL_FN_APPLY = 'fn.apply(this, wrappedArguments)';
113
+ function isLikelyMinifiedSentryWrappedFrame(frame) {
114
+ return !frame.context_line && !frame.pre_context && !!frame.function && frame.function.length <= 2;
115
+ }
116
+ const BUNDLER_PLUGIN_APP_KEY_PREFIX = "_sentryBundlerPluginAppKey:";
117
+ const SENTRY_INTERNAL_COMMENT = "Attempt to invoke user-land function";
118
+ const SENTRY_INTERNAL_FN_APPLY = "fn.apply(this, wrappedArguments)";
144
119
 
145
120
  exports.thirdPartyErrorFilterIntegration = thirdPartyErrorFilterIntegration;
146
121
  //# sourceMappingURL=third-party-errors-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"third-party-errors-filter.js","sources":["../../../src/integrations/third-party-errors-filter.ts"],"sourcesContent":["import { defineIntegration } from '../integration';\nimport { addMetadataToStackFrames, stripMetadataFromStackFrames } from '../metadata';\nimport type { EventItem } from '../types-hoist/envelope';\nimport type { Event } from '../types-hoist/event';\nimport type { StackFrame } from '../types-hoist/stackframe';\nimport { forEachEnvelopeItem } from '../utils/envelope';\nimport { getFramesFromEvent } from '../utils/stacktrace';\n\ninterface Options {\n /**\n * Keys that have been provided in the Sentry bundler plugin via the the `applicationKey` option, identifying your bundles.\n *\n * - Webpack plugin: https://www.npmjs.com/package/@sentry/webpack-plugin#applicationkey\n * - Vite plugin: https://www.npmjs.com/package/@sentry/vite-plugin#applicationkey\n * - Esbuild plugin: https://www.npmjs.com/package/@sentry/esbuild-plugin#applicationkey\n * - Rollup plugin: https://www.npmjs.com/package/@sentry/rollup-plugin#applicationkey\n */\n filterKeys: string[];\n\n /**\n * Defines how the integration should behave. \"Third-Party Stack Frames\" are stack frames that did not come from files marked with a matching bundle key.\n *\n * You can define the behaviour with one of 4 modes:\n * - `drop-error-if-contains-third-party-frames`: Drop error events that contain at least one third-party stack frame.\n * - `drop-error-if-exclusively-contains-third-party-frames`: Drop error events that exclusively contain third-party stack frames.\n * - `apply-tag-if-contains-third-party-frames`: Keep all error events, but apply a `third_party_code: true` tag in case the error contains at least one third-party stack frame.\n * - `apply-tag-if-exclusively-contains-third-party-frames`: Keep all error events, but apply a `third_party_code: true` tag in case the error contains exclusively third-party stack frames.\n *\n * If you chose the mode to only apply tags, the tags can then be used in Sentry to filter your issue stream by entering `!third_party_code:True` in the search bar.\n */\n behaviour:\n | 'drop-error-if-contains-third-party-frames'\n | 'drop-error-if-exclusively-contains-third-party-frames'\n | 'apply-tag-if-contains-third-party-frames'\n | 'apply-tag-if-exclusively-contains-third-party-frames';\n\n /**\n * @experimental\n * If set to true, the integration will ignore frames that are internal to the Sentry SDK from the third-party frame detection.\n * Note that enabling this option might lead to errors being misclassified as third-party errors.\n */\n ignoreSentryInternalFrames?: boolean;\n}\n\n/**\n * This integration allows you to filter out, or tag error events that do not come from user code marked with a bundle key via the Sentry bundler plugins.\n */\nexport const thirdPartyErrorFilterIntegration = defineIntegration((options: Options) => {\n return {\n name: 'ThirdPartyErrorsFilter',\n setup(client) {\n // We need to strip metadata from stack frames before sending them to Sentry since these are client side only.\n client.on('beforeEnvelope', envelope => {\n forEachEnvelopeItem(envelope, (item, type) => {\n if (type === 'event') {\n const event = Array.isArray(item) ? (item as EventItem)[1] : undefined;\n\n if (event) {\n stripMetadataFromStackFrames(event);\n item[1] = event;\n }\n }\n });\n });\n\n client.on('applyFrameMetadata', event => {\n // Only apply stack frame metadata to error events\n if (event.type) {\n return;\n }\n\n const stackParser = client.getOptions().stackParser;\n addMetadataToStackFrames(stackParser, event);\n });\n },\n\n processEvent(event) {\n const frameKeys = getBundleKeysForAllFramesWithFilenames(event, options.ignoreSentryInternalFrames);\n\n if (frameKeys) {\n const arrayMethod =\n options.behaviour === 'drop-error-if-contains-third-party-frames' ||\n options.behaviour === 'apply-tag-if-contains-third-party-frames'\n ? 'some'\n : 'every';\n\n const behaviourApplies = frameKeys[arrayMethod](keys => !keys.some(key => options.filterKeys.includes(key)));\n\n if (behaviourApplies) {\n const shouldDrop =\n options.behaviour === 'drop-error-if-contains-third-party-frames' ||\n options.behaviour === 'drop-error-if-exclusively-contains-third-party-frames';\n if (shouldDrop) {\n return null;\n } else {\n event.tags = {\n ...event.tags,\n third_party_code: true,\n };\n }\n }\n }\n\n return event;\n },\n };\n});\n\n/**\n * Checks if a stack frame is a Sentry internal frame by strictly matching:\n * 1. The frame must be the last frame in the stack\n * 2. The filename must indicate the internal helpers file\n * 3. The context_line must contain the exact pattern \"fn.apply(this, wrappedArguments)\"\n * 4. The comment pattern \"Attempt to invoke user-land function\" must be present in pre_context\n *\n */\nfunction isSentryInternalFrame(frame: StackFrame, frameIndex: number): boolean {\n // Only match the last frame (index 0 in reversed stack)\n if (frameIndex !== 0 || !frame.context_line || !frame.filename) {\n return false;\n }\n\n if (\n !frame.filename.includes('sentry') ||\n !frame.filename.includes('helpers') || // Filename would look something like this: 'node_modules/@sentry/browser/build/npm/esm/helpers.js'\n !frame.context_line.includes(SENTRY_INTERNAL_FN_APPLY) // Must have context_line with the exact fn.apply pattern\n ) {\n return false;\n }\n\n // Check pre_context array for comment pattern\n if (frame.pre_context) {\n const len = frame.pre_context.length;\n for (let i = 0; i < len; i++) {\n if (frame.pre_context[i]?.includes(SENTRY_INTERNAL_COMMENT)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nfunction getBundleKeysForAllFramesWithFilenames(\n event: Event,\n ignoreSentryInternalFrames?: boolean,\n): string[][] | undefined {\n const frames = getFramesFromEvent(event);\n\n if (!frames) {\n return undefined;\n }\n\n return frames\n .filter((frame, index) => {\n // Exclude frames without a filename\n if (!frame.filename) {\n return false;\n }\n // Exclude frames without location info, since these are likely native code or built-ins.\n // JS frames have lineno/colno, WASM frames have instruction_addr instead.\n if (frame.lineno == null && frame.colno == null && frame.instruction_addr == null) {\n return false;\n }\n // Optionally ignore Sentry internal frames\n return !ignoreSentryInternalFrames || !isSentryInternalFrame(frame, index);\n })\n .map(frame => {\n if (!frame.module_metadata) {\n return [];\n }\n return Object.keys(frame.module_metadata)\n .filter(key => key.startsWith(BUNDLER_PLUGIN_APP_KEY_PREFIX))\n .map(key => key.slice(BUNDLER_PLUGIN_APP_KEY_PREFIX.length));\n });\n}\n\nconst BUNDLER_PLUGIN_APP_KEY_PREFIX = '_sentryBundlerPluginAppKey:';\nconst SENTRY_INTERNAL_COMMENT = 'Attempt to invoke user-land function';\nconst SENTRY_INTERNAL_FN_APPLY = 'fn.apply(this, wrappedArguments)';\n"],"names":["defineIntegration","envelope","forEachEnvelopeItem","stripMetadataFromStackFrames","addMetadataToStackFrames","getFramesFromEvent"],"mappings":"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"}
1
+ {"version":3,"file":"third-party-errors-filter.js","sources":["../../../src/integrations/third-party-errors-filter.ts"],"sourcesContent":["import { defineIntegration } from '../integration';\nimport { addMetadataToStackFrames, stripMetadataFromStackFrames } from '../metadata';\nimport type { EventItem } from '../types/envelope';\nimport type { Event } from '../types/event';\nimport type { StackFrame } from '../types/stackframe';\nimport { forEachEnvelopeItem } from '../utils/envelope';\nimport { getFramesFromEvent } from '../utils/stacktrace';\nimport { GLOBAL_OBJ } from '../utils/worldwide';\n\ninterface Options {\n /**\n * Keys that have been provided in the Sentry bundler plugin via the the `applicationKey` option, identifying your bundles.\n *\n * - Webpack plugin: https://www.npmjs.com/package/@sentry/webpack-plugin#applicationkey\n * - Vite plugin: https://www.npmjs.com/package/@sentry/vite-plugin#applicationkey\n * - Esbuild plugin: https://www.npmjs.com/package/@sentry/esbuild-plugin#applicationkey\n * - Rollup plugin: https://www.npmjs.com/package/@sentry/rollup-plugin#applicationkey\n */\n filterKeys: string[];\n\n /**\n * Defines how the integration should behave. \"Third-Party Stack Frames\" are stack frames that did not come from files marked with a matching bundle key.\n *\n * You can define the behaviour with one of 4 modes:\n * - `drop-error-if-contains-third-party-frames`: Drop error events that contain at least one third-party stack frame.\n * - `drop-error-if-exclusively-contains-third-party-frames`: Drop error events that exclusively contain third-party stack frames.\n * - `apply-tag-if-contains-third-party-frames`: Keep all error events, but apply a `third_party_code: true` tag in case the error contains at least one third-party stack frame.\n * - `apply-tag-if-exclusively-contains-third-party-frames`: Keep all error events, but apply a `third_party_code: true` tag in case the error contains exclusively third-party stack frames.\n *\n * If you chose the mode to only apply tags, the tags can then be used in Sentry to filter your issue stream by entering `!third_party_code:True` in the search bar.\n */\n behaviour:\n | 'drop-error-if-contains-third-party-frames'\n | 'drop-error-if-exclusively-contains-third-party-frames'\n | 'apply-tag-if-contains-third-party-frames'\n | 'apply-tag-if-exclusively-contains-third-party-frames';\n\n /**\n * @experimental\n * If set to true, the integration will ignore frames that are internal to the Sentry SDK from the third-party frame detection.\n * Note that enabling this option might lead to errors being misclassified as third-party errors.\n */\n ignoreSentryInternalFrames?: boolean;\n}\n\n/**\n * This integration allows you to filter out, or tag error events that do not come from user code marked with a bundle key via the Sentry bundler plugins.\n */\nexport const thirdPartyErrorFilterIntegration = defineIntegration((options: Options) => {\n return {\n name: 'ThirdPartyErrorsFilter',\n setup(client) {\n // We need to strip metadata from stack frames before sending them to Sentry since these are client side only.\n client.on('beforeEnvelope', envelope => {\n forEachEnvelopeItem(envelope, (item, type) => {\n if (type === 'event') {\n const event = Array.isArray(item) ? (item as EventItem)[1] : undefined;\n\n if (event) {\n stripMetadataFromStackFrames(event);\n item[1] = event;\n }\n }\n });\n });\n\n client.on('applyFrameMetadata', event => {\n // Only apply stack frame metadata to error events\n if (event.type) {\n return;\n }\n\n const stackParser = client.getOptions().stackParser;\n addMetadataToStackFrames(stackParser, event);\n });\n },\n\n preprocessEvent(event) {\n // Snapshot the depth counter onto the event before any event processors run.\n // This is necessary because async event processors could cause the finally block\n // in sentryWrapped to decrement the counter before processEvent reads it.\n if (options.ignoreSentryInternalFrames && (GLOBAL_OBJ._sentryWrappedDepth ?? 0) > 0) {\n event.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n insideSentryWrapped: true,\n };\n }\n },\n\n processEvent(event) {\n const insideSentryWrapped = options.ignoreSentryInternalFrames\n ? event.sdkProcessingMetadata?.insideSentryWrapped === true && event.exception?.values?.length === 1\n : false;\n const frameKeys = getBundleKeysForAllFramesWithFilenames(\n event,\n options.ignoreSentryInternalFrames,\n insideSentryWrapped,\n );\n\n if (frameKeys) {\n const arrayMethod =\n options.behaviour === 'drop-error-if-contains-third-party-frames' ||\n options.behaviour === 'apply-tag-if-contains-third-party-frames'\n ? 'some'\n : 'every';\n\n const behaviourApplies = frameKeys[arrayMethod](keys => !keys.some(key => options.filterKeys.includes(key)));\n\n if (behaviourApplies) {\n const shouldDrop =\n options.behaviour === 'drop-error-if-contains-third-party-frames' ||\n options.behaviour === 'drop-error-if-exclusively-contains-third-party-frames';\n if (shouldDrop) {\n return null;\n } else {\n event.tags = {\n ...event.tags,\n third_party_code: true,\n };\n }\n }\n }\n\n return event;\n },\n };\n});\n\n/** Checks if a frame is Sentry-internal via runtime depth, function name, or source patterns. */\nfunction isSentryInternalFrame(frame: StackFrame, frameIndex: number, insideSentryWrapped: boolean): boolean {\n // Only match the last frame (index 0 in reversed stack)\n if (frameIndex !== 0) {\n return false;\n }\n\n // When processEvent runs inside a sentryWrapped call and the frame looks minified,\n // the outermost frame is the sentryWrapped function with a mangled name.\n // We gate on minified shape to avoid false positives in non-minified builds\n // where stripSentryFramesAndReverse already removed the sentryWrapped frame.\n if (insideSentryWrapped && isLikelyMinifiedSentryWrappedFrame(frame)) {\n return true;\n }\n\n // Match by function name (works when function names survive bundling but source patterns don't)\n if (frame.function === 'sentryWrapped') {\n return true;\n }\n\n if (!frame.context_line || !frame.filename) {\n return false;\n }\n\n // Match by source code patterns (works in development / unbundled builds)\n if (\n !frame.filename.includes('sentry') ||\n !frame.filename.includes('helpers') || // Filename would look something like this: 'node_modules/@sentry/browser/build/npm/esm/helpers.js'\n !frame.context_line.includes(SENTRY_INTERNAL_FN_APPLY) // Must have context_line with the exact fn.apply pattern\n ) {\n return false;\n }\n\n // Check pre_context array for comment pattern\n if (frame.pre_context) {\n const len = frame.pre_context.length;\n for (let i = 0; i < len; i++) {\n if (frame.pre_context[i]?.includes(SENTRY_INTERNAL_COMMENT)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nfunction getBundleKeysForAllFramesWithFilenames(\n event: Event,\n ignoreSentryInternalFrames?: boolean,\n insideSentryWrapped?: boolean,\n): string[][] | undefined {\n const frames = getFramesFromEvent(event);\n\n if (!frames) {\n return undefined;\n }\n\n return frames\n .filter((frame, index) => {\n // Exclude frames without a filename\n if (!frame.filename) {\n return false;\n }\n // Exclude frames without location info, since these are likely native code or built-ins.\n // JS frames have lineno/colno, WASM frames have instruction_addr instead.\n if (frame.lineno == null && frame.colno == null && frame.instruction_addr == null) {\n return false;\n }\n // Optionally ignore Sentry internal frames\n return !ignoreSentryInternalFrames || !isSentryInternalFrame(frame, index, !!insideSentryWrapped);\n })\n .map(frame => {\n if (!frame.module_metadata) {\n return [];\n }\n return Object.keys(frame.module_metadata)\n .filter(key => key.startsWith(BUNDLER_PLUGIN_APP_KEY_PREFIX))\n .map(key => key.slice(BUNDLER_PLUGIN_APP_KEY_PREFIX.length));\n });\n}\n\nfunction isLikelyMinifiedSentryWrappedFrame(frame: StackFrame): boolean {\n return !frame.context_line && !frame.pre_context && !!frame.function && frame.function.length <= 2;\n}\n\nconst BUNDLER_PLUGIN_APP_KEY_PREFIX = '_sentryBundlerPluginAppKey:';\nconst SENTRY_INTERNAL_COMMENT = 'Attempt to invoke user-land function';\nconst SENTRY_INTERNAL_FN_APPLY = 'fn.apply(this, wrappedArguments)';\n"],"names":["defineIntegration","envelope","forEachEnvelopeItem","stripMetadataFromStackFrames","addMetadataToStackFrames","GLOBAL_OBJ","getFramesFromEvent"],"mappings":"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"}
@@ -5,135 +5,66 @@ const is = require('../utils/is.js');
5
5
  const string = require('../utils/string.js');
6
6
 
7
7
  const DEFAULT_LIMIT = 10;
8
- const INTEGRATION_NAME = 'ZodErrors';
9
-
10
- /**
11
- * Simplified ZodIssue type definition
12
- */
13
-
8
+ const INTEGRATION_NAME = "ZodErrors";
14
9
  function originalExceptionIsZodError(originalException) {
15
- return (
16
- is.isError(originalException) &&
17
- originalException.name === 'ZodError' &&
18
- Array.isArray((originalException ).issues)
19
- );
10
+ return is.isError(originalException) && originalException.name === "ZodError" && Array.isArray(originalException.issues);
20
11
  }
21
-
22
- /**
23
- * Formats child objects or arrays to a string
24
- * that is preserved when sent to Sentry.
25
- *
26
- * Without this, we end up with something like this in Sentry:
27
- *
28
- * [
29
- * [Object],
30
- * [Object],
31
- * [Object],
32
- * [Object]
33
- * ]
34
- */
35
12
  function flattenIssue(issue) {
36
13
  return {
37
14
  ...issue,
38
- path: 'path' in issue && Array.isArray(issue.path) ? issue.path.join('.') : undefined,
39
- keys: 'keys' in issue ? JSON.stringify(issue.keys) : undefined,
40
- unionErrors: 'unionErrors' in issue ? JSON.stringify(issue.unionErrors) : undefined,
15
+ path: "path" in issue && Array.isArray(issue.path) ? issue.path.join(".") : void 0,
16
+ keys: "keys" in issue ? JSON.stringify(issue.keys) : void 0,
17
+ unionErrors: "unionErrors" in issue ? JSON.stringify(issue.unionErrors) : void 0
41
18
  };
42
19
  }
43
-
44
- /**
45
- * Takes ZodError issue path array and returns a flattened version as a string.
46
- * This makes it easier to display paths within a Sentry error message.
47
- *
48
- * Array indexes are normalized to reduce duplicate entries
49
- *
50
- * @param path ZodError issue path
51
- * @returns flattened path
52
- *
53
- * @example
54
- * flattenIssuePath([0, 'foo', 1, 'bar']) // -> '<array>.foo.<array>.bar'
55
- */
56
20
  function flattenIssuePath(path) {
57
- return path
58
- .map(p => {
59
- if (typeof p === 'number') {
60
- return '<array>';
61
- } else {
62
- return p;
63
- }
64
- })
65
- .join('.');
21
+ return path.map((p) => {
22
+ if (typeof p === "number") {
23
+ return "<array>";
24
+ } else {
25
+ return p;
26
+ }
27
+ }).join(".");
66
28
  }
67
-
68
- /**
69
- * Zod error message is a stringified version of ZodError.issues
70
- * This doesn't display well in the Sentry UI. Replace it with something shorter.
71
- */
72
29
  function formatIssueMessage(zodError) {
73
- const errorKeyMap = new Set();
30
+ const errorKeyMap = /* @__PURE__ */ new Set();
74
31
  for (const iss of zodError.issues) {
75
32
  const issuePath = flattenIssuePath(iss.path);
76
33
  if (issuePath.length > 0) {
77
34
  errorKeyMap.add(issuePath);
78
35
  }
79
36
  }
80
-
81
37
  const errorKeys = Array.from(errorKeyMap);
82
38
  if (errorKeys.length === 0) {
83
- // If there are no keys, then we're likely validating the root
84
- // variable rather than a key within an object. This attempts
85
- // to extract what type it was that failed to validate.
86
- // For example, z.string().parse(123) would return "string" here.
87
- let rootExpectedType = 'variable';
39
+ let rootExpectedType = "variable";
88
40
  if (zodError.issues.length > 0) {
89
41
  const iss = zodError.issues[0];
90
- if (iss !== undefined && 'expected' in iss && typeof iss.expected === 'string') {
42
+ if (iss !== void 0 && "expected" in iss && typeof iss.expected === "string") {
91
43
  rootExpectedType = iss.expected;
92
44
  }
93
45
  }
94
46
  return `Failed to validate ${rootExpectedType}`;
95
47
  }
96
- return `Failed to validate keys: ${string.truncate(errorKeys.join(', '), 100)}`;
48
+ return `Failed to validate keys: ${string.truncate(errorKeys.join(", "), 100)}`;
97
49
  }
98
-
99
- /**
100
- * Applies ZodError issues to an event extra and replaces the error message
101
- */
102
- function applyZodErrorsToEvent(
103
- limit,
104
- saveZodIssuesAsAttachment = false,
105
- event,
106
- hint,
107
- ) {
108
- if (
109
- !event.exception?.values ||
110
- !hint.originalException ||
111
- !originalExceptionIsZodError(hint.originalException) ||
112
- hint.originalException.issues.length === 0
113
- ) {
50
+ function applyZodErrorsToEvent(limit, saveZodIssuesAsAttachment = false, event, hint) {
51
+ if (!event.exception?.values || !hint.originalException || !originalExceptionIsZodError(hint.originalException) || hint.originalException.issues.length === 0) {
114
52
  return event;
115
53
  }
116
-
117
54
  try {
118
- const issuesToFlatten = saveZodIssuesAsAttachment
119
- ? hint.originalException.issues
120
- : hint.originalException.issues.slice(0, limit);
55
+ const issuesToFlatten = saveZodIssuesAsAttachment ? hint.originalException.issues : hint.originalException.issues.slice(0, limit);
121
56
  const flattenedIssues = issuesToFlatten.map(flattenIssue);
122
-
123
57
  if (saveZodIssuesAsAttachment) {
124
- // Sometimes having the full error details can be helpful.
125
- // Attachments have much higher limits, so we can include the full list of issues.
126
58
  if (!Array.isArray(hint.attachments)) {
127
59
  hint.attachments = [];
128
60
  }
129
61
  hint.attachments.push({
130
- filename: 'zod_issues.json',
62
+ filename: "zod_issues.json",
131
63
  data: JSON.stringify({
132
- issues: flattenedIssues,
133
- }),
64
+ issues: flattenedIssues
65
+ })
134
66
  });
135
67
  }
136
-
137
68
  return {
138
69
  ...event,
139
70
  exception: {
@@ -141,47 +72,40 @@ function applyZodErrorsToEvent(
141
72
  values: [
142
73
  {
143
74
  ...event.exception.values[0],
144
- value: formatIssueMessage(hint.originalException),
75
+ value: formatIssueMessage(hint.originalException)
145
76
  },
146
- ...event.exception.values.slice(1),
147
- ],
77
+ ...event.exception.values.slice(1)
78
+ ]
148
79
  },
149
80
  extra: {
150
81
  ...event.extra,
151
- 'zoderror.issues': flattenedIssues.slice(0, limit),
152
- },
82
+ "zoderror.issues": flattenedIssues.slice(0, limit)
83
+ }
153
84
  };
154
85
  } catch (e) {
155
- // Hopefully we never throw errors here, but record it
156
- // with the event just in case.
157
86
  return {
158
87
  ...event,
159
88
  extra: {
160
89
  ...event.extra,
161
- 'zoderrors sentry integration parse error': {
162
- message: 'an exception was thrown while processing ZodError within applyZodErrorsToEvent()',
163
- error: e instanceof Error ? `${e.name}: ${e.message}\n${e.stack}` : 'unknown',
164
- },
165
- },
90
+ "zoderrors sentry integration parse error": {
91
+ message: "an exception was thrown while processing ZodError within applyZodErrorsToEvent()",
92
+ error: e instanceof Error ? `${e.name}: ${e.message}
93
+ ${e.stack}` : "unknown"
94
+ }
95
+ }
166
96
  };
167
97
  }
168
98
  }
169
-
170
99
  const _zodErrorsIntegration = ((options = {}) => {
171
100
  const limit = options.limit ?? DEFAULT_LIMIT;
172
-
173
101
  return {
174
102
  name: INTEGRATION_NAME,
175
103
  processEvent(originalEvent, hint) {
176
104
  const processedEvent = applyZodErrorsToEvent(limit, options.saveZodIssuesAsAttachment, originalEvent, hint);
177
105
  return processedEvent;
178
- },
106
+ }
179
107
  };
180
- }) ;
181
-
182
- /**
183
- * Sentry integration to process Zod errors, making them easier to work with in Sentry.
184
- */
108
+ });
185
109
  const zodErrorsIntegration = integration.defineIntegration(_zodErrorsIntegration);
186
110
 
187
111
  exports.applyZodErrorsToEvent = applyZodErrorsToEvent;