@sentry/browser-utils 10.58.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 (312) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +23 -0
  3. package/build/cjs/debug-build.js +6 -0
  4. package/build/cjs/debug-build.js.map +1 -0
  5. package/build/cjs/getNativeImplementation.js +51 -0
  6. package/build/cjs/getNativeImplementation.js.map +1 -0
  7. package/build/cjs/htmlTreeAsString.js +110 -0
  8. package/build/cjs/htmlTreeAsString.js.map +1 -0
  9. package/build/cjs/index.js +54 -0
  10. package/build/cjs/index.js.map +1 -0
  11. package/build/cjs/instrument/dom.js +137 -0
  12. package/build/cjs/instrument/dom.js.map +1 -0
  13. package/build/cjs/instrument/history.js +56 -0
  14. package/build/cjs/instrument/history.js.map +1 -0
  15. package/build/cjs/instrument/xhr.js +108 -0
  16. package/build/cjs/instrument/xhr.js.map +1 -0
  17. package/build/cjs/is.js +15 -0
  18. package/build/cjs/is.js.map +1 -0
  19. package/build/cjs/metrics/browserMetrics.js +535 -0
  20. package/build/cjs/metrics/browserMetrics.js.map +1 -0
  21. package/build/cjs/metrics/cls.js +64 -0
  22. package/build/cjs/metrics/cls.js.map +1 -0
  23. package/build/cjs/metrics/elementTiming.js +72 -0
  24. package/build/cjs/metrics/elementTiming.js.map +1 -0
  25. package/build/cjs/metrics/inp.js +170 -0
  26. package/build/cjs/metrics/inp.js.map +1 -0
  27. package/build/cjs/metrics/instrument.js +152 -0
  28. package/build/cjs/metrics/instrument.js.map +1 -0
  29. package/build/cjs/metrics/lcp.js +77 -0
  30. package/build/cjs/metrics/lcp.js.map +1 -0
  31. package/build/cjs/metrics/resourceTiming.js +44 -0
  32. package/build/cjs/metrics/resourceTiming.js.map +1 -0
  33. package/build/cjs/metrics/utils.js +137 -0
  34. package/build/cjs/metrics/utils.js.map +1 -0
  35. package/build/cjs/metrics/web-vitals/getCLS.js +46 -0
  36. package/build/cjs/metrics/web-vitals/getCLS.js.map +1 -0
  37. package/build/cjs/metrics/web-vitals/getINP.js +60 -0
  38. package/build/cjs/metrics/web-vitals/getINP.js.map +1 -0
  39. package/build/cjs/metrics/web-vitals/getLCP.js +62 -0
  40. package/build/cjs/metrics/web-vitals/getLCP.js.map +1 -0
  41. package/build/cjs/metrics/web-vitals/lib/InteractionManager.js +87 -0
  42. package/build/cjs/metrics/web-vitals/lib/InteractionManager.js.map +1 -0
  43. package/build/cjs/metrics/web-vitals/lib/LCPEntryManager.js +11 -0
  44. package/build/cjs/metrics/web-vitals/lib/LCPEntryManager.js.map +1 -0
  45. package/build/cjs/metrics/web-vitals/lib/LayoutShiftManager.js +27 -0
  46. package/build/cjs/metrics/web-vitals/lib/LayoutShiftManager.js.map +1 -0
  47. package/build/cjs/metrics/web-vitals/lib/bindReporter.js +31 -0
  48. package/build/cjs/metrics/web-vitals/lib/bindReporter.js.map +1 -0
  49. package/build/cjs/metrics/web-vitals/lib/generateUniqueID.js +8 -0
  50. package/build/cjs/metrics/web-vitals/lib/generateUniqueID.js.map +1 -0
  51. package/build/cjs/metrics/web-vitals/lib/getActivationStart.js +11 -0
  52. package/build/cjs/metrics/web-vitals/lib/getActivationStart.js.map +1 -0
  53. package/build/cjs/metrics/web-vitals/lib/getNavigationEntry.js +17 -0
  54. package/build/cjs/metrics/web-vitals/lib/getNavigationEntry.js.map +1 -0
  55. package/build/cjs/metrics/web-vitals/lib/getVisibilityWatcher.js +48 -0
  56. package/build/cjs/metrics/web-vitals/lib/getVisibilityWatcher.js.map +1 -0
  57. package/build/cjs/metrics/web-vitals/lib/globalListeners.js +18 -0
  58. package/build/cjs/metrics/web-vitals/lib/globalListeners.js.map +1 -0
  59. package/build/cjs/metrics/web-vitals/lib/initMetric.js +34 -0
  60. package/build/cjs/metrics/web-vitals/lib/initMetric.js.map +1 -0
  61. package/build/cjs/metrics/web-vitals/lib/initUnique.js +16 -0
  62. package/build/cjs/metrics/web-vitals/lib/initUnique.js.map +1 -0
  63. package/build/cjs/metrics/web-vitals/lib/observe.js +20 -0
  64. package/build/cjs/metrics/web-vitals/lib/observe.js.map +1 -0
  65. package/build/cjs/metrics/web-vitals/lib/onHidden.js +17 -0
  66. package/build/cjs/metrics/web-vitals/lib/onHidden.js.map +1 -0
  67. package/build/cjs/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js +32 -0
  68. package/build/cjs/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js.map +1 -0
  69. package/build/cjs/metrics/web-vitals/lib/runOnce.js +14 -0
  70. package/build/cjs/metrics/web-vitals/lib/runOnce.js.map +1 -0
  71. package/build/cjs/metrics/web-vitals/lib/whenActivated.js +14 -0
  72. package/build/cjs/metrics/web-vitals/lib/whenActivated.js.map +1 -0
  73. package/build/cjs/metrics/web-vitals/lib/whenIdleOrHidden.js +24 -0
  74. package/build/cjs/metrics/web-vitals/lib/whenIdleOrHidden.js.map +1 -0
  75. package/build/cjs/metrics/web-vitals/onFCP.js +37 -0
  76. package/build/cjs/metrics/web-vitals/onFCP.js.map +1 -0
  77. package/build/cjs/metrics/web-vitals/onTTFB.js +35 -0
  78. package/build/cjs/metrics/web-vitals/onTTFB.js.map +1 -0
  79. package/build/cjs/metrics/webVitalSpans.js +199 -0
  80. package/build/cjs/metrics/webVitalSpans.js.map +1 -0
  81. package/build/cjs/networkUtils.js +70 -0
  82. package/build/cjs/networkUtils.js.map +1 -0
  83. package/build/cjs/types.js +8 -0
  84. package/build/cjs/types.js.map +1 -0
  85. package/build/esm/debug-build.js +4 -0
  86. package/build/esm/debug-build.js.map +1 -0
  87. package/build/esm/getNativeImplementation.js +46 -0
  88. package/build/esm/getNativeImplementation.js.map +1 -0
  89. package/build/esm/htmlTreeAsString.js +108 -0
  90. package/build/esm/htmlTreeAsString.js.map +1 -0
  91. package/build/esm/index.js +15 -0
  92. package/build/esm/index.js.map +1 -0
  93. package/build/esm/instrument/dom.js +134 -0
  94. package/build/esm/instrument/dom.js.map +1 -0
  95. package/build/esm/instrument/history.js +53 -0
  96. package/build/esm/instrument/history.js.map +1 -0
  97. package/build/esm/instrument/xhr.js +104 -0
  98. package/build/esm/instrument/xhr.js.map +1 -0
  99. package/build/esm/is.js +13 -0
  100. package/build/esm/is.js.map +1 -0
  101. package/build/esm/metrics/browserMetrics.js +524 -0
  102. package/build/esm/metrics/browserMetrics.js.map +1 -0
  103. package/build/esm/metrics/cls.js +61 -0
  104. package/build/esm/metrics/cls.js.map +1 -0
  105. package/build/esm/metrics/elementTiming.js +69 -0
  106. package/build/esm/metrics/elementTiming.js.map +1 -0
  107. package/build/esm/metrics/inp.js +162 -0
  108. package/build/esm/metrics/inp.js.map +1 -0
  109. package/build/esm/metrics/instrument.js +145 -0
  110. package/build/esm/metrics/instrument.js.map +1 -0
  111. package/build/esm/metrics/lcp.js +72 -0
  112. package/build/esm/metrics/lcp.js.map +1 -0
  113. package/build/esm/metrics/resourceTiming.js +42 -0
  114. package/build/esm/metrics/resourceTiming.js.map +1 -0
  115. package/build/esm/metrics/utils.js +128 -0
  116. package/build/esm/metrics/utils.js.map +1 -0
  117. package/build/esm/metrics/web-vitals/getCLS.js +43 -0
  118. package/build/esm/metrics/web-vitals/getCLS.js.map +1 -0
  119. package/build/esm/metrics/web-vitals/getINP.js +57 -0
  120. package/build/esm/metrics/web-vitals/getINP.js.map +1 -0
  121. package/build/esm/metrics/web-vitals/getLCP.js +59 -0
  122. package/build/esm/metrics/web-vitals/getLCP.js.map +1 -0
  123. package/build/esm/metrics/web-vitals/lib/InteractionManager.js +85 -0
  124. package/build/esm/metrics/web-vitals/lib/InteractionManager.js.map +1 -0
  125. package/build/esm/metrics/web-vitals/lib/LCPEntryManager.js +9 -0
  126. package/build/esm/metrics/web-vitals/lib/LCPEntryManager.js.map +1 -0
  127. package/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js +25 -0
  128. package/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js.map +1 -0
  129. package/build/esm/metrics/web-vitals/lib/bindReporter.js +29 -0
  130. package/build/esm/metrics/web-vitals/lib/bindReporter.js.map +1 -0
  131. package/build/esm/metrics/web-vitals/lib/generateUniqueID.js +6 -0
  132. package/build/esm/metrics/web-vitals/lib/generateUniqueID.js.map +1 -0
  133. package/build/esm/metrics/web-vitals/lib/getActivationStart.js +9 -0
  134. package/build/esm/metrics/web-vitals/lib/getActivationStart.js.map +1 -0
  135. package/build/esm/metrics/web-vitals/lib/getNavigationEntry.js +15 -0
  136. package/build/esm/metrics/web-vitals/lib/getNavigationEntry.js.map +1 -0
  137. package/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js +46 -0
  138. package/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js.map +1 -0
  139. package/build/esm/metrics/web-vitals/lib/globalListeners.js +15 -0
  140. package/build/esm/metrics/web-vitals/lib/globalListeners.js.map +1 -0
  141. package/build/esm/metrics/web-vitals/lib/initMetric.js +32 -0
  142. package/build/esm/metrics/web-vitals/lib/initMetric.js.map +1 -0
  143. package/build/esm/metrics/web-vitals/lib/initUnique.js +14 -0
  144. package/build/esm/metrics/web-vitals/lib/initUnique.js.map +1 -0
  145. package/build/esm/metrics/web-vitals/lib/observe.js +18 -0
  146. package/build/esm/metrics/web-vitals/lib/observe.js.map +1 -0
  147. package/build/esm/metrics/web-vitals/lib/onHidden.js +15 -0
  148. package/build/esm/metrics/web-vitals/lib/onHidden.js.map +1 -0
  149. package/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js +29 -0
  150. package/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js.map +1 -0
  151. package/build/esm/metrics/web-vitals/lib/runOnce.js +12 -0
  152. package/build/esm/metrics/web-vitals/lib/runOnce.js.map +1 -0
  153. package/build/esm/metrics/web-vitals/lib/whenActivated.js +12 -0
  154. package/build/esm/metrics/web-vitals/lib/whenActivated.js.map +1 -0
  155. package/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js +22 -0
  156. package/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js.map +1 -0
  157. package/build/esm/metrics/web-vitals/onFCP.js +34 -0
  158. package/build/esm/metrics/web-vitals/onFCP.js.map +1 -0
  159. package/build/esm/metrics/web-vitals/onTTFB.js +32 -0
  160. package/build/esm/metrics/web-vitals/onTTFB.js.map +1 -0
  161. package/build/esm/metrics/webVitalSpans.js +191 -0
  162. package/build/esm/metrics/webVitalSpans.js.map +1 -0
  163. package/build/esm/networkUtils.js +64 -0
  164. package/build/esm/networkUtils.js.map +1 -0
  165. package/build/esm/package.json +1 -0
  166. package/build/esm/types.js +6 -0
  167. package/build/esm/types.js.map +1 -0
  168. package/build/types/debug-build.d.ts +7 -0
  169. package/build/types/debug-build.d.ts.map +1 -0
  170. package/build/types/getNativeImplementation.d.ts +69 -0
  171. package/build/types/getNativeImplementation.d.ts.map +1 -0
  172. package/build/types/htmlTreeAsString.d.ts +11 -0
  173. package/build/types/htmlTreeAsString.d.ts.map +1 -0
  174. package/build/types/index.d.ts +15 -0
  175. package/build/types/index.d.ts.map +1 -0
  176. package/build/types/instrument/dom.d.ts +11 -0
  177. package/build/types/instrument/dom.d.ts.map +1 -0
  178. package/build/types/instrument/history.d.ts +15 -0
  179. package/build/types/instrument/history.d.ts.map +1 -0
  180. package/build/types/instrument/xhr.d.ts +14 -0
  181. package/build/types/instrument/xhr.d.ts.map +1 -0
  182. package/build/types/is.d.ts +7 -0
  183. package/build/types/is.d.ts.map +1 -0
  184. package/build/types/metrics/browserMetrics.d.ts +116 -0
  185. package/build/types/metrics/browserMetrics.d.ts.map +1 -0
  186. package/build/types/metrics/cls.d.ts +17 -0
  187. package/build/types/metrics/cls.d.ts.map +1 -0
  188. package/build/types/metrics/elementTiming.d.ts +19 -0
  189. package/build/types/metrics/elementTiming.d.ts.map +1 -0
  190. package/build/types/metrics/inp.d.ts +35 -0
  191. package/build/types/metrics/inp.d.ts.map +1 -0
  192. package/build/types/metrics/instrument.d.ts +121 -0
  193. package/build/types/metrics/instrument.d.ts.map +1 -0
  194. package/build/types/metrics/lcp.d.ts +22 -0
  195. package/build/types/metrics/lcp.d.ts.map +1 -0
  196. package/build/types/metrics/resourceTiming.d.ts +13 -0
  197. package/build/types/metrics/resourceTiming.d.ts.map +1 -0
  198. package/build/types/metrics/utils.d.ts +73 -0
  199. package/build/types/metrics/utils.d.ts.map +1 -0
  200. package/build/types/metrics/web-vitals/getCLS.d.ts +26 -0
  201. package/build/types/metrics/web-vitals/getCLS.d.ts.map +1 -0
  202. package/build/types/metrics/web-vitals/getINP.d.ts +34 -0
  203. package/build/types/metrics/web-vitals/getINP.d.ts.map +1 -0
  204. package/build/types/metrics/web-vitals/getLCP.d.ts +16 -0
  205. package/build/types/metrics/web-vitals/getLCP.d.ts.map +1 -0
  206. package/build/types/metrics/web-vitals/lib/InteractionManager.d.ts +37 -0
  207. package/build/types/metrics/web-vitals/lib/InteractionManager.d.ts.map +1 -0
  208. package/build/types/metrics/web-vitals/lib/LCPEntryManager.d.ts +5 -0
  209. package/build/types/metrics/web-vitals/lib/LCPEntryManager.d.ts.map +1 -0
  210. package/build/types/metrics/web-vitals/lib/LayoutShiftManager.d.ts +7 -0
  211. package/build/types/metrics/web-vitals/lib/LayoutShiftManager.d.ts.map +1 -0
  212. package/build/types/metrics/web-vitals/lib/bindReporter.d.ts +7 -0
  213. package/build/types/metrics/web-vitals/lib/bindReporter.d.ts.map +1 -0
  214. package/build/types/metrics/web-vitals/lib/generateUniqueID.d.ts +7 -0
  215. package/build/types/metrics/web-vitals/lib/generateUniqueID.d.ts.map +1 -0
  216. package/build/types/metrics/web-vitals/lib/getActivationStart.d.ts +2 -0
  217. package/build/types/metrics/web-vitals/lib/getActivationStart.d.ts.map +1 -0
  218. package/build/types/metrics/web-vitals/lib/getNavigationEntry.d.ts +2 -0
  219. package/build/types/metrics/web-vitals/lib/getNavigationEntry.d.ts.map +1 -0
  220. package/build/types/metrics/web-vitals/lib/getVisibilityWatcher.d.ts +5 -0
  221. package/build/types/metrics/web-vitals/lib/getVisibilityWatcher.d.ts.map +1 -0
  222. package/build/types/metrics/web-vitals/lib/globalListeners.d.ts +11 -0
  223. package/build/types/metrics/web-vitals/lib/globalListeners.d.ts.map +1 -0
  224. package/build/types/metrics/web-vitals/lib/initMetric.d.ts +21 -0
  225. package/build/types/metrics/web-vitals/lib/initMetric.d.ts.map +1 -0
  226. package/build/types/metrics/web-vitals/lib/initUnique.d.ts +7 -0
  227. package/build/types/metrics/web-vitals/lib/initUnique.d.ts.map +1 -0
  228. package/build/types/metrics/web-vitals/lib/observe.d.ts +23 -0
  229. package/build/types/metrics/web-vitals/lib/observe.d.ts.map +1 -0
  230. package/build/types/metrics/web-vitals/lib/onHidden.d.ts +27 -0
  231. package/build/types/metrics/web-vitals/lib/onHidden.d.ts.map +1 -0
  232. package/build/types/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.d.ts +15 -0
  233. package/build/types/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.d.ts.map +1 -0
  234. package/build/types/metrics/web-vitals/lib/runOnce.d.ts +2 -0
  235. package/build/types/metrics/web-vitals/lib/runOnce.d.ts.map +1 -0
  236. package/build/types/metrics/web-vitals/lib/whenActivated.d.ts +2 -0
  237. package/build/types/metrics/web-vitals/lib/whenActivated.d.ts.map +1 -0
  238. package/build/types/metrics/web-vitals/lib/whenIdleOrHidden.d.ts +6 -0
  239. package/build/types/metrics/web-vitals/lib/whenIdleOrHidden.d.ts.map +1 -0
  240. package/build/types/metrics/web-vitals/onFCP.d.ts +11 -0
  241. package/build/types/metrics/web-vitals/onFCP.d.ts.map +1 -0
  242. package/build/types/metrics/web-vitals/onTTFB.d.ts +20 -0
  243. package/build/types/metrics/web-vitals/onTTFB.d.ts.map +1 -0
  244. package/build/types/metrics/web-vitals/types/base.d.ts +103 -0
  245. package/build/types/metrics/web-vitals/types/base.d.ts.map +1 -0
  246. package/build/types/metrics/web-vitals/types/cls.d.ts +58 -0
  247. package/build/types/metrics/web-vitals/types/cls.d.ts.map +1 -0
  248. package/build/types/metrics/web-vitals/types/fcp.d.ts +47 -0
  249. package/build/types/metrics/web-vitals/types/fcp.d.ts.map +1 -0
  250. package/build/types/metrics/web-vitals/types/inp.d.ts +150 -0
  251. package/build/types/metrics/web-vitals/types/inp.d.ts.map +1 -0
  252. package/build/types/metrics/web-vitals/types/lcp.d.ts +74 -0
  253. package/build/types/metrics/web-vitals/types/lcp.d.ts.map +1 -0
  254. package/build/types/metrics/web-vitals/types/ttfb.d.ts +60 -0
  255. package/build/types/metrics/web-vitals/types/ttfb.d.ts.map +1 -0
  256. package/build/types/metrics/web-vitals/types.d.ts +78 -0
  257. package/build/types/metrics/web-vitals/types.d.ts.map +1 -0
  258. package/build/types/metrics/webVitalSpans.d.ts +65 -0
  259. package/build/types/metrics/webVitalSpans.d.ts.map +1 -0
  260. package/build/types/networkUtils.d.ts +25 -0
  261. package/build/types/networkUtils.d.ts.map +1 -0
  262. package/build/types/types.d.ts +15 -0
  263. package/build/types/types.d.ts.map +1 -0
  264. package/build/types-ts3.8/debug-build.d.ts +7 -0
  265. package/build/types-ts3.8/getNativeImplementation.d.ts +69 -0
  266. package/build/types-ts3.8/htmlTreeAsString.d.ts +11 -0
  267. package/build/types-ts3.8/index.d.ts +15 -0
  268. package/build/types-ts3.8/instrument/dom.d.ts +11 -0
  269. package/build/types-ts3.8/instrument/history.d.ts +15 -0
  270. package/build/types-ts3.8/instrument/xhr.d.ts +14 -0
  271. package/build/types-ts3.8/is.d.ts +7 -0
  272. package/build/types-ts3.8/metrics/browserMetrics.d.ts +119 -0
  273. package/build/types-ts3.8/metrics/cls.d.ts +17 -0
  274. package/build/types-ts3.8/metrics/elementTiming.d.ts +19 -0
  275. package/build/types-ts3.8/metrics/inp.d.ts +35 -0
  276. package/build/types-ts3.8/metrics/instrument.d.ts +121 -0
  277. package/build/types-ts3.8/metrics/lcp.d.ts +22 -0
  278. package/build/types-ts3.8/metrics/resourceTiming.d.ts +13 -0
  279. package/build/types-ts3.8/metrics/utils.d.ts +73 -0
  280. package/build/types-ts3.8/metrics/web-vitals/getCLS.d.ts +26 -0
  281. package/build/types-ts3.8/metrics/web-vitals/getINP.d.ts +34 -0
  282. package/build/types-ts3.8/metrics/web-vitals/getLCP.d.ts +16 -0
  283. package/build/types-ts3.8/metrics/web-vitals/lib/InteractionManager.d.ts +37 -0
  284. package/build/types-ts3.8/metrics/web-vitals/lib/LCPEntryManager.d.ts +5 -0
  285. package/build/types-ts3.8/metrics/web-vitals/lib/LayoutShiftManager.d.ts +7 -0
  286. package/build/types-ts3.8/metrics/web-vitals/lib/bindReporter.d.ts +7 -0
  287. package/build/types-ts3.8/metrics/web-vitals/lib/generateUniqueID.d.ts +7 -0
  288. package/build/types-ts3.8/metrics/web-vitals/lib/getActivationStart.d.ts +2 -0
  289. package/build/types-ts3.8/metrics/web-vitals/lib/getNavigationEntry.d.ts +2 -0
  290. package/build/types-ts3.8/metrics/web-vitals/lib/getVisibilityWatcher.d.ts +5 -0
  291. package/build/types-ts3.8/metrics/web-vitals/lib/globalListeners.d.ts +11 -0
  292. package/build/types-ts3.8/metrics/web-vitals/lib/initMetric.d.ts +21 -0
  293. package/build/types-ts3.8/metrics/web-vitals/lib/initUnique.d.ts +7 -0
  294. package/build/types-ts3.8/metrics/web-vitals/lib/observe.d.ts +23 -0
  295. package/build/types-ts3.8/metrics/web-vitals/lib/onHidden.d.ts +27 -0
  296. package/build/types-ts3.8/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.d.ts +15 -0
  297. package/build/types-ts3.8/metrics/web-vitals/lib/runOnce.d.ts +2 -0
  298. package/build/types-ts3.8/metrics/web-vitals/lib/whenActivated.d.ts +2 -0
  299. package/build/types-ts3.8/metrics/web-vitals/lib/whenIdleOrHidden.d.ts +6 -0
  300. package/build/types-ts3.8/metrics/web-vitals/onFCP.d.ts +11 -0
  301. package/build/types-ts3.8/metrics/web-vitals/onTTFB.d.ts +20 -0
  302. package/build/types-ts3.8/metrics/web-vitals/types/base.d.ts +106 -0
  303. package/build/types-ts3.8/metrics/web-vitals/types/cls.d.ts +58 -0
  304. package/build/types-ts3.8/metrics/web-vitals/types/fcp.d.ts +47 -0
  305. package/build/types-ts3.8/metrics/web-vitals/types/inp.d.ts +150 -0
  306. package/build/types-ts3.8/metrics/web-vitals/types/lcp.d.ts +74 -0
  307. package/build/types-ts3.8/metrics/web-vitals/types/ttfb.d.ts +60 -0
  308. package/build/types-ts3.8/metrics/web-vitals/types.d.ts +78 -0
  309. package/build/types-ts3.8/metrics/webVitalSpans.d.ts +65 -0
  310. package/build/types-ts3.8/networkUtils.d.ts +28 -0
  311. package/build/types-ts3.8/types.d.ts +15 -0
  312. package/package.json +69 -0
