dd-trace 5.84.0 → 5.86.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 (628) hide show
  1. package/ci/cypress/polyfills.js +1 -1
  2. package/ci/init.js +5 -5
  3. package/ext/exporters.js +1 -1
  4. package/ext/formats.js +1 -1
  5. package/ext/index.js +1 -1
  6. package/ext/kinds.js +1 -1
  7. package/ext/priority.js +1 -1
  8. package/ext/scopes.js +1 -1
  9. package/ext/tags.js +1 -1
  10. package/ext/types.js +1 -1
  11. package/index.d.ts +96 -24
  12. package/initialize.mjs +47 -31
  13. package/loader-hook.mjs +35 -22
  14. package/package.json +34 -31
  15. package/packages/datadog-code-origin/index.js +12 -10
  16. package/packages/datadog-core/src/storage.js +30 -12
  17. package/packages/datadog-core/src/utils/src/pick.js +2 -2
  18. package/packages/datadog-esbuild/index.js +75 -79
  19. package/packages/datadog-esbuild/src/log.js +32 -0
  20. package/packages/datadog-esbuild/src/utils.js +12 -8
  21. package/packages/datadog-instrumentations/src/aerospike.js +3 -3
  22. package/packages/datadog-instrumentations/src/ai.js +5 -5
  23. package/packages/datadog-instrumentations/src/amqp10.js +1 -1
  24. package/packages/datadog-instrumentations/src/amqplib.js +1 -1
  25. package/packages/datadog-instrumentations/src/anthropic.js +3 -3
  26. package/packages/datadog-instrumentations/src/apollo-server.js +4 -4
  27. package/packages/datadog-instrumentations/src/apollo.js +2 -2
  28. package/packages/datadog-instrumentations/src/avsc.js +1 -1
  29. package/packages/datadog-instrumentations/src/aws-sdk.js +4 -4
  30. package/packages/datadog-instrumentations/src/azure-event-hubs.js +2 -2
  31. package/packages/datadog-instrumentations/src/azure-functions.js +1 -1
  32. package/packages/datadog-instrumentations/src/azure-service-bus.js +1 -1
  33. package/packages/datadog-instrumentations/src/body-parser.js +2 -2
  34. package/packages/datadog-instrumentations/src/bunyan.js +1 -1
  35. package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
  36. package/packages/datadog-instrumentations/src/child_process.js +7 -7
  37. package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +17 -16
  38. package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
  39. package/packages/datadog-instrumentations/src/couchbase.js +8 -6
  40. package/packages/datadog-instrumentations/src/crypto.js +1 -1
  41. package/packages/datadog-instrumentations/src/cucumber.js +19 -19
  42. package/packages/datadog-instrumentations/src/cypress.js +1 -1
  43. package/packages/datadog-instrumentations/src/dns.js +2 -2
  44. package/packages/datadog-instrumentations/src/elasticsearch.js +2 -2
  45. package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +2 -2
  46. package/packages/datadog-instrumentations/src/express-session.js +1 -1
  47. package/packages/datadog-instrumentations/src/express.js +4 -4
  48. package/packages/datadog-instrumentations/src/fastify.js +1 -1
  49. package/packages/datadog-instrumentations/src/fetch.js +2 -2
  50. package/packages/datadog-instrumentations/src/fs.js +7 -7
  51. package/packages/datadog-instrumentations/src/generic-pool.js +2 -2
  52. package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +8 -8
  53. package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +4 -4
  54. package/packages/datadog-instrumentations/src/google-genai.js +1 -1
  55. package/packages/datadog-instrumentations/src/graphql.js +10 -10
  56. package/packages/datadog-instrumentations/src/grpc/client.js +9 -13
  57. package/packages/datadog-instrumentations/src/grpc/types.js +1 -1
  58. package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
  59. package/packages/datadog-instrumentations/src/helpers/check-require-cache.js +1 -1
  60. package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +2 -2
  61. package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -1
  62. package/packages/datadog-instrumentations/src/helpers/register.js +7 -7
  63. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -1
  64. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +55 -55
  65. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +1 -1
  66. package/packages/datadog-instrumentations/src/helpers/router-helper.js +7 -7
  67. package/packages/datadog-instrumentations/src/helpers/shared-utils.js +1 -1
  68. package/packages/datadog-instrumentations/src/hono.js +6 -6
  69. package/packages/datadog-instrumentations/src/http/client.js +1 -1
  70. package/packages/datadog-instrumentations/src/http/server.js +4 -4
  71. package/packages/datadog-instrumentations/src/http2/server.js +1 -1
  72. package/packages/datadog-instrumentations/src/ioredis.js +1 -1
  73. package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
  74. package/packages/datadog-instrumentations/src/jest.js +196 -66
  75. package/packages/datadog-instrumentations/src/kafkajs.js +9 -8
  76. package/packages/datadog-instrumentations/src/knex.js +2 -2
  77. package/packages/datadog-instrumentations/src/koa.js +3 -1
  78. package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
  79. package/packages/datadog-instrumentations/src/light-my-request.js +1 -1
  80. package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
  81. package/packages/datadog-instrumentations/src/mariadb.js +1 -1
  82. package/packages/datadog-instrumentations/src/memcached.js +1 -1
  83. package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
  84. package/packages/datadog-instrumentations/src/mocha/main.js +33 -24
  85. package/packages/datadog-instrumentations/src/mocha/utils.js +15 -11
  86. package/packages/datadog-instrumentations/src/mocha/worker.js +4 -4
  87. package/packages/datadog-instrumentations/src/moleculer/server.js +1 -1
  88. package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
  89. package/packages/datadog-instrumentations/src/mongodb.js +7 -7
  90. package/packages/datadog-instrumentations/src/mongoose.js +10 -10
  91. package/packages/datadog-instrumentations/src/mquery.js +6 -6
  92. package/packages/datadog-instrumentations/src/multer.js +1 -1
  93. package/packages/datadog-instrumentations/src/mysql.js +1 -1
  94. package/packages/datadog-instrumentations/src/net.js +6 -6
  95. package/packages/datadog-instrumentations/src/next.js +6 -6
  96. package/packages/datadog-instrumentations/src/nyc.js +34 -2
  97. package/packages/datadog-instrumentations/src/openai.js +24 -24
  98. package/packages/datadog-instrumentations/src/oracledb.js +2 -2
  99. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
  100. package/packages/datadog-instrumentations/src/passport-http.js +1 -1
  101. package/packages/datadog-instrumentations/src/passport-local.js +1 -1
  102. package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
  103. package/packages/datadog-instrumentations/src/passport.js +1 -1
  104. package/packages/datadog-instrumentations/src/pg.js +3 -3
  105. package/packages/datadog-instrumentations/src/pino.js +2 -2
  106. package/packages/datadog-instrumentations/src/playwright.js +59 -59
  107. package/packages/datadog-instrumentations/src/prisma.js +216 -75
  108. package/packages/datadog-instrumentations/src/promise-js.js +1 -1
  109. package/packages/datadog-instrumentations/src/promise.js +1 -1
  110. package/packages/datadog-instrumentations/src/protobufjs.js +6 -6
  111. package/packages/datadog-instrumentations/src/q.js +2 -2
  112. package/packages/datadog-instrumentations/src/redis.js +2 -2
  113. package/packages/datadog-instrumentations/src/rhea.js +5 -5
  114. package/packages/datadog-instrumentations/src/router.js +8 -8
  115. package/packages/datadog-instrumentations/src/selenium.js +3 -3
  116. package/packages/datadog-instrumentations/src/sequelize.js +1 -1
  117. package/packages/datadog-instrumentations/src/sharedb.js +2 -2
  118. package/packages/datadog-instrumentations/src/tedious.js +1 -1
  119. package/packages/datadog-instrumentations/src/undici.js +2 -2
  120. package/packages/datadog-instrumentations/src/url.js +5 -5
  121. package/packages/datadog-instrumentations/src/vitest.js +56 -45
  122. package/packages/datadog-instrumentations/src/when.js +1 -1
  123. package/packages/datadog-instrumentations/src/winston.js +1 -1
  124. package/packages/datadog-instrumentations/src/ws.js +150 -41
  125. package/packages/datadog-plugin-aerospike/src/index.js +4 -4
  126. package/packages/datadog-plugin-ai/src/index.js +1 -1
  127. package/packages/datadog-plugin-ai/src/tracing.js +2 -2
  128. package/packages/datadog-plugin-ai/src/utils.js +1 -1
  129. package/packages/datadog-plugin-amqp10/src/consumer.js +2 -2
  130. package/packages/datadog-plugin-amqp10/src/index.js +1 -1
  131. package/packages/datadog-plugin-amqp10/src/producer.js +2 -2
  132. package/packages/datadog-plugin-amqplib/src/client.js +2 -2
  133. package/packages/datadog-plugin-amqplib/src/consumer.js +2 -2
  134. package/packages/datadog-plugin-amqplib/src/index.js +1 -1
  135. package/packages/datadog-plugin-amqplib/src/producer.js +2 -2
  136. package/packages/datadog-plugin-amqplib/src/util.js +1 -1
  137. package/packages/datadog-plugin-anthropic/src/index.js +1 -1
  138. package/packages/datadog-plugin-anthropic/src/tracing.js +2 -2
  139. package/packages/datadog-plugin-apollo/src/gateway/fetch.js +1 -1
  140. package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
  141. package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -5
  142. package/packages/datadog-plugin-apollo/src/index.js +1 -1
  143. package/packages/datadog-plugin-avsc/src/schema_iterator.js +3 -3
  144. package/packages/datadog-plugin-aws-sdk/src/base.js +11 -10
  145. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
  146. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +1 -1
  147. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +24 -24
  148. package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
  149. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -1
  150. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
  151. package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +3 -3
  152. package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
  153. package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
  154. package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -5
  155. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -12
  156. package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
  157. package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
  158. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +3 -3
  159. package/packages/datadog-plugin-azure-functions/src/index.js +11 -10
  160. package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
  161. package/packages/datadog-plugin-azure-service-bus/src/producer.js +3 -3
  162. package/packages/datadog-plugin-bullmq/src/consumer.js +2 -2
  163. package/packages/datadog-plugin-bullmq/src/index.js +1 -1
  164. package/packages/datadog-plugin-bullmq/src/producer.js +11 -11
  165. package/packages/datadog-plugin-cassandra-driver/src/index.js +2 -2
  166. package/packages/datadog-plugin-child_process/src/index.js +2 -2
  167. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +5 -5
  168. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
  169. package/packages/datadog-plugin-couchbase/src/index.js +3 -3
  170. package/packages/datadog-plugin-cucumber/src/index.js +17 -23
  171. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +73 -56
  172. package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
  173. package/packages/datadog-plugin-cypress/src/support.js +56 -9
  174. package/packages/datadog-plugin-dd-trace-api/src/index.js +1 -1
  175. package/packages/datadog-plugin-dns/src/index.js +1 -1
  176. package/packages/datadog-plugin-dns/src/lookup.js +2 -2
  177. package/packages/datadog-plugin-dns/src/lookup_service.js +3 -3
  178. package/packages/datadog-plugin-dns/src/resolve.js +2 -2
  179. package/packages/datadog-plugin-dns/src/reverse.js +2 -2
  180. package/packages/datadog-plugin-elasticsearch/src/index.js +2 -2
  181. package/packages/datadog-plugin-express/src/index.js +1 -1
  182. package/packages/datadog-plugin-fastify/src/index.js +1 -1
  183. package/packages/datadog-plugin-fs/src/index.js +2 -2
  184. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +2 -2
  185. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +10 -10
  186. package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
  187. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +11 -10
  188. package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +6 -6
  189. package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
  190. package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +2 -2
  191. package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +1 -1
  192. package/packages/datadog-plugin-google-genai/src/index.js +1 -1
  193. package/packages/datadog-plugin-google-genai/src/tracing.js +2 -2
  194. package/packages/datadog-plugin-graphql/src/execute.js +2 -2
  195. package/packages/datadog-plugin-graphql/src/index.js +2 -2
  196. package/packages/datadog-plugin-graphql/src/parse.js +1 -1
  197. package/packages/datadog-plugin-graphql/src/resolve.js +6 -6
  198. package/packages/datadog-plugin-graphql/src/utils.js +1 -1
  199. package/packages/datadog-plugin-graphql/src/validate.js +2 -2
  200. package/packages/datadog-plugin-grpc/src/client.js +3 -3
  201. package/packages/datadog-plugin-grpc/src/index.js +1 -1
  202. package/packages/datadog-plugin-grpc/src/server.js +3 -3
  203. package/packages/datadog-plugin-grpc/src/util.js +2 -2
  204. package/packages/datadog-plugin-http/src/client.js +10 -10
  205. package/packages/datadog-plugin-http/src/index.js +1 -1
  206. package/packages/datadog-plugin-http/src/server.js +23 -8
  207. package/packages/datadog-plugin-http2/src/client.js +6 -6
  208. package/packages/datadog-plugin-http2/src/index.js +1 -1
  209. package/packages/datadog-plugin-http2/src/server.js +1 -1
  210. package/packages/datadog-plugin-jest/src/index.js +67 -31
  211. package/packages/datadog-plugin-jest/src/util.js +8 -2
  212. package/packages/datadog-plugin-kafkajs/src/consumer.js +5 -5
  213. package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
  214. package/packages/datadog-plugin-kafkajs/src/producer.js +5 -5
  215. package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
  216. package/packages/datadog-plugin-langchain/src/tokens.js +2 -2
  217. package/packages/datadog-plugin-langchain/src/tracing.js +4 -4
  218. package/packages/datadog-plugin-memcached/src/index.js +2 -2
  219. package/packages/datadog-plugin-mocha/src/index.js +15 -27
  220. package/packages/datadog-plugin-moleculer/src/client.js +1 -1
  221. package/packages/datadog-plugin-moleculer/src/index.js +1 -1
  222. package/packages/datadog-plugin-moleculer/src/server.js +2 -2
  223. package/packages/datadog-plugin-moleculer/src/util.js +1 -1
  224. package/packages/datadog-plugin-mongodb-core/src/index.js +5 -5
  225. package/packages/datadog-plugin-mysql/src/index.js +2 -2
  226. package/packages/datadog-plugin-net/src/ipc.js +2 -2
  227. package/packages/datadog-plugin-net/src/tcp.js +4 -4
  228. package/packages/datadog-plugin-next/src/index.js +4 -4
  229. package/packages/datadog-plugin-nyc/src/index.js +60 -0
  230. package/packages/datadog-plugin-openai/src/index.js +1 -1
  231. package/packages/datadog-plugin-openai/src/services.js +3 -3
  232. package/packages/datadog-plugin-openai/src/stream-helpers.js +1 -1
  233. package/packages/datadog-plugin-openai/src/tracing.js +10 -10
  234. package/packages/datadog-plugin-oracledb/src/connection-parser.js +1 -1
  235. package/packages/datadog-plugin-oracledb/src/index.js +1 -1
  236. package/packages/datadog-plugin-pg/src/index.js +2 -2
  237. package/packages/datadog-plugin-playwright/src/index.js +22 -19
  238. package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +118 -0
  239. package/packages/datadog-plugin-prisma/src/index.js +132 -10
  240. package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +3 -3
  241. package/packages/datadog-plugin-redis/src/index.js +2 -2
  242. package/packages/datadog-plugin-restify/src/index.js +1 -1
  243. package/packages/datadog-plugin-rhea/src/consumer.js +2 -2
  244. package/packages/datadog-plugin-rhea/src/index.js +1 -1
  245. package/packages/datadog-plugin-rhea/src/producer.js +2 -2
  246. package/packages/datadog-plugin-router/src/index.js +31 -22
  247. package/packages/datadog-plugin-selenium/src/index.js +2 -2
  248. package/packages/datadog-plugin-sharedb/src/index.js +2 -2
  249. package/packages/datadog-plugin-tedious/src/index.js +2 -2
  250. package/packages/datadog-plugin-undici/src/index.js +5 -5
  251. package/packages/datadog-plugin-vitest/src/index.js +42 -25
  252. package/packages/datadog-plugin-ws/src/close.js +10 -11
  253. package/packages/datadog-plugin-ws/src/index.js +1 -1
  254. package/packages/datadog-plugin-ws/src/producer.js +8 -9
  255. package/packages/datadog-plugin-ws/src/receiver.js +8 -9
  256. package/packages/datadog-plugin-ws/src/server.js +25 -12
  257. package/packages/datadog-plugin-ws/src/util.js +48 -16
  258. package/packages/datadog-shimmer/src/shimmer.js +3 -3
  259. package/packages/dd-trace/index.js +2 -2
  260. package/packages/dd-trace/src/agent/info.js +2 -2
  261. package/packages/dd-trace/src/agent/url.js +1 -1
  262. package/packages/dd-trace/src/aiguard/client.js +3 -3
  263. package/packages/dd-trace/src/aiguard/sdk.js +6 -6
  264. package/packages/dd-trace/src/aiguard/tags.js +1 -1
  265. package/packages/dd-trace/src/analytics_sampler.js +1 -1
  266. package/packages/dd-trace/src/appsec/activation.js +1 -1
  267. package/packages/dd-trace/src/appsec/addresses.js +1 -1
  268. package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
  269. package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
  270. package/packages/dd-trace/src/appsec/blocking.js +5 -5
  271. package/packages/dd-trace/src/appsec/channels.js +1 -1
  272. package/packages/dd-trace/src/appsec/graphql.js +13 -13
  273. package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +1 -1
  274. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
  275. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +6 -5
  276. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +2 -2
  277. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-rule-type.js +1 -1
  278. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +148 -148
  279. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +148 -148
  280. package/packages/dd-trace/src/appsec/iast/analyzers/index.js +1 -1
  281. package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +1 -1
  282. package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +7 -8
  283. package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +2 -2
  284. package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +2 -2
  285. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +2 -2
  286. package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +3 -3
  287. package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
  288. package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +2 -2
  289. package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +3 -3
  290. package/packages/dd-trace/src/appsec/iast/iast-context.js +6 -3
  291. package/packages/dd-trace/src/appsec/iast/iast-plugin.js +17 -9
  292. package/packages/dd-trace/src/appsec/iast/index.js +2 -2
  293. package/packages/dd-trace/src/appsec/iast/overhead-controller.js +9 -9
  294. package/packages/dd-trace/src/appsec/iast/path-line.js +7 -6
  295. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +11 -11
  296. package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +49 -17
  297. package/packages/dd-trace/src/appsec/iast/tags.js +1 -1
  298. package/packages/dd-trace/src/appsec/iast/taint-tracking/constants.js +1 -1
  299. package/packages/dd-trace/src/appsec/iast/taint-tracking/csi-methods.js +2 -2
  300. package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +1 -1
  301. package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +2 -2
  302. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -6
  303. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +2 -2
  304. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +5 -5
  305. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +4 -4
  306. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -5
  307. package/packages/dd-trace/src/appsec/iast/taint-tracking/secure-marks.js +6 -4
  308. package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +1 -1
  309. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +8 -8
  310. package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +4 -4
  311. package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +2 -2
  312. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +6 -6
  313. package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -2
  314. package/packages/dd-trace/src/appsec/iast/utils.js +3 -3
  315. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/constants.js +1 -1
  316. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +1 -1
  317. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/hardcoded-password-analyzer.js +1 -1
  318. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +6 -6
  319. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/tainted-range-based-sensitive-analyzer.js +1 -1
  320. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +8 -8
  321. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +1 -1
  322. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +12 -11
  323. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +5 -5
  324. package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +1 -1
  325. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -4
  326. package/packages/dd-trace/src/appsec/index.js +20 -22
  327. package/packages/dd-trace/src/appsec/rasp/command_injection.js +3 -3
  328. package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +4 -4
  329. package/packages/dd-trace/src/appsec/rasp/index.js +2 -2
  330. package/packages/dd-trace/src/appsec/rasp/lfi.js +5 -5
  331. package/packages/dd-trace/src/appsec/rasp/sql_injection.js +2 -2
  332. package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
  333. package/packages/dd-trace/src/appsec/rasp/utils.js +4 -4
  334. package/packages/dd-trace/src/appsec/rc-products.js +1 -1
  335. package/packages/dd-trace/src/appsec/remote_config.js +3 -3
  336. package/packages/dd-trace/src/appsec/reporter.js +11 -11
  337. package/packages/dd-trace/src/appsec/rule_manager.js +1 -1
  338. package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
  339. package/packages/dd-trace/src/appsec/sdk/set_user.js +2 -2
  340. package/packages/dd-trace/src/appsec/sdk/track_event.js +7 -7
  341. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
  342. package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
  343. package/packages/dd-trace/src/appsec/stack_trace.js +5 -5
  344. package/packages/dd-trace/src/appsec/telemetry/common.js +3 -3
  345. package/packages/dd-trace/src/appsec/telemetry/index.js +5 -5
  346. package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -3
  347. package/packages/dd-trace/src/appsec/telemetry/user.js +4 -4
  348. package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -3
  349. package/packages/dd-trace/src/appsec/user_tracking.js +7 -7
  350. package/packages/dd-trace/src/appsec/waf/diagnostics.js +2 -2
  351. package/packages/dd-trace/src/appsec/waf/index.js +1 -1
  352. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +2 -2
  353. package/packages/dd-trace/src/azure_metadata.js +16 -9
  354. package/packages/dd-trace/src/baggage.js +1 -1
  355. package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +82 -0
  356. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -5
  357. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +9 -9
  358. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +9 -9
  359. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +8 -7
  360. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
  361. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +5 -3
  362. package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -0
  363. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +4 -3
  364. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +37 -11
  365. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +22 -22
  366. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +20 -1
  367. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
  368. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +8 -8
  369. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +3 -3
  370. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +17 -12
  371. package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +107 -0
  372. package/packages/dd-trace/src/ci-visibility/telemetry.js +38 -2
  373. package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +1 -1
  374. package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +50 -7
  375. package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +61 -0
  376. package/packages/dd-trace/src/config/defaults.js +1 -1
  377. package/packages/dd-trace/src/config/git_properties.js +1 -1
  378. package/packages/dd-trace/src/config/helper.js +2 -2
  379. package/packages/dd-trace/src/config/index.js +612 -622
  380. package/packages/dd-trace/src/config/remote_config.js +1 -1
  381. package/packages/dd-trace/src/config/stable.js +2 -2
  382. package/packages/dd-trace/src/config/supported-configurations.json +1 -0
  383. package/packages/dd-trace/src/constants.js +3 -3
  384. package/packages/dd-trace/src/crashtracking/crashtracker.js +6 -6
  385. package/packages/dd-trace/src/datastreams/checkpointer.js +1 -1
  386. package/packages/dd-trace/src/datastreams/context.js +1 -1
  387. package/packages/dd-trace/src/datastreams/encoding.js +1 -1
  388. package/packages/dd-trace/src/datastreams/fnv.js +1 -1
  389. package/packages/dd-trace/src/datastreams/index.js +8 -8
  390. package/packages/dd-trace/src/datastreams/pathway.js +5 -3
  391. package/packages/dd-trace/src/datastreams/processor.js +14 -12
  392. package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +27 -25
  393. package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +1 -1
  394. package/packages/dd-trace/src/datastreams/size.js +3 -3
  395. package/packages/dd-trace/src/datastreams/writer.js +3 -3
  396. package/packages/dd-trace/src/debugger/config.js +2 -1
  397. package/packages/dd-trace/src/debugger/constants.js +7 -0
  398. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +14 -10
  399. package/packages/dd-trace/src/debugger/devtools_client/condition.js +2 -2
  400. package/packages/dd-trace/src/debugger/devtools_client/config.js +4 -5
  401. package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
  402. package/packages/dd-trace/src/debugger/devtools_client/index.js +32 -25
  403. package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +1 -1
  404. package/packages/dd-trace/src/debugger/devtools_client/log.js +1 -1
  405. package/packages/dd-trace/src/debugger/devtools_client/send.js +54 -10
  406. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +94 -37
  407. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +4 -4
  408. package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +7 -7
  409. package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +2 -2
  410. package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
  411. package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -1
  412. package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +10 -1
  413. package/packages/dd-trace/src/debugger/devtools_client/state.js +65 -8
  414. package/packages/dd-trace/src/debugger/devtools_client/status.js +9 -8
  415. package/packages/dd-trace/src/debugger/index.js +95 -37
  416. package/packages/dd-trace/src/dogstatsd.js +14 -9
  417. package/packages/dd-trace/src/encode/0.4.js +7 -6
  418. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +8 -8
  419. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +3 -3
  420. package/packages/dd-trace/src/encode/span-stats.js +2 -2
  421. package/packages/dd-trace/src/encode/tags-processors.js +1 -1
  422. package/packages/dd-trace/src/exporters/agent/index.js +1 -1
  423. package/packages/dd-trace/src/exporters/agent/writer.js +2 -2
  424. package/packages/dd-trace/src/exporters/common/agents.js +1 -1
  425. package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -2
  426. package/packages/dd-trace/src/exporters/common/docker.js +11 -7
  427. package/packages/dd-trace/src/exporters/common/request.js +41 -21
  428. package/packages/dd-trace/src/exporters/common/url-to-http-options-polyfill.js +2 -2
  429. package/packages/dd-trace/src/exporters/common/writer.js +2 -0
  430. package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
  431. package/packages/dd-trace/src/exporters/span-stats/writer.js +3 -3
  432. package/packages/dd-trace/src/external-logger/src/index.js +4 -4
  433. package/packages/dd-trace/src/flare/index.js +3 -3
  434. package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
  435. package/packages/dd-trace/src/heap_snapshots.js +1 -1
  436. package/packages/dd-trace/src/id.js +2 -2
  437. package/packages/dd-trace/src/iitm.js +1 -1
  438. package/packages/dd-trace/src/lambda/context.js +27 -0
  439. package/packages/dd-trace/src/lambda/handler.js +6 -19
  440. package/packages/dd-trace/src/lambda/runtime/errors.js +1 -1
  441. package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
  442. package/packages/dd-trace/src/llmobs/constants/tags.js +1 -1
  443. package/packages/dd-trace/src/llmobs/constants/text.js +1 -1
  444. package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
  445. package/packages/dd-trace/src/llmobs/index.js +2 -4
  446. package/packages/dd-trace/src/llmobs/noop.js +2 -2
  447. package/packages/dd-trace/src/llmobs/plugins/ai/index.js +8 -8
  448. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +2 -2
  449. package/packages/dd-trace/src/llmobs/plugins/anthropic.js +5 -5
  450. package/packages/dd-trace/src/llmobs/plugins/base.js +1 -1
  451. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +8 -8
  452. package/packages/dd-trace/src/llmobs/plugins/genai/index.js +2 -2
  453. package/packages/dd-trace/src/llmobs/plugins/genai/util.js +15 -15
  454. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +2 -2
  455. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +5 -5
  456. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
  457. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +3 -3
  458. package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +1 -1
  459. package/packages/dd-trace/src/llmobs/plugins/openai/index.js +17 -17
  460. package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +3 -3
  461. package/packages/dd-trace/src/llmobs/plugins/vertexai.js +6 -6
  462. package/packages/dd-trace/src/llmobs/sdk.js +11 -11
  463. package/packages/dd-trace/src/llmobs/span_processor.js +6 -6
  464. package/packages/dd-trace/src/llmobs/tagger.js +4 -4
  465. package/packages/dd-trace/src/llmobs/telemetry.js +8 -8
  466. package/packages/dd-trace/src/llmobs/util.js +1 -1
  467. package/packages/dd-trace/src/llmobs/writers/base.js +9 -9
  468. package/packages/dd-trace/src/llmobs/writers/evaluations.js +5 -5
  469. package/packages/dd-trace/src/llmobs/writers/spans.js +3 -3
  470. package/packages/dd-trace/src/llmobs/writers/util.js +1 -1
  471. package/packages/dd-trace/src/log/channels.js +2 -2
  472. package/packages/dd-trace/src/log/index.js +2 -2
  473. package/packages/dd-trace/src/log/log.js +1 -1
  474. package/packages/dd-trace/src/log/writer.js +2 -6
  475. package/packages/dd-trace/src/noop/span.js +2 -2
  476. package/packages/dd-trace/src/openfeature/constants/constants.js +1 -1
  477. package/packages/dd-trace/src/openfeature/flagging_provider.js +4 -4
  478. package/packages/dd-trace/src/openfeature/index.js +2 -2
  479. package/packages/dd-trace/src/openfeature/noop.js +3 -3
  480. package/packages/dd-trace/src/openfeature/remote_config.js +1 -1
  481. package/packages/dd-trace/src/openfeature/writers/base.js +12 -12
  482. package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
  483. package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
  484. package/packages/dd-trace/src/opentelemetry/context_manager.js +48 -29
  485. package/packages/dd-trace/src/opentelemetry/logs/index.js +2 -2
  486. package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +2 -2
  487. package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +10 -10
  488. package/packages/dd-trace/src/opentelemetry/metrics/constants.js +3 -3
  489. package/packages/dd-trace/src/opentelemetry/metrics/index.js +2 -2
  490. package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
  491. package/packages/dd-trace/src/opentelemetry/metrics/meter.js +1 -1
  492. package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +11 -11
  493. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +18 -18
  494. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +6 -6
  495. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +10 -7
  496. package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +3 -3
  497. package/packages/dd-trace/src/opentelemetry/span.js +8 -8
  498. package/packages/dd-trace/src/opentelemetry/span_context.js +1 -1
  499. package/packages/dd-trace/src/opentelemetry/span_processor.js +1 -1
  500. package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
  501. package/packages/dd-trace/src/opentracing/propagation/log.js +2 -2
  502. package/packages/dd-trace/src/opentracing/propagation/text_map.js +14 -12
  503. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
  504. package/packages/dd-trace/src/opentracing/span.js +20 -20
  505. package/packages/dd-trace/src/opentracing/span_context.js +3 -3
  506. package/packages/dd-trace/src/opentracing/tracer.js +3 -3
  507. package/packages/dd-trace/src/payload-tagging/config/index.js +1 -1
  508. package/packages/dd-trace/src/payload-tagging/index.js +1 -1
  509. package/packages/dd-trace/src/payload-tagging/tagging.js +2 -2
  510. package/packages/dd-trace/src/plugin_manager.js +6 -6
  511. package/packages/dd-trace/src/plugins/apollo.js +4 -4
  512. package/packages/dd-trace/src/plugins/ci_plugin.js +164 -37
  513. package/packages/dd-trace/src/plugins/database.js +1 -1
  514. package/packages/dd-trace/src/plugins/index.js +1 -1
  515. package/packages/dd-trace/src/plugins/log_plugin.js +2 -2
  516. package/packages/dd-trace/src/plugins/outbound.js +9 -8
  517. package/packages/dd-trace/src/plugins/plugin.js +17 -7
  518. package/packages/dd-trace/src/plugins/producer.js +6 -5
  519. package/packages/dd-trace/src/plugins/tracing.js +37 -8
  520. package/packages/dd-trace/src/plugins/util/ci.js +40 -40
  521. package/packages/dd-trace/src/plugins/util/env.js +2 -2
  522. package/packages/dd-trace/src/plugins/util/git-cache.js +2 -2
  523. package/packages/dd-trace/src/plugins/util/git.js +46 -47
  524. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +6 -6
  525. package/packages/dd-trace/src/plugins/util/ip_extractor.js +3 -3
  526. package/packages/dd-trace/src/plugins/util/llm.js +1 -1
  527. package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -3
  528. package/packages/dd-trace/src/plugins/util/tags.js +1 -1
  529. package/packages/dd-trace/src/plugins/util/test.js +49 -41
  530. package/packages/dd-trace/src/plugins/util/url.js +1 -1
  531. package/packages/dd-trace/src/plugins/util/urlfilter.js +1 -1
  532. package/packages/dd-trace/src/plugins/util/user-provided-git.js +2 -2
  533. package/packages/dd-trace/src/plugins/util/web.js +13 -12
  534. package/packages/dd-trace/src/priority_sampler.js +4 -4
  535. package/packages/dd-trace/src/process-tags/index.js +2 -2
  536. package/packages/dd-trace/src/profiler.js +1 -1
  537. package/packages/dd-trace/src/profiling/config.js +14 -22
  538. package/packages/dd-trace/src/profiling/constants.js +2 -2
  539. package/packages/dd-trace/src/profiling/exporter_cli.js +3 -3
  540. package/packages/dd-trace/src/profiling/exporters/agent.js +28 -29
  541. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +8 -8
  542. package/packages/dd-trace/src/profiling/index.js +1 -1
  543. package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
  544. package/packages/dd-trace/src/profiling/loggers/console.js +1 -1
  545. package/packages/dd-trace/src/profiling/profiler.js +23 -23
  546. package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
  547. package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +3 -3
  548. package/packages/dd-trace/src/profiling/profilers/events.js +27 -19
  549. package/packages/dd-trace/src/profiling/profilers/shared.js +2 -2
  550. package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
  551. package/packages/dd-trace/src/profiling/tagger.js +1 -1
  552. package/packages/dd-trace/src/profiling/webspan-utils.js +2 -2
  553. package/packages/dd-trace/src/proxy.js +13 -13
  554. package/packages/dd-trace/src/remote_config/apply_states.js +1 -1
  555. package/packages/dd-trace/src/remote_config/index.js +15 -15
  556. package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
  557. package/packages/dd-trace/src/ritm.js +1 -1
  558. package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
  559. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
  560. package/packages/dd-trace/src/serverless.js +1 -1
  561. package/packages/dd-trace/src/service-naming/extra-services.js +1 -1
  562. package/packages/dd-trace/src/service-naming/index.js +1 -1
  563. package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +3 -3
  564. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +25 -25
  565. package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +3 -3
  566. package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +18 -18
  567. package/packages/dd-trace/src/service-naming/schemas/v0/web.js +23 -23
  568. package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +9 -9
  569. package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +3 -3
  570. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +21 -21
  571. package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +3 -3
  572. package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +17 -17
  573. package/packages/dd-trace/src/service-naming/schemas/v1/web.js +23 -23
  574. package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +9 -9
  575. package/packages/dd-trace/src/span_format.js +4 -4
  576. package/packages/dd-trace/src/span_sampler.js +1 -1
  577. package/packages/dd-trace/src/span_stats.js +11 -11
  578. package/packages/dd-trace/src/spanleak.js +1 -1
  579. package/packages/dd-trace/src/standalone/index.js +1 -1
  580. package/packages/dd-trace/src/standalone/product.js +2 -2
  581. package/packages/dd-trace/src/standalone/tracesource.js +1 -1
  582. package/packages/dd-trace/src/startup-log.js +3 -2
  583. package/packages/dd-trace/src/tagger.js +3 -1
  584. package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
  585. package/packages/dd-trace/src/telemetry/endpoints.js +4 -4
  586. package/packages/dd-trace/src/telemetry/index.js +1 -1
  587. package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
  588. package/packages/dd-trace/src/telemetry/logs/log-collector.js +2 -2
  589. package/packages/dd-trace/src/telemetry/metrics.js +6 -6
  590. package/packages/dd-trace/src/telemetry/send-data.js +5 -5
  591. package/packages/dd-trace/src/telemetry/telemetry.js +10 -10
  592. package/packages/dd-trace/src/tracer.js +3 -2
  593. package/packages/dd-trace/src/util.js +1 -1
  594. package/scripts/preinstall.js +1 -1
  595. package/vendor/dist/@datadog/sketches-js/index.js +1 -1
  596. package/vendor/dist/@datadog/source-map/index.js +1 -1
  597. package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
  598. package/vendor/dist/@opentelemetry/core/index.js +1 -1
  599. package/vendor/dist/@opentelemetry/resources/index.js +1 -1
  600. package/vendor/dist/astring/index.js +1 -1
  601. package/vendor/dist/crypto-randomuuid/index.js +1 -1
  602. package/vendor/dist/escape-string-regexp/index.js +1 -1
  603. package/vendor/dist/esquery/index.js +1 -1
  604. package/vendor/dist/ignore/index.js +1 -1
  605. package/vendor/dist/istanbul-lib-coverage/index.js +1 -1
  606. package/vendor/dist/jest-docblock/index.js +1 -1
  607. package/vendor/dist/jsonpath-plus/index.js +1 -1
  608. package/vendor/dist/limiter/index.js +1 -1
  609. package/vendor/dist/lodash.sortby/index.js +1 -1
  610. package/vendor/dist/lru-cache/index.js +1 -1
  611. package/vendor/dist/meriyah/index.js +1 -1
  612. package/vendor/dist/module-details-from-path/index.js +1 -1
  613. package/vendor/dist/mutexify/promise/index.js +1 -1
  614. package/vendor/dist/opentracing/index.js +1 -1
  615. package/vendor/dist/path-to-regexp/index.js +1 -1
  616. package/vendor/dist/pprof-format/index.js +1 -1
  617. package/vendor/dist/protobufjs/index.js +1 -1
  618. package/vendor/dist/protobufjs/minimal/index.js +1 -1
  619. package/vendor/dist/retry/index.js +1 -1
  620. package/vendor/dist/rfdc/index.js +1 -1
  621. package/vendor/dist/semifies/index.js +1 -1
  622. package/vendor/dist/shell-quote/index.js +1 -1
  623. package/vendor/dist/source-map/index.js +1 -1
  624. package/vendor/dist/source-map/lib/util/index.js +1 -1
  625. package/vendor/dist/tlhunter-sorted-set/index.js +1 -1
  626. package/vendor/dist/ttl-set/index.js +1 -1
  627. package/packages/datadog-plugin-prisma/src/client.js +0 -60
  628. package/packages/datadog-plugin-prisma/src/engine.js +0 -81
