dd-trace 5.84.0 → 5.85.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 (625) 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 +76 -23
  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/utils/src/pick.js +2 -2
  17. package/packages/datadog-esbuild/index.js +75 -79
  18. package/packages/datadog-esbuild/src/log.js +32 -0
  19. package/packages/datadog-esbuild/src/utils.js +12 -8
  20. package/packages/datadog-instrumentations/src/aerospike.js +3 -3
  21. package/packages/datadog-instrumentations/src/ai.js +5 -5
  22. package/packages/datadog-instrumentations/src/amqp10.js +1 -1
  23. package/packages/datadog-instrumentations/src/amqplib.js +1 -1
  24. package/packages/datadog-instrumentations/src/anthropic.js +3 -3
  25. package/packages/datadog-instrumentations/src/apollo-server.js +4 -4
  26. package/packages/datadog-instrumentations/src/apollo.js +2 -2
  27. package/packages/datadog-instrumentations/src/avsc.js +1 -1
  28. package/packages/datadog-instrumentations/src/aws-sdk.js +4 -4
  29. package/packages/datadog-instrumentations/src/azure-event-hubs.js +2 -2
  30. package/packages/datadog-instrumentations/src/azure-functions.js +1 -1
  31. package/packages/datadog-instrumentations/src/azure-service-bus.js +1 -1
  32. package/packages/datadog-instrumentations/src/body-parser.js +2 -2
  33. package/packages/datadog-instrumentations/src/bunyan.js +1 -1
  34. package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
  35. package/packages/datadog-instrumentations/src/child_process.js +7 -7
  36. package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +17 -16
  37. package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
  38. package/packages/datadog-instrumentations/src/couchbase.js +8 -6
  39. package/packages/datadog-instrumentations/src/crypto.js +1 -1
  40. package/packages/datadog-instrumentations/src/cucumber.js +19 -19
  41. package/packages/datadog-instrumentations/src/cypress.js +1 -1
  42. package/packages/datadog-instrumentations/src/dns.js +2 -2
  43. package/packages/datadog-instrumentations/src/elasticsearch.js +2 -2
  44. package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +2 -2
  45. package/packages/datadog-instrumentations/src/express-session.js +1 -1
  46. package/packages/datadog-instrumentations/src/express.js +4 -4
  47. package/packages/datadog-instrumentations/src/fastify.js +1 -1
  48. package/packages/datadog-instrumentations/src/fetch.js +2 -2
  49. package/packages/datadog-instrumentations/src/fs.js +7 -7
  50. package/packages/datadog-instrumentations/src/generic-pool.js +2 -2
  51. package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +8 -8
  52. package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +4 -4
  53. package/packages/datadog-instrumentations/src/google-genai.js +1 -1
  54. package/packages/datadog-instrumentations/src/graphql.js +10 -10
  55. package/packages/datadog-instrumentations/src/grpc/client.js +9 -13
  56. package/packages/datadog-instrumentations/src/grpc/types.js +1 -1
  57. package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
  58. package/packages/datadog-instrumentations/src/helpers/check-require-cache.js +1 -1
  59. package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +2 -2
  60. package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -1
  61. package/packages/datadog-instrumentations/src/helpers/register.js +7 -7
  62. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -1
  63. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +55 -55
  64. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +1 -1
  65. package/packages/datadog-instrumentations/src/helpers/router-helper.js +7 -7
  66. package/packages/datadog-instrumentations/src/helpers/shared-utils.js +1 -1
  67. package/packages/datadog-instrumentations/src/hono.js +6 -6
  68. package/packages/datadog-instrumentations/src/http/client.js +1 -1
  69. package/packages/datadog-instrumentations/src/http/server.js +4 -4
  70. package/packages/datadog-instrumentations/src/http2/server.js +1 -1
  71. package/packages/datadog-instrumentations/src/ioredis.js +1 -1
  72. package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
  73. package/packages/datadog-instrumentations/src/jest.js +162 -57
  74. package/packages/datadog-instrumentations/src/kafkajs.js +9 -8
  75. package/packages/datadog-instrumentations/src/knex.js +2 -2
  76. package/packages/datadog-instrumentations/src/koa.js +3 -1
  77. package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
  78. package/packages/datadog-instrumentations/src/light-my-request.js +1 -1
  79. package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
  80. package/packages/datadog-instrumentations/src/mariadb.js +1 -1
  81. package/packages/datadog-instrumentations/src/memcached.js +1 -1
  82. package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
  83. package/packages/datadog-instrumentations/src/mocha/main.js +24 -24
  84. package/packages/datadog-instrumentations/src/mocha/utils.js +15 -11
  85. package/packages/datadog-instrumentations/src/mocha/worker.js +4 -4
  86. package/packages/datadog-instrumentations/src/moleculer/server.js +1 -1
  87. package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
  88. package/packages/datadog-instrumentations/src/mongodb.js +7 -7
  89. package/packages/datadog-instrumentations/src/mongoose.js +10 -10
  90. package/packages/datadog-instrumentations/src/mquery.js +6 -6
  91. package/packages/datadog-instrumentations/src/multer.js +1 -1
  92. package/packages/datadog-instrumentations/src/mysql.js +1 -1
  93. package/packages/datadog-instrumentations/src/net.js +6 -6
  94. package/packages/datadog-instrumentations/src/next.js +6 -6
  95. package/packages/datadog-instrumentations/src/nyc.js +34 -2
  96. package/packages/datadog-instrumentations/src/openai.js +24 -24
  97. package/packages/datadog-instrumentations/src/oracledb.js +2 -2
  98. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
  99. package/packages/datadog-instrumentations/src/passport-http.js +1 -1
  100. package/packages/datadog-instrumentations/src/passport-local.js +1 -1
  101. package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
  102. package/packages/datadog-instrumentations/src/passport.js +1 -1
  103. package/packages/datadog-instrumentations/src/pg.js +3 -3
  104. package/packages/datadog-instrumentations/src/pino.js +2 -2
  105. package/packages/datadog-instrumentations/src/playwright.js +59 -59
  106. package/packages/datadog-instrumentations/src/prisma.js +24 -78
  107. package/packages/datadog-instrumentations/src/promise-js.js +1 -1
  108. package/packages/datadog-instrumentations/src/promise.js +1 -1
  109. package/packages/datadog-instrumentations/src/protobufjs.js +6 -6
  110. package/packages/datadog-instrumentations/src/q.js +2 -2
  111. package/packages/datadog-instrumentations/src/redis.js +2 -2
  112. package/packages/datadog-instrumentations/src/rhea.js +5 -5
  113. package/packages/datadog-instrumentations/src/router.js +8 -8
  114. package/packages/datadog-instrumentations/src/selenium.js +3 -3
  115. package/packages/datadog-instrumentations/src/sequelize.js +1 -1
  116. package/packages/datadog-instrumentations/src/sharedb.js +2 -2
  117. package/packages/datadog-instrumentations/src/tedious.js +1 -1
  118. package/packages/datadog-instrumentations/src/undici.js +2 -2
  119. package/packages/datadog-instrumentations/src/url.js +5 -5
  120. package/packages/datadog-instrumentations/src/vitest.js +56 -45
  121. package/packages/datadog-instrumentations/src/when.js +1 -1
  122. package/packages/datadog-instrumentations/src/winston.js +1 -1
  123. package/packages/datadog-instrumentations/src/ws.js +128 -41
  124. package/packages/datadog-plugin-aerospike/src/index.js +4 -4
  125. package/packages/datadog-plugin-ai/src/index.js +1 -1
  126. package/packages/datadog-plugin-ai/src/tracing.js +2 -2
  127. package/packages/datadog-plugin-ai/src/utils.js +1 -1
  128. package/packages/datadog-plugin-amqp10/src/consumer.js +2 -2
  129. package/packages/datadog-plugin-amqp10/src/index.js +1 -1
  130. package/packages/datadog-plugin-amqp10/src/producer.js +2 -2
  131. package/packages/datadog-plugin-amqplib/src/client.js +2 -2
  132. package/packages/datadog-plugin-amqplib/src/consumer.js +2 -2
  133. package/packages/datadog-plugin-amqplib/src/index.js +1 -1
  134. package/packages/datadog-plugin-amqplib/src/producer.js +2 -2
  135. package/packages/datadog-plugin-amqplib/src/util.js +1 -1
  136. package/packages/datadog-plugin-anthropic/src/index.js +1 -1
  137. package/packages/datadog-plugin-anthropic/src/tracing.js +2 -2
  138. package/packages/datadog-plugin-apollo/src/gateway/fetch.js +1 -1
  139. package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
  140. package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -5
  141. package/packages/datadog-plugin-apollo/src/index.js +1 -1
  142. package/packages/datadog-plugin-avsc/src/schema_iterator.js +3 -3
  143. package/packages/datadog-plugin-aws-sdk/src/base.js +11 -10
  144. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
  145. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +1 -1
  146. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +24 -24
  147. package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
  148. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -1
  149. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
  150. package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +3 -3
  151. package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
  152. package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
  153. package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -5
  154. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -12
  155. package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
  156. package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
  157. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +3 -3
  158. package/packages/datadog-plugin-azure-functions/src/index.js +11 -10
  159. package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
  160. package/packages/datadog-plugin-azure-service-bus/src/producer.js +3 -3
  161. package/packages/datadog-plugin-bullmq/src/consumer.js +2 -2
  162. package/packages/datadog-plugin-bullmq/src/index.js +1 -1
  163. package/packages/datadog-plugin-bullmq/src/producer.js +11 -11
  164. package/packages/datadog-plugin-cassandra-driver/src/index.js +2 -2
  165. package/packages/datadog-plugin-child_process/src/index.js +2 -2
  166. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +5 -5
  167. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
  168. package/packages/datadog-plugin-couchbase/src/index.js +3 -3
  169. package/packages/datadog-plugin-cucumber/src/index.js +14 -14
  170. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +68 -55
  171. package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
  172. package/packages/datadog-plugin-cypress/src/support.js +56 -9
  173. package/packages/datadog-plugin-dd-trace-api/src/index.js +1 -1
  174. package/packages/datadog-plugin-dns/src/index.js +1 -1
  175. package/packages/datadog-plugin-dns/src/lookup.js +2 -2
  176. package/packages/datadog-plugin-dns/src/lookup_service.js +3 -3
  177. package/packages/datadog-plugin-dns/src/resolve.js +2 -2
  178. package/packages/datadog-plugin-dns/src/reverse.js +2 -2
  179. package/packages/datadog-plugin-elasticsearch/src/index.js +2 -2
  180. package/packages/datadog-plugin-express/src/index.js +1 -1
  181. package/packages/datadog-plugin-fastify/src/index.js +1 -1
  182. package/packages/datadog-plugin-fs/src/index.js +2 -2
  183. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +2 -2
  184. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +8 -6
  185. package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
  186. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +11 -10
  187. package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +6 -6
  188. package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
  189. package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +2 -2
  190. package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +1 -1
  191. package/packages/datadog-plugin-google-genai/src/index.js +1 -1
  192. package/packages/datadog-plugin-google-genai/src/tracing.js +2 -2
  193. package/packages/datadog-plugin-graphql/src/execute.js +2 -2
  194. package/packages/datadog-plugin-graphql/src/index.js +2 -2
  195. package/packages/datadog-plugin-graphql/src/parse.js +1 -1
  196. package/packages/datadog-plugin-graphql/src/resolve.js +6 -6
  197. package/packages/datadog-plugin-graphql/src/utils.js +1 -1
  198. package/packages/datadog-plugin-graphql/src/validate.js +2 -2
  199. package/packages/datadog-plugin-grpc/src/client.js +3 -3
  200. package/packages/datadog-plugin-grpc/src/index.js +1 -1
  201. package/packages/datadog-plugin-grpc/src/server.js +3 -3
  202. package/packages/datadog-plugin-grpc/src/util.js +2 -2
  203. package/packages/datadog-plugin-http/src/client.js +10 -10
  204. package/packages/datadog-plugin-http/src/index.js +1 -1
  205. package/packages/datadog-plugin-http2/src/client.js +6 -6
  206. package/packages/datadog-plugin-http2/src/index.js +1 -1
  207. package/packages/datadog-plugin-http2/src/server.js +1 -1
  208. package/packages/datadog-plugin-jest/src/index.js +39 -22
  209. package/packages/datadog-plugin-jest/src/util.js +1 -1
  210. package/packages/datadog-plugin-kafkajs/src/consumer.js +5 -5
  211. package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
  212. package/packages/datadog-plugin-kafkajs/src/producer.js +5 -5
  213. package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
  214. package/packages/datadog-plugin-langchain/src/tokens.js +2 -2
  215. package/packages/datadog-plugin-langchain/src/tracing.js +4 -4
  216. package/packages/datadog-plugin-memcached/src/index.js +2 -2
  217. package/packages/datadog-plugin-mocha/src/index.js +12 -12
  218. package/packages/datadog-plugin-moleculer/src/client.js +1 -1
  219. package/packages/datadog-plugin-moleculer/src/index.js +1 -1
  220. package/packages/datadog-plugin-moleculer/src/server.js +2 -2
  221. package/packages/datadog-plugin-moleculer/src/util.js +1 -1
  222. package/packages/datadog-plugin-mongodb-core/src/index.js +5 -5
  223. package/packages/datadog-plugin-mysql/src/index.js +2 -2
  224. package/packages/datadog-plugin-net/src/ipc.js +2 -2
  225. package/packages/datadog-plugin-net/src/tcp.js +4 -4
  226. package/packages/datadog-plugin-next/src/index.js +4 -4
  227. package/packages/datadog-plugin-nyc/src/index.js +60 -0
  228. package/packages/datadog-plugin-openai/src/index.js +1 -1
  229. package/packages/datadog-plugin-openai/src/services.js +3 -3
  230. package/packages/datadog-plugin-openai/src/stream-helpers.js +1 -1
  231. package/packages/datadog-plugin-openai/src/tracing.js +10 -10
  232. package/packages/datadog-plugin-oracledb/src/connection-parser.js +1 -1
  233. package/packages/datadog-plugin-oracledb/src/index.js +1 -1
  234. package/packages/datadog-plugin-pg/src/index.js +2 -2
  235. package/packages/datadog-plugin-playwright/src/index.js +19 -19
  236. package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +95 -0
  237. package/packages/datadog-plugin-prisma/src/index.js +129 -10
  238. package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +3 -3
  239. package/packages/datadog-plugin-redis/src/index.js +2 -2
  240. package/packages/datadog-plugin-restify/src/index.js +1 -1
  241. package/packages/datadog-plugin-rhea/src/consumer.js +2 -2
  242. package/packages/datadog-plugin-rhea/src/index.js +1 -1
  243. package/packages/datadog-plugin-rhea/src/producer.js +2 -2
  244. package/packages/datadog-plugin-router/src/index.js +3 -3
  245. package/packages/datadog-plugin-selenium/src/index.js +2 -2
  246. package/packages/datadog-plugin-sharedb/src/index.js +2 -2
  247. package/packages/datadog-plugin-tedious/src/index.js +2 -2
  248. package/packages/datadog-plugin-undici/src/index.js +5 -5
  249. package/packages/datadog-plugin-vitest/src/index.js +39 -18
  250. package/packages/datadog-plugin-ws/src/close.js +10 -11
  251. package/packages/datadog-plugin-ws/src/index.js +1 -1
  252. package/packages/datadog-plugin-ws/src/producer.js +8 -9
  253. package/packages/datadog-plugin-ws/src/receiver.js +8 -9
  254. package/packages/datadog-plugin-ws/src/server.js +17 -12
  255. package/packages/datadog-plugin-ws/src/util.js +48 -16
  256. package/packages/datadog-shimmer/src/shimmer.js +3 -3
  257. package/packages/dd-trace/index.js +2 -2
  258. package/packages/dd-trace/src/agent/info.js +2 -2
  259. package/packages/dd-trace/src/agent/url.js +1 -1
  260. package/packages/dd-trace/src/aiguard/client.js +3 -3
  261. package/packages/dd-trace/src/aiguard/sdk.js +6 -6
  262. package/packages/dd-trace/src/aiguard/tags.js +1 -1
  263. package/packages/dd-trace/src/analytics_sampler.js +1 -1
  264. package/packages/dd-trace/src/appsec/activation.js +1 -1
  265. package/packages/dd-trace/src/appsec/addresses.js +1 -1
  266. package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
  267. package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
  268. package/packages/dd-trace/src/appsec/blocking.js +5 -5
  269. package/packages/dd-trace/src/appsec/channels.js +1 -1
  270. package/packages/dd-trace/src/appsec/graphql.js +13 -13
  271. package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +1 -1
  272. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
  273. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +6 -5
  274. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +2 -2
  275. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-rule-type.js +1 -1
  276. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +148 -148
  277. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +148 -148
  278. package/packages/dd-trace/src/appsec/iast/analyzers/index.js +1 -1
  279. package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +1 -1
  280. package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +7 -8
  281. package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +2 -2
  282. package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +2 -2
  283. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +2 -2
  284. package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +3 -3
  285. package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
  286. package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +2 -2
  287. package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +3 -3
  288. package/packages/dd-trace/src/appsec/iast/iast-context.js +6 -3
  289. package/packages/dd-trace/src/appsec/iast/iast-plugin.js +17 -9
  290. package/packages/dd-trace/src/appsec/iast/index.js +2 -2
  291. package/packages/dd-trace/src/appsec/iast/overhead-controller.js +9 -9
  292. package/packages/dd-trace/src/appsec/iast/path-line.js +6 -6
  293. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +11 -11
  294. package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +49 -17
  295. package/packages/dd-trace/src/appsec/iast/tags.js +1 -1
  296. package/packages/dd-trace/src/appsec/iast/taint-tracking/constants.js +1 -1
  297. package/packages/dd-trace/src/appsec/iast/taint-tracking/csi-methods.js +2 -2
  298. package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +1 -1
  299. package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +2 -2
  300. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -6
  301. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +2 -2
  302. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +5 -5
  303. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +4 -4
  304. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -5
  305. package/packages/dd-trace/src/appsec/iast/taint-tracking/secure-marks.js +6 -4
  306. package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +1 -1
  307. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +8 -8
  308. package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +4 -4
  309. package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +2 -2
  310. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +6 -6
  311. package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -2
  312. package/packages/dd-trace/src/appsec/iast/utils.js +3 -3
  313. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/constants.js +1 -1
  314. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +1 -1
  315. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/hardcoded-password-analyzer.js +1 -1
  316. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +6 -6
  317. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/tainted-range-based-sensitive-analyzer.js +1 -1
  318. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +8 -8
  319. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +1 -1
  320. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +12 -11
  321. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +5 -5
  322. package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +1 -1
  323. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -4
  324. package/packages/dd-trace/src/appsec/index.js +20 -22
  325. package/packages/dd-trace/src/appsec/rasp/command_injection.js +3 -3
  326. package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +4 -4
  327. package/packages/dd-trace/src/appsec/rasp/index.js +2 -2
  328. package/packages/dd-trace/src/appsec/rasp/lfi.js +5 -5
  329. package/packages/dd-trace/src/appsec/rasp/sql_injection.js +2 -2
  330. package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
  331. package/packages/dd-trace/src/appsec/rasp/utils.js +4 -4
  332. package/packages/dd-trace/src/appsec/rc-products.js +1 -1
  333. package/packages/dd-trace/src/appsec/remote_config.js +3 -3
  334. package/packages/dd-trace/src/appsec/reporter.js +11 -11
  335. package/packages/dd-trace/src/appsec/rule_manager.js +1 -1
  336. package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
  337. package/packages/dd-trace/src/appsec/sdk/set_user.js +2 -2
  338. package/packages/dd-trace/src/appsec/sdk/track_event.js +7 -7
  339. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
  340. package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
  341. package/packages/dd-trace/src/appsec/stack_trace.js +5 -5
  342. package/packages/dd-trace/src/appsec/telemetry/common.js +3 -3
  343. package/packages/dd-trace/src/appsec/telemetry/index.js +5 -5
  344. package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -3
  345. package/packages/dd-trace/src/appsec/telemetry/user.js +4 -4
  346. package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -3
  347. package/packages/dd-trace/src/appsec/user_tracking.js +7 -7
  348. package/packages/dd-trace/src/appsec/waf/diagnostics.js +2 -2
  349. package/packages/dd-trace/src/appsec/waf/index.js +1 -1
  350. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +2 -2
  351. package/packages/dd-trace/src/azure_metadata.js +16 -9
  352. package/packages/dd-trace/src/baggage.js +1 -1
  353. package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +82 -0
  354. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -5
  355. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +9 -9
  356. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +8 -8
  357. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +8 -7
  358. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
  359. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +5 -3
  360. package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -0
  361. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +4 -3
  362. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +37 -11
  363. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +22 -22
  364. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
  365. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
  366. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +8 -8
  367. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +3 -3
  368. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +17 -12
  369. package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +92 -0
  370. package/packages/dd-trace/src/ci-visibility/telemetry.js +2 -2
  371. package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +1 -1
  372. package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +6 -6
  373. package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +61 -0
  374. package/packages/dd-trace/src/config/defaults.js +1 -1
  375. package/packages/dd-trace/src/config/git_properties.js +1 -1
  376. package/packages/dd-trace/src/config/helper.js +2 -2
  377. package/packages/dd-trace/src/config/index.js +612 -622
  378. package/packages/dd-trace/src/config/remote_config.js +1 -1
  379. package/packages/dd-trace/src/config/stable.js +2 -2
  380. package/packages/dd-trace/src/config/supported-configurations.json +1 -0
  381. package/packages/dd-trace/src/constants.js +3 -3
  382. package/packages/dd-trace/src/crashtracking/crashtracker.js +6 -6
  383. package/packages/dd-trace/src/datastreams/checkpointer.js +1 -1
  384. package/packages/dd-trace/src/datastreams/context.js +1 -1
  385. package/packages/dd-trace/src/datastreams/encoding.js +1 -1
  386. package/packages/dd-trace/src/datastreams/fnv.js +1 -1
  387. package/packages/dd-trace/src/datastreams/index.js +8 -8
  388. package/packages/dd-trace/src/datastreams/pathway.js +5 -3
  389. package/packages/dd-trace/src/datastreams/processor.js +14 -12
  390. package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +27 -25
  391. package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +1 -1
  392. package/packages/dd-trace/src/datastreams/size.js +3 -3
  393. package/packages/dd-trace/src/datastreams/writer.js +3 -3
  394. package/packages/dd-trace/src/debugger/config.js +2 -1
  395. package/packages/dd-trace/src/debugger/constants.js +7 -0
  396. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +14 -10
  397. package/packages/dd-trace/src/debugger/devtools_client/condition.js +2 -2
  398. package/packages/dd-trace/src/debugger/devtools_client/config.js +4 -5
  399. package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
  400. package/packages/dd-trace/src/debugger/devtools_client/index.js +32 -25
  401. package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +1 -1
  402. package/packages/dd-trace/src/debugger/devtools_client/log.js +1 -1
  403. package/packages/dd-trace/src/debugger/devtools_client/send.js +54 -10
  404. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +94 -37
  405. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +4 -4
  406. package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +7 -7
  407. package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +2 -2
  408. package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
  409. package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -1
  410. package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +10 -1
  411. package/packages/dd-trace/src/debugger/devtools_client/state.js +65 -8
  412. package/packages/dd-trace/src/debugger/devtools_client/status.js +9 -8
  413. package/packages/dd-trace/src/debugger/index.js +95 -37
  414. package/packages/dd-trace/src/dogstatsd.js +14 -9
  415. package/packages/dd-trace/src/encode/0.4.js +7 -6
  416. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +8 -8
  417. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +3 -3
  418. package/packages/dd-trace/src/encode/span-stats.js +2 -2
  419. package/packages/dd-trace/src/encode/tags-processors.js +1 -1
  420. package/packages/dd-trace/src/exporters/agent/index.js +1 -1
  421. package/packages/dd-trace/src/exporters/agent/writer.js +2 -2
  422. package/packages/dd-trace/src/exporters/common/agents.js +1 -1
  423. package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -2
  424. package/packages/dd-trace/src/exporters/common/docker.js +11 -7
  425. package/packages/dd-trace/src/exporters/common/request.js +28 -8
  426. package/packages/dd-trace/src/exporters/common/url-to-http-options-polyfill.js +2 -2
  427. package/packages/dd-trace/src/exporters/common/writer.js +2 -0
  428. package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
  429. package/packages/dd-trace/src/exporters/span-stats/writer.js +3 -3
  430. package/packages/dd-trace/src/external-logger/src/index.js +4 -4
  431. package/packages/dd-trace/src/flare/index.js +3 -3
  432. package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
  433. package/packages/dd-trace/src/heap_snapshots.js +1 -1
  434. package/packages/dd-trace/src/id.js +1 -1
  435. package/packages/dd-trace/src/iitm.js +1 -1
  436. package/packages/dd-trace/src/lambda/handler.js +1 -1
  437. package/packages/dd-trace/src/lambda/runtime/errors.js +1 -1
  438. package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
  439. package/packages/dd-trace/src/llmobs/constants/tags.js +1 -1
  440. package/packages/dd-trace/src/llmobs/constants/text.js +1 -1
  441. package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
  442. package/packages/dd-trace/src/llmobs/index.js +2 -4
  443. package/packages/dd-trace/src/llmobs/noop.js +2 -2
  444. package/packages/dd-trace/src/llmobs/plugins/ai/index.js +8 -8
  445. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +2 -2
  446. package/packages/dd-trace/src/llmobs/plugins/anthropic.js +5 -5
  447. package/packages/dd-trace/src/llmobs/plugins/base.js +1 -1
  448. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +8 -8
  449. package/packages/dd-trace/src/llmobs/plugins/genai/index.js +2 -2
  450. package/packages/dd-trace/src/llmobs/plugins/genai/util.js +15 -15
  451. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +2 -2
  452. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +5 -5
  453. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
  454. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +3 -3
  455. package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +1 -1
  456. package/packages/dd-trace/src/llmobs/plugins/openai/index.js +17 -17
  457. package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +3 -3
  458. package/packages/dd-trace/src/llmobs/plugins/vertexai.js +6 -6
  459. package/packages/dd-trace/src/llmobs/sdk.js +11 -11
  460. package/packages/dd-trace/src/llmobs/span_processor.js +6 -6
  461. package/packages/dd-trace/src/llmobs/tagger.js +4 -4
  462. package/packages/dd-trace/src/llmobs/telemetry.js +8 -8
  463. package/packages/dd-trace/src/llmobs/util.js +1 -1
  464. package/packages/dd-trace/src/llmobs/writers/base.js +9 -9
  465. package/packages/dd-trace/src/llmobs/writers/evaluations.js +5 -5
  466. package/packages/dd-trace/src/llmobs/writers/spans.js +3 -3
  467. package/packages/dd-trace/src/llmobs/writers/util.js +1 -1
  468. package/packages/dd-trace/src/log/channels.js +2 -2
  469. package/packages/dd-trace/src/log/index.js +2 -2
  470. package/packages/dd-trace/src/log/log.js +1 -1
  471. package/packages/dd-trace/src/log/writer.js +1 -1
  472. package/packages/dd-trace/src/noop/span.js +2 -2
  473. package/packages/dd-trace/src/openfeature/constants/constants.js +1 -1
  474. package/packages/dd-trace/src/openfeature/flagging_provider.js +4 -4
  475. package/packages/dd-trace/src/openfeature/index.js +2 -2
  476. package/packages/dd-trace/src/openfeature/noop.js +3 -3
  477. package/packages/dd-trace/src/openfeature/remote_config.js +1 -1
  478. package/packages/dd-trace/src/openfeature/writers/base.js +12 -12
  479. package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
  480. package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
  481. package/packages/dd-trace/src/opentelemetry/context_manager.js +48 -29
  482. package/packages/dd-trace/src/opentelemetry/logs/index.js +2 -2
  483. package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +2 -2
  484. package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +10 -10
  485. package/packages/dd-trace/src/opentelemetry/metrics/constants.js +3 -3
  486. package/packages/dd-trace/src/opentelemetry/metrics/index.js +2 -2
  487. package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
  488. package/packages/dd-trace/src/opentelemetry/metrics/meter.js +1 -1
  489. package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +11 -11
  490. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +18 -18
  491. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +6 -6
  492. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +10 -7
  493. package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +3 -3
  494. package/packages/dd-trace/src/opentelemetry/span.js +8 -8
  495. package/packages/dd-trace/src/opentelemetry/span_context.js +1 -1
  496. package/packages/dd-trace/src/opentelemetry/span_processor.js +1 -1
  497. package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
  498. package/packages/dd-trace/src/opentracing/propagation/log.js +2 -2
  499. package/packages/dd-trace/src/opentracing/propagation/text_map.js +14 -12
  500. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
  501. package/packages/dd-trace/src/opentracing/span.js +20 -20
  502. package/packages/dd-trace/src/opentracing/span_context.js +3 -3
  503. package/packages/dd-trace/src/opentracing/tracer.js +3 -3
  504. package/packages/dd-trace/src/payload-tagging/config/index.js +1 -1
  505. package/packages/dd-trace/src/payload-tagging/index.js +1 -1
  506. package/packages/dd-trace/src/payload-tagging/tagging.js +2 -2
  507. package/packages/dd-trace/src/plugin_manager.js +6 -6
  508. package/packages/dd-trace/src/plugins/apollo.js +4 -4
  509. package/packages/dd-trace/src/plugins/ci_plugin.js +101 -36
  510. package/packages/dd-trace/src/plugins/database.js +1 -1
  511. package/packages/dd-trace/src/plugins/index.js +1 -1
  512. package/packages/dd-trace/src/plugins/log_plugin.js +2 -2
  513. package/packages/dd-trace/src/plugins/outbound.js +9 -8
  514. package/packages/dd-trace/src/plugins/plugin.js +17 -7
  515. package/packages/dd-trace/src/plugins/producer.js +6 -5
  516. package/packages/dd-trace/src/plugins/tracing.js +37 -8
  517. package/packages/dd-trace/src/plugins/util/ci.js +40 -40
  518. package/packages/dd-trace/src/plugins/util/env.js +2 -2
  519. package/packages/dd-trace/src/plugins/util/git-cache.js +2 -2
  520. package/packages/dd-trace/src/plugins/util/git.js +20 -18
  521. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +6 -6
  522. package/packages/dd-trace/src/plugins/util/ip_extractor.js +3 -3
  523. package/packages/dd-trace/src/plugins/util/llm.js +1 -1
  524. package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -3
  525. package/packages/dd-trace/src/plugins/util/tags.js +1 -1
  526. package/packages/dd-trace/src/plugins/util/test.js +46 -40
  527. package/packages/dd-trace/src/plugins/util/url.js +1 -1
  528. package/packages/dd-trace/src/plugins/util/urlfilter.js +1 -1
  529. package/packages/dd-trace/src/plugins/util/user-provided-git.js +2 -2
  530. package/packages/dd-trace/src/plugins/util/web.js +12 -12
  531. package/packages/dd-trace/src/priority_sampler.js +4 -4
  532. package/packages/dd-trace/src/process-tags/index.js +2 -2
  533. package/packages/dd-trace/src/profiler.js +1 -1
  534. package/packages/dd-trace/src/profiling/config.js +8 -8
  535. package/packages/dd-trace/src/profiling/constants.js +2 -2
  536. package/packages/dd-trace/src/profiling/exporter_cli.js +3 -3
  537. package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
  538. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +8 -8
  539. package/packages/dd-trace/src/profiling/index.js +1 -1
  540. package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
  541. package/packages/dd-trace/src/profiling/loggers/console.js +1 -1
  542. package/packages/dd-trace/src/profiling/profiler.js +21 -23
  543. package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
  544. package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +3 -3
  545. package/packages/dd-trace/src/profiling/profilers/events.js +27 -19
  546. package/packages/dd-trace/src/profiling/profilers/shared.js +2 -2
  547. package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
  548. package/packages/dd-trace/src/profiling/tagger.js +1 -1
  549. package/packages/dd-trace/src/profiling/webspan-utils.js +2 -2
  550. package/packages/dd-trace/src/proxy.js +13 -13
  551. package/packages/dd-trace/src/remote_config/apply_states.js +1 -1
  552. package/packages/dd-trace/src/remote_config/index.js +15 -15
  553. package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
  554. package/packages/dd-trace/src/ritm.js +1 -1
  555. package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
  556. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
  557. package/packages/dd-trace/src/serverless.js +1 -1
  558. package/packages/dd-trace/src/service-naming/extra-services.js +1 -1
  559. package/packages/dd-trace/src/service-naming/index.js +1 -1
  560. package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +3 -3
  561. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +25 -25
  562. package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +3 -3
  563. package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +18 -18
  564. package/packages/dd-trace/src/service-naming/schemas/v0/web.js +23 -23
  565. package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +9 -9
  566. package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +3 -3
  567. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +21 -21
  568. package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +3 -3
  569. package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +17 -17
  570. package/packages/dd-trace/src/service-naming/schemas/v1/web.js +23 -23
  571. package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +9 -9
  572. package/packages/dd-trace/src/span_format.js +4 -4
  573. package/packages/dd-trace/src/span_sampler.js +1 -1
  574. package/packages/dd-trace/src/span_stats.js +11 -11
  575. package/packages/dd-trace/src/spanleak.js +1 -1
  576. package/packages/dd-trace/src/standalone/index.js +1 -1
  577. package/packages/dd-trace/src/standalone/product.js +2 -2
  578. package/packages/dd-trace/src/standalone/tracesource.js +1 -1
  579. package/packages/dd-trace/src/startup-log.js +2 -2
  580. package/packages/dd-trace/src/tagger.js +3 -1
  581. package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
  582. package/packages/dd-trace/src/telemetry/endpoints.js +4 -4
  583. package/packages/dd-trace/src/telemetry/index.js +1 -1
  584. package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
  585. package/packages/dd-trace/src/telemetry/logs/log-collector.js +2 -2
  586. package/packages/dd-trace/src/telemetry/metrics.js +6 -6
  587. package/packages/dd-trace/src/telemetry/send-data.js +5 -5
  588. package/packages/dd-trace/src/telemetry/telemetry.js +10 -10
  589. package/packages/dd-trace/src/tracer.js +3 -2
  590. package/packages/dd-trace/src/util.js +1 -1
  591. package/scripts/preinstall.js +1 -1
  592. package/vendor/dist/@datadog/sketches-js/index.js +1 -1
  593. package/vendor/dist/@datadog/source-map/index.js +1 -1
  594. package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
  595. package/vendor/dist/@opentelemetry/core/index.js +1 -1
  596. package/vendor/dist/@opentelemetry/resources/index.js +1 -1
  597. package/vendor/dist/astring/index.js +1 -1
  598. package/vendor/dist/crypto-randomuuid/index.js +1 -1
  599. package/vendor/dist/escape-string-regexp/index.js +1 -1
  600. package/vendor/dist/esquery/index.js +1 -1
  601. package/vendor/dist/ignore/index.js +1 -1
  602. package/vendor/dist/istanbul-lib-coverage/index.js +1 -1
  603. package/vendor/dist/jest-docblock/index.js +1 -1
  604. package/vendor/dist/jsonpath-plus/index.js +1 -1
  605. package/vendor/dist/limiter/index.js +1 -1
  606. package/vendor/dist/lodash.sortby/index.js +1 -1
  607. package/vendor/dist/lru-cache/index.js +1 -1
  608. package/vendor/dist/meriyah/index.js +1 -1
  609. package/vendor/dist/module-details-from-path/index.js +1 -1
  610. package/vendor/dist/mutexify/promise/index.js +1 -1
  611. package/vendor/dist/opentracing/index.js +1 -1
  612. package/vendor/dist/path-to-regexp/index.js +1 -1
  613. package/vendor/dist/pprof-format/index.js +1 -1
  614. package/vendor/dist/protobufjs/index.js +1 -1
  615. package/vendor/dist/protobufjs/minimal/index.js +1 -1
  616. package/vendor/dist/retry/index.js +1 -1
  617. package/vendor/dist/rfdc/index.js +1 -1
  618. package/vendor/dist/semifies/index.js +1 -1
  619. package/vendor/dist/shell-quote/index.js +1 -1
  620. package/vendor/dist/source-map/index.js +1 -1
  621. package/vendor/dist/source-map/lib/util/index.js +1 -1
  622. package/vendor/dist/tlhunter-sorted-set/index.js +1 -1
  623. package/vendor/dist/ttl-set/index.js +1 -1
  624. package/packages/datadog-plugin-prisma/src/client.js +0 -60
  625. package/packages/datadog-plugin-prisma/src/engine.js +0 -81