@@ -0,0 +1,78 @@
1
+ export * from './types/base';
2
+ export * from './types/cls';
3
+ export * from './types/fcp';
4
+ export * from './types/inp';
5
+ export * from './types/lcp';
6
+ export * from './types/ttfb';
7
+ interface PerformanceEntryMap {
8
+ navigation: PerformanceNavigationTiming;
9
+ resource: PerformanceResourceTiming;
10
+ paint: PerformancePaintTiming;
11
+ }
12
+ declare global {
13
+ interface Document {
14
+ prerendering?: boolean;
15
+ wasDiscarded?: boolean;
16
+ }
17
+ interface Performance {
18
+ getEntriesByType<K extends keyof PerformanceEntryMap>(type: K): PerformanceEntryMap[K][];
19
+ }
20
+ interface PerformanceObserverInit {
21
+ durationThreshold?: number;
22
+ }
23
+ interface PerformanceNavigationTiming {
24
+ activationStart?: number;
25
+ }
26
+ interface PerformanceEventTiming extends PerformanceEntry {
27
+ duration: DOMHighResTimeStamp;
28
+ interactionId: number;
29
+ }
30
+ interface LayoutShiftAttribution {
31
+ node: Node | null;
32
+ previousRect: DOMRectReadOnly;
33
+ currentRect: DOMRectReadOnly;
34
+ }
35
+ interface LayoutShift extends PerformanceEntry {
36
+ value: number;
37
+ sources: LayoutShiftAttribution[];
38
+ hadRecentInput: boolean;
39
+ }
40
+ interface LargestContentfulPaint extends PerformanceEntry {
41
+ readonly renderTime: DOMHighResTimeStamp;
42
+ readonly loadTime: DOMHighResTimeStamp;
43
+ readonly size: number;
44
+ readonly id: string;
45
+ readonly url: string;
46
+ readonly element: Element | null;
47
+ }
48
+ export type ScriptInvokerType = 'classic-script' | 'module-script' | 'event-listener' | 'user-callback' | 'resolve-promise' | 'reject-promise';
49
+ export type ScriptWindowAttribution = 'self' | 'descendant' | 'ancestor' | 'same-page' | 'other';
50
+ interface PerformanceScriptTiming extends PerformanceEntry {
51
+ readonly startTime: DOMHighResTimeStamp;
52
+ readonly duration: DOMHighResTimeStamp;
53
+ readonly name: string;
54
+ readonly entryType: string;
55
+ readonly invokerType: ScriptInvokerType;
56
+ readonly invoker: string;
57
+ readonly executionStart: DOMHighResTimeStamp;
58
+ readonly sourceURL: string;
59
+ readonly sourceFunctionName: string;
60
+ readonly sourceCharPosition: number;
61
+ readonly pauseDuration: DOMHighResTimeStamp;
62
+ readonly forcedStyleAndLayoutDuration: DOMHighResTimeStamp;
63
+ readonly window?: Window;
64
+ readonly windowAttribution: ScriptWindowAttribution;
65
+ }
66
+ interface PerformanceLongAnimationFrameTiming extends PerformanceEntry {
67
+ readonly startTime: DOMHighResTimeStamp;
68
+ readonly duration: DOMHighResTimeStamp;
69
+ readonly name: string;
70
+ readonly entryType: string;
71
+ readonly renderStart: DOMHighResTimeStamp;
72
+ readonly styleAndLayoutStart: DOMHighResTimeStamp;
73
+ readonly blockingDuration: DOMHighResTimeStamp;
74
+ readonly firstUIEventTimestamp: DOMHighResTimeStamp;
75
+ readonly scripts: PerformanceScriptTiming[];
76
+ }
77
+ }
78
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/metrics/web-vitals/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type { Client, Span, SpanAttributes } from '@sentry/core';
2
+ import type { WebVitalReportEvent } from './utils';
3
+ import type { PerformanceEventTiming } from './instrument';
4
+ export interface LayoutShift extends PerformanceEntry {
5
+ value: number;
6
+ sources: Array<{
7
+ node: Node | null;
8
+ }>;
9
+ hadRecentInput: boolean;
10
+ }
11
+ export interface LargestContentfulPaint extends PerformanceEntry {
12
+ readonly renderTime: DOMHighResTimeStamp;
13
+ readonly loadTime: DOMHighResTimeStamp;
14
+ readonly size: number;
15
+ readonly id: string;
16
+ readonly url: string;
17
+ readonly element: Element | null;
18
+ }
19
+ interface WebVitalSpanOptions {
20
+ name: string;
21
+ op: string;
22
+ origin: string;
23
+ metricName: 'lcp' | 'cls' | 'inp';
24
+ value: number;
25
+ attributes?: SpanAttributes;
26
+ parentSpan?: Span;
27
+ reportEvent?: WebVitalReportEvent;
28
+ startTime: number;
29
+ endTime?: number;
30
+ }
31
+ /**
32
+ * Emits a web vital span that flows through the span streaming pipeline.
33
+ */
34
+ export declare function _emitWebVitalSpan(options: WebVitalSpanOptions): void;
35
+ /**
36
+ * Tracks LCP as a streamed span.
37
+ */
38
+ export declare function trackLcpAsSpan(client: Client): void;
39
+ /**
40
+ * Exported only for testing.
41
+ */
42
+ export declare function _sendLcpSpan(lcpValue: number, entry: LargestContentfulPaint | undefined, pageloadSpan?: Span, reportEvent?: WebVitalReportEvent): void;
43
+ /**
44
+ * Tracks CLS as a streamed span.
45
+ */
46
+ export declare function trackClsAsSpan(client: Client): void;
47
+ /**
48
+ * Exported only for testing.
49
+ */
50
+ export declare function _sendClsSpan(clsValue: number, entry: LayoutShift | undefined, pageloadSpan?: Span, reportEvent?: WebVitalReportEvent): void;
51
+ /**
52
+ * Tracks INP as a streamed span.
53
+ *
54
+ * This mirrors the standalone INP tracking logic (`startTrackingINP`) but emits
55
+ * spans through the streaming pipeline instead of as standalone spans.
56
+ * Requires `registerInpInteractionListener()` to be called separately for
57
+ * cached element names and root spans per interaction.
58
+ */
59
+ export declare function trackInpAsSpan(): void;
60
+ /**
61
+ * Exported only for testing.
62
+ */
63
+ export declare function _sendInpSpan(inpValue: number, entry: PerformanceEventTiming): void;
64
+ export {};
65
+ //# sourceMappingURL=webVitalSpans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webVitalSpans.d.ts","sourceRoot":"","sources":["../../../src/metrics/webVitalSpans.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAM3D,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAiDpE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAqBnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,sBAAsB,GAAG,SAAS,EACzC,YAAY,CAAC,EAAE,IAAI,EACnB,WAAW,CAAC,EAAE,mBAAmB,GAChC,IAAI,CAiCN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAqBnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,YAAY,CAAC,EAAE,IAAI,EACnB,WAAW,CAAC,EAAE,mBAAmB,GAChC,IAAI,CAyBN;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA2BrC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI,CA+BlF"}
@@ -0,0 +1,25 @@
1
+ import { debug } from '@sentry/core';
2
+ import type { NetworkMetaWarning } from './types';
3
+ export declare const ORIGINAL_REQ_BODY: unique symbol;
4
+ /**
5
+ * Serializes FormData.
6
+ *
7
+ * This is a bit simplified, but gives us a decent estimate.
8
+ * This converts e.g. { name: 'Anne Smith', age: 13 } to 'name=Anne+Smith&age=13'.
9
+ *
10
+ */
11
+ export declare function serializeFormData(formData: FormData): string;
12
+ /** Get the string representation of a body. */
13
+ export declare function getBodyString(body: unknown, _debug?: typeof debug): [string | undefined, NetworkMetaWarning?];
14
+ /**
15
+ * Parses the fetch arguments to extract the request payload.
16
+ *
17
+ * In case of a Request object, this function attempts to retrieve the original body by looking for a Sentry-patched symbol.
18
+ */
19
+ export declare function getFetchRequestArgBody(fetchArgs?: unknown[]): RequestInit['body'] | undefined;
20
+ /**
21
+ * Parses XMLHttpRequest response headers into a Record.
22
+ * Extracted from replay internals to be reusable.
23
+ */
24
+ export declare function parseXhrResponseHeaders(xhr: XMLHttpRequest): Record<string, string>;
25
+ //# sourceMappingURL=networkUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkUtils.d.ts","sourceRoot":"","sources":["../../src/networkUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,iBAAiB,eAA4C,CAAC;AAE3E;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAG5D;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,GAAE,OAAO,KAAa,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAyBpH;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,GAAE,OAAO,EAAO,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAoBjG;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBnF"}
@@ -0,0 +1,15 @@
1
+ import type { FetchBreadcrumbHint, HandlerDataFetch, SentryWrappedXMLHttpRequest, XhrBreadcrumbHint } from '@sentry/core';
2
+ import { GLOBAL_OBJ } from '@sentry/core';
3
+ export declare const WINDOW: typeof GLOBAL_OBJ & Omit<Window, "document"> & Partial<Pick<Window, "document">>;
4
+ export type NetworkMetaWarning = 'MAYBE_JSON_TRUNCATED' | 'TEXT_TRUNCATED' | 'URL_SKIPPED' | 'BODY_PARSE_ERROR' | 'BODY_PARSE_TIMEOUT' | 'UNPARSEABLE_BODY_TYPE';
5
+ type RequestBody = null | Blob | BufferSource | FormData | URLSearchParams | string;
6
+ export type XhrHint = XhrBreadcrumbHint & {
7
+ xhr: XMLHttpRequest & SentryWrappedXMLHttpRequest;
8
+ input?: RequestBody;
9
+ };
10
+ export type FetchHint = FetchBreadcrumbHint & {
11
+ input: HandlerDataFetch['args'];
12
+ response: Response;
13
+ };
14
+ export {};
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,MAAM,EAAiB,OAAO,UAAU,GAEnD,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAC1B,sBAAsB,GACtB,gBAAgB,GAChB,aAAa,GACb,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,CAAC;AAE5B,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;AAEpF,MAAM,MAAM,OAAO,GAAG,iBAAiB,GAAG;IACxC,GAAG,EAAE,cAAc,GAAG,2BAA2B,CAAC;IAClD,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,mBAAmB,GAAG;IAC5C,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.
3
+ *
4
+ * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.
5
+ */
6
+ export declare const DEBUG_BUILD: boolean;
7
+ //# sourceMappingURL=debug-build.d.ts.map
@@ -0,0 +1,69 @@
1
+ import { WINDOW } from './types';
2
+ /**
3
+ * We generally want to use window.fetch / window.setTimeout.
4
+ * However, in some cases this may be wrapped (e.g. by Zone.js for Angular),
5
+ * so we try to get an unpatched version of this from a sandboxed iframe.
6
+ */
7
+ interface CacheableImplementations {
8
+ setTimeout: typeof WINDOW.setTimeout;
9
+ fetch: typeof WINDOW.fetch;
10
+ }
11
+ /**
12
+ * Get the native implementation of a browser function.
13
+ *
14
+ * This can be used to ensure we get an unwrapped version of a function, in cases where a wrapped function can lead to problems.
15
+ *
16
+ * The following methods can be retrieved:
17
+ * - `setTimeout`: This can be wrapped by e.g. Angular, causing change detection to be triggered.
18
+ * - `fetch`: This can be wrapped by e.g. ad-blockers, causing an infinite loop when a request is blocked.
19
+ */
20
+ export declare function getNativeImplementation<T extends keyof CacheableImplementations>(name: T): CacheableImplementations[T];
21
+ /** Clear a cached implementation. */
22
+ export declare function clearCachedImplementation(name: keyof CacheableImplementations): void;
23
+ /**
24
+ * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.
25
+ * Whenever someone wraps the Fetch API and returns the wrong promise chain,
26
+ * this chain becomes orphaned and there is no possible way to capture it's rejections
27
+ * other than allowing it bubble up to this very handler. eg.
28
+ *
29
+ * const f = window.fetch;
30
+ * window.fetch = function () {
31
+ * const p = f.apply(this, arguments);
32
+ *
33
+ * p.then(function() {
34
+ * console.log('hi.');
35
+ * });
36
+ *
37
+ * return p;
38
+ * }
39
+ *
40
+ * `p.then(function () { ... })` is producing a completely separate promise chain,
41
+ * however, what's returned is `p` - the result of original `fetch` call.
42
+ *
43
+ * This mean, that whenever we use the Fetch API to send our own requests, _and_
44
+ * some ad-blocker blocks it, this orphaned chain will _always_ reject,
45
+ * effectively causing another event to be captured.
46
+ * This makes a whole process become an infinite loop, which we need to somehow
47
+ * deal with, and break it in one way or another.
48
+ *
49
+ * To deal with this issue, we are making sure that we _always_ use the real
50
+ * browser Fetch API, instead of relying on what `window.fetch` exposes.
51
+ * The only downside to this would be missing our own requests as breadcrumbs,
52
+ * but because we are already not doing this, it should be just fine.
53
+ *
54
+ * Possible failed fetch error messages per-browser:
55
+ *
56
+ * Chrome: Failed to fetch
57
+ * Edge: Failed to Fetch
58
+ * Firefox: NetworkError when attempting to fetch resource
59
+ * Safari: resource blocked by content blocker
60
+ */
61
+ export declare function fetch(...rest: Parameters<typeof WINDOW.fetch>): ReturnType<typeof WINDOW.fetch>;
62
+ /**
63
+ * Get an unwrapped `setTimeout` method.
64
+ * This ensures that even if e.g. Angular wraps `setTimeout`, we get the native implementation,
65
+ * avoiding triggering change detection.
66
+ */
67
+ export declare function setTimeout(...rest: Parameters<typeof WINDOW.setTimeout>): ReturnType<typeof WINDOW.setTimeout>;
68
+ export {};
69
+ //# sourceMappingURL=getNativeImplementation.d.ts.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Given a child DOM element, returns a query-selector statement describing that
3
+ * and its ancestors
4
+ * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]
5
+ * @returns generated DOM path
6
+ */
7
+ export declare function htmlTreeAsString(elem: unknown, options?: string[] | {
8
+ keyAttrs?: string[];
9
+ maxStringLength?: number;
10
+ }): string;
11
+ //# sourceMappingURL=htmlTreeAsString.d.ts.map
@@ -0,0 +1,15 @@
1
+ export { addPerformanceInstrumentationHandler, addClsInstrumentationHandler, addTtfbInstrumentationHandler, addLcpInstrumentationHandler, addInpInstrumentationHandler, } from './metrics/instrument';
2
+ export { addPerformanceEntries, addWebVitalsToSpan, startTrackingInteractions, startTrackingLongTasks, startTrackingLongAnimationFrames, startTrackingWebVitals, startTrackingINP, registerInpInteractionListener, } from './metrics/browserMetrics';
3
+ export { elementTimingIntegration, startTrackingElementTiming } from './metrics/elementTiming';
4
+ export { extractNetworkProtocol } from './metrics/utils';
5
+ export { trackClsAsSpan, trackInpAsSpan, trackLcpAsSpan } from './metrics/webVitalSpans';
6
+ export { addClickKeypressInstrumentationHandler } from './instrument/dom';
7
+ export { addHistoryInstrumentationHandler } from './instrument/history';
8
+ export { fetch, setTimeout, clearCachedImplementation, getNativeImplementation } from './getNativeImplementation';
9
+ export { addXhrInstrumentationHandler, SENTRY_XHR_DATA_KEY } from './instrument/xhr';
10
+ export { getBodyString, getFetchRequestArgBody, serializeFormData, parseXhrResponseHeaders } from './networkUtils';
11
+ export { resourceTimingToSpanAttributes } from './metrics/resourceTiming';
12
+ export { htmlTreeAsString } from './htmlTreeAsString';
13
+ export { isElement } from './is';
14
+ export { FetchHint, NetworkMetaWarning, XhrHint } from './types';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,11 @@
1
+ import { HandlerDataDom } from '@sentry/core';
2
+ /**
3
+ * Add an instrumentation handler for when a click or a keypress happens.
4
+ *
5
+ * Use at your own risk, this might break without changelog notice, only used internally.
6
+ * @hidden
7
+ */
8
+ export declare function addClickKeypressInstrumentationHandler(handler: (data: HandlerDataDom) => void): void;
9
+ /** Exported for tests only. */
10
+ export declare function instrumentDOM(): void;
11
+ //# sourceMappingURL=dom.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { HandlerDataHistory } from '@sentry/core';
2
+ /**
3
+ * Add an instrumentation handler for when a fetch request happens.
4
+ * The handler function is called once when the request starts and once when it ends,
5
+ * which can be identified by checking if it has an `endTimestamp`.
6
+ *
7
+ * Use at your own risk, this might break without changelog notice, only used internally.
8
+ * @hidden
9
+ */
10
+ export declare function addHistoryInstrumentationHandler(handler: (data: HandlerDataHistory) => void): void;
11
+ /**
12
+ * Exported just for testing
13
+ */
14
+ export declare function instrumentHistory(): void;
15
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1,14 @@
1
+ import { HandlerDataXhr } from '@sentry/core';
2
+ export declare const SENTRY_XHR_DATA_KEY = "__sentry_xhr_v3__";
3
+ /**
4
+ * Add an instrumentation handler for when an XHR request happens.
5
+ * The handler function is called once when the request starts and once when it ends,
6
+ * which can be identified by checking if it has an `endTimestamp`.
7
+ *
8
+ * Use at your own risk, this might break without changelog notice, only used internally.
9
+ * @hidden
10
+ */
11
+ export declare function addXhrInstrumentationHandler(handler: (data: HandlerDataXhr) => void): void;
12
+ /** Exported only for tests. */
13
+ export declare function instrumentXHR(): void;
14
+ //# sourceMappingURL=xhr.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Checks whether given value's type is an Element instance.
3
+ *
4
+ * Returns false if `Element` is not available in the current runtime.
5
+ */
6
+ export declare function isElement(wat: unknown): boolean;
7
+ //# sourceMappingURL=is.d.ts.map
@@ -0,0 +1,119 @@
1
+ import { Client, Span, SpanAttributes } from '@sentry/core';
2
+ interface StartTrackingWebVitalsOptions {
3
+ /**
4
+ * When `true`, CLS is tracked as a standalone span. When `false`, CLS is
5
+ * recorded as a measurement on the pageload span. When `undefined`, CLS
6
+ * tracking is skipped entirely (e.g. because span streaming handles it).
7
+ */
8
+ recordClsStandaloneSpans: boolean | undefined;
9
+ /**
10
+ * When `true`, LCP is tracked as a standalone span. When `false`, LCP is
11
+ * recorded as a measurement on the pageload span. When `undefined`, LCP
12
+ * tracking is skipped entirely (e.g. because span streaming handles it).
13
+ */
14
+ recordLcpStandaloneSpans: boolean | undefined;
15
+ client: Client;
16
+ }
17
+ /**
18
+ * Start tracking web vitals.
19
+ * The callback returned by this function can be used to stop tracking & ensure all measurements are final & captured.
20
+ *
21
+ * @deprecated this function will be removed and streamlined once we stop supporting standalone v1
22
+ * @returns A function that forces web vitals collection
23
+ */
24
+ export declare function startTrackingWebVitals({ recordClsStandaloneSpans, recordLcpStandaloneSpans, client, }: StartTrackingWebVitalsOptions): () => void;
25
+ /**
26
+ * Start tracking long tasks.
27
+ */
28
+ export declare function startTrackingLongTasks(): void;
29
+ /**
30
+ * Start tracking long animation frames.
31
+ */
32
+ export declare function startTrackingLongAnimationFrames(): void;
33
+ /**
34
+ * Start tracking interaction events.
35
+ */
36
+ export declare function startTrackingInteractions(): void;
37
+ export { registerInpInteractionListener, startTrackingINP } from './inp';
38
+ interface AddPerformanceEntriesOptions {
39
+ /**
40
+ * Resource spans with `op`s matching strings in the array will not be emitted.
41
+ *
42
+ * Default: []
43
+ */
44
+ ignoreResourceSpans: Array<'resouce.script' | 'resource.css' | 'resource.img' | 'resource.other' | string>;
45
+ /**
46
+ * Performance spans created from browser Performance APIs,
47
+ * `performance.mark(...)` nand `performance.measure(...)`
48
+ * with `name`s matching strings in the array will not be emitted.
49
+ *
50
+ * Default: []
51
+ */
52
+ ignorePerformanceApiSpans: Array<string | RegExp>;
53
+ /**
54
+ * Whether span streaming is enabled.
55
+ */
56
+ spanStreamingEnabled?: boolean;
57
+ }
58
+ interface AddWebVitalsToSpanOptions {
59
+ /**
60
+ * Flag to determine if CLS should be recorded as a measurement on the pageload span or
61
+ * sent as a standalone span instead.
62
+ * Sending it as a standalone span will yield more accurate LCP values.
63
+ *
64
+ * Default: `false` for backwards compatibility.
65
+ */
66
+ recordClsOnPageloadSpan: boolean;
67
+ /**
68
+ * Flag to determine if LCP should be recorded as a measurement on the pageload span or
69
+ * sent as a standalone span instead.
70
+ * Sending it as a standalone span will yield more accurate LCP values.
71
+ *
72
+ * Default: `false` for backwards compatibility.
73
+ */
74
+ recordLcpOnPageloadSpan: boolean;
75
+ /**
76
+ * Whether span streaming is enabled.
77
+ */
78
+ spanStreamingEnabled?: boolean;
79
+ }
80
+ /** Add performance related spans to a transaction */
81
+ export declare function addPerformanceEntries(span: Span, options: AddPerformanceEntriesOptions): void;
82
+ /**
83
+ * Writes the collected web vitals (LCP, CLS, INP, TTFB, FP, FCP) onto the pageload span,
84
+ * either as measurements/attributes (v1) or as web vital attributes (span streaming).
85
+ *
86
+ * This should be called when the pageload span ends, after the web vitals have been finalized.
87
+ * It is a no-op for non-pageload spans, but always resets the collected web vital state so it
88
+ * doesn't leak into a subsequent navigation.
89
+ */
90
+ export declare function addWebVitalsToSpan(span: Span, options: AddWebVitalsToSpanOptions): void;
91
+ /**
92
+ * Create measure related spans.
93
+ * Exported only for tests.
94
+ */
95
+ export declare function _addMeasureSpans(span: Span, entry: PerformanceEntry, startTime: number, duration: number, timeOrigin: number, ignorePerformanceApiSpans: AddPerformanceEntriesOptions['ignorePerformanceApiSpans']): void;
96
+ /**
97
+ * Instrument navigation entries
98
+ * exported only for tests
99
+ */
100
+ export declare function _addNavigationSpans(span: Span, entry: PerformanceNavigationTiming, timeOrigin: number): void;
101
+ /**
102
+ * Create resource-related spans.
103
+ * Exported only for tests.
104
+ */
105
+ export declare function _addResourceSpans(span: Span, entry: PerformanceResourceTiming, resourceUrl: string, startTime: number, duration: number, timeOrigin: number, ignoredResourceSpanOps?: Array<string>): void;
106
+ type ExperimentalResourceTimingProperty = 'renderBlockingStatus' | 'deliveryType' | 'responseStatus';
107
+ /**
108
+ * Use this to set any attributes we can take directly form the PerformanceResourceTiming entry.
109
+ *
110
+ * This is just a mapping function for entry->attribute to keep bundle-size minimal.
111
+ * Experimental properties are also accepted (see {@link ExperimentalResourceTimingProperty}).
112
+ * Assumes that all entry properties might be undefined for browser-specific differences.
113
+ * Only accepts string and number values for now and also sets 0-values.
114
+ */
115
+ export declare function _setResourceRequestAttributes(entry: Partial<PerformanceResourceTiming> & Partial<Record<ExperimentalResourceTimingProperty, number | string>>, attributes: SpanAttributes, properties: [
116
+ keyof PerformanceResourceTiming | ExperimentalResourceTimingProperty,
117
+ string
118
+ ][]): void;
119
+ //# sourceMappingURL=browserMetrics.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { Client } from '@sentry/core';
2
+ import { WebVitalReportEvent } from './utils';
3
+ /**
4
+ * Starts tracking the Cumulative Layout Shift on the current page and collects the value once
5
+ *
6
+ * - the page visibility is hidden
7
+ * - a navigation span is started (to stop CLS measurement for SPA soft navigations)
8
+ *
9
+ * Once either of these events triggers, the CLS value is sent as a standalone span and we stop
10
+ * measuring CLS.
11
+ */
12
+ export declare function trackClsAsStandaloneSpan(client: Client): void;
13
+ /**
14
+ * Exported only for testing!
15
+ */
16
+ export declare function _sendStandaloneClsSpan(clsValue: number, entry: LayoutShift | undefined, pageloadSpanId: string, reportEvent: WebVitalReportEvent): void;
17
+ //# sourceMappingURL=cls.d.ts.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Captures [Element Timing API](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceElementTiming)
3
+ * data as Sentry metrics.
4
+ *
5
+ * To mark an element for tracking, add the `elementtiming` HTML attribute:
6
+ * ```html
7
+ * <img src="hero.jpg" elementtiming="hero-image" />
8
+ * <p elementtiming="hero-text">Welcome!</p>
9
+ * ```
10
+ *
11
+ * This emits `ui.element.render_time` and `ui.element.load_time` (for images)
12
+ * as distribution metrics, tagged with the element's identifier and paint type.
13
+ */
14
+ export declare const elementTimingIntegration: () => import("@sentry/core").Integration;
15
+ /**
16
+ * @deprecated Use `elementTimingIntegration` instead. This function is a no-op and will be removed in a future version.
17
+ */
18
+ export declare function startTrackingElementTiming(): () => void;
19
+ //# sourceMappingURL=elementTiming.d.ts.map
@@ -0,0 +1,35 @@
1
+ import { Span } from '@sentry/core';
2
+ import { InstrumentationHandlerCallback } from './instrument';
3
+ interface InteractionContext {
4
+ span: Span | undefined;
5
+ elementName: string;
6
+ }
7
+ /**
8
+ * 60 seconds is the maximum for a plausible INP value
9
+ * (source: Me)
10
+ */
11
+ export declare const MAX_PLAUSIBLE_INP_DURATION = 60;
12
+ /**
13
+ * Start tracking INP webvital events.
14
+ */
15
+ export declare function startTrackingINP(): () => void;
16
+ export declare const INP_ENTRY_MAP: Record<string, 'click' | 'hover' | 'drag' | 'press'>;
17
+ /** Starts tracking the Interaction to Next Paint on the current page. #
18
+ * exported only for testing
19
+ */
20
+ export declare function _trackINP(): () => void;
21
+ /**
22
+ * exported only for testing
23
+ */
24
+ export declare const _onInp: InstrumentationHandlerCallback;
25
+ /**
26
+ * Look up a cached interaction context (element name + root span) by interactionId.
27
+ * Returns undefined if no context was cached for this interaction.
28
+ */
29
+ export declare function getCachedInteractionContext(interactionId: number | undefined): InteractionContext | undefined;
30
+ /**
31
+ * Register a listener to cache route information for INP interactions.
32
+ */
33
+ export declare function registerInpInteractionListener(): void;
34
+ export {};
35
+ //# sourceMappingURL=inp.d.ts.map