@@ -7,23 +7,26 @@ const {
7
7
  getCoveredFilenamesFromCoverage,
8
8
  JEST_WORKER_TRACE_PAYLOAD_CODE,
9
9
  JEST_WORKER_COVERAGE_PAYLOAD_CODE,
10
+ JEST_WORKER_TELEMETRY_PAYLOAD_CODE,
10
11
  getTestLineStart,
11
12
  getTestSuitePath,
12
13
  getTestParametersString,
13
14
  getIsFaultyEarlyFlakeDetection,
14
15
  JEST_WORKER_LOGS_PAYLOAD_CODE,
15
16
  getTestEndLine,
16
- isModifiedTest
17
+ isModifiedTest,
17
18
  } = require('../../dd-trace/src/plugins/util/test')
18
19
  const {
20
+ SEED_SUFFIX_RE,
19
21
  getFormattedJestTestParameters,
20
22
  getJestTestName,
21
- getJestSuitesToRun
23
+ getJestSuitesToRun,
22
24
  } = require('../../datadog-plugin-jest/src/util')
23
25
  const { addHook, channel } = require('./helpers/instrument')
24
26
 
25
27
  const testSessionStartCh = channel('ci:jest:session:start')
26
28
  const testSessionFinishCh = channel('ci:jest:session:finish')