@@ -7,6 +7,7 @@ const { getSkippableSuites: getSkippableSuitesRequest } = require('../intelligen
7
7
  const { getKnownTests: getKnownTestsRequest } = require('../early-flake-detection/get-known-tests')
8
8
  const { getTestManagementTests: getTestManagementTestsRequest } =
9
9
  require('../test-management/get-test-management-tests')
10
+ const { uploadCoverageReport: uploadCoverageReportRequest } = require('../requests/upload-coverage-report')
10
11
  const log = require('../../log')
11
12
  const BufferingExporter = require('../../exporters/common/buffering-exporter')
12
13
  const { GIT_REPOSITORY_URL, GIT_COMMIT_SHA } = require('../../plugins/util/tags')
@@ -120,7 +121,7 @@ class CiVisibilityExporter extends BufferingExporter {
120
121
  isGzipCompatible: this._isGzipCompatible,
121
122
  evpProxyPrefix: this.evpProxyPrefix,
122
123
  custom: getTestConfigurationTags(this._config.tags),
123
- ...testConfiguration
124
+ ...testConfiguration,
124
125
  }
125
126
  }
126
127
 
@@ -211,7 +212,8 @@ class CiVisibilityExporter extends BufferingExporter {
211
212
  isKnownTestsEnabled,
212
213
  isTestManagementEnabled,
213
214
  testManagementAttemptToFixRetries,
214
- isImpactedTestsEnabled
215
+ isImpactedTestsEnabled,
216
+ isCoverageReportUploadEnabled,
215
217
  } = remoteConfiguration
