@sentry/cloudflare 10.68.0 → 11.0.0-alpha.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 (759) hide show
  1. package/README.md +3 -7
  2. package/build/cjs/dev/baseSdk.js +83 -0
  3. package/build/cjs/dev/baseSdk.js.map +1 -0
  4. package/build/cjs/{client.js → dev/client.js} +5 -0
  5. package/build/cjs/dev/client.js.map +1 -0
  6. package/build/cjs/dev/debug-build.js.map +1 -0
  7. package/build/cjs/dev/defineCloudflareOptions.js.map +1 -0
  8. package/build/cjs/dev/durableobject.js +234 -0
  9. package/build/cjs/dev/durableobject.js.map +1 -0
  10. package/build/cjs/dev/flush.js.map +1 -0
  11. package/build/cjs/{index.js → dev/index.js} +18 -17
  12. package/build/cjs/{index.js.map → dev/index.js.map} +1 -1
  13. package/build/cjs/dev/instrument.js.map +1 -0
  14. package/build/cjs/dev/instrumentations/agents/index.js +16 -0
  15. package/build/cjs/dev/instrumentations/agents/index.js.map +1 -0
  16. package/build/cjs/dev/instrumentations/agents/instrumentAgentCallableRpc.js +52 -0
  17. package/build/cjs/dev/instrumentations/agents/instrumentAgentCallableRpc.js.map +1 -0
  18. package/build/cjs/dev/instrumentations/agents/instrumentAgentRequestConversation.js +19 -0
  19. package/build/cjs/dev/instrumentations/agents/instrumentAgentRequestConversation.js.map +1 -0
  20. package/build/cjs/dev/instrumentations/agents/instrumentChatAgentConversation.js +31 -0
  21. package/build/cjs/dev/instrumentations/agents/instrumentChatAgentConversation.js.map +1 -0
  22. package/build/cjs/dev/instrumentations/agents/types.js +77 -0
  23. package/build/cjs/dev/instrumentations/agents/types.js.map +1 -0
  24. package/build/cjs/dev/instrumentations/instrumentDurableObjectNamespace.js.map +1 -0
  25. package/build/cjs/{instrumentations → dev/instrumentations}/instrumentDurableObjectStorage.js +6 -0
  26. package/build/cjs/dev/instrumentations/instrumentDurableObjectStorage.js.map +1 -0
  27. package/build/cjs/dev/instrumentations/instrumentDurableObjectSyncKvStorage.js.map +1 -0
  28. package/build/cjs/{instrumentations → dev/instrumentations}/instrumentSqlStorage.js +1 -1
  29. package/build/cjs/dev/instrumentations/instrumentSqlStorage.js.map +1 -0
  30. package/build/cjs/{instrumentations → dev/instrumentations}/instrumentWorkerEntrypoint.js +3 -3
  31. package/build/cjs/dev/instrumentations/instrumentWorkerEntrypoint.js.map +1 -0
  32. package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentD1.js +0 -4
  33. package/build/cjs/dev/instrumentations/worker/instrumentD1.js.map +1 -0
  34. package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentEmail.js +3 -1
  35. package/build/cjs/dev/instrumentations/worker/instrumentEmail.js.map +1 -0
  36. package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentEnv.js +3 -4
  37. package/build/cjs/dev/instrumentations/worker/instrumentEnv.js.map +1 -0
  38. package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentFetch.js +9 -3
  39. package/build/cjs/dev/instrumentations/worker/instrumentFetch.js.map +1 -0
  40. package/build/cjs/dev/instrumentations/worker/instrumentFetcher.js.map +1 -0
  41. package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentQueue.js +3 -2
  42. package/build/cjs/dev/instrumentations/worker/instrumentQueue.js.map +1 -0
  43. package/build/cjs/dev/instrumentations/worker/instrumentQueueProducer.js.map +1 -0
  44. package/build/cjs/dev/instrumentations/worker/instrumentR2.js.map +1 -0
  45. package/build/cjs/dev/instrumentations/worker/instrumentRateLimit.js.map +1 -0
  46. package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentScheduled.js +3 -1
  47. package/build/cjs/dev/instrumentations/worker/instrumentScheduled.js.map +1 -0
  48. package/build/cjs/dev/instrumentations/worker/instrumentTail.js.map +1 -0
  49. package/build/cjs/{integrations → dev/integrations}/fetch.js +1 -1
  50. package/build/cjs/dev/integrations/fetch.js.map +1 -0
  51. package/build/cjs/{integrations → dev/integrations}/httpServer.js +5 -4
  52. package/build/cjs/dev/integrations/httpServer.js.map +1 -0
  53. package/build/cjs/dev/integrations/spotlight.js +64 -0
  54. package/build/cjs/dev/integrations/spotlight.js.map +1 -0
  55. package/build/cjs/{nodejs_compat → dev}/integrations/tracing/vercelai.js +6 -6
  56. package/build/cjs/dev/integrations/tracing/vercelai.js.map +1 -0
  57. package/build/cjs/dev/opentelemetry/tracer.js.map +1 -0
  58. package/build/cjs/dev/options.js +50 -0
  59. package/build/cjs/dev/options.js.map +1 -0
  60. package/build/cjs/{pages-plugin.js → dev/pages-plugin.js} +8 -3
  61. package/build/cjs/dev/pages-plugin.js.map +1 -0
  62. package/build/cjs/{request.js → dev/request.js} +23 -12
  63. package/build/cjs/dev/request.js.map +1 -0
  64. package/build/cjs/dev/scope-utils.js.map +1 -0
  65. package/build/cjs/dev/sdk.js +19 -0
  66. package/build/cjs/dev/sdk.js.map +1 -0
  67. package/build/cjs/dev/transport.js.map +1 -0
  68. package/build/cjs/{utils → dev/utils}/instrumentContext.js +8 -13
  69. package/build/cjs/dev/utils/instrumentContext.js.map +1 -0
  70. package/build/cjs/dev/utils/internalSqlQuery.js +25 -0
  71. package/build/cjs/dev/utils/internalSqlQuery.js.map +1 -0
  72. package/build/cjs/dev/utils/internalStorageKey.js +44 -0
  73. package/build/cjs/dev/utils/internalStorageKey.js.map +1 -0
  74. package/build/cjs/dev/utils/invocationScope.js +12 -0
  75. package/build/cjs/dev/utils/invocationScope.js.map +1 -0
  76. package/build/cjs/dev/utils/isBinding.js.map +1 -0
  77. package/build/cjs/dev/utils/isCloudflareClass.js.map +1 -0
  78. package/build/cjs/{utils → dev/utils}/rpcMeta.js +4 -0
  79. package/build/cjs/dev/utils/rpcMeta.js.map +1 -0
  80. package/build/cjs/dev/utils/streaming.js.map +1 -0
  81. package/build/cjs/dev/utils/traceLinks.js.map +1 -0
  82. package/build/cjs/dev/vendor/stacktrace.js.map +1 -0
  83. package/build/cjs/dev/vite/agentClass.js +114 -0
  84. package/build/cjs/dev/vite/agentClass.js.map +1 -0
  85. package/build/cjs/{vite → dev/vite}/autoInstrument.js +17 -4
  86. package/build/cjs/dev/vite/autoInstrument.js.map +1 -0
  87. package/build/cjs/{vite → dev/vite}/index.js +4 -2
  88. package/build/cjs/dev/vite/index.js.map +1 -0
  89. package/build/cjs/dev/vite/instrumentFile.js.map +1 -0
  90. package/build/cjs/dev/vite/moduleShape.js +231 -0
  91. package/build/cjs/dev/vite/moduleShape.js.map +1 -0
  92. package/build/cjs/{vite → dev/vite}/transform.js +6 -1
  93. package/build/cjs/dev/vite/transform.js.map +1 -0
  94. package/build/cjs/dev/vite/workerEntrypoint.js.map +1 -0
  95. package/build/cjs/{vite → dev/vite}/wranglerConfig.js +1 -1
  96. package/build/cjs/dev/vite/wranglerConfig.js.map +1 -0
  97. package/build/cjs/{withSentry.js → dev/withSentry.js} +2 -19
  98. package/build/cjs/dev/withSentry.js.map +1 -0
  99. package/build/cjs/{workflows.js → dev/workflows.js} +9 -4
  100. package/build/cjs/dev/workflows.js.map +1 -0
  101. package/build/cjs/{wrapMethodWithSentry.js → dev/wrapMethodWithSentry.js} +2 -3
  102. package/build/cjs/dev/wrapMethodWithSentry.js.map +1 -0
  103. package/build/cjs/{sdk.js → prod/baseSdk.js} +25 -17
  104. package/build/cjs/prod/baseSdk.js.map +1 -0
  105. package/build/cjs/prod/client.js +122 -0
  106. package/build/cjs/prod/client.js.map +1 -0
  107. package/build/cjs/prod/debug-build.js +6 -0
  108. package/build/cjs/prod/debug-build.js.map +1 -0
  109. package/build/cjs/prod/defineCloudflareOptions.js +11 -0
  110. package/build/cjs/prod/defineCloudflareOptions.js.map +1 -0
  111. package/build/cjs/prod/durableobject.js +234 -0
  112. package/build/cjs/prod/durableobject.js.map +1 -0
  113. package/build/cjs/prod/flush.js +87 -0
  114. package/build/cjs/prod/flush.js.map +1 -0
  115. package/build/cjs/{nodejs_compat → prod}/index.js +34 -35
  116. package/build/cjs/{nodejs_compat → prod}/index.js.map +1 -1
  117. package/build/cjs/prod/instrument.js +52 -0
  118. package/build/cjs/prod/instrument.js.map +1 -0
  119. package/build/cjs/prod/instrumentations/agents/index.js +16 -0
  120. package/build/cjs/prod/instrumentations/agents/index.js.map +1 -0
  121. package/build/cjs/prod/instrumentations/agents/instrumentAgentCallableRpc.js +52 -0
  122. package/build/cjs/prod/instrumentations/agents/instrumentAgentCallableRpc.js.map +1 -0
  123. package/build/cjs/prod/instrumentations/agents/instrumentAgentRequestConversation.js +19 -0
  124. package/build/cjs/prod/instrumentations/agents/instrumentAgentRequestConversation.js.map +1 -0
  125. package/build/cjs/prod/instrumentations/agents/instrumentChatAgentConversation.js +31 -0
  126. package/build/cjs/prod/instrumentations/agents/instrumentChatAgentConversation.js.map +1 -0
  127. package/build/cjs/prod/instrumentations/agents/types.js +77 -0
  128. package/build/cjs/prod/instrumentations/agents/types.js.map +1 -0
  129. package/build/cjs/prod/instrumentations/instrumentDurableObjectNamespace.js +41 -0
  130. package/build/cjs/prod/instrumentations/instrumentDurableObjectNamespace.js.map +1 -0
  131. package/build/cjs/prod/instrumentations/instrumentDurableObjectStorage.js +72 -0
  132. package/build/cjs/prod/instrumentations/instrumentDurableObjectStorage.js.map +1 -0
  133. package/build/cjs/prod/instrumentations/instrumentDurableObjectSyncKvStorage.js +40 -0
  134. package/build/cjs/prod/instrumentations/instrumentDurableObjectSyncKvStorage.js.map +1 -0
  135. package/build/cjs/prod/instrumentations/instrumentSqlStorage.js +42 -0
  136. package/build/cjs/prod/instrumentations/instrumentSqlStorage.js.map +1 -0
  137. package/build/cjs/prod/instrumentations/instrumentWorkerEntrypoint.js +139 -0
  138. package/build/cjs/prod/instrumentations/instrumentWorkerEntrypoint.js.map +1 -0
  139. package/build/cjs/prod/instrumentations/worker/instrumentD1.js +161 -0
  140. package/build/cjs/prod/instrumentations/worker/instrumentD1.js.map +1 -0
  141. package/build/cjs/prod/instrumentations/worker/instrumentEmail.js +63 -0
  142. package/build/cjs/prod/instrumentations/worker/instrumentEmail.js.map +1 -0
  143. package/build/cjs/prod/instrumentations/worker/instrumentEnv.js +90 -0
  144. package/build/cjs/prod/instrumentations/worker/instrumentEnv.js.map +1 -0
  145. package/build/cjs/prod/instrumentations/worker/instrumentFetch.js +54 -0
  146. package/build/cjs/prod/instrumentations/worker/instrumentFetch.js.map +1 -0
  147. package/build/cjs/prod/instrumentations/worker/instrumentFetcher.js +24 -0
  148. package/build/cjs/prod/instrumentations/worker/instrumentFetcher.js.map +1 -0
  149. package/build/cjs/prod/instrumentations/worker/instrumentQueue.js +82 -0
  150. package/build/cjs/prod/instrumentations/worker/instrumentQueue.js.map +1 -0
  151. package/build/cjs/prod/instrumentations/worker/instrumentQueueProducer.js +80 -0
  152. package/build/cjs/prod/instrumentations/worker/instrumentQueueProducer.js.map +1 -0
  153. package/build/cjs/prod/instrumentations/worker/instrumentR2.js +124 -0
  154. package/build/cjs/prod/instrumentations/worker/instrumentR2.js.map +1 -0
  155. package/build/cjs/prod/instrumentations/worker/instrumentRateLimit.js +29 -0
  156. package/build/cjs/prod/instrumentations/worker/instrumentRateLimit.js.map +1 -0
  157. package/build/cjs/prod/instrumentations/worker/instrumentScheduled.js +78 -0
  158. package/build/cjs/prod/instrumentations/worker/instrumentScheduled.js.map +1 -0
  159. package/build/cjs/prod/instrumentations/worker/instrumentTail.js +60 -0
  160. package/build/cjs/prod/instrumentations/worker/instrumentTail.js.map +1 -0
  161. package/build/cjs/prod/integrations/fetch.js +119 -0
  162. package/build/cjs/prod/integrations/fetch.js.map +1 -0
  163. package/build/cjs/prod/integrations/httpServer.js +36 -0
  164. package/build/cjs/prod/integrations/httpServer.js.map +1 -0
  165. package/build/cjs/prod/integrations/spotlight.js +64 -0
  166. package/build/cjs/prod/integrations/spotlight.js.map +1 -0
  167. package/build/cjs/{integrations → prod/integrations}/tracing/vercelai.js +5 -5
  168. package/build/cjs/prod/integrations/tracing/vercelai.js.map +1 -0
  169. package/build/cjs/prod/opentelemetry/tracer.js +49 -0
  170. package/build/cjs/prod/opentelemetry/tracer.js.map +1 -0
  171. package/build/cjs/{options.js → prod/options.js} +5 -1
  172. package/build/cjs/prod/options.js.map +1 -0
  173. package/build/cjs/prod/pages-plugin.js +24 -0
  174. package/build/cjs/prod/pages-plugin.js.map +1 -0
  175. package/build/cjs/prod/request.js +132 -0
  176. package/build/cjs/prod/request.js.map +1 -0
  177. package/build/cjs/prod/scope-utils.js +22 -0
  178. package/build/cjs/prod/scope-utils.js.map +1 -0
  179. package/build/cjs/prod/sdk.js +19 -0
  180. package/build/cjs/prod/sdk.js.map +1 -0
  181. package/build/cjs/prod/transport.js +75 -0
  182. package/build/cjs/prod/transport.js.map +1 -0
  183. package/build/cjs/prod/utils/instrumentContext.js +63 -0
  184. package/build/cjs/prod/utils/instrumentContext.js.map +1 -0
  185. package/build/cjs/prod/utils/internalSqlQuery.js +25 -0
  186. package/build/cjs/prod/utils/internalSqlQuery.js.map +1 -0
  187. package/build/cjs/prod/utils/internalStorageKey.js +44 -0
  188. package/build/cjs/prod/utils/internalStorageKey.js.map +1 -0
  189. package/build/cjs/prod/utils/invocationScope.js +12 -0
  190. package/build/cjs/prod/utils/invocationScope.js.map +1 -0
  191. package/build/cjs/prod/utils/isBinding.js +37 -0
  192. package/build/cjs/prod/utils/isBinding.js.map +1 -0
  193. package/build/cjs/prod/utils/isCloudflareClass.js +23 -0
  194. package/build/cjs/prod/utils/isCloudflareClass.js.map +1 -0
  195. package/build/cjs/prod/utils/rpcMeta.js +39 -0
  196. package/build/cjs/prod/utils/rpcMeta.js.map +1 -0
  197. package/build/cjs/prod/utils/streaming.js +16 -0
  198. package/build/cjs/prod/utils/streaming.js.map +1 -0
  199. package/build/cjs/prod/utils/traceLinks.js +54 -0
  200. package/build/cjs/prod/utils/traceLinks.js.map +1 -0
  201. package/build/cjs/prod/vendor/stacktrace.js +28 -0
  202. package/build/cjs/prod/vendor/stacktrace.js.map +1 -0
  203. package/build/cjs/prod/vite/agentClass.js +114 -0
  204. package/build/cjs/prod/vite/agentClass.js.map +1 -0
  205. package/build/cjs/prod/vite/autoInstrument.js +94 -0
  206. package/build/cjs/prod/vite/autoInstrument.js.map +1 -0
  207. package/build/cjs/prod/vite/index.js +16 -0
  208. package/build/cjs/prod/vite/index.js.map +1 -0
  209. package/build/cjs/prod/vite/instrumentFile.js +31 -0
  210. package/build/cjs/prod/vite/instrumentFile.js.map +1 -0
  211. package/build/cjs/prod/vite/moduleShape.js +231 -0
  212. package/build/cjs/prod/vite/moduleShape.js.map +1 -0
  213. package/build/cjs/prod/vite/transform.js +149 -0
  214. package/build/cjs/prod/vite/transform.js.map +1 -0
  215. package/build/cjs/prod/vite/workerEntrypoint.js +66 -0
  216. package/build/cjs/prod/vite/workerEntrypoint.js.map +1 -0
  217. package/build/cjs/prod/vite/wranglerConfig.js +54 -0
  218. package/build/cjs/prod/vite/wranglerConfig.js.map +1 -0
  219. package/build/cjs/prod/withSentry.js +29 -0
  220. package/build/cjs/prod/withSentry.js.map +1 -0
  221. package/build/cjs/prod/workflows.js +139 -0
  222. package/build/cjs/prod/workflows.js.map +1 -0
  223. package/build/cjs/prod/wrapMethodWithSentry.js +134 -0
  224. package/build/cjs/prod/wrapMethodWithSentry.js.map +1 -0
  225. package/build/esm/dev/baseSdk.js +79 -0
  226. package/build/esm/dev/baseSdk.js.map +1 -0
  227. package/build/esm/{client.js → dev/client.js} +6 -1
  228. package/build/esm/dev/client.js.map +1 -0
  229. package/build/esm/dev/debug-build.js.map +1 -0
  230. package/build/esm/dev/defineCloudflareOptions.js.map +1 -0
  231. package/build/esm/dev/durableobject.js +229 -0
  232. package/build/esm/dev/durableobject.js.map +1 -0
  233. package/build/esm/dev/flush.js.map +1 -0
  234. package/build/esm/dev/index.js +15 -0
  235. package/build/esm/{index.js.map → dev/index.js.map} +1 -1
  236. package/build/esm/dev/instrument.js.map +1 -0
  237. package/build/esm/dev/instrumentations/agents/index.js +14 -0
  238. package/build/esm/dev/instrumentations/agents/index.js.map +1 -0
  239. package/build/esm/dev/instrumentations/agents/instrumentAgentCallableRpc.js +50 -0
  240. package/build/esm/dev/instrumentations/agents/instrumentAgentCallableRpc.js.map +1 -0
  241. package/build/esm/dev/instrumentations/agents/instrumentAgentRequestConversation.js +17 -0
  242. package/build/esm/dev/instrumentations/agents/instrumentAgentRequestConversation.js.map +1 -0
  243. package/build/esm/dev/instrumentations/agents/instrumentChatAgentConversation.js +29 -0
  244. package/build/esm/dev/instrumentations/agents/instrumentChatAgentConversation.js.map +1 -0
  245. package/build/esm/dev/instrumentations/agents/types.js +69 -0
  246. package/build/esm/dev/instrumentations/agents/types.js.map +1 -0
  247. package/build/esm/dev/instrumentations/instrumentDurableObjectNamespace.js.map +1 -0
  248. package/build/esm/{instrumentations → dev/instrumentations}/instrumentDurableObjectStorage.js +7 -1
  249. package/build/esm/dev/instrumentations/instrumentDurableObjectStorage.js.map +1 -0
  250. package/build/esm/dev/instrumentations/instrumentDurableObjectSyncKvStorage.js.map +1 -0
  251. package/build/esm/{instrumentations → dev/instrumentations}/instrumentSqlStorage.js +1 -1
  252. package/build/esm/dev/instrumentations/instrumentSqlStorage.js.map +1 -0
  253. package/build/esm/{instrumentations → dev/instrumentations}/instrumentWorkerEntrypoint.js +2 -2
  254. package/build/esm/dev/instrumentations/instrumentWorkerEntrypoint.js.map +1 -0
  255. package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentD1.js +1 -4
  256. package/build/esm/dev/instrumentations/worker/instrumentD1.js.map +1 -0
  257. package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentEmail.js +3 -1
  258. package/build/esm/dev/instrumentations/worker/instrumentEmail.js.map +1 -0
  259. package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentEnv.js +3 -4
  260. package/build/esm/dev/instrumentations/worker/instrumentEnv.js.map +1 -0
  261. package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentFetch.js +10 -4
  262. package/build/esm/dev/instrumentations/worker/instrumentFetch.js.map +1 -0
  263. package/build/esm/dev/instrumentations/worker/instrumentFetcher.js.map +1 -0
  264. package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentQueue.js +4 -3
  265. package/build/esm/dev/instrumentations/worker/instrumentQueue.js.map +1 -0
  266. package/build/esm/dev/instrumentations/worker/instrumentQueueProducer.js.map +1 -0
  267. package/build/esm/dev/instrumentations/worker/instrumentR2.js.map +1 -0
  268. package/build/esm/dev/instrumentations/worker/instrumentRateLimit.js.map +1 -0
  269. package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentScheduled.js +3 -1
  270. package/build/esm/dev/instrumentations/worker/instrumentScheduled.js.map +1 -0
  271. package/build/esm/dev/instrumentations/worker/instrumentTail.js.map +1 -0
  272. package/build/esm/{integrations → dev/integrations}/fetch.js +1 -1
  273. package/build/esm/dev/integrations/fetch.js.map +1 -0
  274. package/build/esm/{integrations → dev/integrations}/httpServer.js +5 -4
  275. package/build/esm/dev/integrations/httpServer.js.map +1 -0
  276. package/build/esm/dev/integrations/spotlight.js +61 -0
  277. package/build/esm/dev/integrations/spotlight.js.map +1 -0
  278. package/build/esm/{integrations → dev/integrations}/tracing/vercelai.js +5 -5
  279. package/build/esm/dev/integrations/tracing/vercelai.js.map +1 -0
  280. package/build/esm/dev/opentelemetry/tracer.js.map +1 -0
  281. package/build/esm/dev/options.js +48 -0
  282. package/build/esm/dev/options.js.map +1 -0
  283. package/build/esm/dev/package.json +1 -0
  284. package/build/esm/{pages-plugin.js → dev/pages-plugin.js} +8 -3
  285. package/build/esm/dev/pages-plugin.js.map +1 -0
  286. package/build/esm/{request.js → dev/request.js} +24 -14
  287. package/build/esm/dev/request.js.map +1 -0
  288. package/build/esm/dev/scope-utils.js.map +1 -0
  289. package/build/esm/dev/sdk.js +16 -0
  290. package/build/esm/dev/sdk.js.map +1 -0
  291. package/build/esm/dev/transport.js.map +1 -0
  292. package/build/esm/{utils → dev/utils}/instrumentContext.js +8 -13
  293. package/build/esm/dev/utils/instrumentContext.js.map +1 -0
  294. package/build/esm/dev/utils/internalSqlQuery.js +23 -0
  295. package/build/esm/dev/utils/internalSqlQuery.js.map +1 -0
  296. package/build/esm/dev/utils/internalStorageKey.js +41 -0
  297. package/build/esm/dev/utils/internalStorageKey.js.map +1 -0
  298. package/build/esm/dev/utils/invocationScope.js +10 -0
  299. package/build/esm/dev/utils/invocationScope.js.map +1 -0
  300. package/build/esm/dev/utils/isBinding.js.map +1 -0
  301. package/build/esm/dev/utils/isCloudflareClass.js.map +1 -0
  302. package/build/esm/{utils → dev/utils}/rpcMeta.js +4 -1
  303. package/build/esm/dev/utils/rpcMeta.js.map +1 -0
  304. package/build/esm/dev/utils/streaming.js.map +1 -0
  305. package/build/esm/dev/utils/traceLinks.js.map +1 -0
  306. package/build/esm/dev/vendor/stacktrace.js.map +1 -0
  307. package/build/esm/dev/vite/agentClass.js +111 -0
  308. package/build/esm/dev/vite/agentClass.js.map +1 -0
  309. package/build/esm/{vite → dev/vite}/autoInstrument.js +17 -4
  310. package/build/esm/dev/vite/autoInstrument.js.map +1 -0
  311. package/build/esm/{vite → dev/vite}/index.js +4 -2
  312. package/build/esm/dev/vite/index.js.map +1 -0
  313. package/build/esm/dev/vite/instrumentFile.js.map +1 -0
  314. package/build/esm/dev/vite/moduleShape.js +227 -0
  315. package/build/esm/dev/vite/moduleShape.js.map +1 -0
  316. package/build/esm/{vite → dev/vite}/transform.js +6 -1
  317. package/build/esm/dev/vite/transform.js.map +1 -0
  318. package/build/esm/dev/vite/workerEntrypoint.js.map +1 -0
  319. package/build/esm/{vite → dev/vite}/wranglerConfig.js +1 -1
  320. package/build/esm/dev/vite/wranglerConfig.js.map +1 -0
  321. package/build/esm/{withSentry.js → dev/withSentry.js} +1 -18
  322. package/build/esm/dev/withSentry.js.map +1 -0
  323. package/build/esm/{workflows.js → dev/workflows.js} +9 -4
  324. package/build/esm/dev/workflows.js.map +1 -0
  325. package/build/esm/{wrapMethodWithSentry.js → dev/wrapMethodWithSentry.js} +3 -4
  326. package/build/esm/dev/wrapMethodWithSentry.js.map +1 -0
  327. package/build/esm/{sdk.js → prod/baseSdk.js} +24 -17
  328. package/build/esm/prod/baseSdk.js.map +1 -0
  329. package/build/esm/prod/client.js +120 -0
  330. package/build/esm/prod/client.js.map +1 -0
  331. package/build/esm/prod/debug-build.js +4 -0
  332. package/build/esm/prod/debug-build.js.map +1 -0
  333. package/build/esm/prod/defineCloudflareOptions.js +9 -0
  334. package/build/esm/prod/defineCloudflareOptions.js.map +1 -0
  335. package/build/esm/prod/durableobject.js +229 -0
  336. package/build/esm/prod/durableobject.js.map +1 -0
  337. package/build/esm/prod/flush.js +83 -0
  338. package/build/esm/prod/flush.js.map +1 -0
  339. package/build/esm/prod/index.js +15 -0
  340. package/build/esm/{nodejs_compat → prod}/index.js.map +1 -1
  341. package/build/esm/prod/instrument.js +48 -0
  342. package/build/esm/prod/instrument.js.map +1 -0
  343. package/build/esm/prod/instrumentations/agents/index.js +14 -0
  344. package/build/esm/prod/instrumentations/agents/index.js.map +1 -0
  345. package/build/esm/prod/instrumentations/agents/instrumentAgentCallableRpc.js +50 -0
  346. package/build/esm/prod/instrumentations/agents/instrumentAgentCallableRpc.js.map +1 -0
  347. package/build/esm/prod/instrumentations/agents/instrumentAgentRequestConversation.js +17 -0
  348. package/build/esm/prod/instrumentations/agents/instrumentAgentRequestConversation.js.map +1 -0
  349. package/build/esm/prod/instrumentations/agents/instrumentChatAgentConversation.js +29 -0
  350. package/build/esm/prod/instrumentations/agents/instrumentChatAgentConversation.js.map +1 -0
  351. package/build/esm/prod/instrumentations/agents/types.js +69 -0
  352. package/build/esm/prod/instrumentations/agents/types.js.map +1 -0
  353. package/build/esm/prod/instrumentations/instrumentDurableObjectNamespace.js +38 -0
  354. package/build/esm/prod/instrumentations/instrumentDurableObjectNamespace.js.map +1 -0
  355. package/build/esm/prod/instrumentations/instrumentDurableObjectStorage.js +70 -0
  356. package/build/esm/prod/instrumentations/instrumentDurableObjectStorage.js.map +1 -0
  357. package/build/esm/prod/instrumentations/instrumentDurableObjectSyncKvStorage.js +38 -0
  358. package/build/esm/prod/instrumentations/instrumentDurableObjectSyncKvStorage.js.map +1 -0
  359. package/build/esm/prod/instrumentations/instrumentSqlStorage.js +40 -0
  360. package/build/esm/prod/instrumentations/instrumentSqlStorage.js.map +1 -0
  361. package/build/esm/prod/instrumentations/instrumentWorkerEntrypoint.js +137 -0
  362. package/build/esm/prod/instrumentations/instrumentWorkerEntrypoint.js.map +1 -0
  363. package/build/esm/prod/instrumentations/worker/instrumentD1.js +159 -0
  364. package/build/esm/prod/instrumentations/worker/instrumentD1.js.map +1 -0
  365. package/build/esm/prod/instrumentations/worker/instrumentEmail.js +61 -0
  366. package/build/esm/prod/instrumentations/worker/instrumentEmail.js.map +1 -0
  367. package/build/esm/prod/instrumentations/worker/instrumentEnv.js +88 -0
  368. package/build/esm/prod/instrumentations/worker/instrumentEnv.js.map +1 -0
  369. package/build/esm/prod/instrumentations/worker/instrumentFetch.js +51 -0
  370. package/build/esm/prod/instrumentations/worker/instrumentFetch.js.map +1 -0
  371. package/build/esm/prod/instrumentations/worker/instrumentFetcher.js +22 -0
  372. package/build/esm/prod/instrumentations/worker/instrumentFetcher.js.map +1 -0
  373. package/build/esm/prod/instrumentations/worker/instrumentQueue.js +79 -0
  374. package/build/esm/prod/instrumentations/worker/instrumentQueue.js.map +1 -0
  375. package/build/esm/prod/instrumentations/worker/instrumentQueueProducer.js +78 -0
  376. package/build/esm/prod/instrumentations/worker/instrumentQueueProducer.js.map +1 -0
  377. package/build/esm/prod/instrumentations/worker/instrumentR2.js +122 -0
  378. package/build/esm/prod/instrumentations/worker/instrumentR2.js.map +1 -0
  379. package/build/esm/prod/instrumentations/worker/instrumentRateLimit.js +27 -0
  380. package/build/esm/prod/instrumentations/worker/instrumentRateLimit.js.map +1 -0
  381. package/build/esm/prod/instrumentations/worker/instrumentScheduled.js +75 -0
  382. package/build/esm/prod/instrumentations/worker/instrumentScheduled.js.map +1 -0
  383. package/build/esm/prod/instrumentations/worker/instrumentTail.js +57 -0
  384. package/build/esm/prod/instrumentations/worker/instrumentTail.js.map +1 -0
  385. package/build/esm/prod/integrations/fetch.js +117 -0
  386. package/build/esm/prod/integrations/fetch.js.map +1 -0
  387. package/build/esm/prod/integrations/httpServer.js +33 -0
  388. package/build/esm/prod/integrations/httpServer.js.map +1 -0
  389. package/build/esm/prod/integrations/spotlight.js +61 -0
  390. package/build/esm/prod/integrations/spotlight.js.map +1 -0
  391. package/build/esm/prod/integrations/tracing/vercelai.js +16 -0
  392. package/build/esm/prod/integrations/tracing/vercelai.js.map +1 -0
  393. package/build/esm/prod/opentelemetry/tracer.js +47 -0
  394. package/build/esm/prod/opentelemetry/tracer.js.map +1 -0
  395. package/build/esm/{options.js → prod/options.js} +5 -1
  396. package/build/esm/prod/options.js.map +1 -0
  397. package/build/esm/prod/package.json +1 -0
  398. package/build/esm/prod/pages-plugin.js +22 -0
  399. package/build/esm/prod/pages-plugin.js.map +1 -0
  400. package/build/esm/prod/request.js +129 -0
  401. package/build/esm/prod/request.js.map +1 -0
  402. package/build/esm/prod/scope-utils.js +18 -0
  403. package/build/esm/prod/scope-utils.js.map +1 -0
  404. package/build/esm/prod/sdk.js +16 -0
  405. package/build/esm/prod/sdk.js.map +1 -0
  406. package/build/esm/prod/transport.js +72 -0
  407. package/build/esm/prod/transport.js.map +1 -0
  408. package/build/esm/prod/utils/instrumentContext.js +61 -0
  409. package/build/esm/prod/utils/instrumentContext.js.map +1 -0
  410. package/build/esm/prod/utils/internalSqlQuery.js +23 -0
  411. package/build/esm/prod/utils/internalSqlQuery.js.map +1 -0
  412. package/build/esm/prod/utils/internalStorageKey.js +41 -0
  413. package/build/esm/prod/utils/internalStorageKey.js.map +1 -0
  414. package/build/esm/prod/utils/invocationScope.js +10 -0
  415. package/build/esm/prod/utils/invocationScope.js.map +1 -0
  416. package/build/esm/prod/utils/isBinding.js +29 -0
  417. package/build/esm/prod/utils/isBinding.js.map +1 -0
  418. package/build/esm/prod/utils/isCloudflareClass.js +21 -0
  419. package/build/esm/prod/utils/isCloudflareClass.js.map +1 -0
  420. package/build/esm/prod/utils/rpcMeta.js +35 -0
  421. package/build/esm/prod/utils/rpcMeta.js.map +1 -0
  422. package/build/esm/prod/utils/streaming.js +14 -0
  423. package/build/esm/prod/utils/streaming.js.map +1 -0
  424. package/build/esm/prod/utils/traceLinks.js +49 -0
  425. package/build/esm/prod/utils/traceLinks.js.map +1 -0
  426. package/build/esm/prod/vendor/stacktrace.js +25 -0
  427. package/build/esm/prod/vendor/stacktrace.js.map +1 -0
  428. package/build/esm/prod/vite/agentClass.js +111 -0
  429. package/build/esm/prod/vite/agentClass.js.map +1 -0
  430. package/build/esm/prod/vite/autoInstrument.js +92 -0
  431. package/build/esm/prod/vite/autoInstrument.js.map +1 -0
  432. package/build/esm/prod/vite/index.js +14 -0
  433. package/build/esm/prod/vite/index.js.map +1 -0
  434. package/build/esm/prod/vite/instrumentFile.js +27 -0
  435. package/build/esm/prod/vite/instrumentFile.js.map +1 -0
  436. package/build/esm/prod/vite/moduleShape.js +227 -0
  437. package/build/esm/prod/vite/moduleShape.js.map +1 -0
  438. package/build/esm/prod/vite/transform.js +147 -0
  439. package/build/esm/prod/vite/transform.js.map +1 -0
  440. package/build/esm/prod/vite/workerEntrypoint.js +64 -0
  441. package/build/esm/prod/vite/workerEntrypoint.js.map +1 -0
  442. package/build/esm/prod/vite/wranglerConfig.js +52 -0
  443. package/build/esm/prod/vite/wranglerConfig.js.map +1 -0
  444. package/build/esm/prod/withSentry.js +27 -0
  445. package/build/esm/prod/withSentry.js.map +1 -0
  446. package/build/esm/prod/workflows.js +136 -0
  447. package/build/esm/prod/workflows.js.map +1 -0
  448. package/build/esm/prod/wrapMethodWithSentry.js +132 -0
  449. package/build/esm/prod/wrapMethodWithSentry.js.map +1 -0
  450. package/build/types/baseSdk.d.ts +28 -0
  451. package/build/types/baseSdk.d.ts.map +1 -0
  452. package/build/types/client.d.ts +43 -33
  453. package/build/types/client.d.ts.map +1 -1
  454. package/build/types/defineCloudflareOptions.d.ts +2 -2
  455. package/build/types/defineCloudflareOptions.d.ts.map +1 -1
  456. package/build/types/durableobject.d.ts +93 -2
  457. package/build/types/durableobject.d.ts.map +1 -1
  458. package/build/types/flush.d.ts +1 -1
  459. package/build/types/flush.d.ts.map +1 -1
  460. package/build/types/index.d.ts +5 -6
  461. package/build/types/index.d.ts.map +1 -1
  462. package/build/types/instrumentations/agents/index.d.ts +25 -0
  463. package/build/types/instrumentations/agents/index.d.ts.map +1 -0
  464. package/build/types/instrumentations/agents/instrumentAgentCallableRpc.d.ts +14 -0
  465. package/build/types/instrumentations/agents/instrumentAgentCallableRpc.d.ts.map +1 -0
  466. package/build/types/instrumentations/agents/instrumentAgentRequestConversation.d.ts +16 -0
  467. package/build/types/instrumentations/agents/instrumentAgentRequestConversation.d.ts.map +1 -0
  468. package/build/types/instrumentations/agents/instrumentChatAgentConversation.d.ts +23 -0
  469. package/build/types/instrumentations/agents/instrumentChatAgentConversation.d.ts.map +1 -0
  470. package/build/types/instrumentations/agents/types.d.ts +94 -0
  471. package/build/types/instrumentations/agents/types.d.ts.map +1 -0
  472. package/build/types/instrumentations/instrumentDurableObjectStorage.d.ts.map +1 -1
  473. package/build/types/instrumentations/instrumentSqlStorage.d.ts.map +1 -1
  474. package/build/types/instrumentations/instrumentWorkerEntrypoint.d.ts +2 -1
  475. package/build/types/instrumentations/instrumentWorkerEntrypoint.d.ts.map +1 -1
  476. package/build/types/instrumentations/worker/instrumentD1.d.ts +0 -16
  477. package/build/types/instrumentations/worker/instrumentD1.d.ts.map +1 -1
  478. package/build/types/instrumentations/worker/instrumentEmail.d.ts +2 -2
  479. package/build/types/instrumentations/worker/instrumentEmail.d.ts.map +1 -1
  480. package/build/types/instrumentations/worker/instrumentEnv.d.ts.map +1 -1
  481. package/build/types/instrumentations/worker/instrumentFetch.d.ts +2 -2
  482. package/build/types/instrumentations/worker/instrumentFetch.d.ts.map +1 -1
  483. package/build/types/instrumentations/worker/instrumentQueue.d.ts +2 -2
  484. package/build/types/instrumentations/worker/instrumentQueue.d.ts.map +1 -1
  485. package/build/types/instrumentations/worker/instrumentScheduled.d.ts +2 -2
  486. package/build/types/instrumentations/worker/instrumentScheduled.d.ts.map +1 -1
  487. package/build/types/instrumentations/worker/instrumentTail.d.ts +2 -2
  488. package/build/types/instrumentations/worker/instrumentTail.d.ts.map +1 -1
  489. package/build/types/integrations/httpServer.d.ts.map +1 -1
  490. package/build/types/integrations/spotlight.d.ts +22 -0
  491. package/build/types/integrations/spotlight.d.ts.map +1 -0
  492. package/build/types/integrations/tracing/vercelai.d.ts +2 -9
  493. package/build/types/integrations/tracing/vercelai.d.ts.map +1 -1
  494. package/build/types/options.d.ts.map +1 -1
  495. package/build/types/pages-plugin.d.ts +1 -1
  496. package/build/types/pages-plugin.d.ts.map +1 -1
  497. package/build/types/request.d.ts +17 -2
  498. package/build/types/request.d.ts.map +1 -1
  499. package/build/types/sdk.d.ts +8 -3
  500. package/build/types/sdk.d.ts.map +1 -1
  501. package/build/types/transport.d.ts.map +1 -1
  502. package/build/types/types.d.ts +85 -0
  503. package/build/types/types.d.ts.map +1 -0
  504. package/build/types/utils/instrumentContext.d.ts.map +1 -1
  505. package/build/types/utils/internalSqlQuery.d.ts +4 -2
  506. package/build/types/utils/internalSqlQuery.d.ts.map +1 -1
  507. package/build/types/utils/internalStorageKey.d.ts +22 -0
  508. package/build/types/utils/internalStorageKey.d.ts.map +1 -0
  509. package/build/types/utils/invocationScope.d.ts +24 -0
  510. package/build/types/utils/invocationScope.d.ts.map +1 -0
  511. package/build/types/utils/isCloudflareClass.d.ts +1 -1
  512. package/build/types/utils/isCloudflareClass.d.ts.map +1 -1
  513. package/build/types/utils/rpcMeta.d.ts +8 -0
  514. package/build/types/utils/rpcMeta.d.ts.map +1 -1
  515. package/build/types/vite/agentClass.d.ts +41 -0
  516. package/build/types/vite/agentClass.d.ts.map +1 -0
  517. package/build/types/vite/autoInstrument.d.ts +7 -6
  518. package/build/types/vite/autoInstrument.d.ts.map +1 -1
  519. package/build/types/vite/index.d.ts +31 -45
  520. package/build/types/vite/index.d.ts.map +1 -1
  521. package/build/types/vite/moduleShape.d.ts +52 -0
  522. package/build/types/vite/moduleShape.d.ts.map +1 -0
  523. package/build/types/vite/transform.d.ts +6 -1
  524. package/build/types/vite/transform.d.ts.map +1 -1
  525. package/build/types/withSentry.d.ts +2 -2
  526. package/build/types/withSentry.d.ts.map +1 -1
  527. package/build/types/workflows.d.ts +5 -4
  528. package/build/types/workflows.d.ts.map +1 -1
  529. package/build/types/wrapMethodWithSentry.d.ts +1 -1
  530. package/build/types/wrapMethodWithSentry.d.ts.map +1 -1
  531. package/package.json +28 -51
  532. package/build/cjs/async.js +0 -63
  533. package/build/cjs/async.js.map +0 -1
  534. package/build/cjs/client.js.map +0 -1
  535. package/build/cjs/debug-build.js.map +0 -1
  536. package/build/cjs/defineCloudflareOptions.js.map +0 -1
  537. package/build/cjs/durableobject.js +0 -120
  538. package/build/cjs/durableobject.js.map +0 -1
  539. package/build/cjs/flush.js.map +0 -1
  540. package/build/cjs/instrument.js.map +0 -1
  541. package/build/cjs/instrumentations/instrumentDurableObjectNamespace.js.map +0 -1
  542. package/build/cjs/instrumentations/instrumentDurableObjectStorage.js.map +0 -1
  543. package/build/cjs/instrumentations/instrumentDurableObjectSyncKvStorage.js.map +0 -1
  544. package/build/cjs/instrumentations/instrumentSqlStorage.js.map +0 -1
  545. package/build/cjs/instrumentations/instrumentWorkerEntrypoint.js.map +0 -1
  546. package/build/cjs/instrumentations/worker/instrumentD1.js.map +0 -1
  547. package/build/cjs/instrumentations/worker/instrumentEmail.js.map +0 -1
  548. package/build/cjs/instrumentations/worker/instrumentEnv.js.map +0 -1
  549. package/build/cjs/instrumentations/worker/instrumentFetch.js.map +0 -1
  550. package/build/cjs/instrumentations/worker/instrumentFetcher.js.map +0 -1
  551. package/build/cjs/instrumentations/worker/instrumentQueue.js.map +0 -1
  552. package/build/cjs/instrumentations/worker/instrumentQueueProducer.js.map +0 -1
  553. package/build/cjs/instrumentations/worker/instrumentR2.js.map +0 -1
  554. package/build/cjs/instrumentations/worker/instrumentRateLimit.js.map +0 -1
  555. package/build/cjs/instrumentations/worker/instrumentScheduled.js.map +0 -1
  556. package/build/cjs/instrumentations/worker/instrumentTail.js.map +0 -1
  557. package/build/cjs/integrations/fetch.js.map +0 -1
  558. package/build/cjs/integrations/hono.js +0 -52
  559. package/build/cjs/integrations/hono.js.map +0 -1
  560. package/build/cjs/integrations/httpServer.js.map +0 -1
  561. package/build/cjs/integrations/tracing/vercelai.js.map +0 -1
  562. package/build/cjs/nodejs_compat/integrations/tracing/vercelai.js.map +0 -1
  563. package/build/cjs/opentelemetry/tracer.js.map +0 -1
  564. package/build/cjs/options.js.map +0 -1
  565. package/build/cjs/pages-plugin.js.map +0 -1
  566. package/build/cjs/request.js.map +0 -1
  567. package/build/cjs/scope-utils.js.map +0 -1
  568. package/build/cjs/sdk.js.map +0 -1
  569. package/build/cjs/transport.js.map +0 -1
  570. package/build/cjs/utils/instrumentContext.js.map +0 -1
  571. package/build/cjs/utils/internalSqlQuery.js +0 -19
  572. package/build/cjs/utils/internalSqlQuery.js.map +0 -1
  573. package/build/cjs/utils/isBinding.js.map +0 -1
  574. package/build/cjs/utils/isCloudflareClass.js.map +0 -1
  575. package/build/cjs/utils/rpcMeta.js.map +0 -1
  576. package/build/cjs/utils/rpcOptions.js +0 -26
  577. package/build/cjs/utils/rpcOptions.js.map +0 -1
  578. package/build/cjs/utils/streaming.js.map +0 -1
  579. package/build/cjs/utils/traceLinks.js.map +0 -1
  580. package/build/cjs/vendor/stacktrace.js.map +0 -1
  581. package/build/cjs/vite/autoInstrument.js.map +0 -1
  582. package/build/cjs/vite/index.js.map +0 -1
  583. package/build/cjs/vite/instrumentFile.js.map +0 -1
  584. package/build/cjs/vite/transform.js.map +0 -1
  585. package/build/cjs/vite/workerEntrypoint.js.map +0 -1
  586. package/build/cjs/vite/wranglerConfig.js.map +0 -1
  587. package/build/cjs/withSentry.js.map +0 -1
  588. package/build/cjs/workflows.js.map +0 -1
  589. package/build/cjs/wrapMethodWithSentry.js.map +0 -1
  590. package/build/esm/async.js +0 -61
  591. package/build/esm/async.js.map +0 -1
  592. package/build/esm/client.js.map +0 -1
  593. package/build/esm/debug-build.js.map +0 -1
  594. package/build/esm/defineCloudflareOptions.js.map +0 -1
  595. package/build/esm/durableobject.js +0 -118
  596. package/build/esm/durableobject.js.map +0 -1
  597. package/build/esm/flush.js.map +0 -1
  598. package/build/esm/index.js +0 -16
  599. package/build/esm/instrument.js.map +0 -1
  600. package/build/esm/instrumentations/instrumentDurableObjectNamespace.js.map +0 -1
  601. package/build/esm/instrumentations/instrumentDurableObjectStorage.js.map +0 -1
  602. package/build/esm/instrumentations/instrumentDurableObjectSyncKvStorage.js.map +0 -1
  603. package/build/esm/instrumentations/instrumentSqlStorage.js.map +0 -1
  604. package/build/esm/instrumentations/instrumentWorkerEntrypoint.js.map +0 -1
  605. package/build/esm/instrumentations/worker/instrumentD1.js.map +0 -1
  606. package/build/esm/instrumentations/worker/instrumentEmail.js.map +0 -1
  607. package/build/esm/instrumentations/worker/instrumentEnv.js.map +0 -1
  608. package/build/esm/instrumentations/worker/instrumentFetch.js.map +0 -1
  609. package/build/esm/instrumentations/worker/instrumentFetcher.js.map +0 -1
  610. package/build/esm/instrumentations/worker/instrumentQueue.js.map +0 -1
  611. package/build/esm/instrumentations/worker/instrumentQueueProducer.js.map +0 -1
  612. package/build/esm/instrumentations/worker/instrumentR2.js.map +0 -1
  613. package/build/esm/instrumentations/worker/instrumentRateLimit.js.map +0 -1
  614. package/build/esm/instrumentations/worker/instrumentScheduled.js.map +0 -1
  615. package/build/esm/instrumentations/worker/instrumentTail.js.map +0 -1
  616. package/build/esm/integrations/fetch.js.map +0 -1
  617. package/build/esm/integrations/hono.js +0 -49
  618. package/build/esm/integrations/hono.js.map +0 -1
  619. package/build/esm/integrations/httpServer.js.map +0 -1
  620. package/build/esm/integrations/tracing/vercelai.js.map +0 -1
  621. package/build/esm/nodejs_compat/index.js +0 -17
  622. package/build/esm/nodejs_compat/integrations/tracing/vercelai.js +0 -16
  623. package/build/esm/nodejs_compat/integrations/tracing/vercelai.js.map +0 -1
  624. package/build/esm/opentelemetry/tracer.js.map +0 -1
  625. package/build/esm/options.js.map +0 -1
  626. package/build/esm/package.json +0 -1
  627. package/build/esm/pages-plugin.js.map +0 -1
  628. package/build/esm/request.js.map +0 -1
  629. package/build/esm/scope-utils.js.map +0 -1
  630. package/build/esm/sdk.js.map +0 -1
  631. package/build/esm/transport.js.map +0 -1
  632. package/build/esm/utils/instrumentContext.js.map +0 -1
  633. package/build/esm/utils/internalSqlQuery.js +0 -17
  634. package/build/esm/utils/internalSqlQuery.js.map +0 -1
  635. package/build/esm/utils/isBinding.js.map +0 -1
  636. package/build/esm/utils/isCloudflareClass.js.map +0 -1
  637. package/build/esm/utils/rpcMeta.js.map +0 -1
  638. package/build/esm/utils/rpcOptions.js +0 -24
  639. package/build/esm/utils/rpcOptions.js.map +0 -1
  640. package/build/esm/utils/streaming.js.map +0 -1
  641. package/build/esm/utils/traceLinks.js.map +0 -1
  642. package/build/esm/vendor/stacktrace.js.map +0 -1
  643. package/build/esm/vite/autoInstrument.js.map +0 -1
  644. package/build/esm/vite/index.js.map +0 -1
  645. package/build/esm/vite/instrumentFile.js.map +0 -1
  646. package/build/esm/vite/transform.js.map +0 -1
  647. package/build/esm/vite/workerEntrypoint.js.map +0 -1
  648. package/build/esm/vite/wranglerConfig.js.map +0 -1
  649. package/build/esm/withSentry.js.map +0 -1
  650. package/build/esm/workflows.js.map +0 -1
  651. package/build/esm/wrapMethodWithSentry.js.map +0 -1
  652. package/build/types/async.d.ts +0 -11
  653. package/build/types/async.d.ts.map +0 -1
  654. package/build/types/integrations/hono.d.ts +0 -42
  655. package/build/types/integrations/hono.d.ts.map +0 -1
  656. package/build/types/nodejs_compat/index.d.ts +0 -4
  657. package/build/types/nodejs_compat/index.d.ts.map +0 -1
  658. package/build/types/nodejs_compat/integrations/tracing/vercelai.d.ts +0 -37
  659. package/build/types/nodejs_compat/integrations/tracing/vercelai.d.ts.map +0 -1
  660. package/build/types/utils/rpcOptions.d.ts +0 -13
  661. package/build/types/utils/rpcOptions.d.ts.map +0 -1
  662. package/build/types-ts3.8/async.d.ts +0 -11
  663. package/build/types-ts3.8/client.d.ts +0 -166
  664. package/build/types-ts3.8/debug-build.d.ts +0 -7
  665. package/build/types-ts3.8/defineCloudflareOptions.d.ts +0 -38
  666. package/build/types-ts3.8/durableobject.d.ts +0 -37
  667. package/build/types-ts3.8/executionContext.d.ts +0 -13
  668. package/build/types-ts3.8/flush.d.ts +0 -47
  669. package/build/types-ts3.8/index.d.ts +0 -18
  670. package/build/types-ts3.8/instrument.d.ts +0 -20
  671. package/build/types-ts3.8/instrumentations/instrumentDurableObjectNamespace.d.ts +0 -13
  672. package/build/types-ts3.8/instrumentations/instrumentDurableObjectStorage.d.ts +0 -19
  673. package/build/types-ts3.8/instrumentations/instrumentDurableObjectSyncKvStorage.d.ts +0 -3
  674. package/build/types-ts3.8/instrumentations/instrumentSqlStorage.d.ts +0 -9
  675. package/build/types-ts3.8/instrumentations/instrumentWorkerEntrypoint.d.ts +0 -42
  676. package/build/types-ts3.8/instrumentations/worker/instrumentD1.d.ts +0 -19
  677. package/build/types-ts3.8/instrumentations/worker/instrumentEmail.d.ts +0 -8
  678. package/build/types-ts3.8/instrumentations/worker/instrumentEnv.d.ts +0 -18
  679. package/build/types-ts3.8/instrumentations/worker/instrumentFetch.d.ts +0 -12
  680. package/build/types-ts3.8/instrumentations/worker/instrumentFetcher.d.ts +0 -10
  681. package/build/types-ts3.8/instrumentations/worker/instrumentQueue.d.ts +0 -12
  682. package/build/types-ts3.8/instrumentations/worker/instrumentQueueProducer.d.ts +0 -10
  683. package/build/types-ts3.8/instrumentations/worker/instrumentR2.d.ts +0 -9
  684. package/build/types-ts3.8/instrumentations/worker/instrumentRateLimit.d.ts +0 -6
  685. package/build/types-ts3.8/instrumentations/worker/instrumentScheduled.d.ts +0 -12
  686. package/build/types-ts3.8/instrumentations/worker/instrumentTail.d.ts +0 -12
  687. package/build/types-ts3.8/integrations/fetch.d.ts +0 -19
  688. package/build/types-ts3.8/integrations/hono.d.ts +0 -42
  689. package/build/types-ts3.8/integrations/httpServer.d.ts +0 -63
  690. package/build/types-ts3.8/integrations/tracing/vercelai.d.ts +0 -47
  691. package/build/types-ts3.8/nodejs_compat/index.d.ts +0 -4
  692. package/build/types-ts3.8/nodejs_compat/integrations/tracing/vercelai.d.ts +0 -37
  693. package/build/types-ts3.8/opentelemetry/tracer.d.ts +0 -6
  694. package/build/types-ts3.8/options.d.ts +0 -17
  695. package/build/types-ts3.8/pages-plugin.d.ts +0 -34
  696. package/build/types-ts3.8/request.d.ts +0 -25
  697. package/build/types-ts3.8/scope-utils.d.ts +0 -15
  698. package/build/types-ts3.8/sdk.d.ts +0 -10
  699. package/build/types-ts3.8/transport.d.ts +0 -34
  700. package/build/types-ts3.8/utils/instrumentContext.d.ts +0 -16
  701. package/build/types-ts3.8/utils/internalSqlQuery.d.ts +0 -18
  702. package/build/types-ts3.8/utils/isBinding.d.ts +0 -77
  703. package/build/types-ts3.8/utils/isCloudflareClass.d.ts +0 -30
  704. package/build/types-ts3.8/utils/rpcMeta.d.ts +0 -15
  705. package/build/types-ts3.8/utils/rpcOptions.d.ts +0 -13
  706. package/build/types-ts3.8/utils/streaming.d.ts +0 -17
  707. package/build/types-ts3.8/utils/traceLinks.d.ts +0 -28
  708. package/build/types-ts3.8/vendor/stacktrace.d.ts +0 -11
  709. package/build/types-ts3.8/vite/autoInstrument.d.ts +0 -21
  710. package/build/types-ts3.8/vite/index.d.ts +0 -88
  711. package/build/types-ts3.8/vite/instrumentFile.d.ts +0 -22
  712. package/build/types-ts3.8/vite/transform.d.ts +0 -60
  713. package/build/types-ts3.8/vite/workerEntrypoint.d.ts +0 -12
  714. package/build/types-ts3.8/vite/wranglerConfig.d.ts +0 -43
  715. package/build/types-ts3.8/withSentry.d.ts +0 -16
  716. package/build/types-ts3.8/workflows.d.ts +0 -25
  717. package/build/types-ts3.8/wrapMethodWithSentry.d.ts +0 -43
  718. /package/build/cjs/{debug-build.js → dev/debug-build.js} +0 -0
  719. /package/build/cjs/{defineCloudflareOptions.js → dev/defineCloudflareOptions.js} +0 -0
  720. /package/build/cjs/{flush.js → dev/flush.js} +0 -0
  721. /package/build/cjs/{instrument.js → dev/instrument.js} +0 -0
  722. /package/build/cjs/{instrumentations → dev/instrumentations}/instrumentDurableObjectNamespace.js +0 -0
  723. /package/build/cjs/{instrumentations → dev/instrumentations}/instrumentDurableObjectSyncKvStorage.js +0 -0
  724. /package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentFetcher.js +0 -0
  725. /package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentQueueProducer.js +0 -0
  726. /package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentR2.js +0 -0
  727. /package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentRateLimit.js +0 -0
  728. /package/build/cjs/{instrumentations → dev/instrumentations}/worker/instrumentTail.js +0 -0
  729. /package/build/cjs/{opentelemetry → dev/opentelemetry}/tracer.js +0 -0
  730. /package/build/cjs/{scope-utils.js → dev/scope-utils.js} +0 -0
  731. /package/build/cjs/{transport.js → dev/transport.js} +0 -0
  732. /package/build/cjs/{utils → dev/utils}/isBinding.js +0 -0
  733. /package/build/cjs/{utils → dev/utils}/isCloudflareClass.js +0 -0
  734. /package/build/cjs/{utils → dev/utils}/streaming.js +0 -0
  735. /package/build/cjs/{utils → dev/utils}/traceLinks.js +0 -0
  736. /package/build/cjs/{vendor → dev/vendor}/stacktrace.js +0 -0
  737. /package/build/cjs/{vite → dev/vite}/instrumentFile.js +0 -0
  738. /package/build/cjs/{vite → dev/vite}/workerEntrypoint.js +0 -0
  739. /package/build/esm/{debug-build.js → dev/debug-build.js} +0 -0
  740. /package/build/esm/{defineCloudflareOptions.js → dev/defineCloudflareOptions.js} +0 -0
  741. /package/build/esm/{flush.js → dev/flush.js} +0 -0
  742. /package/build/esm/{instrument.js → dev/instrument.js} +0 -0
  743. /package/build/esm/{instrumentations → dev/instrumentations}/instrumentDurableObjectNamespace.js +0 -0
  744. /package/build/esm/{instrumentations → dev/instrumentations}/instrumentDurableObjectSyncKvStorage.js +0 -0
  745. /package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentFetcher.js +0 -0
  746. /package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentQueueProducer.js +0 -0
  747. /package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentR2.js +0 -0
  748. /package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentRateLimit.js +0 -0
  749. /package/build/esm/{instrumentations → dev/instrumentations}/worker/instrumentTail.js +0 -0
  750. /package/build/esm/{opentelemetry → dev/opentelemetry}/tracer.js +0 -0
  751. /package/build/esm/{scope-utils.js → dev/scope-utils.js} +0 -0
  752. /package/build/esm/{transport.js → dev/transport.js} +0 -0
  753. /package/build/esm/{utils → dev/utils}/isBinding.js +0 -0
  754. /package/build/esm/{utils → dev/utils}/isCloudflareClass.js +0 -0
  755. /package/build/esm/{utils → dev/utils}/streaming.js +0 -0
  756. /package/build/esm/{utils → dev/utils}/traceLinks.js +0 -0
  757. /package/build/esm/{vendor → dev/vendor}/stacktrace.js +0 -0
  758. /package/build/esm/{vite → dev/vite}/instrumentFile.js +0 -0
  759. /package/build/esm/{vite → dev/vite}/workerEntrypoint.js +0 -0