29
+ const codeCoverageReportCh = channel('ci:jest:coverage-report')
27
30
 
28
31
  const testSessionConfigurationCh = channel('ci:jest:session:configuration')
29
32
 
@@ -34,6 +37,7 @@ const testSuiteErrorCh = channel('ci:jest:test-suite:error')
34
37
  const workerReportTraceCh = channel('ci:jest:worker-report:trace')
35
38
  const workerReportCoverageCh = channel('ci:jest:worker-report:coverage')
36
39
  const workerReportLogsCh = channel('ci:jest:worker-report:logs')
40
+ const workerReportTelemetryCh = channel('ci:jest:worker-report:telemetry')
37
41
 
38
42
  const testSuiteCodeCoverageCh = channel('ci:jest:test-suite:code-coverage')
39
43
 
@@ -54,6 +58,7 @@ const itrSkippedSuitesCh = channel('ci:jest:itr:skipped-suites')
54
58
  // Message sent by jest's main process to workers to run a test suite (=test file)
55
59
  // https://github.com/jestjs/jest/blob/1d682f21c7a35da4d3ab3a1436a357b980ebd0fa/packages/jest-worker/src/types.ts#L37
56
60
  const CHILD_MESSAGE_CALL = 1
61
+
57
62
  // Maximum time we'll wait for the tracer to flush