216
218
  return {
217
219
  isCodeCoverageEnabled,
@@ -228,7 +230,8 @@ class CiVisibilityExporter extends BufferingExporter {
228
230
  isTestManagementEnabled: isTestManagementEnabled && this._config.isTestManagementEnabled,
229
231
  testManagementAttemptToFixRetries:
230
232
  testManagementAttemptToFixRetries ?? this._config.testManagementAttemptToFixRetries,
231
- isImpactedTestsEnabled: isImpactedTestsEnabled && this._config.isImpactedTestsEnabled
233
+ isImpactedTestsEnabled: isImpactedTestsEnabled && this._config.isImpactedTestsEnabled,
234
+ isCoverageReportUploadEnabled,
232
235
  }
233
236
  }
234
237
 
@@ -284,7 +287,7 @@ class CiVisibilityExporter extends BufferingExporter {
284
287
  formatLogMessage (testEnvironmentMetadata, logMessage) {
285
288
  const {
286
289
  [GIT_REPOSITORY_URL]: gitRepositoryUrl,
287
- [GIT_COMMIT_SHA]: gitCommitSha
290
+ [GIT_COMMIT_SHA]: gitCommitSha,
288
291
  } = testEnvironmentMetadata
289
292
 
290
293
  const { service, env, version } = this._config
@@ -293,7 +296,7 @@ class CiVisibilityExporter extends BufferingExporter {
293
296
  ddtags: [
294
297
  ...(logMessage.ddtags || []),
295
298
  `${GIT_REPOSITORY_URL}:${gitRepositoryUrl}`,
296
- `${GIT_COMMIT_SHA}:${gitCommitSha}`
299
+ `${GIT_COMMIT_SHA}:${gitCommitSha}`,
297
300
  ].join(','),
298
301
  level: 'error',
299
302
  service,
@@ -301,10 +304,10 @@ class CiVisibilityExporter extends BufferingExporter {
301
304
  ...(logMessage.dd || []),
302
305
  service,
303
306
  env,
304
- version
307
+ version,
305
308
  },
306
309
  ddsource: 'dd_debugger',
307
- ...logMessage
310
+ ...logMessage,
308
311
  }
309
312
  }
310
313
 
@@ -331,7 +334,7 @@ class CiVisibilityExporter extends BufferingExporter {
331
334
  const writers = [
332
335
  this._writer,
333
336
  this._coverageWriter,
334
- this._logsWriter
337
+ this._logsWriter,
335
338
  ].filter(Boolean)
336
339
 
337
340
  let remaining = writers.length
@@ -347,13 +350,13 @@ class CiVisibilityExporter extends BufferingExporter {
347
350
  }
348
351
  }
349
352
 
350
- writers.forEach(writer => writer.flush(onFlushComplete))
353
+ for (const writer of writers) writer.flush(onFlushComplete)
351
354
  }
