dd-trace 5.82.0 → 5.83.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 (134) hide show
  1. package/LICENSE-3rdparty.csv +78 -79
  2. package/ci/init.js +6 -6
  3. package/index.d.ts +152 -3
  4. package/loader-hook.mjs +1 -1
  5. package/package.json +58 -55
  6. package/packages/datadog-core/src/storage.js +7 -7
  7. package/packages/datadog-esbuild/index.js +6 -0
  8. package/packages/datadog-instrumentations/src/ai.js +7 -3
  9. package/packages/datadog-instrumentations/src/child_process.js +1 -1
  10. package/packages/datadog-instrumentations/src/cucumber.js +1 -1
  11. package/packages/datadog-instrumentations/src/graphql.js +1 -1
  12. package/packages/datadog-instrumentations/src/helpers/instrumentations.js +4 -3
  13. package/packages/datadog-instrumentations/src/helpers/register.js +3 -7
  14. package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +1 -1
  15. package/packages/datadog-instrumentations/src/http/client.js +2 -2
  16. package/packages/datadog-instrumentations/src/jest.js +35 -14
  17. package/packages/datadog-instrumentations/src/koa.js +2 -1
  18. package/packages/datadog-instrumentations/src/light-my-request.js +2 -2
  19. package/packages/datadog-instrumentations/src/mocha/main.js +2 -2
  20. package/packages/datadog-instrumentations/src/mocha/worker.js +1 -1
  21. package/packages/datadog-instrumentations/src/mocha.js +1 -1
  22. package/packages/datadog-instrumentations/src/mysql.js +1 -1
  23. package/packages/datadog-instrumentations/src/mysql2.js +2 -2
  24. package/packages/datadog-instrumentations/src/net.js +13 -5
  25. package/packages/datadog-instrumentations/src/nyc.js +1 -1
  26. package/packages/datadog-instrumentations/src/otel-sdk-trace.js +4 -4
  27. package/packages/datadog-instrumentations/src/pg.js +4 -2
  28. package/packages/datadog-instrumentations/src/playwright.js +3 -3
  29. package/packages/datadog-instrumentations/src/selenium.js +2 -2
  30. package/packages/datadog-instrumentations/src/undici.js +12 -1
  31. package/packages/datadog-plugin-aws-sdk/src/base.js +4 -4
  32. package/packages/datadog-plugin-azure-event-hubs/src/producer.js +2 -2
  33. package/packages/datadog-plugin-azure-service-bus/src/producer.js +2 -2
  34. package/packages/datadog-plugin-cucumber/src/index.js +2 -2
  35. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +2 -2
  36. package/packages/datadog-plugin-dd-trace-api/src/index.js +2 -2
  37. package/packages/datadog-plugin-express/src/code_origin.js +21 -15
  38. package/packages/datadog-plugin-fastify/src/code_origin.js +17 -4
  39. package/packages/datadog-plugin-jest/src/index.js +2 -2
  40. package/packages/datadog-plugin-mocha/src/index.js +2 -2
  41. package/packages/datadog-plugin-mongodb-core/src/index.js +2 -2
  42. package/packages/datadog-plugin-playwright/src/index.js +3 -3
  43. package/packages/datadog-plugin-undici/src/index.js +305 -2
  44. package/packages/datadog-plugin-vitest/src/index.js +5 -5
  45. package/packages/dd-trace/index.js +19 -0
  46. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +1 -1
  47. package/packages/dd-trace/src/appsec/rasp/index.js +2 -4
  48. package/packages/dd-trace/src/azure_metadata.js +8 -3
  49. package/packages/dd-trace/src/baggage.js +36 -11
  50. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -1
  51. package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +2 -2
  52. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +2 -2
  53. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +2 -2
  54. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +2 -2
  55. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +3 -2
  56. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +3 -3
  57. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +4 -4
  58. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
  59. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +2 -2
  60. package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +4 -4
  61. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +4 -4
  62. package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +2 -2
  63. package/packages/dd-trace/src/{config_defaults.js → config/defaults.js} +3 -3
  64. package/packages/dd-trace/src/{config-helper.js → config/helper.js} +88 -15
  65. package/packages/dd-trace/src/{config.js → config/index.js} +92 -45
  66. package/packages/dd-trace/src/config/remote_config.js +187 -19
  67. package/packages/dd-trace/src/{config_stable.js → config/stable.js} +20 -32
  68. package/packages/dd-trace/src/{supported-configurations.json → config/supported-configurations.json} +2 -0
  69. package/packages/dd-trace/src/crashtracking/crashtracker.js +1 -1
  70. package/packages/dd-trace/src/datastreams/processor.js +1 -1
  71. package/packages/dd-trace/src/datastreams/writer.js +1 -1
  72. package/packages/dd-trace/src/debugger/devtools_client/condition.js +1 -1
  73. package/packages/dd-trace/src/debugger/devtools_client/config.js +1 -1
  74. package/packages/dd-trace/src/debugger/devtools_client/send.js +3 -3
  75. package/packages/dd-trace/src/debugger/devtools_client/snapshot/constants.js +1 -1
  76. package/packages/dd-trace/src/debugger/index.js +83 -15
  77. package/packages/dd-trace/src/dogstatsd.js +2 -2
  78. package/packages/dd-trace/src/encode/0.4.js +2 -2
  79. package/packages/dd-trace/src/exporter.js +1 -1
  80. package/packages/dd-trace/src/exporters/agent/index.js +2 -4
  81. package/packages/dd-trace/src/exporters/agent/writer.js +9 -14
  82. package/packages/dd-trace/src/exporters/common/agent-info-exporter.js +1 -1
  83. package/packages/dd-trace/src/exporters/common/docker.js +2 -2
  84. package/packages/dd-trace/src/exporters/common/request.js +1 -1
  85. package/packages/dd-trace/src/exporters/common/util.js +2 -2
  86. package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
  87. package/packages/dd-trace/src/flare/index.js +1 -1
  88. package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
  89. package/packages/dd-trace/src/index.js +4 -4
  90. package/packages/dd-trace/src/lambda/handler.js +2 -2
  91. package/packages/dd-trace/src/lambda/index.js +2 -2
  92. package/packages/dd-trace/src/lambda/runtime/patch.js +2 -2
  93. package/packages/dd-trace/src/lambda/runtime/ritm.js +2 -2
  94. package/packages/dd-trace/src/llmobs/constants/tags.js +8 -1
  95. package/packages/dd-trace/src/llmobs/index.js +2 -2
  96. package/packages/dd-trace/src/llmobs/noop.js +2 -0
  97. package/packages/dd-trace/src/llmobs/plugins/openai/index.js +3 -4
  98. package/packages/dd-trace/src/llmobs/sdk.js +33 -6
  99. package/packages/dd-trace/src/llmobs/span_processor.js +17 -7
  100. package/packages/dd-trace/src/llmobs/tagger.js +175 -1
  101. package/packages/dd-trace/src/llmobs/writers/base.js +116 -37
  102. package/packages/dd-trace/src/llmobs/writers/spans.js +4 -3
  103. package/packages/dd-trace/src/log/index.js +5 -5
  104. package/packages/dd-trace/src/noop/proxy.js +3 -3
  105. package/packages/dd-trace/src/openfeature/writers/base.js +7 -8
  106. package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +2 -2
  107. package/packages/dd-trace/src/opentelemetry/tracer.js +48 -6
  108. package/packages/dd-trace/src/opentracing/propagation/text_map.js +45 -21
  109. package/packages/dd-trace/src/opentracing/span.js +4 -4
  110. package/packages/dd-trace/src/plugin_manager.js +8 -6
  111. package/packages/dd-trace/src/plugins/util/ci.js +5 -8
  112. package/packages/dd-trace/src/plugins/util/git-cache.js +3 -3
  113. package/packages/dd-trace/src/plugins/util/test.js +1 -1
  114. package/packages/dd-trace/src/plugins/util/user-provided-git.js +41 -43
  115. package/packages/dd-trace/src/profiler.js +4 -39
  116. package/packages/dd-trace/src/profiling/config.js +74 -31
  117. package/packages/dd-trace/src/profiling/exporter_cli.js +5 -5
  118. package/packages/dd-trace/src/profiling/exporters/agent.js +1 -1
  119. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +9 -2
  120. package/packages/dd-trace/src/profiling/index.js +1 -1
  121. package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
  122. package/packages/dd-trace/src/profiling/profiler.js +57 -2
  123. package/packages/dd-trace/src/proxy.js +34 -5
  124. package/packages/dd-trace/src/remote_config/capabilities.js +3 -0
  125. package/packages/dd-trace/src/remote_config/index.js +1 -1
  126. package/packages/dd-trace/src/ritm.js +8 -4
  127. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +2 -2
  128. package/packages/dd-trace/src/serverless.js +2 -2
  129. package/packages/dd-trace/src/span_processor.js +2 -2
  130. package/packages/dd-trace/src/startup-log.js +6 -15
  131. package/packages/dd-trace/src/telemetry/endpoints.js +67 -5
  132. package/packages/dd-trace/src/telemetry/send-data.js +103 -4
  133. package/packages/dd-trace/src/telemetry/telemetry.js +229 -110
  134. /package/packages/dd-trace/src/{git_properties.js → config/git_properties.js} +0 -0