58
63
  const FLUSH_TIMEOUT = 10_000
59
64
 
@@ -284,7 +289,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
284
289
  return {
285
290
  attemptToFix: [],
286
291
  disabled: [],
287
- quarantined: []
292
+ quarantined: [],
288
293
  }
289
294
  }
290
295
  let testManagementTestsForSuite = testManagementTests
@@ -297,10 +302,10 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
297
302
  const result = {
298
303
  attemptToFix: [],
299
304
  disabled: [],
300
- quarantined: []
305
+ quarantined: [],
301
306
  }
302
307
 
303
- Object.entries(testManagementTestsForSuite).forEach(([testName, { properties }]) => {
308
+ for (const [testName, { properties }] of Object.entries(testManagementTestsForSuite)) {
304
309
  if (properties?.attempt_to_fix) {
305
310
  result.attemptToFix.push(testName)
306
311
  }
@@ -310,7 +315,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
310
315
  if (properties?.quarantined) {
311
316
  result.quarantined.push(testName)
312
317
  }
313
- })
318
+ }
314
319
 
315
320
  return result
316
321
  }
@@ -319,7 +324,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
319
324
  retryTest ({
320
325
  jestEvent,
321
326
  retryCount,
322
- retryType
327
+ retryType,
323
328
  }) {
324
329
  const { testName, fn, timeout } = jestEvent
325
330
  for (let retryIndex = 0; retryIndex < retryCount; retryIndex++) {
@@ -428,7 +433,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
428
433
  isDisabled,
429
434
  isQuarantined,
430
435
  isModified,
431
- testSuiteAbsolutePath: this.testSuiteAbsolutePath
436
+ testSuiteAbsolutePath: this.testSuiteAbsolutePath,
432
437
  }
433
438
  testContexts.set(event.test, ctx)
434
439
 
@@ -475,7 +480,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
475
480
  this.retryTest({
476
481
  jestEvent: event,
477
482
  retryCount: testManagementAttemptToFixRetries,
478
- retryType: 'Test Management (Attempt to Fix)'
483
+ retryType: 'Test Management (Attempt to Fix)',
479
484
  })
480
485
  }