352
355
 
353
356
  exportUncodedCoverages () {
354
- this._coverageBuffer.forEach(oldCoveragePayload => {
357
+ for (const oldCoveragePayload of this._coverageBuffer) {
355
358
  this.exportCoverage(oldCoveragePayload)
356
- })
359
+ }
357
360
  this._coverageBuffer = []
358
361
  }
359
362
 
@@ -386,6 +389,29 @@ class CiVisibilityExporter extends BufferingExporter {
386
389
  })
387
390
  }
388
391
  }
392
+
393
+ /**
394
+ * Uploads a single coverage report to the CI intake.
395
+ * @param {object} options - Upload options
396
+ * @param {string} options.filePath - Path to the coverage report file
397
+ * @param {string} options.format - Format of the coverage report
398
+ * @param {object} options.testEnvironmentMetadata - Test environment metadata containing git/CI tags
399
+ * @param {Function} callback - Callback function (err)
400
+ */
401
+ uploadCoverageReport ({ filePath, format, testEnvironmentMetadata }, callback) {
402
+ if (!this._codeCoverageReportUrl) {
403
+ return callback(new Error('Coverage report upload URL not configured'))
404
+ }
405
+
406
+ uploadCoverageReportRequest({
407
+ filePath,
408
+ format,
409
+ testEnvironmentMetadata,
410
+ url: this._codeCoverageReportUrl,
411
+ isEvpProxy: !!this._isUsingEvpProxy,
412
+ evpProxyPrefix: this.evpProxyPrefix,
413
+ }, callback)
414
+ }
389
415
  }
