dd-trace 5.83.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 (630) hide show
  1. package/LICENSE-3rdparty.csv +0 -1
  2. package/ci/cypress/polyfills.js +1 -1
  3. package/ci/init.js +5 -5
  4. package/ext/exporters.js +1 -1
  5. package/ext/formats.js +1 -1
  6. package/ext/index.js +1 -1
  7. package/ext/kinds.js +1 -1
  8. package/ext/priority.js +1 -1
  9. package/ext/scopes.js +1 -1
  10. package/ext/tags.js +1 -1
  11. package/ext/types.js +1 -1
  12. package/index.d.ts +115 -2
  13. package/initialize.mjs +47 -31
  14. package/loader-hook.mjs +35 -22
  15. package/package.json +36 -33
  16. package/packages/datadog-code-origin/index.js +12 -10
  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/compiler.js +6 -0
  64. package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +1 -0
  65. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -1
  66. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +55 -55
  67. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +74 -17
  68. package/packages/datadog-instrumentations/src/helpers/router-helper.js +7 -7
  69. package/packages/datadog-instrumentations/src/helpers/shared-utils.js +1 -1
  70. package/packages/datadog-instrumentations/src/hono.js +6 -6
  71. package/packages/datadog-instrumentations/src/http/client.js +1 -1
  72. package/packages/datadog-instrumentations/src/http/server.js +4 -4
  73. package/packages/datadog-instrumentations/src/http2/server.js +1 -1
  74. package/packages/datadog-instrumentations/src/ioredis.js +1 -1
  75. package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
  76. package/packages/datadog-instrumentations/src/jest.js +250 -106
  77. package/packages/datadog-instrumentations/src/kafkajs.js +9 -8
  78. package/packages/datadog-instrumentations/src/knex.js +2 -2
  79. package/packages/datadog-instrumentations/src/koa.js +3 -1
  80. package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
  81. package/packages/datadog-instrumentations/src/light-my-request.js +1 -1
  82. package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
  83. package/packages/datadog-instrumentations/src/mariadb.js +1 -1
  84. package/packages/datadog-instrumentations/src/memcached.js +1 -1
  85. package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
  86. package/packages/datadog-instrumentations/src/mocha/main.js +24 -24
  87. package/packages/datadog-instrumentations/src/mocha/utils.js +15 -11
  88. package/packages/datadog-instrumentations/src/mocha/worker.js +4 -4
  89. package/packages/datadog-instrumentations/src/moleculer/server.js +1 -1
  90. package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
  91. package/packages/datadog-instrumentations/src/mongodb.js +7 -7
  92. package/packages/datadog-instrumentations/src/mongoose.js +10 -10
  93. package/packages/datadog-instrumentations/src/mquery.js +6 -6
  94. package/packages/datadog-instrumentations/src/multer.js +1 -1
  95. package/packages/datadog-instrumentations/src/mysql.js +1 -1
  96. package/packages/datadog-instrumentations/src/net.js +6 -6
  97. package/packages/datadog-instrumentations/src/next.js +6 -6
  98. package/packages/datadog-instrumentations/src/nyc.js +34 -2
  99. package/packages/datadog-instrumentations/src/openai.js +24 -24
  100. package/packages/datadog-instrumentations/src/oracledb.js +2 -2
  101. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
  102. package/packages/datadog-instrumentations/src/passport-http.js +1 -1
  103. package/packages/datadog-instrumentations/src/passport-local.js +1 -1
  104. package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
  105. package/packages/datadog-instrumentations/src/passport.js +1 -1
  106. package/packages/datadog-instrumentations/src/pg.js +3 -3
  107. package/packages/datadog-instrumentations/src/pino.js +2 -2
  108. package/packages/datadog-instrumentations/src/playwright.js +71 -67
  109. package/packages/datadog-instrumentations/src/prisma.js +24 -78
  110. package/packages/datadog-instrumentations/src/promise-js.js +1 -1
  111. package/packages/datadog-instrumentations/src/promise.js +1 -1
  112. package/packages/datadog-instrumentations/src/protobufjs.js +6 -6
  113. package/packages/datadog-instrumentations/src/q.js +2 -2
  114. package/packages/datadog-instrumentations/src/redis.js +2 -2
  115. package/packages/datadog-instrumentations/src/rhea.js +5 -5
  116. package/packages/datadog-instrumentations/src/router.js +8 -8
  117. package/packages/datadog-instrumentations/src/selenium.js +3 -3
  118. package/packages/datadog-instrumentations/src/sequelize.js +1 -1
  119. package/packages/datadog-instrumentations/src/sharedb.js +2 -2
  120. package/packages/datadog-instrumentations/src/tedious.js +1 -1
  121. package/packages/datadog-instrumentations/src/undici.js +2 -2
  122. package/packages/datadog-instrumentations/src/url.js +5 -5
  123. package/packages/datadog-instrumentations/src/vitest.js +56 -45
  124. package/packages/datadog-instrumentations/src/when.js +1 -1
  125. package/packages/datadog-instrumentations/src/winston.js +1 -1
  126. package/packages/datadog-instrumentations/src/ws.js +128 -41
  127. package/packages/datadog-plugin-aerospike/src/index.js +4 -4
  128. package/packages/datadog-plugin-ai/src/index.js +1 -1
  129. package/packages/datadog-plugin-ai/src/tracing.js +2 -2
  130. package/packages/datadog-plugin-ai/src/utils.js +1 -1
  131. package/packages/datadog-plugin-amqp10/src/consumer.js +2 -2
  132. package/packages/datadog-plugin-amqp10/src/index.js +1 -1
  133. package/packages/datadog-plugin-amqp10/src/producer.js +2 -2
  134. package/packages/datadog-plugin-amqplib/src/client.js +2 -2
  135. package/packages/datadog-plugin-amqplib/src/consumer.js +2 -2
  136. package/packages/datadog-plugin-amqplib/src/index.js +1 -1
  137. package/packages/datadog-plugin-amqplib/src/producer.js +2 -2
  138. package/packages/datadog-plugin-amqplib/src/util.js +1 -1
  139. package/packages/datadog-plugin-anthropic/src/index.js +1 -1
  140. package/packages/datadog-plugin-anthropic/src/tracing.js +2 -2
  141. package/packages/datadog-plugin-apollo/src/gateway/fetch.js +1 -1
  142. package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
  143. package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -5
  144. package/packages/datadog-plugin-apollo/src/index.js +1 -1
  145. package/packages/datadog-plugin-avsc/src/schema_iterator.js +3 -3
  146. package/packages/datadog-plugin-aws-sdk/src/base.js +11 -10
  147. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
  148. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +1 -1
  149. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +24 -24
  150. package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
  151. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -1
  152. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
  153. package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +3 -3
  154. package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
  155. package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
  156. package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -5
  157. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -12
  158. package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
  159. package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
  160. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +3 -3
  161. package/packages/datadog-plugin-azure-functions/src/index.js +11 -10
  162. package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
  163. package/packages/datadog-plugin-azure-service-bus/src/producer.js +3 -3
  164. package/packages/datadog-plugin-bullmq/src/consumer.js +2 -2
  165. package/packages/datadog-plugin-bullmq/src/index.js +1 -1
  166. package/packages/datadog-plugin-bullmq/src/producer.js +11 -11
  167. package/packages/datadog-plugin-cassandra-driver/src/index.js +2 -2
  168. package/packages/datadog-plugin-child_process/src/index.js +2 -2
  169. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +5 -5
  170. package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
  171. package/packages/datadog-plugin-couchbase/src/index.js +3 -3
  172. package/packages/datadog-plugin-cucumber/src/index.js +46 -45
  173. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +68 -55
  174. package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
  175. package/packages/datadog-plugin-cypress/src/support.js +56 -9
  176. package/packages/datadog-plugin-dd-trace-api/src/index.js +1 -1
  177. package/packages/datadog-plugin-dns/src/index.js +1 -1
  178. package/packages/datadog-plugin-dns/src/lookup.js +2 -2
  179. package/packages/datadog-plugin-dns/src/lookup_service.js +3 -3
  180. package/packages/datadog-plugin-dns/src/resolve.js +2 -2
  181. package/packages/datadog-plugin-dns/src/reverse.js +2 -2
  182. package/packages/datadog-plugin-elasticsearch/src/index.js +2 -2
  183. package/packages/datadog-plugin-express/src/index.js +1 -1
  184. package/packages/datadog-plugin-fastify/src/index.js +1 -1
  185. package/packages/datadog-plugin-fs/src/index.js +2 -2
  186. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +2 -2
  187. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +8 -6
  188. package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
  189. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +11 -10
  190. package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +6 -6
  191. package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
  192. package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +2 -2
  193. package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +1 -1
  194. package/packages/datadog-plugin-google-genai/src/index.js +1 -1
  195. package/packages/datadog-plugin-google-genai/src/tracing.js +2 -2
  196. package/packages/datadog-plugin-graphql/src/execute.js +2 -2
  197. package/packages/datadog-plugin-graphql/src/index.js +2 -2
  198. package/packages/datadog-plugin-graphql/src/parse.js +1 -1
  199. package/packages/datadog-plugin-graphql/src/resolve.js +6 -6
  200. package/packages/datadog-plugin-graphql/src/utils.js +1 -1
  201. package/packages/datadog-plugin-graphql/src/validate.js +2 -2
  202. package/packages/datadog-plugin-grpc/src/client.js +3 -3
  203. package/packages/datadog-plugin-grpc/src/index.js +1 -1
  204. package/packages/datadog-plugin-grpc/src/server.js +3 -3
  205. package/packages/datadog-plugin-grpc/src/util.js +2 -2
  206. package/packages/datadog-plugin-http/src/client.js +10 -10
  207. package/packages/datadog-plugin-http/src/index.js +1 -1
  208. package/packages/datadog-plugin-http2/src/client.js +6 -6
  209. package/packages/datadog-plugin-http2/src/index.js +1 -1
  210. package/packages/datadog-plugin-http2/src/server.js +1 -1
  211. package/packages/datadog-plugin-jest/src/index.js +39 -22
  212. package/packages/datadog-plugin-jest/src/util.js +1 -1
  213. package/packages/datadog-plugin-kafkajs/src/consumer.js +5 -5
  214. package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
  215. package/packages/datadog-plugin-kafkajs/src/producer.js +5 -5
  216. package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
  217. package/packages/datadog-plugin-langchain/src/tokens.js +2 -2
  218. package/packages/datadog-plugin-langchain/src/tracing.js +4 -4
  219. package/packages/datadog-plugin-memcached/src/index.js +2 -2
  220. package/packages/datadog-plugin-mocha/src/index.js +12 -12
  221. package/packages/datadog-plugin-moleculer/src/client.js +1 -1
  222. package/packages/datadog-plugin-moleculer/src/index.js +1 -1
  223. package/packages/datadog-plugin-moleculer/src/server.js +2 -2
  224. package/packages/datadog-plugin-moleculer/src/util.js +1 -1
  225. package/packages/datadog-plugin-mongodb-core/src/index.js +5 -5
  226. package/packages/datadog-plugin-mysql/src/index.js +2 -2
  227. package/packages/datadog-plugin-net/src/ipc.js +2 -2
  228. package/packages/datadog-plugin-net/src/tcp.js +4 -4
  229. package/packages/datadog-plugin-next/src/index.js +4 -4
  230. package/packages/datadog-plugin-nyc/src/index.js +60 -0
  231. package/packages/datadog-plugin-openai/src/index.js +1 -1
  232. package/packages/datadog-plugin-openai/src/services.js +3 -3
  233. package/packages/datadog-plugin-openai/src/stream-helpers.js +1 -1
  234. package/packages/datadog-plugin-openai/src/tracing.js +10 -10
  235. package/packages/datadog-plugin-oracledb/src/connection-parser.js +1 -1
  236. package/packages/datadog-plugin-oracledb/src/index.js +1 -1
  237. package/packages/datadog-plugin-pg/src/index.js +2 -2
  238. package/packages/datadog-plugin-playwright/src/index.js +42 -42
  239. package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +95 -0
  240. package/packages/datadog-plugin-prisma/src/index.js +129 -10
  241. package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +3 -3
  242. package/packages/datadog-plugin-redis/src/index.js +2 -2
  243. package/packages/datadog-plugin-restify/src/index.js +1 -1
  244. package/packages/datadog-plugin-rhea/src/consumer.js +2 -2
  245. package/packages/datadog-plugin-rhea/src/index.js +1 -1
  246. package/packages/datadog-plugin-rhea/src/producer.js +2 -2
  247. package/packages/datadog-plugin-router/src/index.js +3 -3
  248. package/packages/datadog-plugin-selenium/src/index.js +2 -2
  249. package/packages/datadog-plugin-sharedb/src/index.js +2 -2
  250. package/packages/datadog-plugin-tedious/src/index.js +2 -2
  251. package/packages/datadog-plugin-undici/src/index.js +5 -5
  252. package/packages/datadog-plugin-vitest/src/index.js +39 -18
  253. package/packages/datadog-plugin-ws/src/close.js +10 -11
  254. package/packages/datadog-plugin-ws/src/index.js +1 -1
  255. package/packages/datadog-plugin-ws/src/producer.js +8 -9
  256. package/packages/datadog-plugin-ws/src/receiver.js +8 -9
  257. package/packages/datadog-plugin-ws/src/server.js +17 -12
  258. package/packages/datadog-plugin-ws/src/util.js +48 -16
  259. package/packages/datadog-shimmer/src/shimmer.js +5 -8
  260. package/packages/dd-trace/index.js +2 -2
  261. package/packages/dd-trace/src/agent/info.js +57 -0
  262. package/packages/dd-trace/src/agent/url.js +28 -0
  263. package/packages/dd-trace/src/aiguard/client.js +3 -3
  264. package/packages/dd-trace/src/aiguard/sdk.js +6 -6
  265. package/packages/dd-trace/src/aiguard/tags.js +1 -1
  266. package/packages/dd-trace/src/analytics_sampler.js +1 -1
  267. package/packages/dd-trace/src/appsec/activation.js +1 -1
  268. package/packages/dd-trace/src/appsec/addresses.js +1 -1
  269. package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
  270. package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
  271. package/packages/dd-trace/src/appsec/blocking.js +5 -5
  272. package/packages/dd-trace/src/appsec/channels.js +1 -1
  273. package/packages/dd-trace/src/appsec/graphql.js +13 -13
  274. package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +1 -1
  275. package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
  276. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +6 -5
  277. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +2 -2
  278. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-rule-type.js +1 -1
  279. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +148 -148
  280. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +148 -148
  281. package/packages/dd-trace/src/appsec/iast/analyzers/index.js +1 -1
  282. package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +1 -1
  283. package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +7 -8
  284. package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +2 -2
  285. package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +2 -2
  286. package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +2 -2
  287. package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +3 -3
  288. package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
  289. package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +2 -2
  290. package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +3 -3
  291. package/packages/dd-trace/src/appsec/iast/iast-context.js +6 -3
  292. package/packages/dd-trace/src/appsec/iast/iast-plugin.js +17 -9
  293. package/packages/dd-trace/src/appsec/iast/index.js +2 -2
  294. package/packages/dd-trace/src/appsec/iast/overhead-controller.js +9 -9
  295. package/packages/dd-trace/src/appsec/iast/path-line.js +6 -6
  296. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +11 -11
  297. package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +49 -17
  298. package/packages/dd-trace/src/appsec/iast/tags.js +1 -1
  299. package/packages/dd-trace/src/appsec/iast/taint-tracking/constants.js +1 -1
  300. package/packages/dd-trace/src/appsec/iast/taint-tracking/csi-methods.js +2 -2
  301. package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +1 -1
  302. package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +2 -2
  303. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -6
  304. package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +2 -2
  305. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +5 -5
  306. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +4 -4
  307. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -5
  308. package/packages/dd-trace/src/appsec/iast/taint-tracking/secure-marks.js +6 -4
  309. package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +1 -1
  310. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +8 -8
  311. package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +4 -4
  312. package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +2 -2
  313. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +6 -6
  314. package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -2
  315. package/packages/dd-trace/src/appsec/iast/utils.js +3 -3
  316. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/constants.js +1 -1
  317. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +1 -1
  318. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/hardcoded-password-analyzer.js +1 -1
  319. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +6 -6
  320. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/tainted-range-based-sensitive-analyzer.js +1 -1
  321. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +8 -8
  322. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +1 -1
  323. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +12 -11
  324. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +5 -5
  325. package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +1 -1
  326. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -4
  327. package/packages/dd-trace/src/appsec/index.js +65 -27
  328. package/packages/dd-trace/src/appsec/rasp/command_injection.js +3 -3
  329. package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +4 -4
  330. package/packages/dd-trace/src/appsec/rasp/index.js +2 -2
  331. package/packages/dd-trace/src/appsec/rasp/lfi.js +5 -5
  332. package/packages/dd-trace/src/appsec/rasp/sql_injection.js +2 -2
  333. package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
  334. package/packages/dd-trace/src/appsec/rasp/utils.js +4 -4
  335. package/packages/dd-trace/src/appsec/rc-products.js +1 -1
  336. package/packages/dd-trace/src/appsec/remote_config.js +3 -3
  337. package/packages/dd-trace/src/appsec/reporter.js +11 -11
  338. package/packages/dd-trace/src/appsec/rule_manager.js +1 -1
  339. package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
  340. package/packages/dd-trace/src/appsec/sdk/set_user.js +2 -2
  341. package/packages/dd-trace/src/appsec/sdk/track_event.js +7 -7
  342. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
  343. package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
  344. package/packages/dd-trace/src/appsec/stack_trace.js +5 -5
  345. package/packages/dd-trace/src/appsec/telemetry/common.js +3 -3
  346. package/packages/dd-trace/src/appsec/telemetry/index.js +5 -5
  347. package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -3
  348. package/packages/dd-trace/src/appsec/telemetry/user.js +4 -4
  349. package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -3
  350. package/packages/dd-trace/src/appsec/user_tracking.js +7 -7
  351. package/packages/dd-trace/src/appsec/waf/diagnostics.js +2 -2
  352. package/packages/dd-trace/src/appsec/waf/index.js +1 -1
  353. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +2 -2
  354. package/packages/dd-trace/src/azure_metadata.js +16 -9
  355. package/packages/dd-trace/src/baggage.js +1 -1
  356. package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +82 -0
  357. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -5
  358. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +9 -9
  359. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +8 -8
  360. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +11 -11
  361. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
  362. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +8 -6
  363. package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -0
  364. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +4 -3
  365. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +39 -20
  366. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +22 -22
  367. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
  368. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
  369. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +8 -8
  370. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +3 -3
  371. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +17 -12
  372. package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +92 -0
  373. package/packages/dd-trace/src/ci-visibility/telemetry.js +8 -4
  374. package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +1 -1
  375. package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +6 -6
  376. package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +61 -0
  377. package/packages/dd-trace/src/config/defaults.js +1 -1
  378. package/packages/dd-trace/src/config/git_properties.js +1 -1
  379. package/packages/dd-trace/src/config/helper.js +2 -2
  380. package/packages/dd-trace/src/config/index.js +645 -641
  381. package/packages/dd-trace/src/config/remote_config.js +2 -1
  382. package/packages/dd-trace/src/config/stable.js +2 -2
  383. package/packages/dd-trace/src/config/supported-configurations.json +2 -1
  384. package/packages/dd-trace/src/constants.js +3 -3
  385. package/packages/dd-trace/src/crashtracking/crashtracker.js +8 -11
  386. package/packages/dd-trace/src/datastreams/checkpointer.js +1 -1
  387. package/packages/dd-trace/src/datastreams/context.js +1 -1
  388. package/packages/dd-trace/src/datastreams/encoding.js +1 -1
  389. package/packages/dd-trace/src/datastreams/fnv.js +1 -1
  390. package/packages/dd-trace/src/datastreams/index.js +8 -8
  391. package/packages/dd-trace/src/datastreams/pathway.js +5 -3
  392. package/packages/dd-trace/src/datastreams/processor.js +14 -12
  393. package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +27 -25
  394. package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +1 -1
  395. package/packages/dd-trace/src/datastreams/size.js +3 -3
  396. package/packages/dd-trace/src/datastreams/writer.js +5 -11
  397. package/packages/dd-trace/src/debugger/config.js +2 -1
  398. package/packages/dd-trace/src/debugger/constants.js +7 -0
  399. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +14 -10
  400. package/packages/dd-trace/src/debugger/devtools_client/condition.js +2 -2
  401. package/packages/dd-trace/src/debugger/devtools_client/config.js +6 -12
  402. package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
  403. package/packages/dd-trace/src/debugger/devtools_client/index.js +32 -25
  404. package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +1 -1
  405. package/packages/dd-trace/src/debugger/devtools_client/json-buffer.js +10 -11
  406. package/packages/dd-trace/src/debugger/devtools_client/log.js +1 -1
  407. package/packages/dd-trace/src/debugger/devtools_client/send.js +54 -10
  408. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +94 -37
  409. package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +4 -4
  410. package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +7 -7
  411. package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +2 -2
  412. package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
  413. package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -1
  414. package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +10 -1
  415. package/packages/dd-trace/src/debugger/devtools_client/state.js +65 -8
  416. package/packages/dd-trace/src/debugger/devtools_client/status.js +9 -8
  417. package/packages/dd-trace/src/debugger/index.js +95 -37
  418. package/packages/dd-trace/src/dogstatsd.js +17 -18
  419. package/packages/dd-trace/src/encode/0.4.js +7 -6
  420. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +8 -8
  421. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +3 -3
  422. package/packages/dd-trace/src/encode/span-stats.js +2 -2
  423. package/packages/dd-trace/src/encode/tags-processors.js +1 -1
  424. package/packages/dd-trace/src/exporters/agent/index.js +5 -9
  425. package/packages/dd-trace/src/exporters/agent/writer.js +5 -4
  426. package/packages/dd-trace/src/exporters/common/agents.js +1 -1
  427. package/packages/dd-trace/src/exporters/common/{agent-info-exporter.js → buffering-exporter.js} +12 -39
  428. package/packages/dd-trace/src/exporters/common/docker.js +11 -7
  429. package/packages/dd-trace/src/exporters/common/request.js +28 -8
  430. package/packages/dd-trace/src/exporters/common/url-to-http-options-polyfill.js +2 -2
  431. package/packages/dd-trace/src/exporters/common/writer.js +2 -0
  432. package/packages/dd-trace/src/exporters/span-stats/index.js +4 -11
  433. package/packages/dd-trace/src/exporters/span-stats/writer.js +3 -3
  434. package/packages/dd-trace/src/external-logger/src/index.js +4 -4
  435. package/packages/dd-trace/src/flare/index.js +3 -3
  436. package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
  437. package/packages/dd-trace/src/heap_snapshots.js +1 -1
  438. package/packages/dd-trace/src/id.js +1 -1
  439. package/packages/dd-trace/src/iitm.js +1 -1
  440. package/packages/dd-trace/src/lambda/handler.js +1 -1
  441. package/packages/dd-trace/src/lambda/runtime/errors.js +1 -1
  442. package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
  443. package/packages/dd-trace/src/llmobs/constants/tags.js +1 -1
  444. package/packages/dd-trace/src/llmobs/constants/text.js +1 -1
  445. package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
  446. package/packages/dd-trace/src/llmobs/index.js +2 -4
  447. package/packages/dd-trace/src/llmobs/noop.js +2 -2
  448. package/packages/dd-trace/src/llmobs/plugins/ai/index.js +8 -8
  449. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +2 -2
  450. package/packages/dd-trace/src/llmobs/plugins/anthropic.js +5 -5
  451. package/packages/dd-trace/src/llmobs/plugins/base.js +1 -1
  452. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +8 -8
  453. package/packages/dd-trace/src/llmobs/plugins/genai/index.js +2 -2
  454. package/packages/dd-trace/src/llmobs/plugins/genai/util.js +15 -15
  455. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +2 -2
  456. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +5 -5
  457. package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
  458. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +3 -3
  459. package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +1 -1
  460. package/packages/dd-trace/src/llmobs/plugins/openai/index.js +17 -17
  461. package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +3 -3
  462. package/packages/dd-trace/src/llmobs/plugins/vertexai.js +6 -6
  463. package/packages/dd-trace/src/llmobs/sdk.js +11 -11
  464. package/packages/dd-trace/src/llmobs/span_processor.js +6 -6
  465. package/packages/dd-trace/src/llmobs/tagger.js +4 -4
  466. package/packages/dd-trace/src/llmobs/telemetry.js +8 -8
  467. package/packages/dd-trace/src/llmobs/util.js +1 -1
  468. package/packages/dd-trace/src/llmobs/writers/base.js +11 -17
  469. package/packages/dd-trace/src/llmobs/writers/evaluations.js +5 -5
  470. package/packages/dd-trace/src/llmobs/writers/spans.js +3 -3
  471. package/packages/dd-trace/src/llmobs/writers/util.js +4 -10
  472. package/packages/dd-trace/src/log/channels.js +2 -2
  473. package/packages/dd-trace/src/log/index.js +46 -31
  474. package/packages/dd-trace/src/log/log.js +1 -1
  475. package/packages/dd-trace/src/log/writer.js +14 -79
  476. package/packages/dd-trace/src/noop/span.js +2 -2
  477. package/packages/dd-trace/src/openfeature/constants/constants.js +1 -1
  478. package/packages/dd-trace/src/openfeature/flagging_provider.js +4 -4
  479. package/packages/dd-trace/src/openfeature/index.js +2 -2
  480. package/packages/dd-trace/src/openfeature/noop.js +3 -3
  481. package/packages/dd-trace/src/openfeature/remote_config.js +1 -1
  482. package/packages/dd-trace/src/openfeature/writers/base.js +14 -20
  483. package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
  484. package/packages/dd-trace/src/openfeature/writers/util.js +4 -9
  485. package/packages/dd-trace/src/opentelemetry/context_manager.js +48 -29
  486. package/packages/dd-trace/src/opentelemetry/logs/index.js +2 -2
  487. package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +2 -2
  488. package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +10 -10
  489. package/packages/dd-trace/src/opentelemetry/metrics/constants.js +3 -3
  490. package/packages/dd-trace/src/opentelemetry/metrics/index.js +2 -2
  491. package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
  492. package/packages/dd-trace/src/opentelemetry/metrics/meter.js +1 -1
  493. package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +11 -11
  494. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +18 -18
  495. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +6 -6
  496. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +10 -7
  497. package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +3 -3
  498. package/packages/dd-trace/src/opentelemetry/span.js +8 -8
  499. package/packages/dd-trace/src/opentelemetry/span_context.js +1 -1
  500. package/packages/dd-trace/src/opentelemetry/span_processor.js +1 -1
  501. package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
  502. package/packages/dd-trace/src/opentracing/propagation/log.js +2 -2
  503. package/packages/dd-trace/src/opentracing/propagation/text_map.js +14 -12
  504. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
  505. package/packages/dd-trace/src/opentracing/span.js +20 -20
  506. package/packages/dd-trace/src/opentracing/span_context.js +3 -3
  507. package/packages/dd-trace/src/opentracing/tracer.js +3 -3
  508. package/packages/dd-trace/src/payload-tagging/config/index.js +1 -1
  509. package/packages/dd-trace/src/payload-tagging/index.js +1 -1
  510. package/packages/dd-trace/src/payload-tagging/tagging.js +2 -2
  511. package/packages/dd-trace/src/plugin_manager.js +6 -6
  512. package/packages/dd-trace/src/plugins/apollo.js +4 -4
  513. package/packages/dd-trace/src/plugins/ci_plugin.js +101 -36
  514. package/packages/dd-trace/src/plugins/database.js +1 -1
  515. package/packages/dd-trace/src/plugins/index.js +1 -1
  516. package/packages/dd-trace/src/plugins/log_plugin.js +2 -2
  517. package/packages/dd-trace/src/plugins/outbound.js +9 -8
  518. package/packages/dd-trace/src/plugins/plugin.js +17 -7
  519. package/packages/dd-trace/src/plugins/producer.js +6 -5
  520. package/packages/dd-trace/src/plugins/tracing.js +37 -8
  521. package/packages/dd-trace/src/plugins/util/ci.js +40 -40
  522. package/packages/dd-trace/src/plugins/util/env.js +2 -2
  523. package/packages/dd-trace/src/plugins/util/git-cache.js +2 -2
  524. package/packages/dd-trace/src/plugins/util/git.js +20 -18
  525. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +6 -6
  526. package/packages/dd-trace/src/plugins/util/ip_extractor.js +3 -3
  527. package/packages/dd-trace/src/plugins/util/llm.js +1 -1
  528. package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -3
  529. package/packages/dd-trace/src/plugins/util/tags.js +1 -1
  530. package/packages/dd-trace/src/plugins/util/test.js +46 -40
  531. package/packages/dd-trace/src/plugins/util/url.js +1 -1
  532. package/packages/dd-trace/src/plugins/util/urlfilter.js +1 -1
  533. package/packages/dd-trace/src/plugins/util/user-provided-git.js +2 -2
  534. package/packages/dd-trace/src/plugins/util/web.js +12 -12
  535. package/packages/dd-trace/src/priority_sampler.js +4 -4
  536. package/packages/dd-trace/src/process-tags/index.js +2 -2
  537. package/packages/dd-trace/src/profiler.js +1 -1
  538. package/packages/dd-trace/src/profiling/config.js +11 -14
  539. package/packages/dd-trace/src/profiling/constants.js +2 -2
  540. package/packages/dd-trace/src/profiling/exporter_cli.js +3 -3
  541. package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
  542. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +8 -8
  543. package/packages/dd-trace/src/profiling/index.js +1 -1
  544. package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
  545. package/packages/dd-trace/src/profiling/loggers/console.js +1 -1
  546. package/packages/dd-trace/src/profiling/profiler.js +21 -23
  547. package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
  548. package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +3 -3
  549. package/packages/dd-trace/src/profiling/profilers/events.js +27 -19
  550. package/packages/dd-trace/src/profiling/profilers/shared.js +2 -2
  551. package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
  552. package/packages/dd-trace/src/profiling/tagger.js +1 -1
  553. package/packages/dd-trace/src/profiling/webspan-utils.js +2 -2
  554. package/packages/dd-trace/src/proxy.js +13 -13
  555. package/packages/dd-trace/src/remote_config/apply_states.js +1 -1
  556. package/packages/dd-trace/src/remote_config/capabilities.js +1 -0
  557. package/packages/dd-trace/src/remote_config/index.js +17 -22
  558. package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
  559. package/packages/dd-trace/src/ritm.js +1 -1
  560. package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
  561. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
  562. package/packages/dd-trace/src/serverless.js +1 -1
  563. package/packages/dd-trace/src/service-naming/extra-services.js +1 -1
  564. package/packages/dd-trace/src/service-naming/index.js +1 -1
  565. package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +3 -3
  566. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +25 -25
  567. package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +3 -3
  568. package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +18 -18
  569. package/packages/dd-trace/src/service-naming/schemas/v0/web.js +23 -23
  570. package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +9 -9
  571. package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +3 -3
  572. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +21 -21
  573. package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +3 -3
  574. package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +17 -17
  575. package/packages/dd-trace/src/service-naming/schemas/v1/web.js +23 -23
  576. package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +9 -9
  577. package/packages/dd-trace/src/span_format.js +4 -4
  578. package/packages/dd-trace/src/span_sampler.js +1 -1
  579. package/packages/dd-trace/src/span_stats.js +11 -11
  580. package/packages/dd-trace/src/spanleak.js +1 -1
  581. package/packages/dd-trace/src/standalone/index.js +1 -1
  582. package/packages/dd-trace/src/standalone/product.js +2 -2
  583. package/packages/dd-trace/src/standalone/tracesource.js +1 -1
  584. package/packages/dd-trace/src/startup-log.js +4 -4
  585. package/packages/dd-trace/src/tagger.js +3 -1
  586. package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
  587. package/packages/dd-trace/src/telemetry/endpoints.js +4 -4
  588. package/packages/dd-trace/src/telemetry/index.js +1 -1
  589. package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
  590. package/packages/dd-trace/src/telemetry/logs/log-collector.js +2 -2
  591. package/packages/dd-trace/src/telemetry/metrics.js +6 -6
  592. package/packages/dd-trace/src/telemetry/send-data.js +5 -5
  593. package/packages/dd-trace/src/telemetry/telemetry.js +10 -10
  594. package/packages/dd-trace/src/tracer.js +3 -2
  595. package/packages/dd-trace/src/util.js +1 -1
  596. package/scripts/preinstall.js +1 -1
  597. package/vendor/dist/@datadog/sketches-js/index.js +1 -1
  598. package/vendor/dist/@datadog/source-map/index.js +1 -1
  599. package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
  600. package/vendor/dist/@opentelemetry/core/index.js +1 -1
  601. package/vendor/dist/@opentelemetry/resources/index.js +1 -1
  602. package/vendor/dist/astring/index.js +1 -1
  603. package/vendor/dist/crypto-randomuuid/index.js +1 -1
  604. package/vendor/dist/escape-string-regexp/index.js +1 -1
  605. package/vendor/dist/esquery/index.js +1 -1
  606. package/vendor/dist/ignore/index.js +1 -1
  607. package/vendor/dist/istanbul-lib-coverage/index.js +1 -1
  608. package/vendor/dist/jest-docblock/index.js +1 -1
  609. package/vendor/dist/jsonpath-plus/index.js +1 -1
  610. package/vendor/dist/limiter/index.js +1 -1
  611. package/vendor/dist/lodash.sortby/index.js +1 -1
  612. package/vendor/dist/lru-cache/index.js +1 -1
  613. package/vendor/dist/meriyah/index.js +1 -1
  614. package/vendor/dist/module-details-from-path/index.js +1 -1
  615. package/vendor/dist/mutexify/promise/index.js +1 -1
  616. package/vendor/dist/opentracing/index.js +1 -1
  617. package/vendor/dist/path-to-regexp/index.js +1 -1
  618. package/vendor/dist/pprof-format/index.js +1 -1
  619. package/vendor/dist/protobufjs/index.js +1 -1
  620. package/vendor/dist/protobufjs/minimal/index.js +1 -1
  621. package/vendor/dist/retry/index.js +1 -1
  622. package/vendor/dist/rfdc/index.js +1 -1
  623. package/vendor/dist/semifies/index.js +1 -1
  624. package/vendor/dist/shell-quote/index.js +1 -1
  625. package/vendor/dist/source-map/index.js +1 -1
  626. package/vendor/dist/source-map/lib/util/index.js +1 -1
  627. package/vendor/dist/tlhunter-sorted-set/index.js +1 -1
  628. package/vendor/dist/ttl-set/index.js +1 -1
  629. package/packages/datadog-plugin-prisma/src/client.js +0 -60
  630. package/packages/datadog-plugin-prisma/src/engine.js +0 -81