481
486
  if (!isAttemptToFix && this.isImpactedTestsEnabled) {
@@ -494,7 +499,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
494
499
  this.retryTest({
495
500
  jestEvent: event,
496
501
  retryCount: earlyFlakeDetectionNumRetries,
497
- retryType: 'Impacted tests'
502
+ retryType: 'Impacted tests',
498
503
  })
499
504
  }
500
505
  }
@@ -507,13 +512,14 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
507
512
  this.retryTest({
508
513
  jestEvent: event,
509
514
  retryCount: earlyFlakeDetectionNumRetries,
510
- retryType: 'Early flake detection'
515
+ retryType: 'Early flake detection',
511
516
  })
512
517
  }
513
518
  }
514
519
  }
515
520
  }
516
521
  if (event.name === 'test_done') {
522
+ const originalError = event.test?.errors?.[0]
517
523
  let status = 'pass'
518
524
  if (event.test.errors && event.test.errors.length) {
519
525
  status = 'fail'
@@ -560,8 +566,8 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
560
566
 
561
567
  let isEfdRetry = false
562
568
  // We'll store the test statuses of the retries
569
+ const testName = getJestTestName(event.test, this.getShouldStripSeedFromTestName())
563
570
  if (this.isKnownTestsEnabled) {
564
- const testName = getJestTestName(event.test, this.getShouldStripSeedFromTestName())
565
571
  const isNewTest = retriedTestsToNumAttempts.has(testName)
566
572
  if (isNewTest) {
567
573
  if (newTestsTestStatuses.has(testName)) {
@@ -576,18 +582,27 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
576
582
  const promises = {}
577
583
  const numRetries = this.global[RETRY_TIMES]
578
584
  const numTestExecutions = event.test?.invocations
579
- const willBeRetried = numRetries > 0 && numTestExecutions - 1 < numRetries
585
+ const willBeRetriedByFailedTestReplay = numRetries > 0 && numTestExecutions - 1 < numRetries
580
586
  const mightHitBreakpoint = this.isDiEnabled && numTestExecutions >= 2
581
587
 
582
588
  const ctx = testContexts.get(event.test)
583
589
 
590
+ const finalStatus = this.getFinalStatus(testName,
591
+ status,
592
+ !!ctx?.isNew,
593
+ !!ctx?.isModified,
594
+ isEfdRetry,
595
+ isAttemptToFix,
596
+ numTestExecutions)
597
+
584
598
  if (status === 'fail') {
585
- const shouldSetProbe = this.isDiEnabled && willBeRetried && numTestExecutions === 1
599
+ const shouldSetProbe = this.isDiEnabled && willBeRetriedByFailedTestReplay && numTestExecutions === 1
586
600
  testErrCh.publish({
587
601
  ...ctx.currentStore,
588
- error: formatJestError(event.test.errors[0]),
602
+ error: formatJestError(originalError),
589
603
  shouldSetProbe,
590
- promises
604
+ promises,
605
+ finalStatus,
591
606
  })
592
607
  }
593
608
 
@@ -613,7 +628,8 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
613
628
  attemptToFixPassed,
614
629
  failedAllTests,
615
630
  attemptToFixFailed,
616
- isAtrRetry
631
+ isAtrRetry,
632
+ finalStatus,
617
633
  })
618
634
 
619
635
  if (promises.isProbeReady) {
@@ -635,13 +651,102 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
635
651
  testSourceFile: this.testSourceFile,
636
652
  displayName: this.displayName,
637
653
  frameworkVersion: jestVersion,
638
- testStartLine: getTestLineStart(event.test.asyncError, this.testSuite)
654
+ testStartLine: getTestLineStart(event.test.asyncError, this.testSuite),
639
655
  },
640
- isDisabled: this.testManagementTestsForThisSuite?.disabled?.includes(testName)
656
+ isDisabled: this.testManagementTestsForThisSuite?.disabled?.includes(testName),
641
657
  })
642
658
  }