@@ -0,0 +1,90 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core = require('@sentry/core');
4
+ const serverUtils = require('@sentry/server-utils');
5
+ const isBinding = require('../../utils/isBinding.js');
6
+ const instrumentD1 = require('./instrumentD1.js');
7
+ const rpcMeta = require('../../utils/rpcMeta.js');
8
+ const instrumentDurableObjectNamespace = require('../instrumentDurableObjectNamespace.js');
9
+ const instrumentFetcher = require('./instrumentFetcher.js');
10
+ const instrumentQueueProducer = require('./instrumentQueueProducer.js');
11
+ const instrumentR2 = require('./instrumentR2.js');
12
+ const instrumentRateLimit = require('./instrumentRateLimit.js');
13
+
14
+ function isProxyable(item) {
15
+ return core.isObjectLike(item) || typeof item === "function";
16
+ }
17
+ const instrumentedBindings = /* @__PURE__ */ new WeakMap();
18
+ function instrumentEnv(env, options) {
19
+ if (!env || typeof env !== "object") {
20
+ return env;
21
+ }
22
+ return new Proxy(env, {
23
+ get(target, prop, receiver) {
24
+ const item = Reflect.get(target, prop, receiver);
25
+ if (!isProxyable(item)) {
26
+ return item;
27
+ }
28
+ const cached = instrumentedBindings.get(item);
29
+ if (cached) {
30
+ return cached;
31
+ }
32
+ if (isBinding.isD1Database(item)) {
33
+ const instrumented = instrumentD1.instrumentD1(item);
34
+ instrumentedBindings.set(item, instrumented);
35
+ return instrumented;
36
+ }
37
+ if (isBinding.isQueue(item)) {
38
+ const bindingName = typeof prop === "string" ? prop : String(prop);
39
+ const instrumented = instrumentQueueProducer.instrumentQueueProducer(item, bindingName);
40
+ instrumentedBindings.set(item, instrumented);
41
+ return instrumented;
42
+ }
43
+ if (isBinding.isR2Bucket(item)) {
44
+ const bindingName = typeof prop === "string" ? prop : String(prop);
45
+ const instrumented = instrumentR2.instrumentR2Bucket(item, bindingName);
46
+ instrumentedBindings.set(item, instrumented);
47
+ return instrumented;
48
+ }
49
+ if (isBinding.isRateLimit(item)) {
50
+ const bindingName = typeof prop === "string" ? prop : String(prop);
51
+ const instrumented = instrumentRateLimit.instrumentRateLimit(item, bindingName);
52
+ instrumentedBindings.set(item, instrumented);
53
+ return instrumented;
54
+ }
55
+ if (isBinding.isAiBinding(item)) {
56
+ const instrumented = serverUtils.instrumentWorkersAiClient(item);
57
+ instrumentedBindings.set(item, instrumented);
58
+ return instrumented;
59
+ }
60
+ if (options?.enableRpcTracePropagation === false) {
61
+ return item;
62
+ }
63
+ if (isBinding.isDurableObjectNamespace(item)) {
64
+ const instrumented = instrumentDurableObjectNamespace.instrumentDurableObjectNamespace(item);
65
+ instrumentedBindings.set(item, instrumented);
66
+ return instrumented;
67
+ }
68
+ if (isBinding.isJSRPC(item)) {
69
+ const instrumented = new Proxy(item, {
70
+ get(target2, p) {
71
+ const value = Reflect.get(target2, p);
72
+ if (p === "fetch" && typeof value === "function") {
73
+ return instrumentFetcher.instrumentFetcher((...args) => Reflect.apply(value, target2, args));
74
+ }
75
+ if (typeof value === "function" && typeof p === "string" && !instrumentDurableObjectNamespace.STUB_NON_RPC_METHODS.has(p)) {
76
+ return (...args) => Reflect.apply(value, target2, rpcMeta.appendRpcMeta(args));
77
+ }
78
+ return value;
79
+ }
80
+ });
81
+ instrumentedBindings.set(item, instrumented);
82
+ return instrumented;
83
+ }
84
+ return item;
85
+ }
86
+ });
87
+ }
88
+
89
+ exports.instrumentEnv = instrumentEnv;
90
+ //# sourceMappingURL=instrumentEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentEnv.js","sources":["../../../../../src/instrumentations/worker/instrumentEnv.ts"],"sourcesContent":["import { isObjectLike } from '@sentry/core';\nimport { instrumentWorkersAiClient } from '@sentry/server-utils';\nimport type { CloudflareOptions } from '../../client';\nimport {\n isAiBinding,\n isD1Database,\n isDurableObjectNamespace,\n isJSRPC,\n isQueue,\n isR2Bucket,\n isRateLimit,\n} from '../../utils/isBinding';\nimport { instrumentD1 } from './instrumentD1';\nimport { appendRpcMeta } from '../../utils/rpcMeta';\nimport { instrumentDurableObjectNamespace, STUB_NON_RPC_METHODS } from '../instrumentDurableObjectNamespace';\nimport { instrumentFetcher } from './instrumentFetcher';\nimport { instrumentQueueProducer } from './instrumentQueueProducer';\nimport { instrumentR2Bucket } from './instrumentR2';\nimport { instrumentRateLimit } from './instrumentRateLimit';\n\nfunction isProxyable(item: unknown): item is object {\n return isObjectLike(item) || typeof item === 'function';\n}\n\nconst instrumentedBindings = new WeakMap<object, unknown>();\n\n/**\n * Wraps the Cloudflare `env` object in a Proxy that detects binding types\n * on property access and returns instrumented versions.\n *\n * Currently detects:\n * - DurableObjectNamespace (via `idFromName` duck-typing)\n * - Service bindings / JSRPC proxies\n * - Queue producers (via `send` + `sendBatch` duck-typing)\n * - R2 Buckets (via `head` + `put` + `createMultipartUpload` duck-typing)\n * - Rate limiters (via `limit` duck-typing)\n * - Workers AI (via `run` + `gateway` + `toMarkdown` duck-typing)\n *\n * @param env - The Cloudflare env object to instrument\n * @param options - Optional CloudflareOptions to control RPC trace propagation\n */\nexport function instrumentEnv<Env extends Record<string, unknown>>(env: Env, options?: CloudflareOptions): Env {\n if (!env || typeof env !== 'object') {\n return env;\n }\n\n return new Proxy(env, {\n get(target, prop, receiver) {\n const item = Reflect.get(target, prop, receiver);\n\n if (!isProxyable(item)) {\n return item;\n }\n\n const cached = instrumentedBindings.get(item);\n\n if (cached) {\n return cached;\n }\n\n if (isD1Database(item)) {\n const instrumented = instrumentD1(item);\n instrumentedBindings.set(item, instrumented);\n return instrumented;\n }\n\n if (isQueue(item)) {\n const bindingName = typeof prop === 'string' ? prop : String(prop);\n const instrumented = instrumentQueueProducer(item, bindingName);\n instrumentedBindings.set(item, instrumented);\n return instrumented;\n }\n\n if (isR2Bucket(item)) {\n const bindingName = typeof prop === 'string' ? prop : String(prop);\n const instrumented = instrumentR2Bucket(item, bindingName);\n instrumentedBindings.set(item, instrumented);\n return instrumented;\n }\n\n if (isRateLimit(item)) {\n const bindingName = typeof prop === 'string' ? prop : String(prop);\n const instrumented = instrumentRateLimit(item, bindingName);\n instrumentedBindings.set(item, instrumented);\n return instrumented;\n }\n\n if (isAiBinding(item)) {\n const instrumented = instrumentWorkersAiClient(item);\n instrumentedBindings.set(item, instrumented);\n return instrumented;\n }\n\n if (options?.enableRpcTracePropagation === false) {\n return item;\n }\n\n if (isDurableObjectNamespace(item)) {\n const instrumented = instrumentDurableObjectNamespace(item);\n instrumentedBindings.set(item, instrumented);\n return instrumented;\n }\n\n if (isJSRPC(item)) {\n const instrumented = new Proxy(item, {\n get(target, p) {\n const value = Reflect.get(target, p);\n\n if (p === 'fetch' && typeof value === 'function') {\n return instrumentFetcher((...args) => Reflect.apply(value, target, args));\n }\n\n if (typeof value === 'function' && typeof p === 'string' && !STUB_NON_RPC_METHODS.has(p)) {\n return (...args: unknown[]) => Reflect.apply(value, target, appendRpcMeta(args));\n }\n\n return value;\n },\n });\n\n instrumentedBindings.set(item, instrumented);\n return instrumented;\n }\n\n return item;\n },\n });\n}\n"],"names":["isObjectLike","isD1Database","instrumentD1","isQueue","instrumentQueueProducer","isR2Bucket","instrumentR2Bucket","isRateLimit","instrumentRateLimit","isAiBinding","instrumentWorkersAiClient","isDurableObjectNamespace","instrumentDurableObjectNamespace","isJSRPC","target","instrumentFetcher","STUB_NON_RPC_METHODS","appendRpcMeta"],"mappings":";;;;;;;;;;;;;AAoBA,SAAS,YAAY,IAAA,EAA+B;AAClD,EAAA,OAAOA,iBAAA,CAAa,IAAI,CAAA,IAAK,OAAO,IAAA,KAAS,UAAA;AAC/C;AAEA,MAAM,oBAAA,uBAA2B,OAAA,EAAyB;AAiBnD,SAAS,aAAA,CAAmD,KAAU,OAAA,EAAkC;AAC7G,EAAA,IAAI,CAAC,GAAA,IAAO,OAAO,GAAA,KAAQ,QAAA,EAAU;AACnC,IAAA,OAAO,GAAA;AAAA,EACT;AAEA,EAAA,OAAO,IAAI,MAAM,GAAA,EAAK;AAAA,IACpB,GAAA,CAAI,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU;AAC1B,MAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,GAAA,CAAI,MAAA,EAAQ,MAAM,QAAQ,CAAA;AAE/C,MAAA,IAAI,CAAC,WAAA,CAAY,IAAI,CAAA,EAAG;AACtB,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,MAAM,MAAA,GAAS,oBAAA,CAAqB,GAAA,CAAI,IAAI,CAAA;AAE5C,MAAA,IAAI,MAAA,EAAQ;AACV,QAAA,OAAO,MAAA;AAAA,MACT;AAEA,MAAA,IAAIC,sBAAA,CAAa,IAAI,CAAA,EAAG;AACtB,QAAA,MAAM,YAAA,GAAeC,0BAAa,IAAI,CAAA;AACtC,QAAA,oBAAA,CAAqB,GAAA,CAAI,MAAM,YAAY,CAAA;AAC3C,QAAA,OAAO,YAAA;AAAA,MACT;AAEA,MAAA,IAAIC,iBAAA,CAAQ,IAAI,CAAA,EAAG;AACjB,QAAA,MAAM,cAAc,OAAO,IAAA,KAAS,QAAA,GAAW,IAAA,GAAO,OAAO,IAAI,CAAA;AACjE,QAAA,MAAM,YAAA,GAAeC,+CAAA,CAAwB,IAAA,EAAM,WAAW,CAAA;AAC9D,QAAA,oBAAA,CAAqB,GAAA,CAAI,MAAM,YAAY,CAAA;AAC3C,QAAA,OAAO,YAAA;AAAA,MACT;AAEA,MAAA,IAAIC,oBAAA,CAAW,IAAI,CAAA,EAAG;AACpB,QAAA,MAAM,cAAc,OAAO,IAAA,KAAS,QAAA,GAAW,IAAA,GAAO,OAAO,IAAI,CAAA;AACjE,QAAA,MAAM,YAAA,GAAeC,+BAAA,CAAmB,IAAA,EAAM,WAAW,CAAA;AACzD,QAAA,oBAAA,CAAqB,GAAA,CAAI,MAAM,YAAY,CAAA;AAC3C,QAAA,OAAO,YAAA;AAAA,MACT;AAEA,MAAA,IAAIC,qBAAA,CAAY,IAAI,CAAA,EAAG;AACrB,QAAA,MAAM,cAAc,OAAO,IAAA,KAAS,QAAA,GAAW,IAAA,GAAO,OAAO,IAAI,CAAA;AACjE,QAAA,MAAM,YAAA,GAAeC,uCAAA,CAAoB,IAAA,EAAM,WAAW,CAAA;AAC1D,QAAA,oBAAA,CAAqB,GAAA,CAAI,MAAM,YAAY,CAAA;AAC3C,QAAA,OAAO,YAAA;AAAA,MACT;AAEA,MAAA,IAAIC,qBAAA,CAAY,IAAI,CAAA,EAAG;AACrB,QAAA,MAAM,YAAA,GAAeC,sCAA0B,IAAI,CAAA;AACnD,QAAA,oBAAA,CAAqB,GAAA,CAAI,MAAM,YAAY,CAAA;AAC3C,QAAA,OAAO,YAAA;AAAA,MACT;AAEA,MAAA,IAAI,OAAA,EAAS,8BAA8B,KAAA,EAAO;AAChD,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,IAAIC,kCAAA,CAAyB,IAAI,CAAA,EAAG;AAClC,QAAA,MAAM,YAAA,GAAeC,kEAAiC,IAAI,CAAA;AAC1D,QAAA,oBAAA,CAAqB,GAAA,CAAI,MAAM,YAAY,CAAA;AAC3C,QAAA,OAAO,YAAA;AAAA,MACT;AAEA,MAAA,IAAIC,iBAAA,CAAQ,IAAI,CAAA,EAAG;AACjB,QAAA,MAAM,YAAA,GAAe,IAAI,KAAA,CAAM,IAAA,EAAM;AAAA,UACnC,GAAA,CAAIC,SAAQ,CAAA,EAAG;AACb,YAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,GAAA,CAAIA,OAAAA,EAAQ,CAAC,CAAA;AAEnC,YAAA,IAAI,CAAA,KAAM,OAAA,IAAW,OAAO,KAAA,KAAU,UAAA,EAAY;AAChD,cAAA,OAAOC,mCAAA,CAAkB,IAAI,IAAA,KAAS,OAAA,CAAQ,MAAM,KAAA,EAAOD,OAAAA,EAAQ,IAAI,CAAC,CAAA;AAAA,YAC1E;AAEA,YAAA,IAAI,OAAO,KAAA,KAAU,UAAA,IAAc,OAAO,CAAA,KAAM,YAAY,CAACE,qDAAA,CAAqB,GAAA,CAAI,CAAC,CAAA,EAAG;AACxF,cAAA,OAAO,CAAA,GAAI,SAAoB,OAAA,CAAQ,KAAA,CAAM,OAAOF,OAAAA,EAAQG,qBAAA,CAAc,IAAI,CAAC,CAAA;AAAA,YACjF;AAEA,YAAA,OAAO,KAAA;AAAA,UACT;AAAA,SACD,CAAA;AAED,QAAA,oBAAA,CAAqB,GAAA,CAAI,MAAM,YAAY,CAAA;AAC3C,QAAA,OAAO,YAAA;AAAA,MACT;AAEA,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,GACD,CAAA;AACH;;;;"}
@@ -0,0 +1,54 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const instrument = require('../../instrument.js');
4
+ const options = require('../../options.js');
5
+ const request = require('../../request.js');
6
+ const sdk = require('../../sdk.js');
7
+ const instrumentContext = require('../../utils/instrumentContext.js');
8
+ const instrumentEnv = require('./instrumentEnv.js');
9
+
10
+ function instrumentExportedHandlerFetch(handler, optionsCallback) {
11
+ if (!("fetch" in handler) || typeof handler.fetch !== "function") {
12
+ return;
13
+ }
14
+ handler.fetch = instrument.ensureInstrumented(
15
+ handler.fetch,
16
+ (original) => new Proxy(original, {
17
+ apply(target, thisArg, args) {
18
+ const [rawRequest, env, ctx] = args;
19
+ const request$1 = rawRequest;
20
+ if (request$1.method === "OPTIONS" || request$1.method === "HEAD") {
21
+ return target.apply(thisArg, args);
22
+ }
23
+ const context = instrumentContext.instrumentContext(ctx);
24
+ const options$1 = options.getFinalOptions(optionsCallback(env), env);
25
+ args[1] = instrumentEnv.instrumentEnv(env, options$1);
26
+ args[2] = context;
27
+ return request.wrapRequestHandlerWithInit({ options: options$1, request: request$1, context }, () => target.apply(thisArg, args), sdk.init);
28
+ }
29
+ })
30
+ );
31
+ }
32
+ function instrumentWorkerEntrypointFetch(instance, options, context) {
33
+ if (!instance.fetch) {
34
+ return;
35
+ }
36
+ const original = instance.fetch.bind(instance);
37
+ instance.fetch = new Proxy(original, {
38
+ apply(target, thisArg, args) {
39
+ const [request$1] = args;
40
+ if (request$1.method === "OPTIONS" || request$1.method === "HEAD") {
41
+ return Reflect.apply(target, thisArg, args);
42
+ }
43
+ return request.wrapRequestHandlerWithInit(
44
+ { options, request: request$1, context },
45
+ () => Reflect.apply(target, thisArg, args),
46
+ sdk.init
47
+ );
48
+ }
49
+ });
50
+ }
51
+
52
+ exports.instrumentExportedHandlerFetch = instrumentExportedHandlerFetch;
53
+ exports.instrumentWorkerEntrypointFetch = instrumentWorkerEntrypointFetch;
54
+ //# sourceMappingURL=instrumentFetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentFetch.js","sources":["../../../../../src/instrumentations/worker/instrumentFetch.ts"],"sourcesContent":["import type { AnyExportedHandler } from '../../types';\nimport type { env as cloudflareEnv, WorkerEntrypoint } from 'cloudflare:workers';\nimport type { CloudflareOptions } from '../../client';\nimport { ensureInstrumented } from '../../instrument';\nimport { getFinalOptions } from '../../options';\nimport { wrapRequestHandlerWithInit } from '../../request';\nimport { init } from '../../sdk';\nimport { instrumentContext } from '../../utils/instrumentContext';\nimport { instrumentEnv } from './instrumentEnv';\n\n/**\n * Instruments a fetch handler for ExportedHandler (env/ctx come from args).\n */\nexport function instrumentExportedHandlerFetch<T extends AnyExportedHandler>(\n handler: T,\n optionsCallback: (env: typeof cloudflareEnv) => CloudflareOptions | undefined,\n): void {\n if (!('fetch' in handler) || typeof handler.fetch !== 'function') {\n return;\n }\n\n handler.fetch = ensureInstrumented(\n handler.fetch,\n original =>\n new Proxy(original, {\n apply(target, thisArg, args: Parameters<NonNullable<T['fetch']>>) {\n const [rawRequest, env, ctx] = args;\n // `T['fetch']` resolves to the structural `AnyHandlerMethod`, whose parameters are\n // `any` — but the fetch event is always a `Request` at runtime.\n const request = rawRequest as Request;\n\n if (request.method === 'OPTIONS' || request.method === 'HEAD') {\n return target.apply(thisArg, args);\n }\n\n const context = instrumentContext(ctx);\n const options = getFinalOptions(optionsCallback(env), env);\n args[1] = instrumentEnv(env, options);\n args[2] = context;\n\n return wrapRequestHandlerWithInit({ options, request, context }, () => target.apply(thisArg, args), init);\n },\n }),\n );\n}\n\n/**\n * Instruments a fetch method for WorkerEntrypoint (options/context already available).\n */\nexport function instrumentWorkerEntrypointFetch<T extends WorkerEntrypoint>(\n instance: T,\n options: CloudflareOptions,\n context: ExecutionContext,\n): void {\n if (!instance.fetch) {\n return;\n }\n\n const original = instance.fetch.bind(instance);\n instance.fetch = new Proxy(original, {\n apply(target, thisArg, args: [Request]) {\n const [request] = args;\n\n if (request.method === 'OPTIONS' || request.method === 'HEAD') {\n return Reflect.apply(target, thisArg, args);\n }\n\n return wrapRequestHandlerWithInit(\n { options, request, context },\n () => Reflect.apply(target, thisArg, args),\n init,\n );\n },\n });\n}\n"],"names":["ensureInstrumented","request","instrumentContext","options","getFinalOptions","instrumentEnv","wrapRequestHandlerWithInit","init"],"mappings":";;;;;;;;;AAaO,SAAS,8BAAA,CACd,SACA,eAAA,EACM;AACN,EAAA,IAAI,EAAE,OAAA,IAAW,OAAA,CAAA,IAAY,OAAO,OAAA,CAAQ,UAAU,UAAA,EAAY;AAChE,IAAA;AAAA,EACF;AAEA,EAAA,OAAA,CAAQ,KAAA,GAAQA,6BAAA;AAAA,IACd,OAAA,CAAQ,KAAA;AAAA,IACR,CAAA,QAAA,KACE,IAAI,KAAA,CAAM,QAAA,EAAU;AAAA,MAClB,KAAA,CAAM,MAAA,EAAQ,OAAA,EAAS,IAAA,EAA2C;AAChE,QAAA,MAAM,CAAC,UAAA,EAAY,GAAA,EAAK,GAAG,CAAA,GAAI,IAAA;AAG/B,QAAA,MAAMC,SAAA,GAAU,UAAA;AAEhB,QAAA,IAAIA,SAAA,CAAQ,MAAA,KAAW,SAAA,IAAaA,SAAA,CAAQ,WAAW,MAAA,EAAQ;AAC7D,UAAA,OAAO,MAAA,CAAO,KAAA,CAAM,OAAA,EAAS,IAAI,CAAA;AAAA,QACnC;AAEA,QAAA,MAAM,OAAA,GAAUC,oCAAkB,GAAG,CAAA;AACrC,QAAA,MAAMC,SAAA,GAAUC,uBAAA,CAAgB,eAAA,CAAgB,GAAG,GAAG,GAAG,CAAA;AACzD,QAAA,IAAA,CAAK,CAAC,CAAA,GAAIC,2BAAA,CAAc,GAAA,EAAKF,SAAO,CAAA;AACpC,QAAA,IAAA,CAAK,CAAC,CAAA,GAAI,OAAA;AAEV,QAAA,OAAOG,kCAAA,CAA2B,WAAEH,SAAA,WAASF,SAAA,EAAS,OAAA,EAAQ,EAAG,MAAM,MAAA,CAAO,KAAA,CAAM,OAAA,EAAS,IAAI,CAAA,EAAGM,QAAI,CAAA;AAAA,MAC1G;AAAA,KACD;AAAA,GACL;AACF;AAKO,SAAS,+BAAA,CACd,QAAA,EACA,OAAA,EACA,OAAA,EACM;AACN,EAAA,IAAI,CAAC,SAAS,KAAA,EAAO;AACnB,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,QAAA,GAAW,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,QAAQ,CAAA;AAC7C,EAAA,QAAA,CAAS,KAAA,GAAQ,IAAI,KAAA,CAAM,QAAA,EAAU;AAAA,IACnC,KAAA,CAAM,MAAA,EAAQ,OAAA,EAAS,IAAA,EAAiB;AACtC,MAAA,MAAM,CAACN,SAAO,CAAA,GAAI,IAAA;AAElB,MAAA,IAAIA,SAAA,CAAQ,MAAA,KAAW,SAAA,IAAaA,SAAA,CAAQ,WAAW,MAAA,EAAQ;AAC7D,QAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,MAAA,EAAQ,OAAA,EAAS,IAAI,CAAA;AAAA,MAC5C;AAEA,MAAA,OAAOK,kCAAA;AAAA,QACL,EAAE,OAAA,WAASL,SAAA,EAAS,OAAA,EAAQ;AAAA,QAC5B,MAAM,OAAA,CAAQ,KAAA,CAAM,MAAA,EAAQ,SAAS,IAAI,CAAA;AAAA,QACzCM;AAAA,OACF;AAAA,IACF;AAAA,GACD,CAAA;AACH;;;;;"}
@@ -0,0 +1,24 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core = require('@sentry/core');
4
+
5
+ function instrumentFetcher(fetchFn) {
6
+ return function(input, init) {
7
+ const headers = core._INTERNAL_getTracingHeadersForFetchRequest(input, { headers: init?.headers });
8
+ if (input instanceof Request && init === void 0) {
9
+ if (!headers) {
10
+ return fetchFn(input);
11
+ }
12
+ const requestWithTracing = new Request(input, { headers });
13
+ return fetchFn(requestWithTracing);
14
+ }
15
+ const mergedInit = {
16
+ ...init,
17
+ ...headers ? { headers } : {}
18
+ };
19
+ return fetchFn(input, mergedInit);
20
+ };
21
+ }
22
+
23
+ exports.instrumentFetcher = instrumentFetcher;
24
+ //# sourceMappingURL=instrumentFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentFetcher.js","sources":["../../../../../src/instrumentations/worker/instrumentFetcher.ts"],"sourcesContent":["import type { Fetcher } from '@cloudflare/workers-types';\nimport { _INTERNAL_getTracingHeadersForFetchRequest } from '@sentry/core';\n\n/**\n * Wraps a fetch-like function to create a span and propagate trace headers\n * (`sentry-trace` and `baggage`) on the outgoing request.\n *\n * Useful for instrumenting Cloudflare bindings that expose a `fetch` method\n * (e.g. Durable Object stubs, Service bindings).\n */\nexport function instrumentFetcher(fetchFn: Fetcher['fetch']): Fetcher['fetch'] {\n return function (input: RequestInfo | URL, init?: RequestInit): Promise<Response> {\n const headers = _INTERNAL_getTracingHeadersForFetchRequest(input, { headers: init?.headers });\n\n if (input instanceof Request && init === undefined) {\n if (!headers) {\n return fetchFn(input);\n }\n\n // Newly created headers already include the previous headers from the original request\n // so we can clone the request and pass in all headers.\n const requestWithTracing = new Request(input, { headers: headers as HeadersInit });\n\n return fetchFn(requestWithTracing);\n }\n\n const mergedInit = {\n ...init,\n ...(headers ? { headers } : {}),\n } as NonNullable<Parameters<Fetcher['fetch']>[1]>;\n\n return fetchFn(input, mergedInit);\n };\n}\n"],"names":["_INTERNAL_getTracingHeadersForFetchRequest"],"mappings":";;;;AAUO,SAAS,kBAAkB,OAAA,EAA6C;AAC7E,EAAA,OAAO,SAAU,OAA0B,IAAA,EAAuC;AAChF,IAAA,MAAM,UAAUA,+CAAA,CAA2C,KAAA,EAAO,EAAE,OAAA,EAAS,IAAA,EAAM,SAAS,CAAA;AAE5F,IAAA,IAAI,KAAA,YAAiB,OAAA,IAAW,IAAA,KAAS,MAAA,EAAW;AAClD,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,OAAO,QAAQ,KAAK,CAAA;AAAA,MACtB;AAIA,MAAA,MAAM,qBAAqB,IAAI,OAAA,CAAQ,KAAA,EAAO,EAAE,SAAiC,CAAA;AAEjF,MAAA,OAAO,QAAQ,kBAAkB,CAAA;AAAA,IACnC;AAEA,IAAA,MAAM,UAAA,GAAa;AAAA,MACjB,GAAG,IAAA;AAAA,MACH,GAAI,OAAA,GAAU,EAAE,OAAA,KAAY;AAAC,KAC/B;AAEA,IAAA,OAAO,OAAA,CAAQ,OAAO,UAAU,CAAA;AAAA,EAClC,CAAA;AACF;;;;"}
@@ -0,0 +1,82 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const attributes = require('@sentry/conventions/attributes');
4
+ const op = require('@sentry/conventions/op');
5
+ const core = require('@sentry/core');
6
+ const flush = require('../../flush.js');
7
+ const instrument = require('../../instrument.js');
8
+ const options = require('../../options.js');
9
+ const scopeUtils = require('../../scope-utils.js');
10
+ const sdk = require('../../sdk.js');
11
+ const instrumentContext = require('../../utils/instrumentContext.js');
12
+ const instrumentEnv = require('./instrumentEnv.js');
13
+
14
+ function wrapQueueHandler(batch, options, context, fn) {
15
+ return core.withIsolationScope((isolationScope) => {
16
+ const waitUntil = context.waitUntil.bind(context);
17
+ const client = sdk.init({ ...options, ctx: context });
18
+ isolationScope.setClient(client);
19
+ scopeUtils.addCloudResourceContext(isolationScope);
20
+ return core.startSpan(
21
+ {
22
+ name: `process ${batch.queue}`,
23
+ attributes: {
24
+ [attributes.SENTRY_OP]: op.MESSAGING_QUEUE_PROCESS_SPAN_OP,
25
+ "faas.trigger": "pubsub",
26
+ "messaging.destination.name": batch.queue,
27
+ "messaging.system": "cloudflare",
28
+ "messaging.operation.type": "process",
29
+ "messaging.operation.name": "process",
30
+ "messaging.batch.message_count": batch.messages.length,
31
+ "messaging.message.retry.count": batch.messages.reduce((acc, message) => acc + message.attempts - 1, 0),
32
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.faas.cloudflare.queue",
33
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: "task"
34
+ }
35
+ },
36
+ async () => {
37
+ try {
38
+ return await fn();
39
+ } catch (e) {
40
+ core.captureException(e, { mechanism: { handled: false, type: "auto.faas.cloudflare.queue" } });
41
+ throw e;
42
+ } finally {
43
+ waitUntil(flush.flushAndDispose(client));
44
+ }
45
+ }
46
+ );
47
+ });
48
+ }
49
+ function instrumentExportedHandlerQueue(handler, optionsCallback) {
50
+ if (!("queue" in handler) || typeof handler.queue !== "function") {
51
+ return;
52
+ }
53
+ handler.queue = instrument.ensureInstrumented(
54
+ handler.queue,
55
+ (original) => new Proxy(original, {
56
+ apply(target, thisArg, args) {
57
+ const [batch, env, ctx] = args;
58
+ const context = instrumentContext.instrumentContext(ctx);
59
+ const options$1 = options.getFinalOptions(optionsCallback(env), env);
60
+ args[1] = instrumentEnv.instrumentEnv(env, options$1);
61
+ args[2] = context;
62
+ return wrapQueueHandler(batch, options$1, context, () => target.apply(thisArg, args));
63
+ }
64
+ })
65
+ );
66
+ }
67
+ function instrumentWorkerEntrypointQueue(instance, options, context) {
68
+ if (!instance.queue) {
69
+ return;
70
+ }
71
+ const original = instance.queue.bind(instance);
72
+ instance.queue = new Proxy(original, {
73
+ apply(target, thisArg, args) {
74
+ const [batch] = args;
75
+ return wrapQueueHandler(batch, options, context, () => Reflect.apply(target, thisArg, args));
76
+ }
77
+ });
78
+ }
79
+
80
+ exports.instrumentExportedHandlerQueue = instrumentExportedHandlerQueue;
81
+ exports.instrumentWorkerEntrypointQueue = instrumentWorkerEntrypointQueue;
82
+ //# sourceMappingURL=instrumentQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentQueue.js","sources":["../../../../../src/instrumentations/worker/instrumentQueue.ts"],"sourcesContent":["import type { MessageBatch } from '@cloudflare/workers-types';\nimport type { AnyExportedHandler } from '../../types';\nimport type { env as cloudflareEnv, WorkerEntrypoint } from 'cloudflare:workers';\nimport { SENTRY_OP } from '@sentry/conventions/attributes';\nimport { MESSAGING_QUEUE_PROCESS_SPAN_OP } from '@sentry/conventions/op';\nimport {\n captureException,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n startSpan,\n withIsolationScope,\n} from '@sentry/core';\nimport type { CloudflareOptions } from '../../client';\nimport { flushAndDispose } from '../../flush';\nimport { ensureInstrumented } from '../../instrument';\nimport { getFinalOptions } from '../../options';\nimport { addCloudResourceContext } from '../../scope-utils';\nimport { init } from '../../sdk';\nimport { instrumentContext } from '../../utils/instrumentContext';\nimport { instrumentEnv } from './instrumentEnv';\n\n/**\n * Core queue handler logic - wraps execution with Sentry instrumentation.\n */\nfunction wrapQueueHandler(\n batch: MessageBatch,\n options: CloudflareOptions,\n context: ExecutionContext,\n fn: () => unknown,\n): unknown {\n return withIsolationScope(isolationScope => {\n const waitUntil = context.waitUntil.bind(context);\n\n const client = init({ ...options, ctx: context });\n isolationScope.setClient(client);\n\n addCloudResourceContext(isolationScope);\n\n return startSpan(\n {\n name: `process ${batch.queue}`,\n attributes: {\n [SENTRY_OP]: MESSAGING_QUEUE_PROCESS_SPAN_OP,\n 'faas.trigger': 'pubsub',\n 'messaging.destination.name': batch.queue,\n 'messaging.system': 'cloudflare',\n 'messaging.operation.type': 'process',\n 'messaging.operation.name': 'process',\n 'messaging.batch.message_count': batch.messages.length,\n 'messaging.message.retry.count': batch.messages.reduce((acc, message) => acc + message.attempts - 1, 0),\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.faas.cloudflare.queue',\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'task',\n },\n },\n async () => {\n try {\n return await fn();\n } catch (e) {\n captureException(e, { mechanism: { handled: false, type: 'auto.faas.cloudflare.queue' } });\n throw e;\n } finally {\n waitUntil(flushAndDispose(client));\n }\n },\n );\n });\n}\n\n/**\n * Instruments a queue handler for ExportedHandler (env/ctx come from args).\n */\nexport function instrumentExportedHandlerQueue<T extends AnyExportedHandler>(\n handler: T,\n optionsCallback: (env: typeof cloudflareEnv) => CloudflareOptions | undefined,\n): void {\n if (!('queue' in handler) || typeof handler.queue !== 'function') {\n return;\n }\n\n handler.queue = ensureInstrumented(\n handler.queue,\n original =>\n new Proxy(original, {\n apply(target, thisArg, args: Parameters<NonNullable<T['queue']>>) {\n const [batch, env, ctx] = args;\n const context = instrumentContext(ctx);\n const options = getFinalOptions(optionsCallback(env), env);\n args[1] = instrumentEnv(env, options);\n args[2] = context;\n\n return wrapQueueHandler(batch, options, context, () => target.apply(thisArg, args));\n },\n }),\n );\n}\n\n/**\n * Instruments a queue method for WorkerEntrypoint (options/context already available).\n */\nexport function instrumentWorkerEntrypointQueue<T extends WorkerEntrypoint>(\n instance: T,\n options: CloudflareOptions,\n context: ExecutionContext,\n): void {\n if (!instance.queue) {\n return;\n }\n\n const original = instance.queue.bind(instance);\n instance.queue = new Proxy(original, {\n apply(target, thisArg, args: [MessageBatch]) {\n const [batch] = args;\n\n return wrapQueueHandler(batch, options, context, () => Reflect.apply(target, thisArg, args));\n },\n });\n}\n"],"names":["withIsolationScope","init","addCloudResourceContext","startSpan","SENTRY_OP","MESSAGING_QUEUE_PROCESS_SPAN_OP","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","SEMANTIC_ATTRIBUTE_SENTRY_SOURCE","captureException","flushAndDispose","ensureInstrumented","instrumentContext","options","getFinalOptions","instrumentEnv"],"mappings":";;;;;;;;;;;;;AAwBA,SAAS,gBAAA,CACP,KAAA,EACA,OAAA,EACA,OAAA,EACA,EAAA,EACS;AACT,EAAA,OAAOA,wBAAmB,CAAA,cAAA,KAAkB;AAC1C,IAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,SAAA,CAAU,IAAA,CAAK,OAAO,CAAA;AAEhD,IAAA,MAAM,SAASC,QAAA,CAAK,EAAE,GAAG,OAAA,EAAS,GAAA,EAAK,SAAS,CAAA;AAChD,IAAA,cAAA,CAAe,UAAU,MAAM,CAAA;AAE/B,IAAAC,kCAAA,CAAwB,cAAc,CAAA;AAEtC,IAAA,OAAOC,cAAA;AAAA,MACL;AAAA,QACE,IAAA,EAAM,CAAA,QAAA,EAAW,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,QAC5B,UAAA,EAAY;AAAA,UACV,CAACC,oBAAS,GAAGC,kCAAA;AAAA,UACb,cAAA,EAAgB,QAAA;AAAA,UAChB,8BAA8B,KAAA,CAAM,KAAA;AAAA,UACpC,kBAAA,EAAoB,YAAA;AAAA,UACpB,0BAAA,EAA4B,SAAA;AAAA,UAC5B,0BAAA,EAA4B,SAAA;AAAA,UAC5B,+BAAA,EAAiC,MAAM,QAAA,CAAS,MAAA;AAAA,UAChD,+BAAA,EAAiC,KAAA,CAAM,QAAA,CAAS,MAAA,CAAO,CAAC,GAAA,EAAK,OAAA,KAAY,GAAA,GAAM,OAAA,CAAQ,QAAA,GAAW,CAAA,EAAG,CAAC,CAAA;AAAA,UACtG,CAACC,qCAAgC,GAAG,4BAAA;AAAA,UACpC,CAACC,qCAAgC,GAAG;AAAA;AACtC,OACF;AAAA,MACA,YAAY;AACV,QAAA,IAAI;AACF,UAAA,OAAO,MAAM,EAAA,EAAG;AAAA,QAClB,SAAS,CAAA,EAAG;AACV,UAAAC,qBAAA,CAAiB,CAAA,EAAG,EAAE,SAAA,EAAW,EAAE,SAAS,KAAA,EAAO,IAAA,EAAM,4BAAA,EAA6B,EAAG,CAAA;AACzF,UAAA,MAAM,CAAA;AAAA,QACR,CAAA,SAAE;AACA,UAAA,SAAA,CAAUC,qBAAA,CAAgB,MAAM,CAAC,CAAA;AAAA,QACnC;AAAA,MACF;AAAA,KACF;AAAA,EACF,CAAC,CAAA;AACH;AAKO,SAAS,8BAAA,CACd,SACA,eAAA,EACM;AACN,EAAA,IAAI,EAAE,OAAA,IAAW,OAAA,CAAA,IAAY,OAAO,OAAA,CAAQ,UAAU,UAAA,EAAY;AAChE,IAAA;AAAA,EACF;AAEA,EAAA,OAAA,CAAQ,KAAA,GAAQC,6BAAA;AAAA,IACd,OAAA,CAAQ,KAAA;AAAA,IACR,CAAA,QAAA,KACE,IAAI,KAAA,CAAM,QAAA,EAAU;AAAA,MAClB,KAAA,CAAM,MAAA,EAAQ,OAAA,EAAS,IAAA,EAA2C;AAChE,QAAA,MAAM,CAAC,KAAA,EAAO,GAAA,EAAK,GAAG,CAAA,GAAI,IAAA;AAC1B,QAAA,MAAM,OAAA,GAAUC,oCAAkB,GAAG,CAAA;AACrC,QAAA,MAAMC,SAAA,GAAUC,uBAAA,CAAgB,eAAA,CAAgB,GAAG,GAAG,GAAG,CAAA;AACzD,QAAA,IAAA,CAAK,CAAC,CAAA,GAAIC,2BAAA,CAAc,GAAA,EAAKF,SAAO,CAAA;AACpC,QAAA,IAAA,CAAK,CAAC,CAAA,GAAI,OAAA;AAEV,QAAA,OAAO,gBAAA,CAAiB,OAAOA,SAAA,EAAS,OAAA,EAAS,MAAM,MAAA,CAAO,KAAA,CAAM,OAAA,EAAS,IAAI,CAAC,CAAA;AAAA,MACpF;AAAA,KACD;AAAA,GACL;AACF;AAKO,SAAS,+BAAA,CACd,QAAA,EACA,OAAA,EACA,OAAA,EACM;AACN,EAAA,IAAI,CAAC,SAAS,KAAA,EAAO;AACnB,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,QAAA,GAAW,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,QAAQ,CAAA;AAC7C,EAAA,QAAA,CAAS,KAAA,GAAQ,IAAI,KAAA,CAAM,QAAA,EAAU;AAAA,IACnC,KAAA,CAAM,MAAA,EAAQ,OAAA,EAAS,IAAA,EAAsB;AAC3C,MAAA,MAAM,CAAC,KAAK,CAAA,GAAI,IAAA;AAEhB,MAAA,OAAO,gBAAA,CAAiB,KAAA,EAAO,OAAA,EAAS,OAAA,EAAS,MAAM,QAAQ,KAAA,CAAM,MAAA,EAAQ,OAAA,EAAS,IAAI,CAAC,CAAA;AAAA,IAC7F;AAAA,GACD,CAAA;AACH;;;;;"}
@@ -0,0 +1,80 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core = require('@sentry/core');
4
+
5
+ const ORIGIN = "auto.faas.cloudflare.queue";
6
+ function startPublishSpan(options, callback) {
7
+ const { bindingName, bodySize, messageCount } = options;
8
+ return core.startSpan(
9
+ {
10
+ op: "queue.publish",
11
+ name: `send ${bindingName}`,
12
+ attributes: {
13
+ "messaging.system": "cloudflare",
14
+ "messaging.destination.name": bindingName,
15
+ "messaging.operation.type": "send",
16
+ "messaging.operation.name": "send",
17
+ ...messageCount !== void 0 && { "messaging.batch.message_count": messageCount },
18
+ "messaging.message.body.size": bodySize,
19
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_OP]: "queue.publish",
20
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN
21
+ }
22
+ },
23
+ callback
24
+ );
25
+ }
26
+ function getBodySize(body) {
27
+ if (body == null) {
28
+ return void 0;
29
+ }
30
+ if (typeof body === "string") {
31
+ return new TextEncoder().encode(body).byteLength;
32
+ }
33
+ if (body instanceof ArrayBuffer) {
34
+ return body.byteLength;
35
+ }
36
+ if (ArrayBuffer.isView(body)) {
37
+ return body.byteLength;
38
+ }
39
+ try {
40
+ return new TextEncoder().encode(JSON.stringify(body)).byteLength;
41
+ } catch {
42
+ return void 0;
43
+ }
44
+ }
45
+ function instrumentQueueProducer(queue, bindingName) {
46
+ return new Proxy(queue, {
47
+ get(target, prop, receiver) {
48
+ if (prop === "send") {
49
+ const original = Reflect.get(target, prop, receiver);
50
+ return function(message, options) {
51
+ return startPublishSpan(
52
+ { bindingName, bodySize: getBodySize(message) },
53
+ () => Reflect.apply(original, target, [message, options])
54
+ );
55
+ };
56
+ }
57
+ if (prop === "sendBatch") {
58
+ const original = Reflect.get(target, prop, receiver);
59
+ return function(messages, options) {
60
+ const messageArray = Array.from(messages);
61
+ const totalBodySize = messageArray.reduce((acc, m) => {
62
+ const size = getBodySize(m.body);
63
+ if (size === void 0) {
64
+ return acc;
65
+ }
66
+ return (acc ?? 0) + size;
67
+ }, void 0);
68
+ return startPublishSpan(
69
+ { bindingName, bodySize: totalBodySize, messageCount: messageArray.length },
70
+ () => Reflect.apply(original, target, [messageArray, options])
71
+ );
72
+ };
73
+ }
74
+ return Reflect.get(target, prop, receiver);
75
+ }
76
+ });
77
+ }
78
+
79
+ exports.instrumentQueueProducer = instrumentQueueProducer;
80
+ //# sourceMappingURL=instrumentQueueProducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentQueueProducer.js","sources":["../../../../../src/instrumentations/worker/instrumentQueueProducer.ts"],"sourcesContent":["import type { MessageSendRequest, Queue, QueueSendBatchOptions, QueueSendOptions } from '@cloudflare/workers-types';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, startSpan } from '@sentry/core';\n\nconst ORIGIN = 'auto.faas.cloudflare.queue';\n\nfunction startPublishSpan<T>(\n options: {\n bindingName: string;\n bodySize: number | undefined;\n messageCount?: number;\n },\n callback: () => T,\n): T {\n const { bindingName, bodySize, messageCount } = options;\n\n return startSpan(\n {\n op: 'queue.publish',\n name: `send ${bindingName}`,\n attributes: {\n 'messaging.system': 'cloudflare',\n 'messaging.destination.name': bindingName,\n 'messaging.operation.type': 'send',\n 'messaging.operation.name': 'send',\n ...(messageCount !== undefined && { 'messaging.batch.message_count': messageCount }),\n 'messaging.message.body.size': bodySize,\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'queue.publish',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n },\n },\n callback,\n );\n}\n\nfunction getBodySize(body: unknown): number | undefined {\n if (body == null) {\n return undefined;\n }\n\n if (typeof body === 'string') {\n return new TextEncoder().encode(body).byteLength;\n }\n\n if (body instanceof ArrayBuffer) {\n return body.byteLength;\n }\n\n if (ArrayBuffer.isView(body)) {\n return body.byteLength;\n }\n\n try {\n return new TextEncoder().encode(JSON.stringify(body)).byteLength;\n } catch {\n return undefined;\n }\n}\n\n/**\n * Wraps a Queue producer binding to create `queue.publish` spans on\n * `send` and `sendBatch` calls.\n *\n * The queue's own name is not available on the binding object, so we use\n * the env binding key (e.g. `MY_QUEUE`) as `messaging.destination.name`.\n */\nexport function instrumentQueueProducer<T extends Queue>(queue: T, bindingName: string): T {\n return new Proxy(queue, {\n get(target, prop, receiver) {\n if (prop === 'send') {\n const original = Reflect.get(target, prop, receiver) as Queue['send'];\n\n return function (this: unknown, message: unknown, options?: QueueSendOptions): ReturnType<Queue['send']> {\n return startPublishSpan({ bindingName, bodySize: getBodySize(message) }, () =>\n Reflect.apply(original, target, [message, options]),\n );\n };\n }\n\n if (prop === 'sendBatch') {\n const original = Reflect.get(target, prop, receiver) as Queue['sendBatch'];\n return function (\n this: unknown,\n messages: Iterable<MessageSendRequest>,\n options?: QueueSendBatchOptions,\n ): ReturnType<Queue['sendBatch']> {\n const messageArray = Array.from(messages);\n const totalBodySize = messageArray.reduce<number | undefined>((acc, m) => {\n const size = getBodySize(m.body);\n if (size === undefined) {\n return acc;\n }\n return (acc ?? 0) + size;\n }, undefined);\n\n return startPublishSpan({ bindingName, bodySize: totalBodySize, messageCount: messageArray.length }, () =>\n Reflect.apply(original, target, [messageArray, options]),\n );\n };\n }\n\n return Reflect.get(target, prop, receiver);\n },\n });\n}\n"],"names":["startSpan","SEMANTIC_ATTRIBUTE_SENTRY_OP","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN"],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core = require('@sentry/core');
4
+
5
+ const ORIGIN = "auto.faas.cloudflare.r2";
6
+ const R2_OPERATIONS = {
7
+ get: { spanName: "r2_get", op: "object.get", operation: "GetObject" },
8
+ head: { spanName: "r2_head", op: "object.head", operation: "HeadObject" },
9
+ put: { spanName: "r2_put", op: "object.put", operation: "PutObject" },
10
+ delete: { spanName: "r2_delete", op: "object.delete", operation: "DeleteObject" },
11
+ list: { spanName: "r2_list", op: "object.list", operation: "ListObjects" },
12
+ uploadPart: { spanName: "r2_uploadPart", op: "object.upload_part", operation: "UploadPart" },
13
+ abortMultipartUpload: {
14
+ spanName: "r2_abortMultipartUpload",
15
+ op: "object.multipart_upload.abort",
16
+ operation: "AbortMultipartUpload"
17
+ },
18
+ createMultipartUpload: {
19
+ spanName: "r2_createMultipartUpload",
20
+ op: "object.multipart_upload.create",
21
+ operation: "CreateMultipartUpload"
22
+ },
23
+ completeMultipartUpload: {
24
+ spanName: "r2_completeMultipartUpload",
25
+ op: "object.multipart_upload.complete",
26
+ operation: "CompleteMultipartUpload"
27
+ }
28
+ };
29
+ function isR2ListOptions(key) {
30
+ return core.isObjectLike(key) && !Array.isArray(key);
31
+ }
32
+ function createSpanOptions(bindingName, r2Op, key) {
33
+ const { spanName, op, operation } = R2_OPERATIONS[r2Op];
34
+ const requestKey = Array.isArray(key) ? key.join(", ") : typeof key === "string" ? key : void 0;
35
+ return {
36
+ op,
37
+ name: spanName,
38
+ attributes: {
39
+ "cloudflare.r2.operation": operation,
40
+ "cloudflare.r2.bucket": bindingName,
41
+ ...requestKey !== void 0 && { "cloudflare.r2.request.key": requestKey },
42
+ ...isR2ListOptions(key) && key.prefix !== void 0 && { "cloudflare.r2.request.prefix": key.prefix },
43
+ ...isR2ListOptions(key) && key.delimiter !== void 0 && { "cloudflare.r2.request.delimiter": key.delimiter },
44
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_OP]: op,
45
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN
46
+ }
47
+ };
48
+ }
49
+ function instrumentR2MultipartUpload(upload, bindingName) {
50
+ const { key } = upload;
51
+ return new Proxy(upload, {
52
+ get(target, prop, receiver) {
53
+ if (prop === "uploadPart") {
54
+ const original = Reflect.get(target, prop, receiver);
55
+ return function(...args) {
56
+ const [partNumber] = args;
57
+ return core.startSpan(
58
+ {
59
+ ...createSpanOptions(bindingName, "uploadPart", key),
60
+ attributes: {
61
+ ...createSpanOptions(bindingName, "uploadPart", key).attributes,
62
+ "cloudflare.r2.request.part_number": partNumber
63
+ }
64
+ },
65
+ () => Reflect.apply(original, target, args)
66
+ );
67
+ };
68
+ }
69
+ if (prop === "abort") {
70
+ const original = Reflect.get(target, prop, receiver);
71
+ return function() {
72
+ return core.startSpan(
73
+ createSpanOptions(bindingName, "abortMultipartUpload", key),
74
+ () => Reflect.apply(original, target, [])
75
+ );
76
+ };
77
+ }
78
+ if (prop === "complete") {
79
+ const original = Reflect.get(target, prop, receiver);
80
+ return function(...args) {
81
+ return core.startSpan(
82
+ createSpanOptions(bindingName, "completeMultipartUpload", key),
83
+ () => Reflect.apply(original, target, args)
84
+ );
85
+ };
86
+ }
87
+ return Reflect.get(target, prop, receiver);
88
+ }
89
+ });
90
+ }
91
+ function instrumentR2Bucket(bucket, bindingName) {
92
+ return new Proxy(bucket, {
93
+ get(target, prop, receiver) {
94
+ if (prop === "get" || prop === "head" || prop === "put" || prop === "delete" || prop === "list") {
95
+ const original = Reflect.get(target, prop, receiver);
96
+ return function(...args) {
97
+ const [key] = args;
98
+ return core.startSpan(createSpanOptions(bindingName, prop, key), () => Reflect.apply(original, target, args));
99
+ };
100
+ }
101
+ if (prop === "createMultipartUpload") {
102
+ const original = Reflect.get(target, prop, receiver);
103
+ return function(...args) {
104
+ const [key] = args;
105
+ return core.startSpan(createSpanOptions(bindingName, "createMultipartUpload", key), async () => {
106
+ const upload = await Reflect.apply(original, target, args);
107
+ return instrumentR2MultipartUpload(upload, bindingName);
108
+ });
109
+ };
110
+ }
111
+ if (prop === "resumeMultipartUpload") {
112
+ const original = Reflect.get(target, prop, receiver);
113
+ return function(...args) {
114
+ const upload = Reflect.apply(original, target, args);
115
+ return instrumentR2MultipartUpload(upload, bindingName);
116
+ };
117
+ }
118
+ return Reflect.get(target, prop, receiver);
119
+ }
120
+ });
121
+ }
122
+
123
+ exports.instrumentR2Bucket = instrumentR2Bucket;
124
+ //# sourceMappingURL=instrumentR2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentR2.js","sources":["../../../../../src/instrumentations/worker/instrumentR2.ts"],"sourcesContent":["import type { R2Bucket, R2ListOptions, R2MultipartUpload } from '@cloudflare/workers-types';\nimport { isObjectLike, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, startSpan } from '@sentry/core';\n\nconst ORIGIN = 'auto.faas.cloudflare.r2';\n\nconst R2_OPERATIONS = {\n get: { spanName: 'r2_get', op: 'object.get', operation: 'GetObject' },\n head: { spanName: 'r2_head', op: 'object.head', operation: 'HeadObject' },\n put: { spanName: 'r2_put', op: 'object.put', operation: 'PutObject' },\n delete: { spanName: 'r2_delete', op: 'object.delete', operation: 'DeleteObject' },\n list: { spanName: 'r2_list', op: 'object.list', operation: 'ListObjects' },\n uploadPart: { spanName: 'r2_uploadPart', op: 'object.upload_part', operation: 'UploadPart' },\n abortMultipartUpload: {\n spanName: 'r2_abortMultipartUpload',\n op: 'object.multipart_upload.abort',\n operation: 'AbortMultipartUpload',\n },\n createMultipartUpload: {\n spanName: 'r2_createMultipartUpload',\n op: 'object.multipart_upload.create',\n operation: 'CreateMultipartUpload',\n },\n completeMultipartUpload: {\n spanName: 'r2_completeMultipartUpload',\n op: 'object.multipart_upload.complete',\n operation: 'CompleteMultipartUpload',\n },\n} as const;\n\ntype R2OperationKey = keyof typeof R2_OPERATIONS;\n\nfunction isR2ListOptions(key: unknown): key is R2ListOptions {\n return isObjectLike(key) && !Array.isArray(key);\n}\n\nfunction createSpanOptions(bindingName: string, r2Op: R2OperationKey, key?: string | string[] | R2ListOptions) {\n const { spanName, op, operation } = R2_OPERATIONS[r2Op];\n const requestKey = Array.isArray(key) ? key.join(', ') : typeof key === 'string' ? key : undefined;\n\n return {\n op,\n name: spanName,\n attributes: {\n 'cloudflare.r2.operation': operation,\n 'cloudflare.r2.bucket': bindingName,\n ...(requestKey !== undefined && { 'cloudflare.r2.request.key': requestKey }),\n ...(isR2ListOptions(key) && key.prefix !== undefined && { 'cloudflare.r2.request.prefix': key.prefix }),\n ...(isR2ListOptions(key) && key.delimiter !== undefined && { 'cloudflare.r2.request.delimiter': key.delimiter }),\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: op,\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n },\n };\n}\n\nfunction instrumentR2MultipartUpload(upload: R2MultipartUpload, bindingName: string): R2MultipartUpload {\n const { key } = upload;\n\n return new Proxy(upload, {\n get(target, prop, receiver) {\n if (prop === 'uploadPart') {\n const original = Reflect.get(target, prop, receiver);\n\n return function (this: unknown, ...args: Parameters<R2MultipartUpload['uploadPart']>) {\n const [partNumber] = args;\n\n return startSpan(\n {\n ...createSpanOptions(bindingName, 'uploadPart', key),\n attributes: {\n ...createSpanOptions(bindingName, 'uploadPart', key).attributes,\n 'cloudflare.r2.request.part_number': partNumber,\n },\n },\n () => Reflect.apply(original, target, args),\n );\n };\n }\n\n if (prop === 'abort') {\n const original = Reflect.get(target, prop, receiver);\n\n return function (this: unknown) {\n return startSpan(createSpanOptions(bindingName, 'abortMultipartUpload', key), () =>\n Reflect.apply(original, target, []),\n );\n };\n }\n\n if (prop === 'complete') {\n const original = Reflect.get(target, prop, receiver);\n\n return function (this: unknown, ...args: Parameters<R2MultipartUpload['complete']>) {\n return startSpan(createSpanOptions(bindingName, 'completeMultipartUpload', key), () =>\n Reflect.apply(original, target, args),\n );\n };\n }\n\n return Reflect.get(target, prop, receiver);\n },\n });\n}\n\n/**\n * Wraps a Cloudflare R2 Bucket binding to create spans on bucket operations.\n *\n * Instrumented methods: get, head, put, delete, list, createMultipartUpload,\n * resumeMultipartUpload (and the resulting multipart upload operations).\n */\nexport function instrumentR2Bucket<T extends R2Bucket>(bucket: T, bindingName: string): T {\n return new Proxy(bucket, {\n get(target, prop, receiver) {\n if (prop === 'get' || prop === 'head' || prop === 'put' || prop === 'delete' || prop === 'list') {\n const original = Reflect.get(target, prop, receiver);\n\n return function (this: unknown, ...args: Parameters<R2Bucket[typeof prop]>) {\n const [key] = args;\n\n return startSpan(createSpanOptions(bindingName, prop, key), () => Reflect.apply(original, target, args));\n };\n }\n\n if (prop === 'createMultipartUpload') {\n const original = Reflect.get(target, prop, receiver) as R2Bucket['createMultipartUpload'];\n\n return function (this: unknown, ...args: Parameters<R2Bucket['createMultipartUpload']>) {\n const [key] = args;\n\n return startSpan(createSpanOptions(bindingName, 'createMultipartUpload', key), async () => {\n const upload = await Reflect.apply(original, target, args);\n return instrumentR2MultipartUpload(upload, bindingName);\n });\n };\n }\n\n if (prop === 'resumeMultipartUpload') {\n const original = Reflect.get(target, prop, receiver);\n\n return function (this: unknown, ...args: Parameters<R2Bucket['resumeMultipartUpload']>) {\n const upload = Reflect.apply(original, target, args);\n\n return instrumentR2MultipartUpload(upload, bindingName);\n };\n }\n\n return Reflect.get(target, prop, receiver);\n },\n });\n}\n"],"names":["isObjectLike","SEMANTIC_ATTRIBUTE_SENTRY_OP","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","startSpan"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core = require('@sentry/core');
4
+
5
+ const ORIGIN = "auto.faas.cloudflare.rate_limit";
6
+ function instrumentRateLimit(rateLimit, bindingName) {
7
+ return new Proxy(rateLimit, {
8
+ get(target, prop, receiver) {
9
+ if (prop !== "limit") {
10
+ return Reflect.get(target, prop, receiver);
11
+ }
12
+ const original = Reflect.get(target, prop, receiver);
13
+ return function(options) {
14
+ return core.startSpan(
15
+ {
16
+ name: `rate_limit ${bindingName}`,
17
+ attributes: {
18
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN
19
+ }
20
+ },
21
+ () => Reflect.apply(original, target, [options])
22
+ );
23
+ };
24
+ }
25
+ });
26
+ }
27
+
28
+ exports.instrumentRateLimit = instrumentRateLimit;
29
+ //# sourceMappingURL=instrumentRateLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentRateLimit.js","sources":["../../../../../src/instrumentations/worker/instrumentRateLimit.ts"],"sourcesContent":["import type { RateLimit, RateLimitOptions, RateLimitOutcome } from '@cloudflare/workers-types';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, startSpan } from '@sentry/core';\n\nconst ORIGIN = 'auto.faas.cloudflare.rate_limit';\n\n/**\n * Wraps a Cloudflare rate limiter binding to create a span on each `limit()` call.\n */\nexport function instrumentRateLimit<T extends RateLimit>(rateLimit: T, bindingName: string): T {\n return new Proxy(rateLimit, {\n get(target, prop, receiver) {\n if (prop !== 'limit') {\n return Reflect.get(target, prop, receiver);\n }\n\n const original = Reflect.get(target, prop, receiver) as RateLimit['limit'];\n\n return function (this: unknown, options: RateLimitOptions): Promise<RateLimitOutcome> {\n return startSpan(\n {\n name: `rate_limit ${bindingName}`,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n },\n },\n () => Reflect.apply(original, target, [options]),\n );\n };\n },\n });\n}\n"],"names":["startSpan","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN"],"mappings":";;;;AAGA,MAAM,MAAA,GAAS,iCAAA;AAKR,SAAS,mBAAA,CAAyC,WAAc,WAAA,EAAwB;AAC7F,EAAA,OAAO,IAAI,MAAM,SAAA,EAAW;AAAA,IAC1B,GAAA,CAAI,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU;AAC1B,MAAA,IAAI,SAAS,OAAA,EAAS;AACpB,QAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,MAAA,EAAQ,IAAA,EAAM,QAAQ,CAAA;AAAA,MAC3C;AAEA,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,GAAA,CAAI,MAAA,EAAQ,MAAM,QAAQ,CAAA;AAEnD,MAAA,OAAO,SAAyB,OAAA,EAAsD;AACpF,QAAA,OAAOA,cAAA;AAAA,UACL;AAAA,YACE,IAAA,EAAM,cAAc,WAAW,CAAA,CAAA;AAAA,YAC/B,UAAA,EAAY;AAAA,cACV,CAACC,qCAAgC,GAAG;AAAA;AACtC,WACF;AAAA,UACA,MAAM,OAAA,CAAQ,KAAA,CAAM,UAAU,MAAA,EAAQ,CAAC,OAAO,CAAC;AAAA,SACjD;AAAA,MACF,CAAA;AAAA,IACF;AAAA,GACD,CAAA;AACH;;;;"}