390
416
 
391
417
  module.exports = CiVisibilityExporter
@@ -16,7 +16,7 @@ const {
16
16
  getCommitsRevList,
17
17
  isShallowRepository,
18
18
  unshallowRepository,
19
- isGitAvailable
19
+ isGitAvailable,
20
20
  } = require('../../../plugins/util/git')
21
21
 
22
22
  const {
@@ -29,7 +29,7 @@ const {
29
29
  TELEMETRY_GIT_REQUESTS_OBJECT_PACKFILES,
30
30
  TELEMETRY_GIT_REQUESTS_OBJECT_PACKFILES_MS,
31
31
  TELEMETRY_GIT_REQUESTS_OBJECT_PACKFILES_ERRORS,
32
- TELEMETRY_GIT_REQUESTS_OBJECT_PACKFILES_BYTES
32
+ TELEMETRY_GIT_REQUESTS_OBJECT_PACKFILES_BYTES,
33
33
  } = require('../../../ci-visibility/telemetry')
34
34
 
35
35
  const isValidSha1 = (sha) => /^[0-9a-f]{40}$/.test(sha)
@@ -51,10 +51,10 @@ function getCommonRequestOptions (url) {
51
51
  return {
52
52
  method: 'POST',
53
53
  headers: {
54
- 'dd-api-key': getValueFromEnvSources('DD_API_KEY')
54
+ 'dd-api-key': getValueFromEnvSources('DD_API_KEY'),
55
55
  },
56
56
  timeout: 15_000,
57
- url
57
+ url,
58
58
  }
59
59
  }
60
60
 
@@ -70,9 +70,9 @@ function getCommitsToUpload ({ url, repositoryUrl, latestCommits, isEvpProxy, ev
70
70
  ...commonOptions,
71
71
  headers: {
72
72
  ...commonOptions.headers,
73
- 'Content-Type': 'application/json'
73
+ 'Content-Type': 'application/json',
74
74
  },
75
- path: '/api/v2/git/repository/search_commits'
75
+ path: '/api/v2/git/repository/search_commits',
76
76
  }
77
77
 
78
78
  if (isEvpProxy) {
@@ -83,12 +83,12 @@ function getCommitsToUpload ({ url, repositoryUrl, latestCommits, isEvpProxy, ev
83
83
 
84
84
  const localCommitData = JSON.stringify({
85
85
  meta: {
86
- repository_url: repositoryUrl
86
+ repository_url: repositoryUrl,
87
87
  },
88
88
  data: latestCommits.map(commit => ({
89
89
  id: commit,
90
- type: 'commit'
91
- }))
90
+ type: 'commit',
91
+ })),
92
92
  })
93
93
 
94
94
  incrementCountMetric(TELEMETRY_GIT_REQUESTS_SEARCH_COMMITS)
@@ -134,11 +134,11 @@ function uploadPackFile ({ url, isEvpProxy, evpProxyPrefix, packFileToUpload, re
134
134
  const pushedSha = JSON.stringify({
135
135
  data: {
136
136
  id: headCommit,
137
- type: 'commit'
137
+ type: 'commit',
138
138
  },
139
139
  meta: {
140
- repository_url: repositoryUrl
141
- }
140
+ repository_url: repositoryUrl,
141
+ },
142
142
  })
143
143
 
144
144
  form.append('pushedSha', pushedSha, { contentType: 'application/json' })
@@ -149,7 +149,7 @@ function uploadPackFile ({ url, isEvpProxy, evpProxyPrefix, packFileToUpload, re
149
149
  const [, filename] = path.basename(packFileToUpload).split('-')
150
150
  form.append('packfile', packFileContent, {
151
151
  filename,
152
- contentType: 'application/octet-stream'
152
+ contentType: 'application/octet-stream',
153
153
  })
154
154
  } catch {
155
155
  callback(new Error(`Could not read "${packFileToUpload}"`))
@@ -163,8 +163,8 @@ function uploadPackFile ({ url, isEvpProxy, evpProxyPrefix, packFileToUpload, re
163
163
  path: '/api/v2/git/repository/packfile',
164
164
  headers: {
165
165
  ...commonOptions.headers,
166
- ...form.getHeaders()
167
- }
166
+ ...form.getHeaders(),
167
+ },
168
168
  }
169
169
 
170
170
  if (isEvpProxy) {
@@ -195,7 +195,7 @@ function generateAndUploadPackFiles ({
195
195
  evpProxyPrefix,
196
196
  commitsToUpload,
197
197
  repositoryUrl,
198
- headCommit
198
+ headCommit,
199
199
  }, callback) {
200
200
  log.debug('There are %s commits to upload', commitsToUpload.length)
201
201
 
@@ -224,7 +224,7 @@ function generateAndUploadPackFiles ({
224
224
  isEvpProxy,
225
225
  evpProxyPrefix,
226
226
  repositoryUrl,
227
- headCommit
227
+ headCommit,
228
228
  },
229
229
  uploadPackFileCallback
230
230
  )
@@ -237,7 +237,7 @@ function generateAndUploadPackFiles ({
237
237
  isEvpProxy,
238
238
  evpProxyPrefix,
239
239
  repositoryUrl,
240
- headCommit
240
+ headCommit,
241
241
  },
242
242
  uploadPackFileCallback
243
243
  )
@@ -283,7 +283,7 @@ function sendGitMetadata (url, { isEvpProxy, evpProxyPrefix }, configRepositoryU
283
283
  evpProxyPrefix,
284
284
  commitsToUpload,
285
285
  repositoryUrl,
286
- headCommit
286
+ headCommit,
287
287
  }, callback)
288
288
  }
289
289
  // Otherwise we unshallow and get commits to upload again
@@ -299,7 +299,7 @@ function sendGitMetadata (url, { isEvpProxy, evpProxyPrefix }, configRepositoryU
299
299
  repositoryUrl,
300
300
  latestCommits,
301
301
  isEvpProxy,
302
- evpProxyPrefix
302
+ evpProxyPrefix,
303
303
  }, getOnFinishGetCommitsToUpload(true))
304
304
  }
305
305
 
@@ -308,10 +308,10 @@ function sendGitMetadata (url, { isEvpProxy, evpProxyPrefix }, configRepositoryU
308
308
  repositoryUrl,
309
309
  latestCommits,
310
310
  isEvpProxy,
311
- evpProxyPrefix
311
+ evpProxyPrefix,
312
312
  }, getOnFinishGetCommitsToUpload(false))
313
313
  }
314
314
 
315
315
  module.exports = {
316
- sendGitMetadata
316
+ sendGitMetadata,
317
317
  }
@@ -8,7 +8,7 @@ const {
8
8
  JEST_WORKER_LOGS_PAYLOAD_CODE,
9
9
  PLAYWRIGHT_WORKER_TRACE_PAYLOAD_CODE,
10
10
  VITEST_WORKER_TRACE_PAYLOAD_CODE,
11
- VITEST_WORKER_LOGS_PAYLOAD_CODE
11
+ VITEST_WORKER_LOGS_PAYLOAD_CODE,
12
12
  } = require('../../../plugins/util/test')
13
13
  const { getEnvironmentVariable, getValueFromEnvSources } = require('../../../config/helper')
14
14
  const Writer = require('./writer')
@@ -4,7 +4,7 @@ const { getEnvironmentVariable } = require('../../../config/helper')
4
4
  const log = require('../../../log')
5
5
  const {
6
6
  VITEST_WORKER_TRACE_PAYLOAD_CODE,
7
- VITEST_WORKER_LOGS_PAYLOAD_CODE
7
+ VITEST_WORKER_LOGS_PAYLOAD_CODE,
8
8
  } = require('../../../plugins/util/test')
9
9
 
10
10
  class Writer {
@@ -11,7 +11,7 @@ const {
11
11
  TELEMETRY_ITR_SKIPPABLE_TESTS_ERRORS,
12
12
  TELEMETRY_ITR_SKIPPABLE_TESTS_RESPONSE_SUITES,
13
13
  TELEMETRY_ITR_SKIPPABLE_TESTS_RESPONSE_TESTS,
14
- TELEMETRY_ITR_SKIPPABLE_TESTS_RESPONSE_BYTES
14
+ TELEMETRY_ITR_SKIPPABLE_TESTS_RESPONSE_BYTES,
15
15
  } = require('../../ci-visibility/telemetry')
16
16
 
17
17
  function getSkippableSuites ({
@@ -29,16 +29,16 @@ function getSkippableSuites ({
29
29
  runtimeName,
30
30
  runtimeVersion,
31
31
  custom,
32
- testLevel = 'suite'
32
+ testLevel = 'suite',
33
33
  }, done) {
34
34
  const options = {
35
35
  path: '/api/v2/ci/tests/skippable',
36
36
  method: 'POST',
37
37
  headers: {
38
- 'Content-Type': 'application/json'
38
+ 'Content-Type': 'application/json',
39
39
  },
40
40
  timeout: 20_000,
41
- url
41
+ url,
42
42
  }
43
43
 
44
44
  if (isGzipCompatible) {
@@ -68,14 +68,14 @@ function getSkippableSuites ({
68
68
  'os.architecture': osArchitecture,
69
69
  'runtime.name': runtimeName,
70
70
  'runtime.version': runtimeVersion,
71
- custom
71
+ custom,
72
72
  },
73
73
  service,
74
74
  env,
75
75
  repository_url: repositoryUrl,
76
- sha
77
- }
78
- }
76
+ sha,
77
+ },
78
+ },
79
79
  })
80
80
 
81
81
  incrementCountMetric(TELEMETRY_ITR_SKIPPABLE_TESTS)
@@ -12,8 +12,8 @@ function getWinstonLogSubmissionParameters (config) {
12
12
  path: `/api/v2/logs?ddsource=winston&service=${service}`,
13
13
  ssl: true,
14
14
  headers: {
15
- 'DD-API-KEY': getValueFromEnvSources('DD_API_KEY')
16
- }
15
+ 'DD-API-KEY': getValueFromEnvSources('DD_API_KEY'),
16
+ },
17
17
  }