643
659
  }
644
660
 
661
+ getEfdResult ({ testName, isNewTest, isModifiedTest, isEfdRetry, numberOfExecutedRetries }) {
662
+ const isEfdEnabled = this.isEarlyFlakeDetectionEnabled
663
+ const isEfdActive = isEfdEnabled && (isNewTest || isModifiedTest)
664
+ const isLastEfdRetry = isEfdRetry && numberOfExecutedRetries >= (earlyFlakeDetectionNumRetries + 1)
665
+ const isFinalEfdTestExecution = isEfdActive && isLastEfdRetry
666
+
667
+ let finalStatus
668
+ if (isEfdActive && isFinalEfdTestExecution) {
669
+ // For EFD: The framework reports 'pass' if ANY attempt passed (flaky but not failing)
670
+ const testStatuses = newTestsTestStatuses.get(testName)
671
+ finalStatus = testStatuses && testStatuses.includes('pass') ? 'pass' : 'fail'
672
+ }
673
+
674
+ return { isEfdEnabled, isEfdActive, isFinalEfdTestExecution, finalStatus }
675
+ }
676
+
677
+ getAtrResult ({ status, isEfdRetry, isAttemptToFix, numberOfTestInvocations }) {
678
+ const isAtrEnabled =
679
+ this.isFlakyTestRetriesEnabled &&
680
+ !isEfdRetry &&
681
+ !isAttemptToFix &&
682
+ Number.isFinite(this.global[RETRY_TIMES])
683
+ const isLastAtrRetry =
684
+ status === 'pass' || numberOfTestInvocations >= (Number(this.global[RETRY_TIMES]) + 1)
685
+ const isFinalAtrTestExecution = isAtrEnabled && isLastAtrRetry
686
+
687
+ // For ATR: The last execution's status is what the framework reports
688
+ return { isAtrEnabled, isFinalAtrTestExecution, finalStatus: status }
689
+ }
690
+
691
+ getAttemptToFixResult ({ testName, isAttemptToFix, numberOfExecutedRetries }) {
692
+ const isAttemptToFixEnabled =
693
+ this.isTestManagementTestsEnabled &&
694
+ isAttemptToFix &&
695
+ Number.isFinite(testManagementAttemptToFixRetries)
696
+ const isFinalAttemptToFixExecution = isAttemptToFixEnabled &&
697
+ numberOfExecutedRetries >= (testManagementAttemptToFixRetries + 1)
698
+
699
+ let finalStatus
700
+ if (isAttemptToFixEnabled && isFinalAttemptToFixExecution) {
701
+ // For Attempt to Fix: 'pass' only if ALL attempts passed, 'fail' if ANY failed
702
+ const testStatuses = attemptToFixRetriedTestsStatuses.get(testName)
703
+ finalStatus = testStatuses && testStatuses.every(status => status === 'pass') ? 'pass' : 'fail'
704
+ }
705
+
706
+ return { isAttemptToFixEnabled, isFinalAttemptToFixExecution, finalStatus }
707
+ }
708
+
709
+ getFinalStatus (testName, status, isNewTest, isModifiedTest, isEfdRetry, isAttemptToFix, numberOfTestInvocations) {
710
+ const numberOfExecutedRetries = retriedTestsToNumAttempts.get(testName) ?? 0
711
+
712
+ const efdResult = this.getEfdResult({
713
+ testName,
714
+ isNewTest,
715
+ isModifiedTest,
716
+ isEfdRetry,
717
+ numberOfExecutedRetries,
718
+ })
719
+ const atrResult = this.getAtrResult({ status, isEfdRetry, isAttemptToFix, numberOfTestInvocations })
720
+ const attemptToFixResult = this.getAttemptToFixResult({
721
+ testName,
722
+ isAttemptToFix,
723
+ numberOfExecutedRetries,
724
+ })
725
+
726
+ // When no retry features are active, every test execution is final
727
+ const noRetryFeaturesActive =
728
+ !efdResult.isEfdActive &&
729
+ !atrResult.isAtrEnabled &&
730
+ !attemptToFixResult.isAttemptToFixEnabled
731
+ const isFinalTestExecution = noRetryFeaturesActive ||
732
+ efdResult.isFinalEfdTestExecution ||
733
+ atrResult.isFinalAtrTestExecution ||
734
+ attemptToFixResult.isFinalAttemptToFixExecution
735
+
736
+ if (!isFinalTestExecution) {
737
+ return
738
+ }
739
+
740
+ // If the test is quarantined, regardless of its actual execution result,
741
+ // the final status of its last execution should be reported as 'skip'.
742
+ if (this.isTestManagementTestsEnabled &&
743
+ this.testManagementTestsForThisSuite?.quarantined?.includes(testName)) {
744
+ return 'skip'
745
+ }
746
+
747
+ return efdResult.finalStatus || attemptToFixResult.finalStatus || atrResult.finalStatus
748
+ }
749
+
645
750
  teardown () {
646
751
  if (this._globalProxy?.propertyToValue) {
647
752
  for (const [key] of this._globalProxy.propertyToValue) {
@@ -667,7 +772,7 @@ function getTestEnvironment (pkg, jestVersion) {
667
772
  return wrappedTestEnvironment
668
773
  }
669
774
  return target[prop]
670
- }
775
+ },
671
776
  })
672
777
  }
673
778
  return getWrappedEnvironment(pkg, jestVersion)