@@ -5,7 +5,7 @@ const web = require('../plugins/util/web')
5
5
  const { extractIp } = require('../plugins/util/ip_extractor')
6
6
  const { HTTP_CLIENT_IP } = require('../../../../ext/tags')
7
7
  const { storage } = require('../../../datadog-core')
8
- const { isInServerlessEnvironment } = require('../serverless')
8
+ const { IS_SERVERLESS } = require('../serverless')
9
9
  const RuleManager = require('./rule_manager')
10
10
  const appsecRemoteConfig = require('./remote_config')
11
11
  const {
@@ -29,7 +29,7 @@ const {
29
29
  responseSetHeader,
30
30
  routerParam,
31
31
  fastifyResponseChannel,
32
- fastifyPathParams
32
+ fastifyPathParams,
33
33
  } = require('./channels')
34
34
  const waf = require('./waf')
35
35
  const addresses = require('./addresses')
@@ -96,7 +96,7 @@ function enable (_config) {
96
96
  isEnabled = true
97
97
  config = _config
98
98
  } catch (err) {
99
- if (!isInServerlessEnvironment()) {
99
+ if (!IS_SERVERLESS) {
100
100
  log.error('[ASM] Unable to start AppSec', err)
101
101
  }
102
102
 
@@ -104,6 +104,8 @@ function enable (_config) {
104
104
  }
105
105
  }
106
106
 
107
+ const analyzedBodies = new WeakSet()
108
+
107
109
  function onRequestBodyParsed ({ req, res, body, abortController }) {
108
110
  if (body === undefined || body === null) return
109
111
 
@@ -120,25 +122,35 @@ function onRequestBodyParsed ({ req, res, body, abortController }) {
120
122
  storedBodies.set(req, body)
121
123
  }
122
124
 
125
+ if (typeof body === 'object') {
126
+ if (isEmptyObject(body)) return
127
+ analyzedBodies.add(body)
128
+ }
129
+
123
130
  const results = waf.run({
124
131
  persistent: {
125
- [addresses.HTTP_INCOMING_BODY]: body
126
- }
132
+ [addresses.HTTP_INCOMING_BODY]: body,
133
+ },
127
134
  }, req)
128
135
 
129
136
  handleResults(results?.actions, req, res, rootSpan, abortController)
130
137
  }
131
138
 
139
+ const analyzedCookies = new WeakSet()
140
+
132
141
  function onRequestCookieParser ({ req, res, abortController, cookies }) {
133
142
  if (!cookies || typeof cookies !== 'object') return
134
143
 
135
144
  const rootSpan = web.root(req)
136
145
  if (!rootSpan) return
137
146
 
147
+ if (isEmptyObject(cookies)) return
148
+ analyzedCookies.add(cookies)
149
+
138
150
  const results = waf.run({
139
151
  persistent: {
140
- [addresses.HTTP_INCOMING_COOKIES]: cookies
141
- }
152
+ [addresses.HTTP_INCOMING_COOKIES]: cookies,
153
+ },
142
154
  }, req)
143
155
 
144
156
  handleResults(results?.actions, req, res, rootSpan, abortController)
@@ -153,7 +165,7 @@ function incomingHttpStartTranslator ({ req, res, abortController }) {
153
165
  rootSpan.addTags({
154
166
  '_dd.appsec.enabled': 1,
155
167
  '_dd.runtime_family': 'nodejs',
156
- [HTTP_CLIENT_IP]: clientIp
168
+ [HTTP_CLIENT_IP]: clientIp,
157
169
  })
158
170
 
159
171
  const requestHeaders = { ...req.headers }
@@ -162,7 +174,7 @@ function incomingHttpStartTranslator ({ req, res, abortController }) {
162
174
  const persistent = {
163
175
  [addresses.HTTP_INCOMING_URL]: req.url,
164
176
  [addresses.HTTP_INCOMING_HEADERS]: requestHeaders,
165
- [addresses.HTTP_INCOMING_METHOD]: req.method
177
+ [addresses.HTTP_INCOMING_METHOD]: req.method,
166
178
  }
167
179
 
168
180
  if (clientIp) {
@@ -178,19 +190,33 @@ function incomingHttpEndTranslator ({ req, res }) {
178
190
  const persistent = {}
179
191
 
180
192
  // we need to keep this to support other body parsers
181
- // TODO: no need to analyze it if it was already done by the body-parser hook
182
193
  if (req.body !== undefined && req.body !== null) {
183
- persistent[addresses.HTTP_INCOMING_BODY] = req.body
194
+ if (typeof req.body === 'object') {
195
+ if (!isEmptyObject(req.body) && !analyzedBodies.has(req.body)) {
196
+ persistent[addresses.HTTP_INCOMING_BODY] = req.body
197
+ }
198
+ } else {
199
+ persistent[addresses.HTTP_INCOMING_BODY] = req.body
200
+ }
184
201
  }
185
202
 
186
203
  // we need to keep this to support other cookie parsers
187
- if (req.cookies !== null && typeof req.cookies === 'object') {
204
+ if (
205
+ req.cookies !== null &&
206
+ typeof req.cookies === 'object' &&
207
+ !isEmptyObject(req.cookies) &&
208
+ !analyzedCookies.has(req.cookies)
209
+ ) {
188
210
  persistent[addresses.HTTP_INCOMING_COOKIES] = req.cookies
189
211
  }
190
212
 
191
213
  // we need to keep this to support nextjs
192
214
  const query = req.query
193
- if (query !== null && typeof query === 'object') {
215
+ if (
216
+ query !== null &&
217
+ typeof query === 'object' &&
218
+ !isEmptyObject(query)
219
+ ) {
194
220
  persistent[addresses.HTTP_INCOMING_QUERY] = query
195
221
  }
196
222
 
@@ -198,7 +224,7 @@ function incomingHttpEndTranslator ({ req, res }) {
198
224
  persistent[addresses.WAF_CONTEXT_PROCESSOR] = { 'extract-schema': true }
199
225
  }
200
226
 
201
- if (Object.keys(persistent).length) {
227
+ if (!isEmptyObject(persistent)) {
202
228
  waf.run({ persistent }, req)
203
229
  }
204
230
 
@@ -255,8 +281,8 @@ function onExpressSession ({ req, res, sessionId, abortController }) {
255
281
 
256
282
  const results = waf.run({
257
283
  persistent: {
258
- [addresses.USER_SESSION_ID]: sessionId
259
- }
284
+ [addresses.USER_SESSION_ID]: sessionId,
285
+ },
260
286
  }, req)
261
287
 
262
288
  handleResults(results?.actions, req, res, rootSpan, abortController)
@@ -273,10 +299,12 @@ function onRequestQueryParsed ({ req, res, query, abortController }) {
273
299
  const rootSpan = web.root(req)
274
300
  if (!rootSpan) return
275
301
 
302
+ if (isEmptyObject(query)) return
303
+
276
304
  const results = waf.run({
277
305
  persistent: {
278
- [addresses.HTTP_INCOMING_QUERY]: query
279
- }
306
+ [addresses.HTTP_INCOMING_QUERY]: query,
307
+ },
280
308
  }, req)
281
309
 
282
310
  handleResults(results?.actions, req, res, rootSpan, abortController)
@@ -286,12 +314,12 @@ function onRequestProcessParams ({ req, res, abortController, params }) {
286
314
  const rootSpan = web.root(req)
287
315
  if (!rootSpan) return
288
316
 
289
- if (!params || typeof params !== 'object' || !Object.keys(params).length) return
317
+ if (!params || typeof params !== 'object' || isEmptyObject(params)) return
290
318
 
291
319
  const results = waf.run({
292
320
  persistent: {
293
- [addresses.HTTP_INCOMING_PARAMS]: params
294
- }
321
+ [addresses.HTTP_INCOMING_PARAMS]: params,
322
+ },
295
323
  }, req)
296
324
 
297
325
  handleResults(results?.actions, req, res, rootSpan, abortController)
@@ -304,13 +332,13 @@ function onResponseBody ({ req, res, body }) {
304
332
  // we don't support blocking at this point, so no results needed
305
333
  waf.run({
306
334
  persistent: {
307
- [addresses.HTTP_INCOMING_RESPONSE_BODY]: body
308
- }
335
+ [addresses.HTTP_INCOMING_RESPONSE_BODY]: body,
336
+ },
309
337
  }, req)
310
338
  }
311
339
 
312
340
  function onResponseWriteHead ({ req, res, abortController, statusCode, responseHeaders }) {
313
- if (Object.keys(responseHeaders).length) {
341
+ if (!isEmptyObject(responseHeaders)) {
314
342
  storedResponseHeaders.set(req, responseHeaders)
315
343
  }
316
344
 
@@ -339,8 +367,8 @@ function onResponseWriteHead ({ req, res, abortController, statusCode, responseH
339
367
  const results = waf.run({
340
368
  persistent: {
341
369
  [addresses.HTTP_INCOMING_RESPONSE_CODE]: String(statusCode),
342
- [addresses.HTTP_INCOMING_RESPONSE_HEADERS]: responseHeaders
343
- }
370
+ [addresses.HTTP_INCOMING_RESPONSE_HEADERS]: responseHeaders,
371
+ },
344
372
  }, req)
345
373
 
346
374
  responseAnalyzedSet.add(res)
@@ -401,9 +429,19 @@ function disable () {
401
429
  if (responseSetHeader.hasSubscribers) responseSetHeader.unsubscribe(onResponseSetHeader)
402
430
  }
403
431
 
432
+ // this is faster than Object.keys().length === 0
433
+ function isEmptyObject (obj) {
434
+ // eslint-disable-next-line no-unreachable-loop
435
+ for (const _ in obj) {
436
+ return false
437
+ }
438
+
439
+ return true
440
+ }
441
+
404
442
  module.exports = {
405
443
  enable,
406
444
  disable,
407
445
  incomingHttpStartTranslator,
408
- incomingHttpEndTranslator
446
+ incomingHttpEndTranslator,
409
447
  }
@@ -12,14 +12,14 @@ function enable (_config) {
12
12
  config = _config
13
13
 
14
14
  childProcessExecutionTracingChannel.subscribe({
15
- start: analyzeCommandInjection
15
+ start: analyzeCommandInjection,
16
16
  })
17
17
  }
18
18
 
19
19
  function disable () {
20
20
  if (childProcessExecutionTracingChannel.start.hasSubscribers) {
21
21
  childProcessExecutionTracingChannel.unsubscribe({
22
- start: analyzeCommandInjection
22
+ start: analyzeCommandInjection,
23
23
  })
24
24
  }
25
25
  }
@@ -52,5 +52,5 @@ function analyzeCommandInjection ({ file, fileArgs, shell, abortController }) {
52
52
 
53
53
  module.exports = {
54
54
  enable,
55
- disable
55
+ disable,
56
56
  }
@@ -9,7 +9,7 @@ const IAST_MODULE = 'iast'
9
9
 
10
10
  const enabledFor = {
11
11
  [RASP_MODULE]: false,
12
- [IAST_MODULE]: false
12
+ [IAST_MODULE]: false,
13
13
  }
14
14
 
15
15
  let fsPlugin
@@ -21,8 +21,8 @@ function getStoreToStart (fsProps, store = storage('legacy').getStore()) {
21
21
  fs: {
22
22
  ...store.fs,
23
23
  ...fsProps,
24
- parentStore: store
25
- }
24
+ parentStore: store,
25
+ },
26
26
  }
27
27
  }
28
28
 
@@ -99,5 +99,5 @@ module.exports = {
99
99
  AppsecFsPlugin,
100
100
 
101
101
  RASP_MODULE,
102
- IAST_MODULE
102
+ IAST_MODULE,
103
103
  }
@@ -5,7 +5,7 @@ const {
5
5
  setUncaughtExceptionCaptureCallbackStart,
6
6
  expressMiddlewareError,
7
7
  fastifyMiddlewareError,
8
- routerMiddlewareError
8
+ routerMiddlewareError,
9
9
  } = require('../channels')
10
10
  const { block, registerBlockDelegation, isBlocked } = require('../blocking')
11
11
  const { updateRaspRuleMatchMetricTags } = require('../telemetry')
@@ -136,5 +136,5 @@ module.exports = {
136
136
  enable,
137
137
  disable,
138
138
  handleUncaughtExceptionMonitor, // exported only for testing purpose
139
- blockOnDatadogRaspAbortError // exported only for testing purpose
139
+ blockOnDatadogRaspAbortError, // exported only for testing purpose
140
140
  }
@@ -63,14 +63,14 @@ function analyzeLfi (ctx) {
63
63
  const { req, fs, res } = store
64
64
  if (!req || !fs) return
65
65
 
66
- getPaths(ctx, fs).forEach(path => {
66
+ for (const path of getPaths(ctx, fs)) {
67
67
  analyzeLfiPath(path, req, res, ctx.abortController)
68
- })
68
+ }
69
69
  }
70
70
 
71
71
  function analyzeLfiPath (path, req, res, abortController) {
72
72
  const ephemeral = {
73
- [FS_OPERATION_PATH]: path
73
+ [FS_OPERATION_PATH]: path,
74
74
  }
75
75
 
76
76
  const raspRule = { type: RULE_TYPES.LFI }
@@ -90,7 +90,7 @@ function getPaths (ctx, fs) {
90
90
  ctx.path,
91
91
  ctx.prefix,
92
92
  ctx.src,
93
- ctx.target
93
+ ctx.target,
94
94
  ]
95
95
 
96
96
  return pathArguments
@@ -125,5 +125,5 @@ function shouldAnalyzeURLFile (path, fs) {
125
125
 
126
126
  module.exports = {
127
127
  enable,
128
- disable
128
+ disable,
129
129
  }
@@ -4,7 +4,7 @@ const {
4
4
  pgQueryStart,
5
5
  pgPoolQueryStart,
6
6
  wafRunFinished,
7
- mysql2OuterQueryStart
7
+ mysql2OuterQueryStart,
8
8
  } = require('../channels')
9
9
  const { storage } = require('../../../../datadog-core')
10
10
  const addresses = require('../addresses')
@@ -69,7 +69,7 @@ function analyzeSqlInjection (query, dbSystem, abortController) {
69
69
 
70
70
  const ephemeral = {
71
71
  [addresses.DB_STATEMENT]: query,
72
- [addresses.DB_SYSTEM]: dbSystem
72
+ [addresses.DB_SYSTEM]: dbSystem,
73
73
  }
74
74
 
75
75
  const raspRule = { type: RULE_TYPES.SQL_INJECTION }
@@ -26,7 +26,7 @@ function analyzeSsrf (ctx) {
26
26
  if (!req || !outgoingUrl) return
27
27
 
28
28
  const ephemeral = {
29
- [addresses.HTTP_OUTGOING_URL]: outgoingUrl
29
+ [addresses.HTTP_OUTGOING_URL]: outgoingUrl,
30
30
  }
31
31
 
32
32
  const raspRule = { type: RULE_TYPES.SSRF }
@@ -16,12 +16,12 @@ const RULE_TYPES = {
16
16
  COMMAND_INJECTION: 'command_injection',
17
17
  LFI: 'lfi',
18
18
  SQL_INJECTION: 'sql_injection',
19
- SSRF: 'ssrf'
19
+ SSRF: 'ssrf',
20
20
  }
21
21
 
22
22
  const ALLOWED_ROOTSPAN_NAMES = new Set([
23
23
  'express.request',
24
- 'fastify.request'
24
+ 'fastify.request',
25
25
  ])
26
26
 
27
27
  class DatadogRaspAbortError extends Error {
@@ -37,7 +37,7 @@ class DatadogRaspAbortError extends Error {
37
37
  // hide these props to not pollute app logs
38
38
  Object.defineProperties(this, {
39
39
  req: { enumerable: false },
40
- res: { enumerable: false }
40
+ res: { enumerable: false },
41
41
  })
42
42
  }
43
43
  }
@@ -81,5 +81,5 @@ function handleResult (result, req, res, abortController, config, raspRule) {
81
81
  module.exports = {
82
82
  handleResult,
83
83
  RULE_TYPES,
84
- DatadogRaspAbortError
84
+ DatadogRaspAbortError,
85
85
  }
@@ -6,5 +6,5 @@ const ASM_WAF_PRODUCTS_SET = new Set(ASM_WAF_PRODUCTS)
6
6
 
7
7
  module.exports = {
8
8
  ASM_WAF_PRODUCTS,
9
- ASM_WAF_PRODUCTS_SET
9
+ ASM_WAF_PRODUCTS_SET,
10
10
  }
@@ -80,8 +80,8 @@ function enableOrDisableAppsec (action, rcConfig, config, appsec) {
80
80
  {
81
81
  name: 'appsec.enabled',
82
82
  origin: isRemoteConfigControlling ? 'remote_config' : config.getOrigin('appsec.enabled'),
83
- value: shouldEnable
84
- }
83
+ value: shouldEnable,
84
+ },
85
85
  ], config)
86
86
  }
87
87
  }
@@ -173,5 +173,5 @@ function disableWafUpdate () {
173
173
  module.exports = {
174
174
  enable,
175
175
  enableWafUpdate,
176
- disableWafUpdate
176
+ disableWafUpdate,
177
177
  }
@@ -16,7 +16,7 @@ const {
16
16
  updateWafRequestsMetricTags,
17
17
  updateRaspRequestsMetricTags,
18
18
  updateRaspRuleSkippedMetricTags,
19
- getRequestMetrics
19
+ getRequestMetrics,
20
20
  } = require('./telemetry')
21
21
  const { DIAGNOSTIC_KEYS } = require('./waf/diagnostics')
22
22
 
@@ -33,7 +33,7 @@ const config = {
33
33
  headersExtendedCollectionEnabled: false,
34
34
  maxHeadersCollected: 0,
35
35
  headersRedaction: false,
36
- raspBodyCollection: false
36
+ raspBodyCollection: false,
37
37
  }
38
38
 
39
39
  const metricsQueue = new Map()
@@ -44,12 +44,12 @@ const extendedDataCollectionRequest = new WeakMap()
44
44
  const contentHeaderList = [
45
45
  'content-length',
46
46
  'content-encoding',
47
- 'content-language'
47
+ 'content-language',
48
48
  ]
49
49
 
50
50
  const responseHeaderList = [
51
51
  ...contentHeaderList,
52
- 'content-type'
52
+ 'content-type',
53
53
  ]
54
54
 
55
55
  const identificationHeaders = [
@@ -60,7 +60,7 @@ const identificationHeaders = [
60
60
  'x-appgw-trace-id',
61
61
  'x-sigsci-requestid',
62
62
  'x-sigsci-tags',
63
- 'akamai-user-risk'
63
+ 'akamai-user-risk',
64
64
  ]
65
65
 
66
66
  const eventHeadersList = [
@@ -71,14 +71,14 @@ const eventHeadersList = [
71
71
  ...contentHeaderList,
72
72
  'host',
73
73
  'accept-encoding',
74
- 'accept-language'
74
+ 'accept-language',
75
75
  ]
76
76
 
77
77
  const requestHeadersList = [
78
78
  'content-type',
79
79
  'user-agent',
80
80
  'accept',
81
- ...identificationHeaders
81
+ ...identificationHeaders,
82
82
  ]
83
83
 
84
84
  const redactedHeadersList = [
@@ -89,7 +89,7 @@ const redactedHeadersList = [
89
89
  'authentication-info',
90
90
  'proxy-authentication-info',
91
91
  'cookie',
92
- 'set-cookie'
92
+ 'set-cookie',
93
93
  ]
94
94
 
95
95
  // these request headers are always collected - it breaks the expected spec orders
@@ -251,7 +251,7 @@ function logWafDiagnosticMessage (product, rcConfigId, configKey, message, level
251
251
  telemetryLogCh.publish({
252
252
  message,
253
253
  level,
254
- tags
254
+ tags,
255
255
  })
256
256
  }
257
257
 
@@ -340,7 +340,7 @@ function reportAttack ({ events: attackData, actions }) {
340
340
  const currentTags = rootSpan.context()._tags
341
341
 
342
342
  const newTags = {
343
- 'appsec.event': 'true'
343
+ 'appsec.event': 'true',
344
344
  }
345
345
 
346
346
  // TODO: maybe add this to format.js later (to take decision as late as possible)
@@ -578,5 +578,5 @@ module.exports = {
578
578
  reportAttributes,
579
579
  finishRequest,
580
580
  mapHeaderAndTags,
581
- truncateRequestBody
581
+ truncateRequestBody,
582
582
  }
@@ -164,5 +164,5 @@ function clearAllRules () {
164
164
  module.exports = {
165
165
  loadRules,
166
166
  updateWafFromRC,
167
- clearAllRules
167
+ clearAllRules,
168
168
  }
@@ -6,7 +6,7 @@ const {
6
6
  trackUserLoginFailureEvent,
7
7
  trackCustomEvent,
8
8
  trackUserLoginSuccessV2,
9
- trackUserLoginFailureV2
9
+ trackUserLoginFailureV2,
10
10
  } = require('./track_event')
11
11
  const { checkUserAndSetUser, blockRequest } = require('./user_blocking')
12
12
  const { setUser } = require('./set_user')
@@ -28,7 +28,7 @@ function setUser (tracer, user) {
28
28
  setUserTags(user, rootSpan)
29
29
 
30
30
  const persistent = {
31
- [addresses.USER_ID]: String(user.id)
31
+ [addresses.USER_ID]: String(user.id),
32
32
  }
33
33
 
34
34
  if (user.session_id && typeof user.session_id === 'string') {
@@ -40,5 +40,5 @@ function setUser (tracer, user) {
40
40
 
41
41
  module.exports = {
42
42
  setUserTags,
43
- setUser
43
+ setUser,
44
44
  }
@@ -51,7 +51,7 @@ function trackUserLoginFailureEvent (tracer, userId, exists, metadata) {
51
51
  'usr.id': userId,
52
52
  'usr.login': userId,
53
53
  'usr.exists': exists ? 'true' : 'false',
54
- ...metadata
54
+ ...metadata,
55
55
  }
56
56
 
57
57
  trackEvent('users.login.failure', fields, 'trackUserLoginFailureEvent', getRootSpan(tracer))
@@ -94,7 +94,7 @@ function trackUserLoginSuccessV2 (tracer, login, user, metadata) {
94
94
 
95
95
  metadata = {
96
96
  'usr.login': login,
97
- ...metadata
97
+ ...metadata,
98
98
  }
99
99
 
100
100
  if (user) {
@@ -138,7 +138,7 @@ function trackUserLoginFailureV2 (tracer, login, exists, metadata) {
138
138
  metadata = {
139
139
  'usr.login': login,
140
140
  'usr.exists': exists ? 'true' : 'false',
141
- ...metadata
141
+ ...metadata,
142
142
  }
143
143
 
144
144
  trackEvent('users.login.failure', metadata, 'eventTrackingV2.trackUserLoginFailure', rootSpan)
@@ -149,7 +149,7 @@ function trackUserLoginFailureV2 (tracer, login, exists, metadata) {
149
149
  function flattenFields (fields, depth = 0) {
150
150
  if (depth > 4) {
151
151
  return {
152
- truncated: true
152
+ truncated: true,
153
153
  }
154
154
  }
155
155
 
@@ -183,7 +183,7 @@ function trackEvent (eventName, fields, sdkMethodName, rootSpan) {
183
183
 
184
184
  const tags = {
185
185
  [`appsec.events.${eventName}.track`]: 'true',
186
- [`_dd.appsec.events.${eventName}.sdk`]: 'true'
186
+ [`_dd.appsec.events.${eventName}.sdk`]: 'true',
187
187
  }
188
188
 
189
189
  if (fields) {
@@ -205,7 +205,7 @@ function trackEvent (eventName, fields, sdkMethodName, rootSpan) {
205
205
 
206
206
  function runWaf (eventName, user) {
207
207
  const persistent = {
208
- [`server.business_logic.${eventName}`]: null
208
+ [`server.business_logic.${eventName}`]: null,
209
209
  }
210
210
 
211
211
  if (user?.id) {
@@ -226,5 +226,5 @@ module.exports = {
226
226
  trackUserLoginSuccessV2,
227
227
  trackUserLoginFailureV2,
228
228
  trackEvent,
229
- runWaf
229
+ runWaf,
230
230
  }
@@ -56,5 +56,5 @@ function blockRequest (tracer, req, res) {
56
56
 
57
57
  module.exports = {
58
58
  checkUserAndSetUser,
59
- blockRequest
59
+ blockRequest,
60
60
  }
@@ -25,5 +25,5 @@ function getRootSpan (tracer) {
25
25
  }
26
26
 
27
27
  module.exports = {
28
- getRootSpan
28
+ getRootSpan,
29
29
  }
@@ -7,7 +7,7 @@ const LIBRARY_FRAMES_BUFFER = 20
7
7
 
8
8
  const STACK_TRACE_NAMESPACES = {
9
9
  RASP: 'exploit',
10
- IAST: 'vulnerability'
10
+ IAST: 'vulnerability',
11
11
  }
12
12
 
13
13
  function prepareStackTrace (_, callsites) {
@@ -44,7 +44,7 @@ function filterOutFramesFromLibrary (callSiteList) {
44
44
  const callSiteLocation = {
45
45
  path: callSite.getTranslatedFileName?.() ?? callSite.getFileName(),
46
46
  line: callSite.getTranslatedLineNumber?.() ?? callSite.getLineNumber(),
47
- column: callSite.getTranslatedColumnNumber?.() ?? callSite.getColumnNumber()
47
+ column: callSite.getTranslatedColumnNumber?.() ?? callSite.getColumnNumber(),
48
48
  }
49
49
  const { path } = getOriginalPathAndLineFromSourceMap(callSiteLocation)
50
50
  return !path?.startsWith(ddBasePath)
@@ -73,7 +73,7 @@ function getCallsiteFrames (maxDepth = 32, constructorOpt = getCallsiteFrames, c
73
73
  column: callSite.getTranslatedColumnNumber?.() ?? callSite.getColumnNumber(),
74
74
  function: callSite.getFunctionName(),
75
75
  class_name: callSite.getTypeName(),
76
- isNative: callSite.isNative()
76
+ isNative: callSite.isNative(),
77
77
  })
78
78
  }
79
79
 
@@ -99,7 +99,7 @@ function reportStackTrace (rootSpan, stackId, frames, namespace = STACK_TRACE_NA
99
99
  rootSpan.meta_struct['_dd.stack'][namespace].push({
100
100
  id: stackId,
101
101
  language: 'nodejs',
102
- frames
102
+ frames,
103
103
  })
104
104
  }
105
105
 
@@ -113,5 +113,5 @@ module.exports = {
113
113
  getCallsiteFrames,
114
114
  reportStackTrace,
115
115
  canReportStackTrace,
116
- STACK_TRACE_NAMESPACES
116
+ STACK_TRACE_NAMESPACES,
117
117
  }
@@ -11,18 +11,18 @@ const tags = {
11
11
  RULE_TRIGGERED: 'rule_triggered',
12
12
  WAF_ERROR: 'waf_error',
13
13
  WAF_TIMEOUT: 'waf_timeout',
14
- WAF_VERSION: 'waf_version'
14
+ WAF_VERSION: 'waf_version',
15
15
  }
16
16
 
17
17
  function getVersionsTags (wafVersion, rulesVersion) {
18
18
  return {
19
19
  [tags.WAF_VERSION]: wafVersion,
20
- [tags.EVENT_RULES_VERSION]: rulesVersion || 'unknown'
20
+ [tags.EVENT_RULES_VERSION]: rulesVersion || 'unknown',
21
21
  }
22
22
  }
23
23
 
24
24
  module.exports = {
25
25
  tags,
26
26
  getVersionsTags,
27
- DD_TELEMETRY_REQUEST_METRICS
27
+ DD_TELEMETRY_REQUEST_METRICS,
28
28
  }