@@ -1,79 +1,78 @@
1
- "component","origin","license","copyright"
2
- "@datadog/flagging-core","https://github.com/DataDog/openfeature-js-client","['Apache-2.0']","['DataDog']"
3
- "@datadog/libdatadog","https://github.com/DataDog/libdatadog-nodejs","['Apache-2.0']","['Datadog Inc.']"
4
- "@datadog/native-appsec","https://github.com/DataDog/dd-native-appsec-js","['Apache-2.0']","['Datadog Inc.']"
5
- "@datadog/native-iast-taint-tracking","https://github.com/DataDog/dd-native-iast-taint-tracking-js","['Apache-2.0']","['Datadog Inc.']"
6
- "@datadog/native-metrics","https://github.com/DataDog/dd-native-metrics-js","['Apache-2.0']","['Datadog Inc.']"
7
- "@datadog/openfeature-node-server","https://github.com/DataDog/openfeature-js-client","['Apache-2.0']","['DataDog']"
8
- "@datadog/pprof","https://github.com/DataDog/pprof-nodejs","['Apache-2.0']","['Google Inc.']"
9
- "@datadog/sketches-js","https://github.com/DataDog/sketches-js","['Apache-2.0']","['DataDog']"
10
- "@datadog/source-map","npm:@datadog/source-map","[]","[]"
11
- "@datadog/wasm-js-rewriter","https://github.com/DataDog/dd-wasm-js-rewriter","['Apache-2.0']","['Datadog Inc.']"
12
- "@isaacs/ttlcache","https://github.com/isaacs/ttlcache","['BlueOak-1.0.0']","['Isaac Z. Schlueter']"
13
- "@jsep-plugin/assignment","https://github.com/EricSmekens/jsep","['MIT']","['Shelly']"
14
- "@jsep-plugin/regex","https://github.com/EricSmekens/jsep","['MIT']","['Shelly']"
15
- "@openfeature/server-sdk","https://github.com/open-feature/js-sdk","['Apache-2.0']","['open-feature']"
16
- "@opentelemetry/api","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
17
- "@opentelemetry/api-logs","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
18
- "@opentelemetry/core","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
19
- "@opentelemetry/resources","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
20
- "@opentelemetry/semantic-conventions","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
21
- "@protobufjs/aspromise","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
22
- "@protobufjs/base64","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
23
- "@protobufjs/codegen","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
24
- "@protobufjs/eventemitter","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
25
- "@protobufjs/fetch","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
26
- "@protobufjs/float","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
27
- "@protobufjs/inquire","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
28
- "@protobufjs/path","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
29
- "@protobufjs/pool","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
30
- "@protobufjs/utf8","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
31
- "@types/node","https://github.com/DefinitelyTyped/DefinitelyTyped","['MIT']","['DefinitelyTyped']"
32
- "acorn","https://github.com/acornjs/acorn","['MIT']","['acornjs']"
33
- "acorn-import-attributes","https://github.com/xtuc/acorn-import-attributes","['MIT']","['Sven Sauleau']"
34
- "argparse","https://github.com/nodeca/argparse","['Python-2.0']","['nodeca']"
35
- "astring","https://github.com/davidbonnet/astring","['MIT']","['David Bonnet']"
36
- "cjs-module-lexer","https://github.com/nodejs/cjs-module-lexer","['MIT']","['Guy Bedford']"
37
- "crypto-randomuuid","npm:crypto-randomuuid","['MIT']","['Stephen Belanger']"
38
- "dc-polyfill","https://github.com/DataDog/dc-polyfill","['MIT']","['Thomas Hunter II']"
39
- "dd-trace","https://github.com/DataDog/dd-trace-js","['(Apache-2.0 OR BSD-3-Clause)']","['Datadog Inc. <info@datadoghq.com>']"
40
- "delay","https://github.com/sindresorhus/delay","['MIT']","['Sindre Sorhus']"
41
- "detect-newline","https://github.com/sindresorhus/detect-newline","['MIT']","['Sindre Sorhus']"
42
- "escape-string-regexp","https://github.com/sindresorhus/escape-string-regexp","['MIT']","['Sindre Sorhus']"
43
- "esquery","https://github.com/estools/esquery","['BSD-3-Clause']","['Joel Feenstra']"
44
- "estraverse","https://github.com/estools/estraverse","['BSD-2-Clause']","['estools']"
45
- "fast-fifo","https://github.com/mafintosh/fast-fifo","['MIT']","['Mathias Buus']"
46
- "ignore","https://github.com/kaelzhang/node-ignore","['MIT']","['kael']"
47
- "import-in-the-middle","https://github.com/nodejs/import-in-the-middle","['Apache-2.0']","['Bryan English']"
48
- "istanbul-lib-coverage","https://github.com/istanbuljs/istanbuljs","['BSD-3-Clause']","['Krishnan Anantheswaran']"
49
- "jest-docblock","https://github.com/jestjs/jest","['MIT']","['jestjs']"
50
- "js-yaml","https://github.com/nodeca/js-yaml","['MIT']","['Vladimir Zapparov']"
51
- "jsep","https://github.com/EricSmekens/jsep","['MIT']","['Stephen Oney']"
52
- "jsonpath-plus","https://github.com/JSONPath-Plus/JSONPath","['MIT']","['Stefan Goessner']"
53
- "limiter","https://github.com/jhurliman/node-rate-limiter","['MIT']","['John Hurliman']"
54
- "lodash.sortby","https://github.com/lodash/lodash","['MIT']","['John-David Dalton']"
55
- "long","https://github.com/dcodeIO/long.js","['Apache-2.0']","['Daniel Wirtz']"
56
- "lru-cache","https://github.com/isaacs/node-lru-cache","['ISC']","['Isaac Z. Schlueter']"
57
- "meriyah","https://github.com/meriyah/meriyah","['ISC']","['Kenny F.']"
58
- "module-details-from-path","https://github.com/watson/module-details-from-path","['MIT']","['Thomas Watson']"
59
- "mutexify","https://github.com/mafintosh/mutexify","['MIT']","['Mathias Buus']"
60
- "node-addon-api","https://github.com/nodejs/node-addon-api","['MIT']","['nodejs']"
61
- "node-gyp-build","https://github.com/prebuild/node-gyp-build","['MIT']","['Mathias Buus']"
62
- "opentracing","https://github.com/opentracing/opentracing-javascript","['Apache-2.0']","['opentracing']"
63
- "p-limit","https://github.com/sindresorhus/p-limit","['MIT']","['Sindre Sorhus']"
64
- "path-to-regexp","https://github.com/pillarjs/path-to-regexp","['MIT']","['pillarjs']"
65
- "pprof-format","https://github.com/DataDog/pprof-format","['MIT']","['Datadog Inc.']"
66
- "protobufjs","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
67
- "queue-tick","https://github.com/mafintosh/queue-tick","['MIT']","['Mathias Buus']"
68
- "retry","https://github.com/tim-kos/node-retry","['MIT']","['Tim Koschützki']"
69
- "rfdc","https://github.com/davidmarkclements/rfdc","['MIT']","['David Mark Clements']"
70
- "semifies","https://github.com/holepunchto/semifies","['Apache-2.0']","['Holepunch Inc']"
71
- "shell-quote","https://github.com/ljharb/shell-quote","['MIT']","['James Halliday']"
72
- "source-map","https://github.com/mozilla/source-map","['BSD-3-Clause']","['Nick Fitzgerald']"
73
- "spark-md5","https://github.com/satazor/js-spark-md5","['(WTFPL OR MIT)']","['André Cruz']"
74
- "tlhunter-sorted-set","https://github.com/tlhunter/node-sorted-set","['MIT']","['Thomas Hunter II']"
75
- "ttl-set","https://github.com/watson/ttl-set","['MIT']","['Thomas Watson']"
76
- "undici-types","https://github.com/nodejs/undici","['MIT']","['nodejs']"
77
- "yocto-queue","https://github.com/sindresorhus/yocto-queue","['MIT']","['Sindre Sorhus']"
78
- "aws-lambda-nodejs-runtime-interface-client","https://github.com/aws/aws-lambda-nodejs-runtime-interface-client/blob/v2.1.0/src/utils/UserFunction.ts","['Apache-2.0']","['Amazon.com Inc. or its affiliates']"
79
- "is-git-url","https://github.com/jonschlinkert/is-git-url/blob/396965ffabf2f46656c8af4c47bef1d69f09292e/index.js#L9C15-L9C87","['MIT']","['Jon Schlinkert']"
1
+ "component","origin","license","copyright"
2
+ "@datadog/flagging-core","https://github.com/DataDog/openfeature-js-client","['Apache-2.0']","['DataDog']"
3
+ "@datadog/libdatadog","https://github.com/DataDog/libdatadog-nodejs","['Apache-2.0']","['Datadog Inc.']"
4
+ "@datadog/native-appsec","https://github.com/DataDog/dd-native-appsec-js","['Apache-2.0']","['Datadog Inc.']"
5
+ "@datadog/native-iast-taint-tracking","https://github.com/DataDog/dd-native-iast-taint-tracking-js","['Apache-2.0']","['Datadog Inc.']"
6
+ "@datadog/native-metrics","https://github.com/DataDog/dd-native-metrics-js","['Apache-2.0']","['Datadog Inc.']"
7
+ "@datadog/openfeature-node-server","https://github.com/DataDog/openfeature-js-client","['Apache-2.0']","['DataDog']"
8
+ "@datadog/pprof","https://github.com/DataDog/pprof-nodejs","['Apache-2.0']","['Google Inc.']"
9
+ "@datadog/sketches-js","https://github.com/DataDog/sketches-js","['Apache-2.0']","['DataDog']"
10
+ "@datadog/wasm-js-rewriter","https://github.com/DataDog/dd-wasm-js-rewriter","['Apache-2.0']","['Datadog Inc.']"
11
+ "@isaacs/ttlcache","https://github.com/isaacs/ttlcache","['BlueOak-1.0.0']","['Isaac Z. Schlueter']"
12
+ "@jsep-plugin/assignment","https://github.com/EricSmekens/jsep","['MIT']","['Shelly']"
13
+ "@jsep-plugin/regex","https://github.com/EricSmekens/jsep","['MIT']","['Shelly']"
14
+ "@openfeature/server-sdk","https://github.com/open-feature/js-sdk","['Apache-2.0']","['open-feature']"
15
+ "@opentelemetry/api","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
16
+ "@opentelemetry/api-logs","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
17
+ "@opentelemetry/core","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
18
+ "@opentelemetry/resources","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
19
+ "@opentelemetry/semantic-conventions","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
20
+ "@protobufjs/aspromise","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
21
+ "@protobufjs/base64","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
22
+ "@protobufjs/codegen","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
23
+ "@protobufjs/eventemitter","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
24
+ "@protobufjs/fetch","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
25
+ "@protobufjs/float","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
26
+ "@protobufjs/inquire","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
27
+ "@protobufjs/path","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
28
+ "@protobufjs/pool","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
29
+ "@protobufjs/utf8","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
30
+ "@types/node","https://github.com/DefinitelyTyped/DefinitelyTyped","['MIT']","['DefinitelyTyped']"
31
+ "acorn","https://github.com/acornjs/acorn","['MIT']","['acornjs']"
32
+ "acorn-import-attributes","https://github.com/xtuc/acorn-import-attributes","['MIT']","['Sven Sauleau']"
33
+ "argparse","https://github.com/nodeca/argparse","['Python-2.0']","['nodeca']"
34
+ "astring","https://github.com/davidbonnet/astring","['MIT']","['David Bonnet']"
35
+ "cjs-module-lexer","https://github.com/nodejs/cjs-module-lexer","['MIT']","['Guy Bedford']"
36
+ "crypto-randomuuid","npm:crypto-randomuuid","['MIT']","['Stephen Belanger']"
37
+ "dc-polyfill","https://github.com/DataDog/dc-polyfill","['MIT']","['Thomas Hunter II']"
38
+ "dd-trace","https://github.com/DataDog/dd-trace-js","['(Apache-2.0 OR BSD-3-Clause)']","['Datadog Inc. <info@datadoghq.com>']"
39
+ "delay","https://github.com/sindresorhus/delay","['MIT']","['Sindre Sorhus']"
40
+ "detect-newline","https://github.com/sindresorhus/detect-newline","['MIT']","['Sindre Sorhus']"
41
+ "escape-string-regexp","https://github.com/sindresorhus/escape-string-regexp","['MIT']","['Sindre Sorhus']"
42
+ "esquery","https://github.com/estools/esquery","['BSD-3-Clause']","['Joel Feenstra']"
43
+ "estraverse","https://github.com/estools/estraverse","['BSD-2-Clause']","['estools']"
44
+ "fast-fifo","https://github.com/mafintosh/fast-fifo","['MIT']","['Mathias Buus']"
45
+ "ignore","https://github.com/kaelzhang/node-ignore","['MIT']","['kael']"
46
+ "import-in-the-middle","https://github.com/nodejs/import-in-the-middle","['Apache-2.0']","['Bryan English']"
47
+ "istanbul-lib-coverage","https://github.com/istanbuljs/istanbuljs","['BSD-3-Clause']","['Krishnan Anantheswaran']"
48
+ "jest-docblock","https://github.com/jestjs/jest","['MIT']","['jestjs']"
49
+ "js-yaml","https://github.com/nodeca/js-yaml","['MIT']","['Vladimir Zapparov']"
50
+ "jsep","https://github.com/EricSmekens/jsep","['MIT']","['Stephen Oney']"
51
+ "jsonpath-plus","https://github.com/JSONPath-Plus/JSONPath","['MIT']","['Stefan Goessner']"
52
+ "limiter","https://github.com/jhurliman/node-rate-limiter","['MIT']","['John Hurliman']"
53
+ "lodash.sortby","https://github.com/lodash/lodash","['MIT']","['John-David Dalton']"
54
+ "long","https://github.com/dcodeIO/long.js","['Apache-2.0']","['Daniel Wirtz']"
55
+ "lru-cache","https://github.com/isaacs/node-lru-cache","['ISC']","['Isaac Z. Schlueter']"
56
+ "meriyah","https://github.com/meriyah/meriyah","['ISC']","['Kenny F.']"
57
+ "module-details-from-path","https://github.com/watson/module-details-from-path","['MIT']","['Thomas Watson']"
58
+ "mutexify","https://github.com/mafintosh/mutexify","['MIT']","['Mathias Buus']"
59
+ "node-addon-api","https://github.com/nodejs/node-addon-api","['MIT']","['nodejs']"
60
+ "node-gyp-build","https://github.com/prebuild/node-gyp-build","['MIT']","['Mathias Buus']"
61
+ "opentracing","https://github.com/opentracing/opentracing-javascript","['Apache-2.0']","['opentracing']"
62
+ "p-limit","https://github.com/sindresorhus/p-limit","['MIT']","['Sindre Sorhus']"
63
+ "path-to-regexp","https://github.com/pillarjs/path-to-regexp","['MIT']","['pillarjs']"
64
+ "pprof-format","https://github.com/DataDog/pprof-format","['MIT']","['Datadog Inc.']"
65
+ "protobufjs","https://github.com/protobufjs/protobuf.js","['BSD-3-Clause']","['Daniel Wirtz']"
66
+ "queue-tick","https://github.com/mafintosh/queue-tick","['MIT']","['Mathias Buus']"
67
+ "retry","https://github.com/tim-kos/node-retry","['MIT']","['Tim Koschützki']"
68
+ "rfdc","https://github.com/davidmarkclements/rfdc","['MIT']","['David Mark Clements']"
69
+ "semifies","https://github.com/holepunchto/semifies","['Apache-2.0']","['Holepunch Inc']"
70
+ "shell-quote","https://github.com/ljharb/shell-quote","['MIT']","['James Halliday']"
71
+ "source-map","https://github.com/mozilla/source-map","['BSD-3-Clause']","['Nick Fitzgerald']"
72
+ "spark-md5","https://github.com/satazor/js-spark-md5","['(WTFPL OR MIT)']","['André Cruz']"
73
+ "tlhunter-sorted-set","https://github.com/tlhunter/node-sorted-set","['MIT']","['Thomas Hunter II']"
74
+ "ttl-set","https://github.com/watson/ttl-set","['MIT']","['Thomas Watson']"
75
+ "undici-types","https://github.com/nodejs/undici","['MIT']","['nodejs']"
76
+ "yocto-queue","https://github.com/sindresorhus/yocto-queue","['MIT']","['Sindre Sorhus']"
77
+ "aws-lambda-nodejs-runtime-interface-client","https://github.com/aws/aws-lambda-nodejs-runtime-interface-client/blob/v2.1.0/src/utils/UserFunction.ts","['Apache-2.0']","['Amazon.com Inc. or its affiliates']"
78
+ "is-git-url","https://github.com/jonschlinkert/is-git-url/blob/396965ffabf2f46656c8af4c47bef1d69f09292e/index.js#L9C15-L9C87","['MIT']","['Jon Schlinkert']"
package/ci/init.js CHANGED
@@ -4,7 +4,7 @@
4
4
  const tracer = require('../packages/dd-trace')
