@sentry/browser 10.22.0 → 10.25.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 (457) hide show
  1. package/build/npm/cjs/{client.js → dev/client.js} +16 -3
  2. package/build/npm/cjs/dev/client.js.map +1 -0
  3. package/build/npm/cjs/dev/debug-build.js.map +1 -0
  4. package/build/npm/cjs/dev/diagnose-sdk.js.map +1 -0
  5. package/build/npm/cjs/dev/eventbuilder.js.map +1 -0
  6. package/build/npm/cjs/dev/feedbackAsync.js.map +1 -0
  7. package/build/npm/cjs/dev/feedbackSync.js.map +1 -0
  8. package/build/npm/cjs/dev/helpers.js.map +1 -0
  9. package/build/npm/cjs/dev/integrations/breadcrumbs.js.map +1 -0
  10. package/build/npm/cjs/dev/integrations/browserapierrors.js.map +1 -0
  11. package/build/npm/cjs/dev/integrations/browsersession.js.map +1 -0
  12. package/build/npm/cjs/dev/integrations/contextlines.js.map +1 -0
  13. package/build/npm/cjs/dev/integrations/featureFlags/growthbook/integration.js.map +1 -0
  14. package/build/npm/cjs/dev/integrations/featureFlags/launchdarkly/integration.js.map +1 -0
  15. package/build/npm/cjs/dev/integrations/featureFlags/openfeature/integration.js.map +1 -0
  16. package/build/npm/cjs/dev/integrations/featureFlags/statsig/integration.js.map +1 -0
  17. package/build/npm/cjs/dev/integrations/featureFlags/unleash/integration.js.map +1 -0
  18. package/build/npm/cjs/{integrations → dev/integrations}/globalhandlers.js +6 -1
  19. package/build/npm/cjs/dev/integrations/globalhandlers.js.map +1 -0
  20. package/build/npm/cjs/dev/integrations/graphqlClient.js.map +1 -0
  21. package/build/npm/cjs/dev/integrations/httpclient.js.map +1 -0
  22. package/build/npm/cjs/dev/integrations/httpcontext.js.map +1 -0
  23. package/build/npm/cjs/dev/integrations/linkederrors.js.map +1 -0
  24. package/build/npm/cjs/dev/integrations/reportingobserver.js.map +1 -0
  25. package/build/npm/cjs/dev/integrations/spotlight.js.map +1 -0
  26. package/build/npm/cjs/{integrations → dev/integrations}/webWorker.js +119 -17
  27. package/build/npm/cjs/dev/integrations/webWorker.js.map +1 -0
  28. package/build/npm/cjs/dev/profiling/integration.js.map +1 -0
  29. package/build/npm/cjs/dev/profiling/lifecycleMode/traceLifecycleProfiler.js.map +1 -0
  30. package/build/npm/cjs/dev/profiling/startProfileForSpan.js.map +1 -0
  31. package/build/npm/cjs/dev/profiling/utils.js.map +1 -0
  32. package/build/npm/cjs/dev/report-dialog.js.map +1 -0
  33. package/build/npm/cjs/dev/sdk.js +133 -0
  34. package/build/npm/cjs/dev/sdk.js.map +1 -0
  35. package/build/npm/cjs/dev/stack-parsers.js.map +1 -0
  36. package/build/npm/cjs/dev/tracing/backgroundtab.js.map +1 -0
  37. package/build/npm/cjs/dev/tracing/browserTracingIntegration.js.map +1 -0
  38. package/build/npm/cjs/{tracing → dev/tracing}/linkedTraces.js +1 -0
  39. package/build/npm/cjs/dev/tracing/linkedTraces.js.map +1 -0
  40. package/build/npm/cjs/dev/tracing/reportPageLoaded.js.map +1 -0
  41. package/build/npm/cjs/dev/tracing/request.js.map +1 -0
  42. package/build/npm/cjs/dev/tracing/setActiveSpan.js.map +1 -0
  43. package/build/npm/cjs/dev/tracing/utils.js.map +1 -0
  44. package/build/npm/cjs/{transports → dev/transports}/fetch.js +7 -1
  45. package/build/npm/cjs/dev/transports/fetch.js.map +1 -0
  46. package/build/npm/cjs/dev/transports/offline.js.map +1 -0
  47. package/build/npm/cjs/dev/userfeedback.js.map +1 -0
  48. package/build/npm/cjs/dev/utils/detectBrowserExtension.js.map +1 -0
  49. package/build/npm/cjs/dev/utils/lazyLoadIntegration.js.map +1 -0
  50. package/build/npm/cjs/prod/client.js +125 -0
  51. package/build/npm/cjs/prod/client.js.map +1 -0
  52. package/build/npm/cjs/prod/debug-build.js +11 -0
  53. package/build/npm/cjs/prod/debug-build.js.map +1 -0
  54. package/build/npm/cjs/prod/diagnose-sdk.js +51 -0
  55. package/build/npm/cjs/prod/diagnose-sdk.js.map +1 -0
  56. package/build/npm/cjs/prod/eventbuilder.js +397 -0
  57. package/build/npm/cjs/prod/eventbuilder.js.map +1 -0
  58. package/build/npm/cjs/prod/feedbackAsync.js +15 -0
  59. package/build/npm/cjs/prod/feedbackAsync.js.map +1 -0
  60. package/build/npm/cjs/prod/feedbackSync.js +12 -0
  61. package/build/npm/cjs/prod/feedbackSync.js.map +1 -0
  62. package/build/npm/cjs/prod/helpers.js +185 -0
  63. package/build/npm/cjs/prod/helpers.js.map +1 -0
  64. package/build/npm/cjs/prod/index.js +179 -0
  65. package/build/npm/cjs/prod/index.js.map +1 -0
  66. package/build/npm/cjs/prod/integrations/breadcrumbs.js +341 -0
  67. package/build/npm/cjs/prod/integrations/breadcrumbs.js.map +1 -0
  68. package/build/npm/cjs/prod/integrations/browserapierrors.js +259 -0
  69. package/build/npm/cjs/prod/integrations/browserapierrors.js.map +1 -0
  70. package/build/npm/cjs/prod/integrations/browsersession.js +44 -0
  71. package/build/npm/cjs/prod/integrations/browsersession.js.map +1 -0
  72. package/build/npm/cjs/prod/integrations/contextlines.js +89 -0
  73. package/build/npm/cjs/prod/integrations/contextlines.js.map +1 -0
  74. package/build/npm/cjs/prod/integrations/featureFlags/growthbook/integration.js +29 -0
  75. package/build/npm/cjs/prod/integrations/featureFlags/growthbook/integration.js.map +1 -0
  76. package/build/npm/cjs/prod/integrations/featureFlags/launchdarkly/integration.js +55 -0
  77. package/build/npm/cjs/prod/integrations/featureFlags/launchdarkly/integration.js.map +1 -0
  78. package/build/npm/cjs/prod/integrations/featureFlags/openfeature/integration.js +38 -0
  79. package/build/npm/cjs/prod/integrations/featureFlags/openfeature/integration.js.map +1 -0
  80. package/build/npm/cjs/prod/integrations/featureFlags/statsig/integration.js +48 -0
  81. package/build/npm/cjs/prod/integrations/featureFlags/statsig/integration.js.map +1 -0
  82. package/build/npm/cjs/prod/integrations/featureFlags/unleash/integration.js +74 -0
  83. package/build/npm/cjs/prod/integrations/featureFlags/unleash/integration.js.map +1 -0
  84. package/build/npm/cjs/prod/integrations/globalhandlers.js +210 -0
  85. package/build/npm/cjs/prod/integrations/globalhandlers.js.map +1 -0
  86. package/build/npm/cjs/prod/integrations/graphqlClient.js +180 -0
  87. package/build/npm/cjs/prod/integrations/graphqlClient.js.map +1 -0
  88. package/build/npm/cjs/prod/integrations/httpclient.js +395 -0
  89. package/build/npm/cjs/prod/integrations/httpclient.js.map +1 -0
  90. package/build/npm/cjs/prod/integrations/httpcontext.js +35 -0
  91. package/build/npm/cjs/prod/integrations/httpcontext.js.map +1 -0
  92. package/build/npm/cjs/prod/integrations/linkederrors.js +39 -0
  93. package/build/npm/cjs/prod/integrations/linkederrors.js.map +1 -0
  94. package/build/npm/cjs/prod/integrations/reportingobserver.js +85 -0
  95. package/build/npm/cjs/prod/integrations/reportingobserver.js.map +1 -0
  96. package/build/npm/cjs/prod/integrations/spotlight.js +85 -0
  97. package/build/npm/cjs/prod/integrations/spotlight.js.map +1 -0
  98. package/build/npm/cjs/prod/integrations/webWorker.js +251 -0
  99. package/build/npm/cjs/prod/integrations/webWorker.js.map +1 -0
  100. package/build/npm/cjs/prod/profiling/integration.js +150 -0
  101. package/build/npm/cjs/prod/profiling/integration.js.map +1 -0
  102. package/build/npm/cjs/prod/profiling/lifecycleMode/traceLifecycleProfiler.js +343 -0
  103. package/build/npm/cjs/prod/profiling/lifecycleMode/traceLifecycleProfiler.js.map +1 -0
  104. package/build/npm/cjs/prod/profiling/startProfileForSpan.js +144 -0
  105. package/build/npm/cjs/prod/profiling/startProfileForSpan.js.map +1 -0
  106. package/build/npm/cjs/prod/profiling/utils.js +786 -0
  107. package/build/npm/cjs/prod/profiling/utils.js.map +1 -0
  108. package/build/npm/cjs/prod/report-dialog.js +68 -0
  109. package/build/npm/cjs/prod/report-dialog.js.map +1 -0
  110. package/build/npm/cjs/{sdk.js → prod/sdk.js} +5 -2
  111. package/build/npm/cjs/prod/sdk.js.map +1 -0
  112. package/build/npm/cjs/prod/stack-parsers.js +202 -0
  113. package/build/npm/cjs/prod/stack-parsers.js.map +1 -0
  114. package/build/npm/cjs/prod/tracing/backgroundtab.js +46 -0
  115. package/build/npm/cjs/prod/tracing/backgroundtab.js.map +1 -0
  116. package/build/npm/cjs/prod/tracing/browserTracingIntegration.js +577 -0
  117. package/build/npm/cjs/prod/tracing/browserTracingIntegration.js.map +1 -0
  118. package/build/npm/cjs/prod/tracing/linkedTraces.js +227 -0
  119. package/build/npm/cjs/prod/tracing/linkedTraces.js.map +1 -0
  120. package/build/npm/cjs/prod/tracing/reportPageLoaded.js +18 -0
  121. package/build/npm/cjs/prod/tracing/reportPageLoaded.js.map +1 -0
  122. package/build/npm/cjs/prod/tracing/request.js +342 -0
  123. package/build/npm/cjs/prod/tracing/request.js.map +1 -0
  124. package/build/npm/cjs/prod/tracing/setActiveSpan.js +68 -0
  125. package/build/npm/cjs/prod/tracing/setActiveSpan.js.map +1 -0
  126. package/build/npm/cjs/prod/tracing/utils.js +54 -0
  127. package/build/npm/cjs/prod/tracing/utils.js.map +1 -0
  128. package/build/npm/cjs/prod/transports/fetch.js +71 -0
  129. package/build/npm/cjs/prod/transports/fetch.js.map +1 -0
  130. package/build/npm/cjs/prod/transports/offline.js +168 -0
  131. package/build/npm/cjs/prod/transports/offline.js.map +1 -0
  132. package/build/npm/cjs/prod/userfeedback.js +42 -0
  133. package/build/npm/cjs/prod/userfeedback.js.map +1 -0
  134. package/build/npm/cjs/prod/utils/detectBrowserExtension.js +59 -0
  135. package/build/npm/cjs/prod/utils/detectBrowserExtension.js.map +1 -0
  136. package/build/npm/cjs/prod/utils/lazyLoadIntegration.js +106 -0
  137. package/build/npm/cjs/prod/utils/lazyLoadIntegration.js.map +1 -0
  138. package/build/npm/esm/{client.js → dev/client.js} +16 -3
  139. package/build/npm/esm/dev/client.js.map +1 -0
  140. package/build/npm/esm/dev/debug-build.js.map +1 -0
  141. package/build/npm/esm/dev/diagnose-sdk.js.map +1 -0
  142. package/build/npm/esm/dev/eventbuilder.js.map +1 -0
  143. package/build/npm/esm/dev/feedbackAsync.js.map +1 -0
  144. package/build/npm/esm/dev/feedbackSync.js.map +1 -0
  145. package/build/npm/esm/dev/helpers.js.map +1 -0
  146. package/build/npm/esm/dev/integrations/breadcrumbs.js.map +1 -0
  147. package/build/npm/esm/dev/integrations/browserapierrors.js.map +1 -0
  148. package/build/npm/esm/dev/integrations/browsersession.js.map +1 -0
  149. package/build/npm/esm/dev/integrations/contextlines.js.map +1 -0
  150. package/build/npm/esm/dev/integrations/featureFlags/growthbook/integration.js.map +1 -0
  151. package/build/npm/esm/dev/integrations/featureFlags/launchdarkly/integration.js.map +1 -0
  152. package/build/npm/esm/dev/integrations/featureFlags/openfeature/integration.js.map +1 -0
  153. package/build/npm/esm/dev/integrations/featureFlags/statsig/integration.js.map +1 -0
  154. package/build/npm/esm/dev/integrations/featureFlags/unleash/integration.js.map +1 -0
  155. package/build/npm/esm/{integrations → dev/integrations}/globalhandlers.js +5 -2
  156. package/build/npm/esm/dev/integrations/globalhandlers.js.map +1 -0
  157. package/build/npm/esm/dev/integrations/graphqlClient.js.map +1 -0
  158. package/build/npm/esm/dev/integrations/httpclient.js.map +1 -0
  159. package/build/npm/esm/dev/integrations/httpcontext.js.map +1 -0
  160. package/build/npm/esm/dev/integrations/linkederrors.js.map +1 -0
  161. package/build/npm/esm/dev/integrations/reportingobserver.js.map +1 -0
  162. package/build/npm/esm/dev/integrations/spotlight.js.map +1 -0
  163. package/build/npm/esm/dev/integrations/webWorker.js +247 -0
  164. package/build/npm/esm/dev/integrations/webWorker.js.map +1 -0
  165. package/build/npm/esm/dev/package.json +1 -0
  166. package/build/npm/esm/dev/profiling/integration.js.map +1 -0
  167. package/build/npm/esm/dev/profiling/lifecycleMode/traceLifecycleProfiler.js.map +1 -0
  168. package/build/npm/esm/dev/profiling/startProfileForSpan.js.map +1 -0
  169. package/build/npm/esm/dev/profiling/utils.js.map +1 -0
  170. package/build/npm/esm/dev/report-dialog.js.map +1 -0
  171. package/build/npm/esm/dev/sdk.js +128 -0
  172. package/build/npm/esm/dev/sdk.js.map +1 -0
  173. package/build/npm/esm/dev/stack-parsers.js.map +1 -0
  174. package/build/npm/esm/dev/tracing/backgroundtab.js.map +1 -0
  175. package/build/npm/esm/dev/tracing/browserTracingIntegration.js.map +1 -0
  176. package/build/npm/esm/{tracing → dev/tracing}/linkedTraces.js +1 -0
  177. package/build/npm/esm/dev/tracing/linkedTraces.js.map +1 -0
  178. package/build/npm/esm/dev/tracing/reportPageLoaded.js.map +1 -0
  179. package/build/npm/esm/dev/tracing/request.js.map +1 -0
  180. package/build/npm/esm/dev/tracing/setActiveSpan.js.map +1 -0
  181. package/build/npm/esm/dev/tracing/utils.js.map +1 -0
  182. package/build/npm/esm/{transports → dev/transports}/fetch.js +8 -2
  183. package/build/npm/esm/dev/transports/fetch.js.map +1 -0
  184. package/build/npm/esm/dev/transports/offline.js.map +1 -0
  185. package/build/npm/esm/dev/userfeedback.js.map +1 -0
  186. package/build/npm/esm/dev/utils/detectBrowserExtension.js.map +1 -0
  187. package/build/npm/esm/dev/utils/lazyLoadIntegration.js.map +1 -0
  188. package/build/npm/esm/prod/client.js +122 -0
  189. package/build/npm/esm/prod/client.js.map +1 -0
  190. package/build/npm/esm/prod/debug-build.js +9 -0
  191. package/build/npm/esm/prod/debug-build.js.map +1 -0
  192. package/build/npm/esm/prod/diagnose-sdk.js +49 -0
  193. package/build/npm/esm/prod/diagnose-sdk.js.map +1 -0
  194. package/build/npm/esm/prod/eventbuilder.js +390 -0
  195. package/build/npm/esm/prod/eventbuilder.js.map +1 -0
  196. package/build/npm/esm/prod/feedbackAsync.js +13 -0
  197. package/build/npm/esm/prod/feedbackAsync.js.map +1 -0
  198. package/build/npm/esm/prod/feedbackSync.js +10 -0
  199. package/build/npm/esm/prod/feedbackSync.js.map +1 -0
  200. package/build/npm/esm/prod/helpers.js +179 -0
  201. package/build/npm/esm/prod/helpers.js.map +1 -0
  202. package/build/npm/esm/prod/index.js +40 -0
  203. package/build/npm/esm/prod/index.js.map +1 -0
  204. package/build/npm/esm/prod/integrations/breadcrumbs.js +339 -0
  205. package/build/npm/esm/prod/integrations/breadcrumbs.js.map +1 -0
  206. package/build/npm/esm/prod/integrations/browserapierrors.js +257 -0
  207. package/build/npm/esm/prod/integrations/browserapierrors.js.map +1 -0
  208. package/build/npm/esm/prod/integrations/browsersession.js +42 -0
  209. package/build/npm/esm/prod/integrations/browsersession.js.map +1 -0
  210. package/build/npm/esm/prod/integrations/contextlines.js +86 -0
  211. package/build/npm/esm/prod/integrations/contextlines.js.map +1 -0
  212. package/build/npm/esm/prod/integrations/featureFlags/growthbook/integration.js +27 -0
  213. package/build/npm/esm/prod/integrations/featureFlags/growthbook/integration.js.map +1 -0
  214. package/build/npm/esm/prod/integrations/featureFlags/launchdarkly/integration.js +52 -0
  215. package/build/npm/esm/prod/integrations/featureFlags/launchdarkly/integration.js.map +1 -0
  216. package/build/npm/esm/prod/integrations/featureFlags/openfeature/integration.js +35 -0
  217. package/build/npm/esm/prod/integrations/featureFlags/openfeature/integration.js.map +1 -0
  218. package/build/npm/esm/prod/integrations/featureFlags/statsig/integration.js +46 -0
  219. package/build/npm/esm/prod/integrations/featureFlags/statsig/integration.js.map +1 -0
  220. package/build/npm/esm/prod/integrations/featureFlags/unleash/integration.js +72 -0
  221. package/build/npm/esm/prod/integrations/featureFlags/unleash/integration.js.map +1 -0
  222. package/build/npm/esm/prod/integrations/globalhandlers.js +206 -0
  223. package/build/npm/esm/prod/integrations/globalhandlers.js.map +1 -0
  224. package/build/npm/esm/prod/integrations/graphqlClient.js +175 -0
  225. package/build/npm/esm/prod/integrations/graphqlClient.js.map +1 -0
  226. package/build/npm/esm/prod/integrations/httpclient.js +393 -0
  227. package/build/npm/esm/prod/integrations/httpclient.js.map +1 -0
  228. package/build/npm/esm/prod/integrations/httpcontext.js +33 -0
  229. package/build/npm/esm/prod/integrations/httpcontext.js.map +1 -0
  230. package/build/npm/esm/prod/integrations/linkederrors.js +37 -0
  231. package/build/npm/esm/prod/integrations/linkederrors.js.map +1 -0
  232. package/build/npm/esm/prod/integrations/reportingobserver.js +83 -0
  233. package/build/npm/esm/prod/integrations/reportingobserver.js.map +1 -0
  234. package/build/npm/esm/prod/integrations/spotlight.js +81 -0
  235. package/build/npm/esm/prod/integrations/spotlight.js.map +1 -0
  236. package/build/npm/esm/prod/integrations/webWorker.js +247 -0
  237. package/build/npm/esm/prod/integrations/webWorker.js.map +1 -0
  238. package/build/npm/esm/prod/package.json +1 -0
  239. package/build/npm/esm/prod/profiling/integration.js +148 -0
  240. package/build/npm/esm/prod/profiling/integration.js.map +1 -0
  241. package/build/npm/esm/prod/profiling/lifecycleMode/traceLifecycleProfiler.js +341 -0
  242. package/build/npm/esm/prod/profiling/lifecycleMode/traceLifecycleProfiler.js.map +1 -0
  243. package/build/npm/esm/prod/profiling/startProfileForSpan.js +142 -0
  244. package/build/npm/esm/prod/profiling/startProfileForSpan.js.map +1 -0
  245. package/build/npm/esm/prod/profiling/utils.js +763 -0
  246. package/build/npm/esm/prod/profiling/utils.js.map +1 -0
  247. package/build/npm/esm/prod/report-dialog.js +66 -0
  248. package/build/npm/esm/prod/report-dialog.js.map +1 -0
  249. package/build/npm/esm/{sdk.js → prod/sdk.js} +5 -2
  250. package/build/npm/esm/prod/sdk.js.map +1 -0
  251. package/build/npm/esm/prod/stack-parsers.js +194 -0
  252. package/build/npm/esm/prod/stack-parsers.js.map +1 -0
  253. package/build/npm/esm/prod/tracing/backgroundtab.js +44 -0
  254. package/build/npm/esm/prod/tracing/backgroundtab.js.map +1 -0
  255. package/build/npm/esm/prod/tracing/browserTracingIntegration.js +571 -0
  256. package/build/npm/esm/prod/tracing/browserTracingIntegration.js.map +1 -0
  257. package/build/npm/esm/prod/tracing/linkedTraces.js +218 -0
  258. package/build/npm/esm/prod/tracing/linkedTraces.js.map +1 -0
  259. package/build/npm/esm/prod/tracing/reportPageLoaded.js +16 -0
  260. package/build/npm/esm/prod/tracing/reportPageLoaded.js.map +1 -0
  261. package/build/npm/esm/prod/tracing/request.js +338 -0
  262. package/build/npm/esm/prod/tracing/request.js.map +1 -0
  263. package/build/npm/esm/prod/tracing/setActiveSpan.js +66 -0
  264. package/build/npm/esm/prod/tracing/setActiveSpan.js.map +1 -0
  265. package/build/npm/esm/prod/tracing/utils.js +49 -0
  266. package/build/npm/esm/prod/tracing/utils.js.map +1 -0
  267. package/build/npm/esm/prod/transports/fetch.js +69 -0
  268. package/build/npm/esm/prod/transports/fetch.js.map +1 -0
  269. package/build/npm/esm/prod/transports/offline.js +162 -0
  270. package/build/npm/esm/prod/transports/offline.js.map +1 -0
  271. package/build/npm/esm/prod/userfeedback.js +40 -0
  272. package/build/npm/esm/prod/userfeedback.js.map +1 -0
  273. package/build/npm/esm/prod/utils/detectBrowserExtension.js +57 -0
  274. package/build/npm/esm/prod/utils/detectBrowserExtension.js.map +1 -0
  275. package/build/npm/esm/prod/utils/lazyLoadIntegration.js +104 -0
  276. package/build/npm/esm/prod/utils/lazyLoadIntegration.js.map +1 -0
  277. package/build/npm/types/client.d.ts +11 -0
  278. package/build/npm/types/client.d.ts.map +1 -1
  279. package/build/npm/types/integrations/globalhandlers.d.ts +12 -0
  280. package/build/npm/types/integrations/globalhandlers.d.ts.map +1 -1
  281. package/build/npm/types/integrations/webWorker.d.ts +12 -0
  282. package/build/npm/types/integrations/webWorker.d.ts.map +1 -1
  283. package/build/npm/types/sdk.d.ts.map +1 -1
  284. package/build/npm/types/transports/fetch.d.ts.map +1 -1
  285. package/build/npm/types/transports/types.d.ts +0 -4
  286. package/build/npm/types/transports/types.d.ts.map +1 -1
  287. package/build/npm/types-ts3.8/client.d.ts +11 -0
  288. package/build/npm/types-ts3.8/integrations/globalhandlers.d.ts +12 -0
  289. package/build/npm/types-ts3.8/integrations/webWorker.d.ts +12 -0
  290. package/build/npm/types-ts3.8/transports/types.d.ts +0 -4
  291. package/package.json +22 -17
  292. package/build/npm/cjs/client.js.map +0 -1
  293. package/build/npm/cjs/debug-build.js.map +0 -1
  294. package/build/npm/cjs/diagnose-sdk.js.map +0 -1
  295. package/build/npm/cjs/eventbuilder.js.map +0 -1
  296. package/build/npm/cjs/feedbackAsync.js.map +0 -1
  297. package/build/npm/cjs/feedbackSync.js.map +0 -1
  298. package/build/npm/cjs/helpers.js.map +0 -1
  299. package/build/npm/cjs/integrations/breadcrumbs.js.map +0 -1
  300. package/build/npm/cjs/integrations/browserapierrors.js.map +0 -1
  301. package/build/npm/cjs/integrations/browsersession.js.map +0 -1
  302. package/build/npm/cjs/integrations/contextlines.js.map +0 -1
  303. package/build/npm/cjs/integrations/featureFlags/growthbook/integration.js.map +0 -1
  304. package/build/npm/cjs/integrations/featureFlags/launchdarkly/integration.js.map +0 -1
  305. package/build/npm/cjs/integrations/featureFlags/openfeature/integration.js.map +0 -1
  306. package/build/npm/cjs/integrations/featureFlags/statsig/integration.js.map +0 -1
  307. package/build/npm/cjs/integrations/featureFlags/unleash/integration.js.map +0 -1
  308. package/build/npm/cjs/integrations/globalhandlers.js.map +0 -1
  309. package/build/npm/cjs/integrations/graphqlClient.js.map +0 -1
  310. package/build/npm/cjs/integrations/httpclient.js.map +0 -1
  311. package/build/npm/cjs/integrations/httpcontext.js.map +0 -1
  312. package/build/npm/cjs/integrations/linkederrors.js.map +0 -1
  313. package/build/npm/cjs/integrations/reportingobserver.js.map +0 -1
  314. package/build/npm/cjs/integrations/spotlight.js.map +0 -1
  315. package/build/npm/cjs/integrations/webWorker.js.map +0 -1
  316. package/build/npm/cjs/profiling/integration.js.map +0 -1
  317. package/build/npm/cjs/profiling/lifecycleMode/traceLifecycleProfiler.js.map +0 -1
  318. package/build/npm/cjs/profiling/startProfileForSpan.js.map +0 -1
  319. package/build/npm/cjs/profiling/utils.js.map +0 -1
  320. package/build/npm/cjs/report-dialog.js.map +0 -1
  321. package/build/npm/cjs/sdk.js.map +0 -1
  322. package/build/npm/cjs/stack-parsers.js.map +0 -1
  323. package/build/npm/cjs/tracing/backgroundtab.js.map +0 -1
  324. package/build/npm/cjs/tracing/browserTracingIntegration.js.map +0 -1
  325. package/build/npm/cjs/tracing/linkedTraces.js.map +0 -1
  326. package/build/npm/cjs/tracing/reportPageLoaded.js.map +0 -1
  327. package/build/npm/cjs/tracing/request.js.map +0 -1
  328. package/build/npm/cjs/tracing/setActiveSpan.js.map +0 -1
  329. package/build/npm/cjs/tracing/utils.js.map +0 -1
  330. package/build/npm/cjs/transports/fetch.js.map +0 -1
  331. package/build/npm/cjs/transports/offline.js.map +0 -1
  332. package/build/npm/cjs/userfeedback.js.map +0 -1
  333. package/build/npm/cjs/utils/detectBrowserExtension.js.map +0 -1
  334. package/build/npm/cjs/utils/lazyLoadIntegration.js.map +0 -1
  335. package/build/npm/esm/client.js.map +0 -1
  336. package/build/npm/esm/debug-build.js.map +0 -1
  337. package/build/npm/esm/diagnose-sdk.js.map +0 -1
  338. package/build/npm/esm/eventbuilder.js.map +0 -1
  339. package/build/npm/esm/feedbackAsync.js.map +0 -1
  340. package/build/npm/esm/feedbackSync.js.map +0 -1
  341. package/build/npm/esm/helpers.js.map +0 -1
  342. package/build/npm/esm/integrations/breadcrumbs.js.map +0 -1
  343. package/build/npm/esm/integrations/browserapierrors.js.map +0 -1
  344. package/build/npm/esm/integrations/browsersession.js.map +0 -1
  345. package/build/npm/esm/integrations/contextlines.js.map +0 -1
  346. package/build/npm/esm/integrations/featureFlags/growthbook/integration.js.map +0 -1
  347. package/build/npm/esm/integrations/featureFlags/launchdarkly/integration.js.map +0 -1
  348. package/build/npm/esm/integrations/featureFlags/openfeature/integration.js.map +0 -1
  349. package/build/npm/esm/integrations/featureFlags/statsig/integration.js.map +0 -1
  350. package/build/npm/esm/integrations/featureFlags/unleash/integration.js.map +0 -1
  351. package/build/npm/esm/integrations/globalhandlers.js.map +0 -1
  352. package/build/npm/esm/integrations/graphqlClient.js.map +0 -1
  353. package/build/npm/esm/integrations/httpclient.js.map +0 -1
  354. package/build/npm/esm/integrations/httpcontext.js.map +0 -1
  355. package/build/npm/esm/integrations/linkederrors.js.map +0 -1
  356. package/build/npm/esm/integrations/reportingobserver.js.map +0 -1
  357. package/build/npm/esm/integrations/spotlight.js.map +0 -1
  358. package/build/npm/esm/integrations/webWorker.js +0 -145
  359. package/build/npm/esm/integrations/webWorker.js.map +0 -1
  360. package/build/npm/esm/package.json +0 -1
  361. package/build/npm/esm/profiling/integration.js.map +0 -1
  362. package/build/npm/esm/profiling/lifecycleMode/traceLifecycleProfiler.js.map +0 -1
  363. package/build/npm/esm/profiling/startProfileForSpan.js.map +0 -1
  364. package/build/npm/esm/profiling/utils.js.map +0 -1
  365. package/build/npm/esm/report-dialog.js.map +0 -1
  366. package/build/npm/esm/sdk.js.map +0 -1
  367. package/build/npm/esm/stack-parsers.js.map +0 -1
  368. package/build/npm/esm/tracing/backgroundtab.js.map +0 -1
  369. package/build/npm/esm/tracing/browserTracingIntegration.js.map +0 -1
  370. package/build/npm/esm/tracing/linkedTraces.js.map +0 -1
  371. package/build/npm/esm/tracing/reportPageLoaded.js.map +0 -1
  372. package/build/npm/esm/tracing/request.js.map +0 -1
  373. package/build/npm/esm/tracing/setActiveSpan.js.map +0 -1
  374. package/build/npm/esm/tracing/utils.js.map +0 -1
  375. package/build/npm/esm/transports/fetch.js.map +0 -1
  376. package/build/npm/esm/transports/offline.js.map +0 -1
  377. package/build/npm/esm/userfeedback.js.map +0 -1
  378. package/build/npm/esm/utils/detectBrowserExtension.js.map +0 -1
  379. package/build/npm/esm/utils/lazyLoadIntegration.js.map +0 -1
  380. /package/build/npm/cjs/{debug-build.js → dev/debug-build.js} +0 -0
  381. /package/build/npm/cjs/{diagnose-sdk.js → dev/diagnose-sdk.js} +0 -0
  382. /package/build/npm/cjs/{eventbuilder.js → dev/eventbuilder.js} +0 -0
  383. /package/build/npm/cjs/{feedbackAsync.js → dev/feedbackAsync.js} +0 -0
  384. /package/build/npm/cjs/{feedbackSync.js → dev/feedbackSync.js} +0 -0
  385. /package/build/npm/cjs/{helpers.js → dev/helpers.js} +0 -0
  386. /package/build/npm/cjs/{index.js → dev/index.js} +0 -0
  387. /package/build/npm/cjs/{index.js.map → dev/index.js.map} +0 -0
  388. /package/build/npm/cjs/{integrations → dev/integrations}/breadcrumbs.js +0 -0
  389. /package/build/npm/cjs/{integrations → dev/integrations}/browserapierrors.js +0 -0
  390. /package/build/npm/cjs/{integrations → dev/integrations}/browsersession.js +0 -0
  391. /package/build/npm/cjs/{integrations → dev/integrations}/contextlines.js +0 -0
  392. /package/build/npm/cjs/{integrations → dev/integrations}/featureFlags/growthbook/integration.js +0 -0
  393. /package/build/npm/cjs/{integrations → dev/integrations}/featureFlags/launchdarkly/integration.js +0 -0
  394. /package/build/npm/cjs/{integrations → dev/integrations}/featureFlags/openfeature/integration.js +0 -0
  395. /package/build/npm/cjs/{integrations → dev/integrations}/featureFlags/statsig/integration.js +0 -0
  396. /package/build/npm/cjs/{integrations → dev/integrations}/featureFlags/unleash/integration.js +0 -0
  397. /package/build/npm/cjs/{integrations → dev/integrations}/graphqlClient.js +0 -0
  398. /package/build/npm/cjs/{integrations → dev/integrations}/httpclient.js +0 -0
  399. /package/build/npm/cjs/{integrations → dev/integrations}/httpcontext.js +0 -0
  400. /package/build/npm/cjs/{integrations → dev/integrations}/linkederrors.js +0 -0
  401. /package/build/npm/cjs/{integrations → dev/integrations}/reportingobserver.js +0 -0
  402. /package/build/npm/cjs/{integrations → dev/integrations}/spotlight.js +0 -0
  403. /package/build/npm/cjs/{profiling → dev/profiling}/integration.js +0 -0
  404. /package/build/npm/cjs/{profiling → dev/profiling}/lifecycleMode/traceLifecycleProfiler.js +0 -0
  405. /package/build/npm/cjs/{profiling → dev/profiling}/startProfileForSpan.js +0 -0
  406. /package/build/npm/cjs/{profiling → dev/profiling}/utils.js +0 -0
  407. /package/build/npm/cjs/{report-dialog.js → dev/report-dialog.js} +0 -0
  408. /package/build/npm/cjs/{stack-parsers.js → dev/stack-parsers.js} +0 -0
  409. /package/build/npm/cjs/{tracing → dev/tracing}/backgroundtab.js +0 -0
  410. /package/build/npm/cjs/{tracing → dev/tracing}/browserTracingIntegration.js +0 -0
  411. /package/build/npm/cjs/{tracing → dev/tracing}/reportPageLoaded.js +0 -0
  412. /package/build/npm/cjs/{tracing → dev/tracing}/request.js +0 -0
  413. /package/build/npm/cjs/{tracing → dev/tracing}/setActiveSpan.js +0 -0
  414. /package/build/npm/cjs/{tracing → dev/tracing}/utils.js +0 -0
  415. /package/build/npm/cjs/{transports → dev/transports}/offline.js +0 -0
  416. /package/build/npm/cjs/{userfeedback.js → dev/userfeedback.js} +0 -0
  417. /package/build/npm/cjs/{utils → dev/utils}/detectBrowserExtension.js +0 -0
  418. /package/build/npm/cjs/{utils → dev/utils}/lazyLoadIntegration.js +0 -0
  419. /package/build/npm/esm/{debug-build.js → dev/debug-build.js} +0 -0
  420. /package/build/npm/esm/{diagnose-sdk.js → dev/diagnose-sdk.js} +0 -0
  421. /package/build/npm/esm/{eventbuilder.js → dev/eventbuilder.js} +0 -0
  422. /package/build/npm/esm/{feedbackAsync.js → dev/feedbackAsync.js} +0 -0
  423. /package/build/npm/esm/{feedbackSync.js → dev/feedbackSync.js} +0 -0
  424. /package/build/npm/esm/{helpers.js → dev/helpers.js} +0 -0
  425. /package/build/npm/esm/{index.js → dev/index.js} +0 -0
  426. /package/build/npm/esm/{index.js.map → dev/index.js.map} +0 -0
  427. /package/build/npm/esm/{integrations → dev/integrations}/breadcrumbs.js +0 -0
  428. /package/build/npm/esm/{integrations → dev/integrations}/browserapierrors.js +0 -0
  429. /package/build/npm/esm/{integrations → dev/integrations}/browsersession.js +0 -0
  430. /package/build/npm/esm/{integrations → dev/integrations}/contextlines.js +0 -0
  431. /package/build/npm/esm/{integrations → dev/integrations}/featureFlags/growthbook/integration.js +0 -0
  432. /package/build/npm/esm/{integrations → dev/integrations}/featureFlags/launchdarkly/integration.js +0 -0
  433. /package/build/npm/esm/{integrations → dev/integrations}/featureFlags/openfeature/integration.js +0 -0
  434. /package/build/npm/esm/{integrations → dev/integrations}/featureFlags/statsig/integration.js +0 -0
  435. /package/build/npm/esm/{integrations → dev/integrations}/featureFlags/unleash/integration.js +0 -0
  436. /package/build/npm/esm/{integrations → dev/integrations}/graphqlClient.js +0 -0
  437. /package/build/npm/esm/{integrations → dev/integrations}/httpclient.js +0 -0
  438. /package/build/npm/esm/{integrations → dev/integrations}/httpcontext.js +0 -0
  439. /package/build/npm/esm/{integrations → dev/integrations}/linkederrors.js +0 -0
  440. /package/build/npm/esm/{integrations → dev/integrations}/reportingobserver.js +0 -0
  441. /package/build/npm/esm/{integrations → dev/integrations}/spotlight.js +0 -0
  442. /package/build/npm/esm/{profiling → dev/profiling}/integration.js +0 -0
  443. /package/build/npm/esm/{profiling → dev/profiling}/lifecycleMode/traceLifecycleProfiler.js +0 -0
  444. /package/build/npm/esm/{profiling → dev/profiling}/startProfileForSpan.js +0 -0
  445. /package/build/npm/esm/{profiling → dev/profiling}/utils.js +0 -0
  446. /package/build/npm/esm/{report-dialog.js → dev/report-dialog.js} +0 -0
  447. /package/build/npm/esm/{stack-parsers.js → dev/stack-parsers.js} +0 -0
  448. /package/build/npm/esm/{tracing → dev/tracing}/backgroundtab.js +0 -0
  449. /package/build/npm/esm/{tracing → dev/tracing}/browserTracingIntegration.js +0 -0
  450. /package/build/npm/esm/{tracing → dev/tracing}/reportPageLoaded.js +0 -0
  451. /package/build/npm/esm/{tracing → dev/tracing}/request.js +0 -0
  452. /package/build/npm/esm/{tracing → dev/tracing}/setActiveSpan.js +0 -0
  453. /package/build/npm/esm/{tracing → dev/tracing}/utils.js +0 -0
  454. /package/build/npm/esm/{transports → dev/transports}/offline.js +0 -0
  455. /package/build/npm/esm/{userfeedback.js → dev/userfeedback.js} +0 -0
  456. /package/build/npm/esm/{utils → dev/utils}/detectBrowserExtension.js +0 -0
  457. /package/build/npm/esm/{utils → dev/utils}/lazyLoadIntegration.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../../../src/helpers.ts"],"sourcesContent":["import type { Mechanism, WrappedFunction } from '@sentry/core';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n addNonEnumerableProperty,\n captureException,\n getLocationHref,\n getOriginalFunction,\n GLOBAL_OBJ,\n markFunctionWrapped,\n withScope,\n} from '@sentry/core';\n\nexport const WINDOW = GLOBAL_OBJ as typeof GLOBAL_OBJ & Window;\n\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError++;\n setTimeout(() => {\n ignoreOnError--;\n });\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype WrappableFunction = Function;\n\nexport function wrap<T extends WrappableFunction>(\n fn: T,\n options?: {\n mechanism?: Mechanism;\n },\n): WrappedFunction<T>;\nexport function wrap<NonFunction>(\n fn: NonFunction,\n options?: {\n mechanism?: Mechanism;\n },\n): NonFunction;\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap<T extends WrappableFunction, NonFunction>(\n fn: T | NonFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n): NonFunction | WrappedFunction<T> {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n function isFunction(fn: T | NonFunction): fn is T {\n return typeof fn === 'function';\n }\n\n if (!isFunction(fn)) {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = (fn as WrappedFunction<T>).__sentry_wrapped__;\n if (wrapper) {\n if (typeof wrapper === 'function') {\n return wrapper;\n } else {\n // If we find that the `__sentry_wrapped__` function is not a function at the time of accessing it, it means\n // that something messed with it. In that case we want to return the originally passed function.\n return fn;\n }\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n // Wrap the function itself\n // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n const sentryWrapped = function (this: unknown, ...args: unknown[]): unknown {\n try {\n // Also wrap arguments that are themselves functions\n const wrappedArguments = args.map(arg => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope(scope => {\n scope.addEventProcessor(event => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n // no need to add a mechanism here, we already add it via an event processor above\n captureException(ex);\n });\n\n throw ex;\n }\n } as unknown as WrappedFunction<T>;\n\n // Wrap the wrapped function in a proxy, to ensure any other properties of the original function remain available\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property as keyof T] = fn[property as keyof T];\n }\n }\n } catch {\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n }\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name')!;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n } catch {\n // This may throw if e.g. the descriptor does not exist, or a browser does not allow redefining `name`.\n // to save some bytes we simply try-catch this\n }\n\n return sentryWrapped;\n}\n\n/**\n * Get HTTP request data from the current page.\n */\nexport function getHttpRequestData(): { url: string; headers: Record<string, string> } {\n // grab as much info as exists and add it to the event\n const url = getLocationHref();\n const { referrer } = WINDOW.document || {};\n const { userAgent } = WINDOW.navigator || {};\n\n const headers = {\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = {\n url,\n headers,\n };\n\n return request;\n}\n"],"names":["GLOBAL_OBJ","getOriginalFunction","withScope","addExceptionTypeValue","addExceptionMechanism","captureException","markFunctionWrapped","addNonEnumerableProperty","getLocationHref"],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const feedbackAsync = require('./feedbackAsync.js');
4
+ const feedbackSync = require('./feedbackSync.js');
5
+ const core = require('@sentry/core');
6
+ const helpers = require('./helpers.js');
7
+ const client = require('./client.js');
8
+ const fetch = require('./transports/fetch.js');
9
+ const stackParsers = require('./stack-parsers.js');
10
+ const eventbuilder = require('./eventbuilder.js');
11
+ const userfeedback = require('./userfeedback.js');
12
+ const sdk = require('./sdk.js');
13
+ const reportDialog = require('./report-dialog.js');
14
+ const breadcrumbs = require('./integrations/breadcrumbs.js');
15
+ const globalhandlers = require('./integrations/globalhandlers.js');
16
+ const httpcontext = require('./integrations/httpcontext.js');
17
+ const linkederrors = require('./integrations/linkederrors.js');
18
+ const browserapierrors = require('./integrations/browserapierrors.js');
19
+ const lazyLoadIntegration = require('./utils/lazyLoadIntegration.js');
20
+ const reportingobserver = require('./integrations/reportingobserver.js');
21
+ const httpclient = require('./integrations/httpclient.js');
22
+ const contextlines = require('./integrations/contextlines.js');
23
+ const graphqlClient = require('./integrations/graphqlClient.js');
24
+ const replay = require('@sentry-internal/replay');
25
+ const replayCanvas = require('@sentry-internal/replay-canvas');
26
+ const feedback = require('@sentry-internal/feedback');
27
+ const request = require('./tracing/request.js');
28
+ const browserTracingIntegration = require('./tracing/browserTracingIntegration.js');
29
+ const reportPageLoaded = require('./tracing/reportPageLoaded.js');
30
+ const setActiveSpan = require('./tracing/setActiveSpan.js');
31
+ const offline = require('./transports/offline.js');
32
+ const integration = require('./profiling/integration.js');
33
+ const spotlight = require('./integrations/spotlight.js');
34
+ const browsersession = require('./integrations/browsersession.js');
35
+ const integration$1 = require('./integrations/featureFlags/launchdarkly/integration.js');
36
+ const integration$2 = require('./integrations/featureFlags/openfeature/integration.js');
37
+ const integration$3 = require('./integrations/featureFlags/unleash/integration.js');
38
+ const integration$4 = require('./integrations/featureFlags/growthbook/integration.js');
39
+ const integration$5 = require('./integrations/featureFlags/statsig/integration.js');
40
+ const diagnoseSdk = require('./diagnose-sdk.js');
41
+ const webWorker = require('./integrations/webWorker.js');
42
+
43
+
44
+
45
+ exports.feedbackAsyncIntegration = feedbackAsync.feedbackAsyncIntegration;
46
+ exports.feedbackIntegration = feedbackSync.feedbackSyncIntegration;
47
+ exports.feedbackSyncIntegration = feedbackSync.feedbackSyncIntegration;
48
+ exports.SDK_VERSION = core.SDK_VERSION;
49
+ exports.SEMANTIC_ATTRIBUTE_SENTRY_OP = core.SEMANTIC_ATTRIBUTE_SENTRY_OP;
50
+ exports.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN;
51
+ exports.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE = core.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE;
52
+ exports.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = core.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE;
53
+ exports.Scope = core.Scope;
54
+ exports.addBreadcrumb = core.addBreadcrumb;
55
+ exports.addEventProcessor = core.addEventProcessor;
56
+ exports.addIntegration = core.addIntegration;
57
+ exports.captureConsoleIntegration = core.captureConsoleIntegration;
58
+ exports.captureEvent = core.captureEvent;
59
+ exports.captureException = core.captureException;
60
+ exports.captureFeedback = core.captureFeedback;
61
+ exports.captureMessage = core.captureMessage;
62
+ exports.captureSession = core.captureSession;
63
+ exports.close = core.close;
64
+ exports.consoleLoggingIntegration = core.consoleLoggingIntegration;
65
+ exports.continueTrace = core.continueTrace;
66
+ exports.createConsolaReporter = core.createConsolaReporter;
67
+ exports.createTransport = core.createTransport;
68
+ exports.dedupeIntegration = core.dedupeIntegration;
69
+ exports.endSession = core.endSession;
70
+ exports.eventFiltersIntegration = core.eventFiltersIntegration;
71
+ exports.extraErrorDataIntegration = core.extraErrorDataIntegration;
72
+ exports.featureFlagsIntegration = core.featureFlagsIntegration;
73
+ exports.flush = core.flush;
74
+ exports.functionToStringIntegration = core.functionToStringIntegration;
75
+ exports.getActiveSpan = core.getActiveSpan;
76
+ exports.getClient = core.getClient;
77
+ exports.getCurrentScope = core.getCurrentScope;
78
+ exports.getGlobalScope = core.getGlobalScope;
79
+ exports.getIsolationScope = core.getIsolationScope;
80
+ exports.getRootSpan = core.getRootSpan;
81
+ exports.getSpanDescendants = core.getSpanDescendants;
82
+ exports.getSpanStatusFromHttpCode = core.getSpanStatusFromHttpCode;
83
+ exports.getTraceData = core.getTraceData;
84
+ exports.inboundFiltersIntegration = core.inboundFiltersIntegration;
85
+ exports.instrumentAnthropicAiClient = core.instrumentAnthropicAiClient;
86
+ exports.instrumentGoogleGenAIClient = core.instrumentGoogleGenAIClient;
87
+ exports.instrumentOpenAiClient = core.instrumentOpenAiClient;
88
+ exports.instrumentSupabaseClient = core.instrumentSupabaseClient;
89
+ exports.isEnabled = core.isEnabled;
90
+ exports.isInitialized = core.isInitialized;
91
+ exports.lastEventId = core.lastEventId;
92
+ exports.logger = core.logger;
93
+ exports.makeMultiplexedTransport = core.makeMultiplexedTransport;
94
+ exports.metrics = core.metrics;
95
+ exports.moduleMetadataIntegration = core.moduleMetadataIntegration;
96
+ exports.parameterize = core.parameterize;
97
+ exports.registerSpanErrorInstrumentation = core.registerSpanErrorInstrumentation;
98
+ exports.rewriteFramesIntegration = core.rewriteFramesIntegration;
99
+ exports.setContext = core.setContext;
100
+ exports.setCurrentClient = core.setCurrentClient;
101
+ exports.setExtra = core.setExtra;
102
+ exports.setExtras = core.setExtras;
103
+ exports.setHttpStatus = core.setHttpStatus;
104
+ exports.setMeasurement = core.setMeasurement;
105
+ exports.setTag = core.setTag;
106
+ exports.setTags = core.setTags;
107
+ exports.setUser = core.setUser;
108
+ exports.spanToBaggageHeader = core.spanToBaggageHeader;
109
+ exports.spanToJSON = core.spanToJSON;
110
+ exports.spanToTraceHeader = core.spanToTraceHeader;
111
+ exports.startInactiveSpan = core.startInactiveSpan;
112
+ exports.startNewTrace = core.startNewTrace;
113
+ exports.startSession = core.startSession;
114
+ exports.startSpan = core.startSpan;
115
+ exports.startSpanManual = core.startSpanManual;
116
+ exports.supabaseIntegration = core.supabaseIntegration;
117
+ exports.suppressTracing = core.suppressTracing;
118
+ exports.thirdPartyErrorFilterIntegration = core.thirdPartyErrorFilterIntegration;
119
+ exports.updateSpanName = core.updateSpanName;
120
+ exports.withActiveSpan = core.withActiveSpan;
121
+ exports.withIsolationScope = core.withIsolationScope;
122
+ exports.withScope = core.withScope;
123
+ exports.zodErrorsIntegration = core.zodErrorsIntegration;
124
+ exports.WINDOW = helpers.WINDOW;
125
+ exports.BrowserClient = client.BrowserClient;
126
+ exports.makeFetchTransport = fetch.makeFetchTransport;
127
+ exports.chromeStackLineParser = stackParsers.chromeStackLineParser;
128
+ exports.defaultStackLineParsers = stackParsers.defaultStackLineParsers;
129
+ exports.defaultStackParser = stackParsers.defaultStackParser;
130
+ exports.geckoStackLineParser = stackParsers.geckoStackLineParser;
131
+ exports.opera10StackLineParser = stackParsers.opera10StackLineParser;
132
+ exports.opera11StackLineParser = stackParsers.opera11StackLineParser;
133
+ exports.winjsStackLineParser = stackParsers.winjsStackLineParser;
134
+ exports.eventFromException = eventbuilder.eventFromException;
135
+ exports.eventFromMessage = eventbuilder.eventFromMessage;
136
+ exports.exceptionFromError = eventbuilder.exceptionFromError;
137
+ exports.createUserFeedbackEnvelope = userfeedback.createUserFeedbackEnvelope;
138
+ exports.forceLoad = sdk.forceLoad;
139
+ exports.getDefaultIntegrations = sdk.getDefaultIntegrations;
140
+ exports.init = sdk.init;
141
+ exports.onLoad = sdk.onLoad;
142
+ exports.showReportDialog = reportDialog.showReportDialog;
143
+ exports.breadcrumbsIntegration = breadcrumbs.breadcrumbsIntegration;
144
+ exports.globalHandlersIntegration = globalhandlers.globalHandlersIntegration;
145
+ exports.httpContextIntegration = httpcontext.httpContextIntegration;
146
+ exports.linkedErrorsIntegration = linkederrors.linkedErrorsIntegration;
147
+ exports.browserApiErrorsIntegration = browserapierrors.browserApiErrorsIntegration;
148
+ exports.lazyLoadIntegration = lazyLoadIntegration.lazyLoadIntegration;
149
+ exports.reportingObserverIntegration = reportingobserver.reportingObserverIntegration;
150
+ exports.httpClientIntegration = httpclient.httpClientIntegration;
151
+ exports.contextLinesIntegration = contextlines.contextLinesIntegration;
152
+ exports.graphqlClientIntegration = graphqlClient.graphqlClientIntegration;
153
+ exports.getReplay = replay.getReplay;
154
+ exports.replayIntegration = replay.replayIntegration;
155
+ exports.replayCanvasIntegration = replayCanvas.replayCanvasIntegration;
156
+ exports.getFeedback = feedback.getFeedback;
157
+ exports.sendFeedback = feedback.sendFeedback;
158
+ exports.defaultRequestInstrumentationOptions = request.defaultRequestInstrumentationOptions;
159
+ exports.instrumentOutgoingRequests = request.instrumentOutgoingRequests;
160
+ exports.browserTracingIntegration = browserTracingIntegration.browserTracingIntegration;
161
+ exports.startBrowserTracingNavigationSpan = browserTracingIntegration.startBrowserTracingNavigationSpan;
162
+ exports.startBrowserTracingPageLoadSpan = browserTracingIntegration.startBrowserTracingPageLoadSpan;
163
+ exports.reportPageLoaded = reportPageLoaded.reportPageLoaded;
164
+ exports.setActiveSpanInBrowser = setActiveSpan.setActiveSpanInBrowser;
165
+ exports.makeBrowserOfflineTransport = offline.makeBrowserOfflineTransport;
166
+ exports.browserProfilingIntegration = integration.browserProfilingIntegration;
167
+ exports.spotlightBrowserIntegration = spotlight.spotlightBrowserIntegration;
168
+ exports.browserSessionIntegration = browsersession.browserSessionIntegration;
169
+ exports.buildLaunchDarklyFlagUsedHandler = integration$1.buildLaunchDarklyFlagUsedHandler;
170
+ exports.launchDarklyIntegration = integration$1.launchDarklyIntegration;
171
+ exports.OpenFeatureIntegrationHook = integration$2.OpenFeatureIntegrationHook;
172
+ exports.openFeatureIntegration = integration$2.openFeatureIntegration;
173
+ exports.unleashIntegration = integration$3.unleashIntegration;
174
+ exports.growthbookIntegration = integration$4.growthbookIntegration;
175
+ exports.statsigIntegration = integration$5.statsigIntegration;
176
+ exports.diagnoseSdkConnectivity = diagnoseSdk.diagnoseSdkConnectivity;
177
+ exports.registerWebWorker = webWorker.registerWebWorker;
178
+ exports.webWorkerIntegration = webWorker.webWorkerIntegration;
179
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,341 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core = require('@sentry/core');
4
+ const browserUtils = require('@sentry-internal/browser-utils');
5
+ const debugBuild = require('../debug-build.js');
6
+ const helpers = require('../helpers.js');
7
+
8
+ /** maxStringLength gets capped to prevent 100 breadcrumbs exceeding 1MB event payload size */
9
+ const MAX_ALLOWED_STRING_LENGTH = 1024;
10
+
11
+ const INTEGRATION_NAME = 'Breadcrumbs';
12
+
13
+ const _breadcrumbsIntegration = ((options = {}) => {
14
+ const _options = {
15
+ console: true,
16
+ dom: true,
17
+ fetch: true,
18
+ history: true,
19
+ sentry: true,
20
+ xhr: true,
21
+ ...options,
22
+ };
23
+
24
+ return {
25
+ name: INTEGRATION_NAME,
26
+ setup(client) {
27
+ // TODO(v11): Remove this functionality and use `consoleIntegration` from @sentry/core instead.
28
+ if (_options.console) {
29
+ core.addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client));
30
+ }
31
+ if (_options.dom) {
32
+ browserUtils.addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom));
33
+ }
34
+ if (_options.xhr) {
35
+ browserUtils.addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client));
36
+ }
37
+ if (_options.fetch) {
38
+ core.addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client));
39
+ }
40
+ if (_options.history) {
41
+ browserUtils.addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client));
42
+ }
43
+ if (_options.sentry) {
44
+ client.on('beforeSendEvent', _getSentryBreadcrumbHandler(client));
45
+ }
46
+ },
47
+ };
48
+ }) ;
49
+
50
+ const breadcrumbsIntegration = core.defineIntegration(_breadcrumbsIntegration);
51
+
52
+ /**
53
+ * Adds a breadcrumb for Sentry events or transactions if this option is enabled.
54
+ */
55
+ function _getSentryBreadcrumbHandler(client) {
56
+ return function addSentryBreadcrumb(event) {
57
+ if (core.getClient() !== client) {
58
+ return;
59
+ }
60
+
61
+ core.addBreadcrumb(
62
+ {
63
+ category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,
64
+ event_id: event.event_id,
65
+ level: event.level,
66
+ message: core.getEventDescription(event),
67
+ },
68
+ {
69
+ event,
70
+ },
71
+ );
72
+ };
73
+ }
74
+
75
+ /**
76
+ * A HOC that creates a function that creates breadcrumbs from DOM API calls.
77
+ * This is a HOC so that we get access to dom options in the closure.
78
+ */
79
+ function _getDomBreadcrumbHandler(
80
+ client,
81
+ dom,
82
+ ) {
83
+ return function _innerDomBreadcrumb(handlerData) {
84
+ if (core.getClient() !== client) {
85
+ return;
86
+ }
87
+
88
+ let target;
89
+ let componentName;
90
+ let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;
91
+
92
+ let maxStringLength =
93
+ typeof dom === 'object' && typeof dom.maxStringLength === 'number' ? dom.maxStringLength : undefined;
94
+ if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {
95
+ debugBuild.DEBUG_BUILD &&
96
+ core.debug.warn(
97
+ `\`dom.maxStringLength\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.`,
98
+ );
99
+ maxStringLength = MAX_ALLOWED_STRING_LENGTH;
100
+ }
101
+
102
+ if (typeof keyAttrs === 'string') {
103
+ keyAttrs = [keyAttrs];
104
+ }
105
+
106
+ // Accessing event.target can throw (see getsentry/raven-js#838, #768)
107
+ try {
108
+ const event = handlerData.event ;
109
+ const element = _isEvent(event) ? event.target : event;
110
+
111
+ target = core.htmlTreeAsString(element, { keyAttrs, maxStringLength });
112
+ componentName = core.getComponentName(element);
113
+ } catch {
114
+ target = '<unknown>';
115
+ }
116
+
117
+ if (target.length === 0) {
118
+ return;
119
+ }
120
+
121
+ const breadcrumb = {
122
+ category: `ui.${handlerData.name}`,
123
+ message: target,
124
+ };
125
+
126
+ if (componentName) {
127
+ breadcrumb.data = { 'ui.component_name': componentName };
128
+ }
129
+
130
+ core.addBreadcrumb(breadcrumb, {
131
+ event: handlerData.event,
132
+ name: handlerData.name,
133
+ global: handlerData.global,
134
+ });
135
+ };
136
+ }
137
+
138
+ /**
139
+ * Creates breadcrumbs from console API calls
140
+ */
141
+ function _getConsoleBreadcrumbHandler(client) {
142
+ return function _consoleBreadcrumb(handlerData) {
143
+ if (core.getClient() !== client) {
144
+ return;
145
+ }
146
+
147
+ const breadcrumb = {
148
+ category: 'console',
149
+ data: {
150
+ arguments: handlerData.args,
151
+ logger: 'console',
152
+ },
153
+ level: core.severityLevelFromString(handlerData.level),
154
+ message: core.safeJoin(handlerData.args, ' '),
155
+ };
156
+
157
+ if (handlerData.level === 'assert') {
158
+ if (handlerData.args[0] === false) {
159
+ breadcrumb.message = `Assertion failed: ${core.safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;
160
+ breadcrumb.data.arguments = handlerData.args.slice(1);
161
+ } else {
162
+ // Don't capture a breadcrumb for passed assertions
163
+ return;
164
+ }
165
+ }
166
+
167
+ core.addBreadcrumb(breadcrumb, {
168
+ input: handlerData.args,
169
+ level: handlerData.level,
170
+ });
171
+ };
172
+ }
173
+
174
+ /**
175
+ * Creates breadcrumbs from XHR API calls
176
+ */
177
+ function _getXhrBreadcrumbHandler(client) {
178
+ return function _xhrBreadcrumb(handlerData) {
179
+ if (core.getClient() !== client) {
180
+ return;
181
+ }
182
+
183
+ const { startTimestamp, endTimestamp } = handlerData;
184
+
185
+ const sentryXhrData = handlerData.xhr[browserUtils.SENTRY_XHR_DATA_KEY];
186
+
187
+ // We only capture complete, non-sentry requests
188
+ if (!startTimestamp || !endTimestamp || !sentryXhrData) {
189
+ return;
190
+ }
191
+
192
+ const { method, url, status_code, body } = sentryXhrData;
193
+
194
+ const data = {
195
+ method,
196
+ url,
197
+ status_code,
198
+ };
199
+
200
+ const hint = {
201
+ xhr: handlerData.xhr,
202
+ input: body,
203
+ startTimestamp,
204
+ endTimestamp,
205
+ };
206
+
207
+ const breadcrumb = {
208
+ category: 'xhr',
209
+ data,
210
+ type: 'http',
211
+ level: core.getBreadcrumbLogLevelFromHttpStatusCode(status_code),
212
+ };
213
+
214
+ client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint );
215
+
216
+ core.addBreadcrumb(breadcrumb, hint);
217
+ };
218
+ }
219
+
220
+ /**
221
+ * Creates breadcrumbs from fetch API calls
222
+ */
223
+ function _getFetchBreadcrumbHandler(client) {
224
+ return function _fetchBreadcrumb(handlerData) {
225
+ if (core.getClient() !== client) {
226
+ return;
227
+ }
228
+
229
+ const { startTimestamp, endTimestamp } = handlerData;
230
+
231
+ // We only capture complete fetch requests
232
+ if (!endTimestamp) {
233
+ return;
234
+ }
235
+
236
+ if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {
237
+ // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)
238
+ return;
239
+ }
240
+
241
+ ({
242
+ method: handlerData.fetchData.method,
243
+ url: handlerData.fetchData.url,
244
+ });
245
+
246
+ if (handlerData.error) {
247
+ const data = handlerData.fetchData;
248
+ const hint = {
249
+ data: handlerData.error,
250
+ input: handlerData.args,
251
+ startTimestamp,
252
+ endTimestamp,
253
+ };
254
+
255
+ const breadcrumb = {
256
+ category: 'fetch',
257
+ data,
258
+ level: 'error',
259
+ type: 'http',
260
+ } ;
261
+
262
+ client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint );
263
+
264
+ core.addBreadcrumb(breadcrumb, hint);
265
+ } else {
266
+ const response = handlerData.response ;
267
+ const data = {
268
+ ...handlerData.fetchData,
269
+ status_code: response?.status,
270
+ };
271
+
272
+ handlerData.fetchData.request_body_size;
273
+ handlerData.fetchData.response_body_size;
274
+ response?.status;
275
+
276
+ const hint = {
277
+ input: handlerData.args,
278
+ response,
279
+ startTimestamp,
280
+ endTimestamp,
281
+ };
282
+
283
+ const breadcrumb = {
284
+ category: 'fetch',
285
+ data,
286
+ type: 'http',
287
+ level: core.getBreadcrumbLogLevelFromHttpStatusCode(data.status_code),
288
+ };
289
+
290
+ client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint );
291
+
292
+ core.addBreadcrumb(breadcrumb, hint);
293
+ }
294
+ };
295
+ }
296
+
297
+ /**
298
+ * Creates breadcrumbs from history API calls
299
+ */
300
+ function _getHistoryBreadcrumbHandler(client) {
301
+ return function _historyBreadcrumb(handlerData) {
302
+ if (core.getClient() !== client) {
303
+ return;
304
+ }
305
+
306
+ let from = handlerData.from;
307
+ let to = handlerData.to;
308
+ const parsedLoc = core.parseUrl(helpers.WINDOW.location.href);
309
+ let parsedFrom = from ? core.parseUrl(from) : undefined;
310
+ const parsedTo = core.parseUrl(to);
311
+
312
+ // Initial pushState doesn't provide `from` information
313
+ if (!parsedFrom?.path) {
314
+ parsedFrom = parsedLoc;
315
+ }
316
+
317
+ // Use only the path component of the URL if the URL matches the current
318
+ // document (almost all the time when using pushState)
319
+ if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {
320
+ to = parsedTo.relative;
321
+ }
322
+ if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {
323
+ from = parsedFrom.relative;
324
+ }
325
+
326
+ core.addBreadcrumb({
327
+ category: 'navigation',
328
+ data: {
329
+ from,
330
+ to,
331
+ },
332
+ });
333
+ };
334
+ }
335
+
336
+ function _isEvent(event) {
337
+ return !!event && !!(event ).target;
338
+ }
339
+
340
+ exports.breadcrumbsIntegration = breadcrumbsIntegration;
341
+ //# sourceMappingURL=breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumbs.js","sources":["../../../../../src/integrations/breadcrumbs.ts"],"sourcesContent":["/* eslint-disable max-lines */\n\nimport type {\n Breadcrumb,\n Client,\n Event as SentryEvent,\n FetchBreadcrumbData,\n FetchBreadcrumbHint,\n HandlerDataConsole,\n HandlerDataDom,\n HandlerDataFetch,\n HandlerDataHistory,\n HandlerDataXhr,\n IntegrationFn,\n XhrBreadcrumbData,\n XhrBreadcrumbHint,\n} from '@sentry/core';\nimport {\n addBreadcrumb,\n addConsoleInstrumentationHandler,\n addFetchInstrumentationHandler,\n debug,\n defineIntegration,\n getBreadcrumbLogLevelFromHttpStatusCode,\n getClient,\n getComponentName,\n getEventDescription,\n htmlTreeAsString,\n parseUrl,\n safeJoin,\n severityLevelFromString,\n} from '@sentry/core';\nimport type { FetchHint, XhrHint } from '@sentry-internal/browser-utils';\nimport {\n addClickKeypressInstrumentationHandler,\n addHistoryInstrumentationHandler,\n addXhrInstrumentationHandler,\n SENTRY_XHR_DATA_KEY,\n} from '@sentry-internal/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build';\nimport { WINDOW } from '../helpers';\n\ninterface BreadcrumbsOptions {\n console: boolean;\n dom:\n | boolean\n | {\n serializeAttribute?: string | string[];\n maxStringLength?: number;\n };\n fetch: boolean;\n history: boolean;\n sentry: boolean;\n xhr: boolean;\n}\n\n/** maxStringLength gets capped to prevent 100 breadcrumbs exceeding 1MB event payload size */\nconst MAX_ALLOWED_STRING_LENGTH = 1024;\n\nconst INTEGRATION_NAME = 'Breadcrumbs';\n\nconst _breadcrumbsIntegration = ((options: Partial<BreadcrumbsOptions> = {}) => {\n const _options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n // TODO(v11): Remove this functionality and use `consoleIntegration` from @sentry/core instead.\n if (_options.console) {\n addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client));\n }\n if (_options.dom) {\n addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom));\n }\n if (_options.xhr) {\n addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client));\n }\n if (_options.fetch) {\n addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client));\n }\n if (_options.history) {\n addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client));\n }\n if (_options.sentry) {\n client.on('beforeSendEvent', _getSentryBreadcrumbHandler(client));\n }\n },\n };\n}) satisfies IntegrationFn;\n\nexport const breadcrumbsIntegration = defineIntegration(_breadcrumbsIntegration);\n\n/**\n * Adds a breadcrumb for Sentry events or transactions if this option is enabled.\n */\nfunction _getSentryBreadcrumbHandler(client: Client): (event: SentryEvent) => void {\n return function addSentryBreadcrumb(event: SentryEvent): void {\n if (getClient() !== client) {\n return;\n }\n\n addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n };\n}\n\n/**\n * A HOC that creates a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\nfunction _getDomBreadcrumbHandler(\n client: Client,\n dom: BreadcrumbsOptions['dom'],\n): (handlerData: HandlerDataDom) => void {\n return function _innerDomBreadcrumb(handlerData: HandlerDataDom): void {\n if (getClient() !== client) {\n return;\n }\n\n let target;\n let componentName;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n let maxStringLength =\n typeof dom === 'object' && typeof dom.maxStringLength === 'number' ? dom.maxStringLength : undefined;\n if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {\n DEBUG_BUILD &&\n debug.warn(\n `\\`dom.maxStringLength\\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.`,\n );\n maxStringLength = MAX_ALLOWED_STRING_LENGTH;\n }\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n const event = handlerData.event as Event | Node;\n const element = _isEvent(event) ? event.target : event;\n\n target = htmlTreeAsString(element, { keyAttrs, maxStringLength });\n componentName = getComponentName(element);\n } catch {\n target = '<unknown>';\n }\n\n if (target.length === 0) {\n return;\n }\n\n const breadcrumb: Breadcrumb = {\n category: `ui.${handlerData.name}`,\n message: target,\n };\n\n if (componentName) {\n breadcrumb.data = { 'ui.component_name': componentName };\n }\n\n addBreadcrumb(breadcrumb, {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n });\n };\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\nfunction _getConsoleBreadcrumbHandler(client: Client): (handlerData: HandlerDataConsole) => void {\n return function _consoleBreadcrumb(handlerData: HandlerDataConsole): void {\n if (getClient() !== client) {\n return;\n }\n\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityLevelFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n };\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\nfunction _getXhrBreadcrumbHandler(client: Client): (handlerData: HandlerDataXhr) => void {\n return function _xhrBreadcrumb(handlerData: HandlerDataXhr): void {\n if (getClient() !== client) {\n return;\n }\n\n const { startTimestamp, endTimestamp } = handlerData;\n\n const sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY];\n\n // We only capture complete, non-sentry requests\n if (!startTimestamp || !endTimestamp || !sentryXhrData) {\n return;\n }\n\n const { method, url, status_code, body } = sentryXhrData;\n\n const data: XhrBreadcrumbData = {\n method,\n url,\n status_code,\n };\n\n const hint: XhrBreadcrumbHint = {\n xhr: handlerData.xhr,\n input: body,\n startTimestamp,\n endTimestamp,\n };\n\n const breadcrumb = {\n category: 'xhr',\n data,\n type: 'http',\n level: getBreadcrumbLogLevelFromHttpStatusCode(status_code),\n };\n\n client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint as XhrHint);\n\n addBreadcrumb(breadcrumb, hint);\n };\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\nfunction _getFetchBreadcrumbHandler(client: Client): (handlerData: HandlerDataFetch) => void {\n return function _fetchBreadcrumb(handlerData: HandlerDataFetch): void {\n if (getClient() !== client) {\n return;\n }\n\n const { startTimestamp, endTimestamp } = handlerData;\n\n // We only capture complete fetch requests\n if (!endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n const breadcrumbData: FetchBreadcrumbData = {\n method: handlerData.fetchData.method,\n url: handlerData.fetchData.url,\n };\n\n if (handlerData.error) {\n const data: FetchBreadcrumbData = handlerData.fetchData;\n const hint: FetchBreadcrumbHint = {\n data: handlerData.error,\n input: handlerData.args,\n startTimestamp,\n endTimestamp,\n };\n\n const breadcrumb = {\n category: 'fetch',\n data,\n level: 'error',\n type: 'http',\n } satisfies Breadcrumb;\n\n client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint as FetchHint);\n\n addBreadcrumb(breadcrumb, hint);\n } else {\n const response = handlerData.response as Response | undefined;\n const data: FetchBreadcrumbData = {\n ...handlerData.fetchData,\n status_code: response?.status,\n };\n\n breadcrumbData.request_body_size = handlerData.fetchData.request_body_size;\n breadcrumbData.response_body_size = handlerData.fetchData.response_body_size;\n breadcrumbData.status_code = response?.status;\n\n const hint: FetchBreadcrumbHint = {\n input: handlerData.args,\n response,\n startTimestamp,\n endTimestamp,\n };\n\n const breadcrumb = {\n category: 'fetch',\n data,\n type: 'http',\n level: getBreadcrumbLogLevelFromHttpStatusCode(data.status_code),\n };\n\n client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint as FetchHint);\n\n addBreadcrumb(breadcrumb, hint);\n }\n };\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\nfunction _getHistoryBreadcrumbHandler(client: Client): (handlerData: HandlerDataHistory) => void {\n return function _historyBreadcrumb(handlerData: HandlerDataHistory): void {\n if (getClient() !== client) {\n return;\n }\n\n let from: string | undefined = handlerData.from;\n let to: string | undefined = handlerData.to;\n const parsedLoc = parseUrl(WINDOW.location.href);\n let parsedFrom = from ? parseUrl(from) : undefined;\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom?.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n };\n}\n\nfunction _isEvent(event: unknown): event is Event {\n return !!event && !!(event as Record<string, unknown>).target;\n}\n"],"names":["addConsoleInstrumentationHandler","addClickKeypressInstrumentationHandler","addXhrInstrumentationHandler","addFetchInstrumentationHandler","addHistoryInstrumentationHandler","defineIntegration","getClient","addBreadcrumb","getEventDescription","DEBUG_BUILD","debug","htmlTreeAsString","getComponentName","severityLevelFromString","safeJoin","SENTRY_XHR_DATA_KEY","getBreadcrumbLogLevelFromHttpStatusCode","parseUrl","WINDOW"],"mappings":"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"}