@@ -676,9 +781,7 @@ function getTestEnvironment (pkg, jestVersion) {
676
781
  function applySuiteSkipping (originalTests, rootDir, frameworkVersion) {
677
782
  const jestSuitesToRun = getJestSuitesToRun(skippableSuites, originalTests, rootDir || process.cwd())
678
783
  hasFilteredSkippableSuites = true
679
- log.debug(
680
- () => `${jestSuitesToRun.suitesToRun.length} out of ${originalTests.length} suites are going to run.`
681
- )
784
+ log.debug('%d out of %d suites are going to run.', jestSuitesToRun.suitesToRun.length, originalTests.length)
682
785
  hasUnskippableSuites = jestSuitesToRun.hasUnskippableSuites
683
786
  hasForcedToRunSuites = jestSuitesToRun.hasForcedToRunSuites
684
787
 
@@ -692,17 +795,17 @@ function applySuiteSkipping (originalTests, rootDir, frameworkVersion) {
692
795
 
693
796
  addHook({
694
797
  name: 'jest-environment-node',
695
- versions: ['>=24.8.0']
798
+ versions: ['>=24.8.0'],
696
799
  }, getTestEnvironment)
697
800
 
698
801
  addHook({
699
802
  name: 'jest-environment-jsdom',
700
- versions: ['>=24.8.0']
803
+ versions: ['>=24.8.0'],
701
804
  }, getTestEnvironment)
702
805
 
703
806
  addHook({
704
807
  name: '@happy-dom/jest-environment',
705
- versions: ['>=10.0.0']
808
+ versions: ['>=10.0.0'],
706
809
  }, getTestEnvironment)
707
810
 
708
811
  function getWrappedScheduleTests (scheduleTests, frameworkVersion) {
@@ -856,7 +959,7 @@ function getCliWrapper (isNewJestVersion) {
856
959
  isTestManagementTestsEnabled = false
857
960
  testManagementTests = {}
858
961
  } else {
859
- testManagementTests = receivedTestManagementTests
962
+ testManagementTests = receivedTestManagementTests || {}
860
963
  }
861
964
  } catch (err) {
862
965
  log.error('Jest test management tests error', err)
@@ -892,8 +995,8 @@ function getCliWrapper (isNewJestVersion) {
892
995
  numFailedTestSuites,
893
996
  numFailedTests,
894
997
  numTotalTests,
895
- numTotalTestSuites
896
- }
998
+ numTotalTestSuites,
999
+ },
897
1000
  } = result
898
1001
 
899
1002
  let testCodeCoverageLinesTotal
@@ -914,33 +1017,39 @@ function getCliWrapper (isNewJestVersion) {
914
1017
  * The rationale behind is the following: you may still be able to block your CI pipeline by gating
915
1018
  * on flakiness (the test will be considered flaky), but you may choose to unblock the pipeline too.
916
1019
  */
1020
+ let numEfdFailedTestsToIgnore = 0
917
1021
  if (isEarlyFlakeDetectionEnabled) {
918
- let numFailedTestsToIgnore = 0
919
1022
  for (const testStatuses of newTestsTestStatuses.values()) {
920
1023
  const { pass, fail } = getTestStats(testStatuses)
921
1024
  if (pass > 0) { // as long as one passes, we'll consider the test passed
922
- numFailedTestsToIgnore += fail
1025
+ numEfdFailedTestsToIgnore += fail
923
1026
  }
924
1027
  }
925
1028
  // If every test that failed was an EFD retry, we'll consider the suite passed
926
- if (numFailedTestsToIgnore !== 0 && result.results.numFailedTests === numFailedTestsToIgnore) {
1029
+ if (numEfdFailedTestsToIgnore !== 0 && result.results.numFailedTests === numEfdFailedTestsToIgnore) {
927
1030
  result.results.success = true
928
1031
  }
929
1032
  }
930
1033
 
1034
+ let numFailedQuarantinedTests = 0
1035
+ let numFailedQuarantinedOrDisabledAttemptedToFixTests = 0
931
1036
  if (isTestManagementTestsEnabled) {
932
1037
  const failedTests = result
933
1038
  .results
934
1039
  .testResults.flatMap(({ testResults, testFilePath: testSuiteAbsolutePath }) => (
935
1040
  testResults.map(({ fullName: testName, status }) => (
936
- { testName, testSuiteAbsolutePath, status }
1041
+ {
1042
+ // Strip @fast-check/jest seed suffix so the name matches what was reported via TEST_NAME
1043
+ testName: testSuiteAbsolutePathsWithFastCheck.has(testSuiteAbsolutePath)
1044
+ ? testName.replace(SEED_SUFFIX_RE, '')
1045
+ : testName,
1046
+ testSuiteAbsolutePath,
1047
+ status,
1048
+ }
937
1049
  ))
938
1050
  ))
939
1051
  .filter(({ status }) => status === 'failed')
940
1052
 
941
- let numFailedQuarantinedTests = 0
942
- let numFailedQuarantinedOrDisabledAttemptedToFixTests = 0
943
-
944
1053
  for (const { testName, testSuiteAbsolutePath } of failedTests) {
945
1054
  const testSuite = getTestSuitePath(testSuiteAbsolutePath, result.globalConfig.rootDir)
946
1055
  const testManagementTest = testManagementTests
@@ -971,6 +1080,16 @@ function getCliWrapper (isNewJestVersion) {
971
1080
  }
972
1081
  }
973
1082
 
1083
+ // Combined check: if all failed tests are accounted for by EFD (flaky retries) and/or quarantine,
1084
+ // we should consider the suite passed even when neither check alone covers all failures.
1085
+ if (!result.results.success && (isEarlyFlakeDetectionEnabled || isTestManagementTestsEnabled)) {
1086
+ const totalIgnoredFailures =
1087
+ numEfdFailedTestsToIgnore + numFailedQuarantinedTests + numFailedQuarantinedOrDisabledAttemptedToFixTests
1088
+ if (totalIgnoredFailures !== 0 && result.results.numFailedTests === totalIgnoredFailures) {
1089
+ result.results.success = true
1090
+ }
1091
+ }
1092
+
974
1093
  // Determine session status after EFD and quarantine checks have potentially modified success
975
1094
  let status, error
976
1095
  if (result.results.success) {
@@ -1009,7 +1128,7 @@ function getCliWrapper (isNewJestVersion) {
1009
1128
  isEarlyFlakeDetectionEnabled,
1010
1129
  isEarlyFlakeDetectionFaulty,
1011
1130
  isTestManagementTestsEnabled,
1012
- onDone
1131
+ onDone,
1013
1132
  })
1014
1133
 
1015
1134
  const waitingResult = await Promise.race([flushPromise, timeoutPromise])
@@ -1018,11 +1137,18 @@ function getCliWrapper (isNewJestVersion) {
1018
1137
  log.error('Timeout waiting for the tracer to flush')
1019
1138
  }
1020
1139
 
1140
+ if (codeCoverageReportCh.hasSubscribers) {
1141
+ const rootDir = result.globalConfig?.rootDir || process.cwd()
1142
+ await new Promise((resolve) => {
1143
+ codeCoverageReportCh.publish({ rootDir, onDone: resolve })
1144
+ })
1145
+ }
1146
+
1021
1147
  numSkippedSuites = 0
1022
1148
 
1023
1149
  return result
1024
1150
  }, {
1025
- replaceGetter: true
1151
+ replaceGetter: true,
1026
1152
  })
1027
1153
  }
1028
1154
  }
@@ -1051,7 +1177,7 @@ function coverageReporterWrapper (coverageReporter) {
1051
1177
  addHook({
1052
1178
  name: '@jest/core',
1053
1179
  file: 'build/TestScheduler.js',
1054
- versions: ['>=27.0.0']
1180
+ versions: ['>=27.0.0'],
1055
1181
  }, (testSchedulerPackage, frameworkVersion) => {
1056
1182
  const oldCreateTestScheduler = testSchedulerPackage.createTestScheduler
1057
1183
  const newCreateTestScheduler = async function () {
@@ -1070,7 +1196,7 @@ addHook({
1070
1196
  addHook({
1071
1197
  name: '@jest/core',
1072
1198
  file: 'build/TestScheduler.js',
1073
- versions: ['>=24.8.0 <27.0.0']
1199
+ versions: ['>=24.8.0 <27.0.0'],
1074
1200
  }, (testSchedulerPackage, frameworkVersion) => {
1075
1201
  shimmer.wrap(
1076
1202
  testSchedulerPackage.default.prototype,
@@ -1081,7 +1207,7 @@ addHook({
1081
1207
 
1082
1208
  addHook({
1083
1209
  name: '@jest/test-sequencer',
1084
- versions: ['>=28']
1210
+ versions: ['>=28'],
1085
1211
  }, (sequencerPackage, frameworkVersion) => {
1086
1212
  shimmer.wrap(sequencerPackage.default.prototype, 'shard', shard => function () {
1087
1213
  const shardedTests = shard.apply(this, arguments)
@@ -1100,18 +1226,18 @@ addHook({
1100
1226
  addHook({
1101
1227
  name: '@jest/reporters',
1102
1228
  file: 'build/coverage_reporter.js',
1103
- versions: ['>=24.8.0 <26.6.2']
1229
+ versions: ['>=24.8.0 <26.6.2'],
1104
1230
  }, coverageReporterWrapper)
1105
1231
 
1106
1232
  addHook({
1107
1233
  name: '@jest/reporters',
1108
1234
  file: 'build/CoverageReporter.js',
1109
- versions: ['>=26.6.2']
1235
+ versions: ['>=26.6.2'],
1110
1236
  }, coverageReporterWrapper)
1111
1237
 
1112
1238
  addHook({
1113
1239
  name: '@jest/reporters',
1114
- versions: ['>=30.0.0']
1240
+ versions: ['>=30.0.0'],
1115
1241
  }, (reporters) => {
1116
1242
  return shimmer.wrap(reporters, 'CoverageReporter', coverageReporterWrapper, { replaceGetter: true })
1117
1243
  })
@@ -1119,12 +1245,12 @@ addHook({
1119
1245
  addHook({
1120
1246
  name: '@jest/core',
1121
1247
  file: 'build/cli/index.js',
1122
- versions: ['>=24.8.0 <30.0.0']
1248
+ versions: ['>=24.8.0 <30.0.0'],
1123
1249
  }, getCliWrapper(false))
1124
1250
 
1125
1251
  addHook({
1126
1252
  name: '@jest/core',
1127
- versions: ['>=30.0.0']
1253
+ versions: ['>=30.0.0'],
1128
1254
  }, getCliWrapper(true))
1129
1255
 
1130
1256
  function jestAdapterWrapper (jestAdapter, jestVersion) {
@@ -1140,7 +1266,7 @@ function jestAdapterWrapper (jestAdapter, jestVersion) {
1140
1266
  testSourceFile: environment.testSourceFile,
1141
1267
  displayName: environment.displayName,
1142
1268
  frameworkVersion: jestVersion,
1143
- testSuiteAbsolutePath: environment.testSuiteAbsolutePath
1269
+ testSuiteAbsolutePath: environment.testSuiteAbsolutePath,
1144
1270
  })
1145
1271
  return adapter.apply(this, arguments).then(suiteResults => {
1146
1272
  const { numFailingTests, skipped, failureMessage: errorMessage } = suiteResults
@@ -1168,7 +1294,7 @@ function jestAdapterWrapper (jestAdapter, jestVersion) {
1168
1294
  coverageFiles,
1169
1295
  testSuite: environment.testSourceFile,
1170
1296
  mockedFiles,
1171
- testSuiteAbsolutePath: environment.testSuiteAbsolutePath
1297
+ testSuiteAbsolutePath: environment.testSuiteAbsolutePath,
1172
1298
  })
1173
1299
  }
1174
1300
  testSuiteFinishCh.publish({ status, errorMessage, testSuiteAbsolutePath: environment.testSuiteAbsolutePath })
@@ -1200,13 +1326,13 @@ function jestAdapterWrapper (jestAdapter, jestVersion) {
1200
1326
  addHook({
1201
1327
  name: 'jest-circus',
1202
1328
  file: 'build/runner.js',
1203
- versions: ['>=30.0.0']
1329
+ versions: ['>=30.0.0'],
1204
1330
  }, jestAdapterWrapper)
1205
1331
 
1206
1332
  addHook({
1207
1333
  name: 'jest-circus',
1208
1334
  file: 'build/legacy-code-todo-rewrite/jestAdapter.js',
1209
- versions: ['>=24.8.0']
1335
+ versions: ['>=24.8.0'],
1210
1336
  }, jestAdapterWrapper)
1211
1337
 
1212
1338
  function configureTestEnvironment (readConfigsResult) {
@@ -1214,9 +1340,9 @@ function configureTestEnvironment (readConfigsResult) {
1214
1340
  testSessionConfigurationCh.publish(configs.map(config => config.testEnvironmentOptions))
1215
1341
  // We can't directly use isCodeCoverageEnabled when reporting coverage in `jestAdapterWrapper`
1216
1342
  // because `jestAdapterWrapper` runs in a different process. We have to go through `testEnvironmentOptions`
1217
- configs.forEach(config => {
1343
+ for (const config of configs) {
1218
1344
  config.testEnvironmentOptions._ddTestCodeCoverageEnabled = isCodeCoverageEnabled
1219
- })
1345
+ }
1220
1346
 
1221
1347
  isUserCodeCoverageEnabled = !!readConfigsResult.globalConfig.collectCoverage
1222
1348
 
@@ -1227,7 +1353,7 @@ function configureTestEnvironment (readConfigsResult) {
1227
1353
  if (isCodeCoverageEnabled) {
1228
1354
  const globalConfig = {
1229
1355
  ...readConfigsResult.globalConfig,
1230
- collectCoverage: true
1356
+ collectCoverage: true,
1231
1357
  }
1232
1358
  readConfigsResult.globalConfig = globalConfig
1233
1359
  }
@@ -1238,7 +1364,7 @@ function configureTestEnvironment (readConfigsResult) {
1238
1364
  const globalConfig = {
1239
1365
  ...readConfigsResult.globalConfig,
1240
1366
  coverageReporters: ['none'],
1241
- passWithNoTests: true
1367
+ passWithNoTests: true,
1242
1368
  }
1243
1369
  readConfigsResult.globalConfig = globalConfig
1244
1370
  }
@@ -1265,7 +1391,7 @@ function jestConfigSyncWrapper (jestConfig) {
1265
1391
  addHook({
1266
1392
  name: '@jest/transform',
1267
1393
  versions: ['>=24.8.0'],
1268
- file: 'build/ScriptTransformer.js'
1394
+ file: 'build/ScriptTransformer.js',
1269
1395
  }, transformPackage => {
1270
1396
  const originalCreateScriptTransformer = transformPackage.createScriptTransformer
1271
1397
 
@@ -1311,18 +1437,18 @@ addHook({
1311
1437
  addHook({
1312
1438
  name: '@jest/core',
1313
1439
  versions: ['>=24.8.0 <30.0.0'],
1314
- file: 'build/SearchSource.js'
1440
+ file: 'build/SearchSource.js',
1315
1441
  }, searchSourceWrapper)
1316
1442
 
1317
1443
  // from 25.1.0 on, readConfigs becomes async
1318
1444
  addHook({
1319
1445
  name: 'jest-config',
1320
- versions: ['>=25.1.0']
1446
+ versions: ['>=25.1.0'],
1321
1447
  }, jestConfigAsyncWrapper)
1322
1448
 
1323
1449
  addHook({
1324
1450
  name: 'jest-config',
1325
- versions: ['24.8.0 - 24.9.0']
1451
+ versions: ['24.8.0 - 24.9.0'],
1326
1452
  }, jestConfigSyncWrapper)
1327
1453
 
1328
1454
  const LIBRARIES_BYPASSING_JEST_REQUIRE_ENGINE = new Set([
@@ -1333,12 +1459,12 @@ const LIBRARIES_BYPASSING_JEST_REQUIRE_ENGINE = new Set([
1333
1459
  'selenium-webdriver/firefox',
1334
1460
  'selenium-webdriver/ie',
1335
1461
  'selenium-webdriver/chromium',
1336
- 'winston'
1462
+ 'winston',
1337
1463
  ])
1338
1464
 
1339
1465
  addHook({
1340
1466
  name: 'jest-runtime',
1341
- versions: ['>=24.8.0']
1467
+ versions: ['>=24.8.0'],
1342
1468
  }, (runtimePackage) => {
1343
1469
  const Runtime = runtimePackage.default ?? runtimePackage
1344
1470
 
@@ -1395,12 +1521,12 @@ addHook({
1395
1521
  const errorMessage = [...this.loggedReferenceErrors][0]
1396
1522
  testSuiteErrorCh.publish({
1397
1523
  errorMessage,
1398
- testSuiteAbsolutePath: this._testPath
1524
+ testSuiteAbsolutePath: this._testPath,
1399
1525
  })
1400
1526
  } else {
1401
1527
  testSuiteErrorCh.publish({
1402
1528
  errorMessage: 'An error occurred while importing a module',
1403
- testSuiteAbsolutePath: this._testPath
1529
+ testSuiteAbsolutePath: this._testPath,
1404
1530
  })
1405
1531
  }
1406
1532
  }
@@ -1429,6 +1555,10 @@ function onMessageWrapper (onMessage) {
1429
1555
  workerReportLogsCh.publish(data)
1430
1556
  return
1431
1557
  }
1558
+ if (code === JEST_WORKER_TELEMETRY_PAYLOAD_CODE) { // datadog telemetry payload
1559
+ workerReportTelemetryCh.publish(data)
1560
+ return
1561
+ }
1432
1562
  return onMessage.apply(this, arguments)
1433
1563
  }
1434
1564
  }
@@ -1466,8 +1596,8 @@ function sendWrapper (send) {
1466
1596
  _ddTestManagementTests: suiteTestManagementTests,
1467
1597
  // TODO: figure out if we can reduce the size of the modified files object
1468
1598
  // Can we use `testSuite` (it'd have to be relative to repository root though)
1469
- _ddModifiedFiles: modifiedFiles
1470
- }
1599
+ _ddModifiedFiles: modifiedFiles,
1600
+ },
1471
1601
  }
1472
1602
  }
1473
1603
  return send.apply(this, arguments)
@@ -1499,7 +1629,7 @@ function enqueueWrapper (enqueue) {
1499
1629
  addHook({
1500
1630
  name: 'jest-worker',
1501
1631
  versions: ['>=24.9.0 <30.0.0'],
1502
- file: 'build/workers/ChildProcessWorker.js'
1632
+ file: 'build/workers/ChildProcessWorker.js',
1503
1633
  }, (childProcessWorker) => {
1504
1634
  const ChildProcessWorker = childProcessWorker.default
1505
1635
  shimmer.wrap(ChildProcessWorker.prototype, 'send', sendWrapper)
@@ -1513,7 +1643,7 @@ addHook({
1513
1643
 
1514
1644
  addHook({
1515
1645
  name: 'jest-worker',
1516
- versions: ['>=30.0.0']
1646
+ versions: ['>=30.0.0'],
1517
1647
  }, (jestWorkerPackage) => {
1518
1648
  shimmer.wrap(jestWorkerPackage.FifoQueue.prototype, 'enqueue', enqueueWrapper)
1519
1649
  shimmer.wrap(jestWorkerPackage.PriorityQueue.prototype, 'enqueue', enqueueWrapper)