5
5
  const { isTrue, isFalse } = require('../packages/dd-trace/src/util')
6
6
  const log = require('../packages/dd-trace/src/log')
7
- const { getEnvironmentVariable } = require('../packages/dd-trace/src/config-helper')
7
+ const { getEnvironmentVariable, getValueFromEnvSources } = require('../packages/dd-trace/src/config/helper')
8
8
 
9
9
  const PACKAGE_MANAGERS = ['npm', 'yarn', 'pnpm']
10
10
  const DEFAULT_FLUSH_INTERVAL = 5000
@@ -27,9 +27,9 @@ function detectTestWorkerType () {
27
27
  if (getEnvironmentVariable('JEST_WORKER_ID')) return 'jest'
28
28
  if (getEnvironmentVariable('CUCUMBER_WORKER_ID')) return 'cucumber'
29
29
  if (getEnvironmentVariable('MOCHA_WORKER_ID')) return 'mocha'
30
- if (getEnvironmentVariable('DD_PLAYWRIGHT_WORKER')) return 'playwright'
30
+ if (getValueFromEnvSources('DD_PLAYWRIGHT_WORKER')) return 'playwright'
31
31
  if (getEnvironmentVariable('TINYPOOL_WORKER_ID')) return 'vitest'
32
- if (getEnvironmentVariable('DD_VITEST_WORKER')) return 'vitest'
32
+ if (getValueFromEnvSources('DD_VITEST_WORKER')) return 'vitest'
33
33
  return null
34
34
  }