18
18
 
19
19
  if (!getValueFromEnvSources('DD_AGENTLESS_LOG_SUBMISSION_URL')) {
@@ -27,7 +27,7 @@ function getWinstonLogSubmissionParameters (config) {
27
27
  port: url.port,
28
28
  ssl: url.protocol === 'https:',
29
29
  path: defaultParameters.path,
30
- headers: defaultParameters.headers
30
+ headers: defaultParameters.headers,
31
31
  }
32
32
  } catch {
33
33
  log.error('Could not parse DD_AGENTLESS_LOG_SUBMISSION_URL')
@@ -10,8 +10,9 @@ const {
10
10
  TELEMETRY_GIT_REQUESTS_SETTINGS,
11
11
  TELEMETRY_GIT_REQUESTS_SETTINGS_MS,
12
12
  TELEMETRY_GIT_REQUESTS_SETTINGS_ERRORS,
13
- TELEMETRY_GIT_REQUESTS_SETTINGS_RESPONSE
13
+ TELEMETRY_GIT_REQUESTS_SETTINGS_RESPONSE,
14
14
  } = require('../telemetry')
15
+ const { writeSettingsToCache } = require('../test-optimization-cache')
15
16
 
16
17
  const DEFAULT_EARLY_FLAKE_DETECTION_NUM_RETRIES = 2
17
18
  const DEFAULT_EARLY_FLAKE_DETECTION_ERROR_THRESHOLD = 30
@@ -32,16 +33,16 @@ function getLibraryConfiguration ({
32
33
  branch,
33
34
  testLevel = 'suite',
34
35
  custom,
35
- tag
36
+ tag,
36
37
  }, done) {
37
38
  const options = {
38
39
  path: '/api/v2/libraries/tests/services/setting',
39
40
  method: 'POST',
40
41
  headers: {
41
- 'Content-Type': 'application/json'
42
+ 'Content-Type': 'application/json',
42
43
  },
43
44
  url,
44
- timeout: 20_000
45
+ timeout: 20_000,
45
46
  }
46
47
 
47
48
  if (isEvpProxy) {
@@ -67,15 +68,15 @@ function getLibraryConfiguration ({
67
68
  'os.architecture': osArchitecture,
68
69
  'runtime.name': runtimeName,
69
70
  'runtime.version': runtimeVersion,
70
- custom
71
+ custom,
71
72
  },
72
73
  service,
73
74
  env,
74
75
  repository_url: repositoryUrl,
75
76
  sha,
76
- branch: branch || tag
77
- }
78
- }
77
+ branch: branch || tag,
78
+ },
79
+ },
79
80
  })