35
35
 
@@ -43,8 +43,8 @@ const baseOptions = {
43
43
  flushInterval: isJestWorker ? JEST_FLUSH_INTERVAL : DEFAULT_FLUSH_INTERVAL
44
44
  }
45
45
 
46
- let shouldInit = !isFalse(getEnvironmentVariable('DD_CIVISIBILITY_ENABLED'))
47
- const isAgentlessEnabled = isTrue(getEnvironmentVariable('DD_CIVISIBILITY_AGENTLESS_ENABLED'))
46
+ let shouldInit = !isFalse(getValueFromEnvSources('DD_CIVISIBILITY_ENABLED'))
47
+ const isAgentlessEnabled = isTrue(getValueFromEnvSources('DD_CIVISIBILITY_AGENTLESS_ENABLED'))
48
48
 
49
49
  if (!isTestWorker && isPackageManager()) {
50
50
  log.debug('dd-trace is not initialized in a package manager.')
@@ -58,7 +58,7 @@ if (isTestWorker) {
58
58
  }
59
59
  } else {
60
60
  if (isAgentlessEnabled) {
61
- if (getEnvironmentVariable('DD_API_KEY')) {
61
+ if (getValueFromEnvSources('DD_API_KEY')) {
62
62
  baseOptions.experimental = {
63
63
  exporter: 'datadog'
64
64
  }
package/index.d.ts CHANGED
@@ -161,18 +161,54 @@ interface Tracer extends opentracing.Tracer {
161
161
 
162
162
  /**
163
163
  * @experimental
164
+ *
165
+ * Set a baggage item and return the new context.
166
+ *
167
+ * @see https://opentelemetry.io/docs/specs/otel/baggage/api/#set-value
168
+ *
169
+ * ----
170
+ *
164
171
  * Provide same functionality as OpenTelemetry Baggage:
165
172
  * https://opentelemetry.io/docs/concepts/signals/baggage/
166
173
  *
167
174
  * Since the equivalent of OTel Context is implicit in dd-trace-js,
168
175
  * these APIs act on the currently active baggage
169
176
  *
170
- * Work with storage('baggage'), therefore do not follow the same continuity as other APIs
177
+ * Work with storage('baggage'), therefore do not follow the same continuity as other APIs.
178
+ */
179
+ setBaggageItem (key: string, value: string, metadata?: object): Record<string, string>;
180
+ /**
181
+ * @experimental
182
+ *
183
+ * Returns a specific baggage item from the current context.
184
+ *
185
+ * @see https://opentelemetry.io/docs/specs/otel/baggage/api/#get-value
171
186
  */
172
- setBaggageItem (key: string, value: string): Record<string, string>;
173
187
  getBaggageItem (key: string): string | undefined;
188
+ /**
189
+ * @experimental
190
+ *
191
+ * Returns all baggage items from the current context.
192
+ *
193
+ * @see https://opentelemetry.io/docs/specs/otel/baggage/api/#get-all-values
194
+ */
174
195
  getAllBaggageItems (): Record<string, string>;
196
+ /**
197
+ * @experimental
198
+ *
199
+ * Removes a specific baggage item from the current context and returns the new context.
200
+ *
201
+ * @see https://opentelemetry.io/docs/specs/otel/baggage/api/#remove-value
202
+ */
175
203
  removeBaggageItem (key: string): Record<string, string>;
204
+
205
+ /**
206
+ * @experimental
207
+ *
208
+ * Removes all baggage items from the current context and returns the new context.
209
+ *
210
+ * @see https://opentelemetry.io/docs/specs/otel/baggage/api/#remove-all-values
211
+ */
176
212
  removeAllBaggageItems (): Record<string, string>;
177
213
  }
178
214
 
@@ -932,6 +968,46 @@ declare namespace tracer {
932
968
  * Configuration enabling LLM Observability. Enablement is superseded by the DD_LLMOBS_ENABLED environment variable.
933
969
  */
934
970
  llmobs?: llmobs.LLMObsEnableOptions
971
+
972
+ /**
973
+ * Configuration for Dynamic Instrumentation (Live Debugging).
974
+ */
975
+ dynamicInstrumentation?: {
976
+ /**
977
+ * Whether to enable Dynamic Instrumentation.
978
+ * @default false
979
+ */
980
+ enabled?: boolean
981
+
982
+ /**
983
+ * Path to a custom probes configuration file.
984
+ */
985
+ probeFile?: string
986
+
987
+ /**
988
+ * Timeout in milliseconds for capturing variable values.
989
+ * @default 100
990
+ */
991
+ captureTimeoutMs?: number
992
+
993
+ /**
994
+ * Interval in seconds between uploads of probe data.
995
+ * @default 1
996
+ */
997
+ uploadIntervalSeconds?: number
998
+
999
+ /**
1000
+ * List of identifier names to redact in captured data.
1001
+ * @default []
1002
+ */
1003
+ redactedIdentifiers?: string[]
1004
+
1005
+ /**
1006
+ * List of identifier names to exclude from redaction.
1007
+ * @default []
1008
+ */
1009
+ redactionExcludedIdentifiers?: string[]
1010
+ }
935
1011
  }
936
1012
 
937
1013
  /**
@@ -2993,6 +3069,14 @@ declare namespace tracer {
2993
3069
  */
2994
3070
  annotationContext<T> (options: llmobs.AnnotationContextOptions, fn: () => T): T
2995
3071
 
3072
+ /**
3073
+ * Execute a function within a routing context, directing all LLMObs spans to a specific Datadog organization.
3074
+ * @param options The routing context options containing the target API key and optional site.
3075
+ * @param fn The callback over which to apply the routing context.
3076
+ * @returns The result of the function.
3077
+ */
3078
+ routingContext<T> (options: llmobs.RoutingContextOptions, fn: () => T): T
3079
+
2996
3080
  /**
2997
3081
  * Flushes any remaining spans and evaluation metrics to LLM Observability.
2998
3082
  */
@@ -3118,6 +3202,49 @@ declare namespace tracer {
3118
3202
  type?: string
3119
3203
  }
3120
3204
 
3205
+ /**
3206
+ * A Prompt object that represents the prompt template used for an LLM call.
3207
+ * Used to power LLM Observability prompts and hallucination evaluations.
3208
+ */
3209
+ interface Prompt {
3210
+ /**
3211
+ * Version of the prompt
3212
+ */
3213
+ version?: string,
3214
+
3215
+
3216
+ /**
3217
+ * The id of the prompt set by the user. Should be unique per mlApp.
3218
+ */
3219
+ id?: string,
3220
+
3221
+ /**
3222
+ * An object of string key-value pairs that will be used to render the prompt
3223
+ */
3224
+ variables?: Record<string, string>,
3225
+
3226
+ /**
3227
+ * List of tags to add to the prompt run.
3228
+ */
3229
+ tags?: Record<string, string>,
3230
+
3231
+
3232
+ /**
3233
+ * A list of variable key names that contains query information
3234
+ */
3235
+ queryVariables?: string[],
3236
+
3237
+ /**
3238
+ * A list of variable key names that contain ground truth context information.
3239
+ */
3240
+ contextVariables?: string[],
3241
+
3242
+ /**
3243
+ * A template string or chat message template list.
3244
+ */
3245
+ template?: string | Message[]
3246
+ }
3247
+
3121
3248
  /**
3122
3249
  * Annotation options for LLM Observability spans.
3123
3250
  */
@@ -3151,7 +3278,12 @@ declare namespace tracer {
3151
3278
  /**
3152
3279
  * Object of JSON serializable key-value tag pairs to set or update on the LLM Observability span regarding the span's context.
3153
3280
  */
3154
- tags?: { [key: string]: any }
3281
+ tags?: { [key: string]: any },
3282
+
3283
+ /**
3284
+ * A Prompt object that represents the prompt used for an LLM call. Only used on `llm` spans.
3285
+ */
3286
+ prompt?: Prompt,
3155
3287
  }
3156
3288
 
3157
3289
  interface AnnotationContextOptions {
@@ -3164,6 +3296,23 @@ declare namespace tracer {
3164
3296
  * Set to override the span name for any spans annotated within the returned context.
3165
3297
  */
3166
3298
  name?: string,
3299
+
3300
+ /**
3301
+ * A Prompt object that represents the prompt used for an LLM call. Only used on `llm` spans.
3302
+ */
3303
+ prompt?: Prompt,
3304
+ }
3305
+
3306
+ interface RoutingContextOptions {
3307
+ /**
3308
+ * The Datadog API key for the target organization.
3309
+ */
3310
+ ddApiKey: string,
3311
+
3312
+ /**
3313
+ * The Datadog site for the target organization (e.g., 'datadoghq.eu').
3314
+ */
3315
+ ddSite?: string,
3167
3316
  }
3168
3317
 
3169
3318
  /**
package/loader-hook.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as iitm from 'import-in-the-middle/hook.mjs'
2
2
  import regexpEscapeModule from './vendor/dist/escape-string-regexp/index.js'
3
3
  import hooks from './packages/datadog-instrumentations/src/helpers/hooks.js'
4
- import configHelper from './packages/dd-trace/src/config-helper.js'
4
+ import configHelper from './packages/dd-trace/src/config/helper.js'
5
5
  import * as rewriterLoader from './packages/datadog-instrumentations/src/helpers/rewriter/loader.mjs'
6
6
  import { isRelativeRequire } from './packages/datadog-instrumentations/src/helpers/shared-utils.js'
7
7