80
81
 
81
82
  incrementCountMetric(TELEMETRY_GIT_REQUESTS_SETTINGS)
@@ -100,9 +101,10 @@ function getLibraryConfiguration ({
100
101
  di_enabled: isDiEnabled,
101
102
  known_tests_enabled: isKnownTestsEnabled,
102
103
  test_management: testManagementConfig,
103
- impacted_tests_enabled: isImpactedTestsEnabled
104
- }
105
- }
104
+ impacted_tests_enabled: isImpactedTestsEnabled,
105
+ coverage_report_upload_enabled: isCoverageReportUploadEnabled,
106
+ },
107
+ },
106
108
  } = JSON.parse(res)
107
109
 
108
110
  const settings = {
@@ -121,7 +123,8 @@ function getLibraryConfiguration ({
121
123
  isTestManagementEnabled: (testManagementConfig?.enabled ?? false),
122
124
  testManagementAttemptToFixRetries:
123
125
  testManagementConfig?.attempt_to_fix_retries,
124
- isImpactedTestsEnabled
126
+ isImpactedTestsEnabled,
127
+ isCoverageReportUploadEnabled: isCoverageReportUploadEnabled ?? false,
125
128
  }
126
129
 
127
130
  log.debug('Remote settings: %j', settings)
@@ -137,6 +140,8 @@ function getLibraryConfiguration ({
137
140
 
138
141
  incrementCountMetric(TELEMETRY_GIT_REQUESTS_SETTINGS_RESPONSE, settings)
139
142
 
143
+ writeSettingsToCache(settings)
144
+
140
145
  done(null, settings)
141
146
  } catch (err) {
142
147
  done(err)
@@ -0,0 +1,92 @@
1
+ 'use strict'
2
+
3
+ const { readFileSync } = require('node:fs')
4
+ const { gzipSync } = require('node:zlib')
5
+
6
+ const FormData = require('../../exporters/common/form-data')
7
+ const request = require('../../exporters/common/request')
8
+ const log = require('../../log')
9
+ const { getValueFromEnvSources } = require('../../config/helper')
10
+
11
+ const UPLOAD_TIMEOUT_MS = 30_000
12
+
13
+ /**
14
+ * Uploads a single coverage report to the Datadog CI intake.
15
+ * One file per request with field names 'coverage' and 'event'.
16
+ * @param {object} options - Upload options
17
+ * @param {string} options.filePath - Path to the coverage report file
18
+ * @param {string} options.format - Format of the coverage report (e.g., 'lcov', 'cobertura')
19
+ * @param {object} options.testEnvironmentMetadata - Test environment metadata containing git/CI tags
20
+ * @param {URL} options.url - The base URL for the coverage report upload
21
+ * @param {boolean} [options.isEvpProxy] - Whether to use EVP proxy for the upload
22
+ * @param {string} [options.evpProxyPrefix] - The EVP proxy prefix (e.g., '/evp_proxy/v4')
23
+ * @param {Function} callback - Callback function (err)
24
+ */
25
+ function uploadCoverageReport (
26
+ { filePath, format, testEnvironmentMetadata, url, isEvpProxy, evpProxyPrefix },
27
+ callback
28
+ ) {
29
+ const apiKey = getValueFromEnvSources('DD_API_KEY')
30
+
31
+ if (!apiKey && !isEvpProxy) {
32
+ return callback(new Error('DD_API_KEY is required for coverage report upload'))
33
+ }
34
+
35
+ let compressedCoverage
36
+ try {
37
+ const coverageContent = readFileSync(filePath)
38
+ compressedCoverage = gzipSync(coverageContent)
39
+ } catch (err) {
40
+ return callback(new Error(`Failed to read coverage report at ${filePath}: ${err.message}`))
41
+ }
42
+
43
+ // Build the event payload with format, type, and all tags from test environment metadata
44
+ const eventPayload = {
45
+ type: 'coverage_report',
46
+ format,
47
+ ...testEnvironmentMetadata,
48
+ }
49
+
50
+ // Create multipart form
51
+ const form = new FormData()
52
+
53
+ form.append('coverage', compressedCoverage, {
54
+ filename: 'coverage.gz',
55
+ contentType: 'application/gzip',
56
+ })
57
+
58
+ form.append('event', JSON.stringify(eventPayload), {
59
+ filename: 'event.json',
60
+ contentType: 'application/json',
61
+ })
62
+
63
+ const options = {
64
+ method: 'POST',
65
+ headers: {
66
+ ...form.getHeaders(),
67
+ },
68
+ timeout: UPLOAD_TIMEOUT_MS,
69
+ url,
70
+ }
71
+
72
+ if (isEvpProxy) {
73
+ options.path = `${evpProxyPrefix}/api/v2/cicovreprt`
74
+ options.headers['X-Datadog-EVP-Subdomain'] = 'ci-intake'
75
+ } else {
76
+ options.path = '/api/v2/cicovreprt'
77
+ options.headers['dd-api-key'] = apiKey
78
+ }
79
+
80
+ log.debug('Uploading coverage report %s to %s%s', filePath, url, options.path)
81
+
82
+ request(form, options, (err, res, statusCode) => {
83
+ if (err) {
84
+ log.error('Error uploading coverage report: %s', err.message)
85
+ return callback(err)
86
+ }
87
+ log.debug('Coverage report uploaded successfully (status: %d)', statusCode)
88
+ callback(null)
89
+ })
90
+ }
91
+
92
+ module.exports = { uploadCoverageReport }
@@ -16,7 +16,7 @@ const formattedTags = {
16
16
  isNew: 'is_new',
17
17
  isRum: 'is_rum',
18
18
  browserDriver: 'browser_driver',
19
- autoInjected: 'auto_injected'
19
+ autoInjected: 'auto_injected',
20
20
  }
21
21
 
22
22
  // Transform tags dictionary to array of strings.
@@ -164,5 +164,5 @@ module.exports = {
164
164
  TELEMETRY_KNOWN_TESTS_MS,
165
165
  TELEMETRY_KNOWN_TESTS_ERRORS,
166
166
  TELEMETRY_KNOWN_TESTS_RESPONSE_TESTS,
167
- TELEMETRY_KNOWN_TESTS_RESPONSE_BYTES
167
+ TELEMETRY_KNOWN_TESTS_RESPONSE_BYTES,
168
168
  }
@@ -4,7 +4,7 @@ const CiPlugin = require('../../plugins/ci_plugin')
4
4
  const {
5
5
  TEST_STATUS,
6
6
  finishAllTraceSpans,
7
- getTestSuitePath
7
+ getTestSuitePath,
8
8
  } = require('../../plugins/util/test')
9
9
  const { storage } = require('../../../../datadog-core')
10
10
 
@@ -15,16 +15,16 @@ function getTestManagementTests ({
15
15
  sha,
16
16
  commitHeadSha,
17
17
  commitHeadMessage,
18
- branch
18
+ branch,
19
19
  }, done) {
20
20
  const options = {
21
21
  path: '/api/v2/test/libraries/test-management/tests',
22
22
  method: 'POST',
23
23
  headers: {
24
- 'Content-Type': 'application/json'
24
+ 'Content-Type': 'application/json',
25
25
  },
26
26
  timeout: 20_000,
27
- url
27
+ url,
28
28
  }
29
29
 
30
30
  if (isGzipCompatible) {
@@ -51,9 +51,9 @@ function getTestManagementTests ({
51
51
  repository_url: repositoryUrl,
52
52
  commit_message: commitHeadMessage || commitMessage,
53
53
  sha: commitHeadSha || sha,
54
- branch
55
- }
56
- }
54
+ branch,
55
+ },
56
+ },
57
57
  })
58
58
 
59
59
  log.debug('Requesting test management tests: %s', data)
@@ -0,0 +1,61 @@
1
+ 'use strict'
2
+
3
+ const { writeFileSync } = require('node:fs')
4
+ const { tmpdir } = require('node:os')
5
+ const { randomUUID } = require('node:crypto')
6
+ const path = require('node:path')
7
+
8
+ const { getValueFromEnvSources } = require('../config/helper')
9
+ const log = require('../log')
10
+
11
+ /**
12
+ * Gets the test optimization settings cache file path from the env var.
13
+ * @returns {string|undefined} The cache file path, or undefined if not set.
14
+ */
15
+ function getSettingsCachePath () {
16
+ return getValueFromEnvSources('DD_EXPERIMENTAL_TEST_OPT_SETTINGS_CACHE')
17
+ }
18
+
19
+ /**
20
+ * Sets up the test optimization settings cache file path.
21
+ * Returns the existing path if already set, otherwise creates a new one.
22
+ * @returns {string} The cache file path.
23
+ */
24
+ function setupSettingsCachePath () {
25
+ const existing = getSettingsCachePath()
26
+ if (existing) {
27
+ return existing
28
+ }
29
+
30
+ const cacheFilePath = path.join(tmpdir(), `dd-test-optimization-${randomUUID()}.json`)
31
+
32
+ // eslint-disable-next-line eslint-rules/eslint-process-env
33
+ process.env.DD_EXPERIMENTAL_TEST_OPT_SETTINGS_CACHE = cacheFilePath
34
+
35
+ return cacheFilePath
36
+ }
37
+
38
+ /**
39
+ * Writes the settings to the cache file specified by DD_EXPERIMENTAL_TEST_OPT_SETTINGS_CACHE.
40
+ * Does nothing if the env var is not set.
41
+ * @param {object} settings - The settings object to cache.
42
+ */
43
+ function writeSettingsToCache (settings) {
44
+ const settingsCachePath = getSettingsCachePath()
45
+ if (!settingsCachePath) {
46
+ return
47
+ }
48
+
49
+ try {
50
+ writeFileSync(settingsCachePath, JSON.stringify(settings), 'utf8')
51
+ log.debug('Settings written to %s', settingsCachePath)
52
+ } catch (err) {
53
+ log.error('Failed to write settings to cache file', err)
54
+ }
55
+ }
56
+
57
+ module.exports = {
58
+ getSettingsCachePath,
59
+ setupSettingsCachePath,
60
+ writeSettingsToCache,
61
+ }
@@ -217,5 +217,5 @@ module.exports = {
217
217
  'vertexai.spanPromptCompletionSampleRate': 1,
218
218
  'trace.aws.addSpanPointers': true,
219
219
  'trace.dynamoDb.tablePrimaryKeys': undefined,
220
- 'trace.nativeSpanEvents': false
220
+ 'trace.nativeSpanEvents': false,
221
221
  }
@@ -35,7 +35,7 @@ function getGitMetadataFromGitProperties (gitPropertiesString) {
35
35
 
36
36
  return {
37
37
  commitSHA: commitSHAMatch ? commitSHAMatch[1] : undefined,
38
- repositoryUrl: removeUserSensitiveInfo(repositoryUrl)
38
+ repositoryUrl: removeUserSensitiveInfo(repositoryUrl),
39
39
  }
40
40
  }
41
41
 
@@ -43,8 +43,8 @@ function loadStableConfig () {
43
43
  stableConfigLoaded = true
44
44
 
45
45
  // Lazy require to avoid circular dependency at module load time.
46
- const { isInServerlessEnvironment } = require('../serverless')
47
- if (isInServerlessEnvironment()) {
46
+ const { IS_SERVERLESS } = require('../serverless')
47
+ if (IS_SERVERLESS) {
48
48
  // Stable config is not supported in serverless environments.
49
49
  return
50
50
  }