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.
- package/LICENSE-3rdparty.csv +0 -1
- package/ci/cypress/polyfills.js +1 -1
- package/ci/init.js +5 -5
- package/ext/exporters.js +1 -1
- package/ext/formats.js +1 -1
- package/ext/index.js +1 -1
- package/ext/kinds.js +1 -1
- package/ext/priority.js +1 -1
- package/ext/scopes.js +1 -1
- package/ext/tags.js +1 -1
- package/ext/types.js +1 -1
- package/index.d.ts +115 -2
- package/initialize.mjs +47 -31
- package/loader-hook.mjs +35 -22
- package/package.json +36 -33
- package/packages/datadog-code-origin/index.js +12 -10
- package/packages/datadog-core/src/utils/src/pick.js +2 -2
- package/packages/datadog-esbuild/index.js +75 -79
- package/packages/datadog-esbuild/src/log.js +32 -0
- package/packages/datadog-esbuild/src/utils.js +12 -8
- package/packages/datadog-instrumentations/src/aerospike.js +3 -3
- package/packages/datadog-instrumentations/src/ai.js +5 -5
- package/packages/datadog-instrumentations/src/amqp10.js +1 -1
- package/packages/datadog-instrumentations/src/amqplib.js +1 -1
- package/packages/datadog-instrumentations/src/anthropic.js +3 -3
- package/packages/datadog-instrumentations/src/apollo-server.js +4 -4
- package/packages/datadog-instrumentations/src/apollo.js +2 -2
- package/packages/datadog-instrumentations/src/avsc.js +1 -1
- package/packages/datadog-instrumentations/src/aws-sdk.js +4 -4
- package/packages/datadog-instrumentations/src/azure-event-hubs.js +2 -2
- package/packages/datadog-instrumentations/src/azure-functions.js +1 -1
- package/packages/datadog-instrumentations/src/azure-service-bus.js +1 -1
- package/packages/datadog-instrumentations/src/body-parser.js +2 -2
- package/packages/datadog-instrumentations/src/bunyan.js +1 -1
- package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
- package/packages/datadog-instrumentations/src/child_process.js +7 -7
- package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +17 -16
- package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
- package/packages/datadog-instrumentations/src/couchbase.js +8 -6
- package/packages/datadog-instrumentations/src/crypto.js +1 -1
- package/packages/datadog-instrumentations/src/cucumber.js +19 -19
- package/packages/datadog-instrumentations/src/cypress.js +1 -1
- package/packages/datadog-instrumentations/src/dns.js +2 -2
- package/packages/datadog-instrumentations/src/elasticsearch.js +2 -2
- package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +2 -2
- package/packages/datadog-instrumentations/src/express-session.js +1 -1
- package/packages/datadog-instrumentations/src/express.js +4 -4
- package/packages/datadog-instrumentations/src/fastify.js +1 -1
- package/packages/datadog-instrumentations/src/fetch.js +2 -2
- package/packages/datadog-instrumentations/src/fs.js +7 -7
- package/packages/datadog-instrumentations/src/generic-pool.js +2 -2
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +8 -8
- package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +4 -4
- package/packages/datadog-instrumentations/src/google-genai.js +1 -1
- package/packages/datadog-instrumentations/src/graphql.js +10 -10
- package/packages/datadog-instrumentations/src/grpc/client.js +9 -13
- package/packages/datadog-instrumentations/src/grpc/types.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/check-require-cache.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +2 -2
- package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/register.js +7 -7
- package/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js +6 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +1 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +55 -55
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +74 -17
- package/packages/datadog-instrumentations/src/helpers/router-helper.js +7 -7
- package/packages/datadog-instrumentations/src/helpers/shared-utils.js +1 -1
- package/packages/datadog-instrumentations/src/hono.js +6 -6
- package/packages/datadog-instrumentations/src/http/client.js +1 -1
- package/packages/datadog-instrumentations/src/http/server.js +4 -4
- package/packages/datadog-instrumentations/src/http2/server.js +1 -1
- package/packages/datadog-instrumentations/src/ioredis.js +1 -1
- package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
- package/packages/datadog-instrumentations/src/jest.js +250 -106
- package/packages/datadog-instrumentations/src/kafkajs.js +9 -8
- package/packages/datadog-instrumentations/src/knex.js +2 -2
- package/packages/datadog-instrumentations/src/koa.js +3 -1
- package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
- package/packages/datadog-instrumentations/src/light-my-request.js +1 -1
- package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
- package/packages/datadog-instrumentations/src/mariadb.js +1 -1
- package/packages/datadog-instrumentations/src/memcached.js +1 -1
- package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
- package/packages/datadog-instrumentations/src/mocha/main.js +24 -24
- package/packages/datadog-instrumentations/src/mocha/utils.js +15 -11
- package/packages/datadog-instrumentations/src/mocha/worker.js +4 -4
- package/packages/datadog-instrumentations/src/moleculer/server.js +1 -1
- package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
- package/packages/datadog-instrumentations/src/mongodb.js +7 -7
- package/packages/datadog-instrumentations/src/mongoose.js +10 -10
- package/packages/datadog-instrumentations/src/mquery.js +6 -6
- package/packages/datadog-instrumentations/src/multer.js +1 -1
- package/packages/datadog-instrumentations/src/mysql.js +1 -1
- package/packages/datadog-instrumentations/src/net.js +6 -6
- package/packages/datadog-instrumentations/src/next.js +6 -6
- package/packages/datadog-instrumentations/src/nyc.js +34 -2
- package/packages/datadog-instrumentations/src/openai.js +24 -24
- package/packages/datadog-instrumentations/src/oracledb.js +2 -2
- package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
- package/packages/datadog-instrumentations/src/passport-http.js +1 -1
- package/packages/datadog-instrumentations/src/passport-local.js +1 -1
- package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
- package/packages/datadog-instrumentations/src/passport.js +1 -1
- package/packages/datadog-instrumentations/src/pg.js +3 -3
- package/packages/datadog-instrumentations/src/pino.js +2 -2
- package/packages/datadog-instrumentations/src/playwright.js +71 -67
- package/packages/datadog-instrumentations/src/prisma.js +24 -78
- package/packages/datadog-instrumentations/src/promise-js.js +1 -1
- package/packages/datadog-instrumentations/src/promise.js +1 -1
- package/packages/datadog-instrumentations/src/protobufjs.js +6 -6
- package/packages/datadog-instrumentations/src/q.js +2 -2
- package/packages/datadog-instrumentations/src/redis.js +2 -2
- package/packages/datadog-instrumentations/src/rhea.js +5 -5
- package/packages/datadog-instrumentations/src/router.js +8 -8
- package/packages/datadog-instrumentations/src/selenium.js +3 -3
- package/packages/datadog-instrumentations/src/sequelize.js +1 -1
- package/packages/datadog-instrumentations/src/sharedb.js +2 -2
- package/packages/datadog-instrumentations/src/tedious.js +1 -1
- package/packages/datadog-instrumentations/src/undici.js +2 -2
- package/packages/datadog-instrumentations/src/url.js +5 -5
- package/packages/datadog-instrumentations/src/vitest.js +56 -45
- package/packages/datadog-instrumentations/src/when.js +1 -1
- package/packages/datadog-instrumentations/src/winston.js +1 -1
- package/packages/datadog-instrumentations/src/ws.js +128 -41
- package/packages/datadog-plugin-aerospike/src/index.js +4 -4
- package/packages/datadog-plugin-ai/src/index.js +1 -1
- package/packages/datadog-plugin-ai/src/tracing.js +2 -2
- package/packages/datadog-plugin-ai/src/utils.js +1 -1
- package/packages/datadog-plugin-amqp10/src/consumer.js +2 -2
- package/packages/datadog-plugin-amqp10/src/index.js +1 -1
- package/packages/datadog-plugin-amqp10/src/producer.js +2 -2
- package/packages/datadog-plugin-amqplib/src/client.js +2 -2
- package/packages/datadog-plugin-amqplib/src/consumer.js +2 -2
- package/packages/datadog-plugin-amqplib/src/index.js +1 -1
- package/packages/datadog-plugin-amqplib/src/producer.js +2 -2
- package/packages/datadog-plugin-amqplib/src/util.js +1 -1
- package/packages/datadog-plugin-anthropic/src/index.js +1 -1
- package/packages/datadog-plugin-anthropic/src/tracing.js +2 -2
- package/packages/datadog-plugin-apollo/src/gateway/fetch.js +1 -1
- package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
- package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -5
- package/packages/datadog-plugin-apollo/src/index.js +1 -1
- package/packages/datadog-plugin-avsc/src/schema_iterator.js +3 -3
- package/packages/datadog-plugin-aws-sdk/src/base.js +11 -10
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +24 -24
- package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
- package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +3 -3
- package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -5
- package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -12
- package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
- package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
- package/packages/datadog-plugin-azure-event-hubs/src/producer.js +3 -3
- package/packages/datadog-plugin-azure-functions/src/index.js +11 -10
- package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
- package/packages/datadog-plugin-azure-service-bus/src/producer.js +3 -3
- package/packages/datadog-plugin-bullmq/src/consumer.js +2 -2
- package/packages/datadog-plugin-bullmq/src/index.js +1 -1
- package/packages/datadog-plugin-bullmq/src/producer.js +11 -11
- package/packages/datadog-plugin-cassandra-driver/src/index.js +2 -2
- package/packages/datadog-plugin-child_process/src/index.js +2 -2
- package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +5 -5
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
- package/packages/datadog-plugin-couchbase/src/index.js +3 -3
- package/packages/datadog-plugin-cucumber/src/index.js +46 -45
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +68 -55
- package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
- package/packages/datadog-plugin-cypress/src/support.js +56 -9
- package/packages/datadog-plugin-dd-trace-api/src/index.js +1 -1
- package/packages/datadog-plugin-dns/src/index.js +1 -1
- package/packages/datadog-plugin-dns/src/lookup.js +2 -2
- package/packages/datadog-plugin-dns/src/lookup_service.js +3 -3
- package/packages/datadog-plugin-dns/src/resolve.js +2 -2
- package/packages/datadog-plugin-dns/src/reverse.js +2 -2
- package/packages/datadog-plugin-elasticsearch/src/index.js +2 -2
- package/packages/datadog-plugin-express/src/index.js +1 -1
- package/packages/datadog-plugin-fastify/src/index.js +1 -1
- package/packages/datadog-plugin-fs/src/index.js +2 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +2 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +8 -6
- package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +11 -10
- package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +6 -6
- package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +2 -2
- package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +1 -1
- package/packages/datadog-plugin-google-genai/src/index.js +1 -1
- package/packages/datadog-plugin-google-genai/src/tracing.js +2 -2
- package/packages/datadog-plugin-graphql/src/execute.js +2 -2
- package/packages/datadog-plugin-graphql/src/index.js +2 -2
- package/packages/datadog-plugin-graphql/src/parse.js +1 -1
- package/packages/datadog-plugin-graphql/src/resolve.js +6 -6
- package/packages/datadog-plugin-graphql/src/utils.js +1 -1
- package/packages/datadog-plugin-graphql/src/validate.js +2 -2
- package/packages/datadog-plugin-grpc/src/client.js +3 -3
- package/packages/datadog-plugin-grpc/src/index.js +1 -1
- package/packages/datadog-plugin-grpc/src/server.js +3 -3
- package/packages/datadog-plugin-grpc/src/util.js +2 -2
- package/packages/datadog-plugin-http/src/client.js +10 -10
- package/packages/datadog-plugin-http/src/index.js +1 -1
- package/packages/datadog-plugin-http2/src/client.js +6 -6
- package/packages/datadog-plugin-http2/src/index.js +1 -1
- package/packages/datadog-plugin-http2/src/server.js +1 -1
- package/packages/datadog-plugin-jest/src/index.js +39 -22
- package/packages/datadog-plugin-jest/src/util.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/consumer.js +5 -5
- package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/producer.js +5 -5
- package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
- package/packages/datadog-plugin-langchain/src/tokens.js +2 -2
- package/packages/datadog-plugin-langchain/src/tracing.js +4 -4
- package/packages/datadog-plugin-memcached/src/index.js +2 -2
- package/packages/datadog-plugin-mocha/src/index.js +12 -12
- package/packages/datadog-plugin-moleculer/src/client.js +1 -1
- package/packages/datadog-plugin-moleculer/src/index.js +1 -1
- package/packages/datadog-plugin-moleculer/src/server.js +2 -2
- package/packages/datadog-plugin-moleculer/src/util.js +1 -1
- package/packages/datadog-plugin-mongodb-core/src/index.js +5 -5
- package/packages/datadog-plugin-mysql/src/index.js +2 -2
- package/packages/datadog-plugin-net/src/ipc.js +2 -2
- package/packages/datadog-plugin-net/src/tcp.js +4 -4
- package/packages/datadog-plugin-next/src/index.js +4 -4
- package/packages/datadog-plugin-nyc/src/index.js +60 -0
- package/packages/datadog-plugin-openai/src/index.js +1 -1
- package/packages/datadog-plugin-openai/src/services.js +3 -3
- package/packages/datadog-plugin-openai/src/stream-helpers.js +1 -1
- package/packages/datadog-plugin-openai/src/tracing.js +10 -10
- package/packages/datadog-plugin-oracledb/src/connection-parser.js +1 -1
- package/packages/datadog-plugin-oracledb/src/index.js +1 -1
- package/packages/datadog-plugin-pg/src/index.js +2 -2
- package/packages/datadog-plugin-playwright/src/index.js +42 -42
- package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +95 -0
- package/packages/datadog-plugin-prisma/src/index.js +129 -10
- package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +3 -3
- package/packages/datadog-plugin-redis/src/index.js +2 -2
- package/packages/datadog-plugin-restify/src/index.js +1 -1
- package/packages/datadog-plugin-rhea/src/consumer.js +2 -2
- package/packages/datadog-plugin-rhea/src/index.js +1 -1
- package/packages/datadog-plugin-rhea/src/producer.js +2 -2
- package/packages/datadog-plugin-router/src/index.js +3 -3
- package/packages/datadog-plugin-selenium/src/index.js +2 -2
- package/packages/datadog-plugin-sharedb/src/index.js +2 -2
- package/packages/datadog-plugin-tedious/src/index.js +2 -2
- package/packages/datadog-plugin-undici/src/index.js +5 -5
- package/packages/datadog-plugin-vitest/src/index.js +39 -18
- package/packages/datadog-plugin-ws/src/close.js +10 -11
- package/packages/datadog-plugin-ws/src/index.js +1 -1
- package/packages/datadog-plugin-ws/src/producer.js +8 -9
- package/packages/datadog-plugin-ws/src/receiver.js +8 -9
- package/packages/datadog-plugin-ws/src/server.js +17 -12
- package/packages/datadog-plugin-ws/src/util.js +48 -16
- package/packages/datadog-shimmer/src/shimmer.js +5 -8
- package/packages/dd-trace/index.js +2 -2
- package/packages/dd-trace/src/agent/info.js +57 -0
- package/packages/dd-trace/src/agent/url.js +28 -0
- package/packages/dd-trace/src/aiguard/client.js +3 -3
- package/packages/dd-trace/src/aiguard/sdk.js +6 -6
- package/packages/dd-trace/src/aiguard/tags.js +1 -1
- package/packages/dd-trace/src/analytics_sampler.js +1 -1
- package/packages/dd-trace/src/appsec/activation.js +1 -1
- package/packages/dd-trace/src/appsec/addresses.js +1 -1
- package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
- package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
- package/packages/dd-trace/src/appsec/blocking.js +5 -5
- package/packages/dd-trace/src/appsec/channels.js +1 -1
- package/packages/dd-trace/src/appsec/graphql.js +13 -13
- package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +6 -5
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-rule-type.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +148 -148
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +148 -148
- package/packages/dd-trace/src/appsec/iast/analyzers/index.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +7 -8
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +3 -3
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +3 -3
- package/packages/dd-trace/src/appsec/iast/iast-context.js +6 -3
- package/packages/dd-trace/src/appsec/iast/iast-plugin.js +17 -9
- package/packages/dd-trace/src/appsec/iast/index.js +2 -2
- package/packages/dd-trace/src/appsec/iast/overhead-controller.js +9 -9
- package/packages/dd-trace/src/appsec/iast/path-line.js +6 -6
- package/packages/dd-trace/src/appsec/iast/security-controls/index.js +11 -11
- package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +49 -17
- package/packages/dd-trace/src/appsec/iast/tags.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/constants.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/csi-methods.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -6
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +5 -5
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +4 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -5
- package/packages/dd-trace/src/appsec/iast/taint-tracking/secure-marks.js +6 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +8 -8
- package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +4 -4
- package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +2 -2
- package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +6 -6
- package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -2
- package/packages/dd-trace/src/appsec/iast/utils.js +3 -3
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/constants.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/hardcoded-password-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +6 -6
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/tainted-range-based-sensitive-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +8 -8
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +12 -11
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +5 -5
- package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -4
- package/packages/dd-trace/src/appsec/index.js +65 -27
- package/packages/dd-trace/src/appsec/rasp/command_injection.js +3 -3
- package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +4 -4
- package/packages/dd-trace/src/appsec/rasp/index.js +2 -2
- package/packages/dd-trace/src/appsec/rasp/lfi.js +5 -5
- package/packages/dd-trace/src/appsec/rasp/sql_injection.js +2 -2
- package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/utils.js +4 -4
- package/packages/dd-trace/src/appsec/rc-products.js +1 -1
- package/packages/dd-trace/src/appsec/remote_config.js +3 -3
- package/packages/dd-trace/src/appsec/reporter.js +11 -11
- package/packages/dd-trace/src/appsec/rule_manager.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/set_user.js +2 -2
- package/packages/dd-trace/src/appsec/sdk/track_event.js +7 -7
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
- package/packages/dd-trace/src/appsec/stack_trace.js +5 -5
- package/packages/dd-trace/src/appsec/telemetry/common.js +3 -3
- package/packages/dd-trace/src/appsec/telemetry/index.js +5 -5
- package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -3
- package/packages/dd-trace/src/appsec/telemetry/user.js +4 -4
- package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -3
- package/packages/dd-trace/src/appsec/user_tracking.js +7 -7
- package/packages/dd-trace/src/appsec/waf/diagnostics.js +2 -2
- package/packages/dd-trace/src/appsec/waf/index.js +1 -1
- package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +2 -2
- package/packages/dd-trace/src/azure_metadata.js +16 -9
- package/packages/dd-trace/src/baggage.js +1 -1
- package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +82 -0
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -5
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +9 -9
- package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +8 -8
- package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +11 -11
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +8 -6
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -0
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +4 -3
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +39 -20
- package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +22 -22
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +8 -8
- package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +3 -3
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +17 -12
- package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +92 -0
- package/packages/dd-trace/src/ci-visibility/telemetry.js +8 -4
- package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +1 -1
- package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +6 -6
- package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +61 -0
- package/packages/dd-trace/src/config/defaults.js +1 -1
- package/packages/dd-trace/src/config/git_properties.js +1 -1
- package/packages/dd-trace/src/config/helper.js +2 -2
- package/packages/dd-trace/src/config/index.js +645 -641
- package/packages/dd-trace/src/config/remote_config.js +2 -1
- package/packages/dd-trace/src/config/stable.js +2 -2
- package/packages/dd-trace/src/config/supported-configurations.json +2 -1
- package/packages/dd-trace/src/constants.js +3 -3
- package/packages/dd-trace/src/crashtracking/crashtracker.js +8 -11
- package/packages/dd-trace/src/datastreams/checkpointer.js +1 -1
- package/packages/dd-trace/src/datastreams/context.js +1 -1
- package/packages/dd-trace/src/datastreams/encoding.js +1 -1
- package/packages/dd-trace/src/datastreams/fnv.js +1 -1
- package/packages/dd-trace/src/datastreams/index.js +8 -8
- package/packages/dd-trace/src/datastreams/pathway.js +5 -3
- package/packages/dd-trace/src/datastreams/processor.js +14 -12
- package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +27 -25
- package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +1 -1
- package/packages/dd-trace/src/datastreams/size.js +3 -3
- package/packages/dd-trace/src/datastreams/writer.js +5 -11
- package/packages/dd-trace/src/debugger/config.js +2 -1
- package/packages/dd-trace/src/debugger/constants.js +7 -0
- package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +14 -10
- package/packages/dd-trace/src/debugger/devtools_client/condition.js +2 -2
- package/packages/dd-trace/src/debugger/devtools_client/config.js +6 -12
- package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +32 -25
- package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/json-buffer.js +10 -11
- package/packages/dd-trace/src/debugger/devtools_client/log.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/send.js +54 -10
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +94 -37
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +4 -4
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +7 -7
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +2 -2
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +10 -1
- package/packages/dd-trace/src/debugger/devtools_client/state.js +65 -8
- package/packages/dd-trace/src/debugger/devtools_client/status.js +9 -8
- package/packages/dd-trace/src/debugger/index.js +95 -37
- package/packages/dd-trace/src/dogstatsd.js +17 -18
- package/packages/dd-trace/src/encode/0.4.js +7 -6
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +8 -8
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +3 -3
- package/packages/dd-trace/src/encode/span-stats.js +2 -2
- package/packages/dd-trace/src/encode/tags-processors.js +1 -1
- package/packages/dd-trace/src/exporters/agent/index.js +5 -9
- package/packages/dd-trace/src/exporters/agent/writer.js +5 -4
- package/packages/dd-trace/src/exporters/common/agents.js +1 -1
- package/packages/dd-trace/src/exporters/common/{agent-info-exporter.js → buffering-exporter.js} +12 -39
- package/packages/dd-trace/src/exporters/common/docker.js +11 -7
- package/packages/dd-trace/src/exporters/common/request.js +28 -8
- package/packages/dd-trace/src/exporters/common/url-to-http-options-polyfill.js +2 -2
- package/packages/dd-trace/src/exporters/common/writer.js +2 -0
- package/packages/dd-trace/src/exporters/span-stats/index.js +4 -11
- package/packages/dd-trace/src/exporters/span-stats/writer.js +3 -3
- package/packages/dd-trace/src/external-logger/src/index.js +4 -4
- package/packages/dd-trace/src/flare/index.js +3 -3
- package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
- package/packages/dd-trace/src/heap_snapshots.js +1 -1
- package/packages/dd-trace/src/id.js +1 -1
- package/packages/dd-trace/src/iitm.js +1 -1
- package/packages/dd-trace/src/lambda/handler.js +1 -1
- package/packages/dd-trace/src/lambda/runtime/errors.js +1 -1
- package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
- package/packages/dd-trace/src/llmobs/constants/tags.js +1 -1
- package/packages/dd-trace/src/llmobs/constants/text.js +1 -1
- package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
- package/packages/dd-trace/src/llmobs/index.js +2 -4
- package/packages/dd-trace/src/llmobs/noop.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/ai/index.js +8 -8
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/anthropic.js +5 -5
- package/packages/dd-trace/src/llmobs/plugins/base.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +8 -8
- package/packages/dd-trace/src/llmobs/plugins/genai/index.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/genai/util.js +15 -15
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +5 -5
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +17 -17
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/vertexai.js +6 -6
- package/packages/dd-trace/src/llmobs/sdk.js +11 -11
- package/packages/dd-trace/src/llmobs/span_processor.js +6 -6
- package/packages/dd-trace/src/llmobs/tagger.js +4 -4
- package/packages/dd-trace/src/llmobs/telemetry.js +8 -8
- package/packages/dd-trace/src/llmobs/util.js +1 -1
- package/packages/dd-trace/src/llmobs/writers/base.js +11 -17
- package/packages/dd-trace/src/llmobs/writers/evaluations.js +5 -5
- package/packages/dd-trace/src/llmobs/writers/spans.js +3 -3
- package/packages/dd-trace/src/llmobs/writers/util.js +4 -10
- package/packages/dd-trace/src/log/channels.js +2 -2
- package/packages/dd-trace/src/log/index.js +46 -31
- package/packages/dd-trace/src/log/log.js +1 -1
- package/packages/dd-trace/src/log/writer.js +14 -79
- package/packages/dd-trace/src/noop/span.js +2 -2
- package/packages/dd-trace/src/openfeature/constants/constants.js +1 -1
- package/packages/dd-trace/src/openfeature/flagging_provider.js +4 -4
- package/packages/dd-trace/src/openfeature/index.js +2 -2
- package/packages/dd-trace/src/openfeature/noop.js +3 -3
- package/packages/dd-trace/src/openfeature/remote_config.js +1 -1
- package/packages/dd-trace/src/openfeature/writers/base.js +14 -20
- package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
- package/packages/dd-trace/src/openfeature/writers/util.js +4 -9
- package/packages/dd-trace/src/opentelemetry/context_manager.js +48 -29
- package/packages/dd-trace/src/opentelemetry/logs/index.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +10 -10
- package/packages/dd-trace/src/opentelemetry/metrics/constants.js +3 -3
- package/packages/dd-trace/src/opentelemetry/metrics/index.js +2 -2
- package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
- package/packages/dd-trace/src/opentelemetry/metrics/meter.js +1 -1
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +11 -11
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +18 -18
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +6 -6
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +10 -7
- package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +3 -3
- package/packages/dd-trace/src/opentelemetry/span.js +8 -8
- package/packages/dd-trace/src/opentelemetry/span_context.js +1 -1
- package/packages/dd-trace/src/opentelemetry/span_processor.js +1 -1
- package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
- package/packages/dd-trace/src/opentracing/propagation/log.js +2 -2
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +14 -12
- package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
- package/packages/dd-trace/src/opentracing/span.js +20 -20
- package/packages/dd-trace/src/opentracing/span_context.js +3 -3
- package/packages/dd-trace/src/opentracing/tracer.js +3 -3
- package/packages/dd-trace/src/payload-tagging/config/index.js +1 -1
- package/packages/dd-trace/src/payload-tagging/index.js +1 -1
- package/packages/dd-trace/src/payload-tagging/tagging.js +2 -2
- package/packages/dd-trace/src/plugin_manager.js +6 -6
- package/packages/dd-trace/src/plugins/apollo.js +4 -4
- package/packages/dd-trace/src/plugins/ci_plugin.js +101 -36
- package/packages/dd-trace/src/plugins/database.js +1 -1
- package/packages/dd-trace/src/plugins/index.js +1 -1
- package/packages/dd-trace/src/plugins/log_plugin.js +2 -2
- package/packages/dd-trace/src/plugins/outbound.js +9 -8
- package/packages/dd-trace/src/plugins/plugin.js +17 -7
- package/packages/dd-trace/src/plugins/producer.js +6 -5
- package/packages/dd-trace/src/plugins/tracing.js +37 -8
- package/packages/dd-trace/src/plugins/util/ci.js +40 -40
- package/packages/dd-trace/src/plugins/util/env.js +2 -2
- package/packages/dd-trace/src/plugins/util/git-cache.js +2 -2
- package/packages/dd-trace/src/plugins/util/git.js +20 -18
- package/packages/dd-trace/src/plugins/util/inferred_proxy.js +6 -6
- package/packages/dd-trace/src/plugins/util/ip_extractor.js +3 -3
- package/packages/dd-trace/src/plugins/util/llm.js +1 -1
- package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -3
- package/packages/dd-trace/src/plugins/util/tags.js +1 -1
- package/packages/dd-trace/src/plugins/util/test.js +46 -40
- package/packages/dd-trace/src/plugins/util/url.js +1 -1
- package/packages/dd-trace/src/plugins/util/urlfilter.js +1 -1
- package/packages/dd-trace/src/plugins/util/user-provided-git.js +2 -2
- package/packages/dd-trace/src/plugins/util/web.js +12 -12
- package/packages/dd-trace/src/priority_sampler.js +4 -4
- package/packages/dd-trace/src/process-tags/index.js +2 -2
- package/packages/dd-trace/src/profiler.js +1 -1
- package/packages/dd-trace/src/profiling/config.js +11 -14
- package/packages/dd-trace/src/profiling/constants.js +2 -2
- package/packages/dd-trace/src/profiling/exporter_cli.js +3 -3
- package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
- package/packages/dd-trace/src/profiling/exporters/event_serializer.js +8 -8
- package/packages/dd-trace/src/profiling/index.js +1 -1
- package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
- package/packages/dd-trace/src/profiling/loggers/console.js +1 -1
- package/packages/dd-trace/src/profiling/profiler.js +21 -23
- package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +3 -3
- package/packages/dd-trace/src/profiling/profilers/events.js +27 -19
- package/packages/dd-trace/src/profiling/profilers/shared.js +2 -2
- package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
- package/packages/dd-trace/src/profiling/tagger.js +1 -1
- package/packages/dd-trace/src/profiling/webspan-utils.js +2 -2
- package/packages/dd-trace/src/proxy.js +13 -13
- package/packages/dd-trace/src/remote_config/apply_states.js +1 -1
- package/packages/dd-trace/src/remote_config/capabilities.js +1 -0
- package/packages/dd-trace/src/remote_config/index.js +17 -22
- package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
- package/packages/dd-trace/src/ritm.js +1 -1
- package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
- package/packages/dd-trace/src/serverless.js +1 -1
- package/packages/dd-trace/src/service-naming/extra-services.js +1 -1
- package/packages/dd-trace/src/service-naming/index.js +1 -1
- package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +25 -25
- package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +18 -18
- package/packages/dd-trace/src/service-naming/schemas/v0/web.js +23 -23
- package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +9 -9
- package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +21 -21
- package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +17 -17
- package/packages/dd-trace/src/service-naming/schemas/v1/web.js +23 -23
- package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +9 -9
- package/packages/dd-trace/src/span_format.js +4 -4
- package/packages/dd-trace/src/span_sampler.js +1 -1
- package/packages/dd-trace/src/span_stats.js +11 -11
- package/packages/dd-trace/src/spanleak.js +1 -1
- package/packages/dd-trace/src/standalone/index.js +1 -1
- package/packages/dd-trace/src/standalone/product.js +2 -2
- package/packages/dd-trace/src/standalone/tracesource.js +1 -1
- package/packages/dd-trace/src/startup-log.js +4 -4
- package/packages/dd-trace/src/tagger.js +3 -1
- package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
- package/packages/dd-trace/src/telemetry/endpoints.js +4 -4
- package/packages/dd-trace/src/telemetry/index.js +1 -1
- package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
- package/packages/dd-trace/src/telemetry/logs/log-collector.js +2 -2
- package/packages/dd-trace/src/telemetry/metrics.js +6 -6
- package/packages/dd-trace/src/telemetry/send-data.js +5 -5
- package/packages/dd-trace/src/telemetry/telemetry.js +10 -10
- package/packages/dd-trace/src/tracer.js +3 -2
- package/packages/dd-trace/src/util.js +1 -1
- package/scripts/preinstall.js +1 -1
- package/vendor/dist/@datadog/sketches-js/index.js +1 -1
- package/vendor/dist/@datadog/source-map/index.js +1 -1
- package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
- package/vendor/dist/@opentelemetry/core/index.js +1 -1
- package/vendor/dist/@opentelemetry/resources/index.js +1 -1
- package/vendor/dist/astring/index.js +1 -1
- package/vendor/dist/crypto-randomuuid/index.js +1 -1
- package/vendor/dist/escape-string-regexp/index.js +1 -1
- package/vendor/dist/esquery/index.js +1 -1
- package/vendor/dist/ignore/index.js +1 -1
- package/vendor/dist/istanbul-lib-coverage/index.js +1 -1
- package/vendor/dist/jest-docblock/index.js +1 -1
- package/vendor/dist/jsonpath-plus/index.js +1 -1
- package/vendor/dist/limiter/index.js +1 -1
- package/vendor/dist/lodash.sortby/index.js +1 -1
- package/vendor/dist/lru-cache/index.js +1 -1
- package/vendor/dist/meriyah/index.js +1 -1
- package/vendor/dist/module-details-from-path/index.js +1 -1
- package/vendor/dist/mutexify/promise/index.js +1 -1
- package/vendor/dist/opentracing/index.js +1 -1
- package/vendor/dist/path-to-regexp/index.js +1 -1
- package/vendor/dist/pprof-format/index.js +1 -1
- package/vendor/dist/protobufjs/index.js +1 -1
- package/vendor/dist/protobufjs/minimal/index.js +1 -1
- package/vendor/dist/retry/index.js +1 -1
- package/vendor/dist/rfdc/index.js +1 -1
- package/vendor/dist/semifies/index.js +1 -1
- package/vendor/dist/shell-quote/index.js +1 -1
- package/vendor/dist/source-map/index.js +1 -1
- package/vendor/dist/source-map/lib/util/index.js +1 -1
- package/vendor/dist/tlhunter-sorted-set/index.js +1 -1
- package/vendor/dist/ttl-set/index.js +1 -1
- package/packages/datadog-plugin-prisma/src/client.js +0 -60
- package/packages/datadog-plugin-prisma/src/engine.js +0 -81
package/LICENSE-3rdparty.csv
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
"@isaacs/ttlcache","https://github.com/isaacs/ttlcache","['BlueOak-1.0.0']","['Isaac Z. Schlueter']"
|
|
12
12
|
"@jsep-plugin/assignment","https://github.com/EricSmekens/jsep","['MIT']","['Shelly']"
|
|
13
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
14
|
"@opentelemetry/api","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
|
|
16
15
|
"@opentelemetry/api-logs","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
|
|
17
16
|
"@opentelemetry/core","https://github.com/open-telemetry/opentelemetry-js","['Apache-2.0']","['OpenTelemetry Authors']"
|
package/ci/cypress/polyfills.js
CHANGED
package/ci/init.js
CHANGED
|
@@ -14,7 +14,7 @@ const EXPORTER_MAP = {
|
|
|
14
14
|
cucumber: 'cucumber_worker',
|
|
15
15
|
mocha: 'mocha_worker',
|
|
16
16
|
playwright: 'playwright_worker',
|
|
17
|
-
vitest: 'vitest_worker'
|
|
17
|
+
vitest: 'vitest_worker',
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
function isPackageManager () {
|
|
@@ -40,7 +40,7 @@ const isJestWorker = testWorkerType === 'jest'
|
|
|
40
40
|
const baseOptions = {
|
|
41
41
|
startupLogs: false,
|
|
42
42
|
isCiVisibility: true,
|
|
43
|
-
flushInterval: isJestWorker ? JEST_FLUSH_INTERVAL : DEFAULT_FLUSH_INTERVAL
|
|
43
|
+
flushInterval: isJestWorker ? JEST_FLUSH_INTERVAL : DEFAULT_FLUSH_INTERVAL,
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
let shouldInit = !isFalse(getValueFromEnvSources('DD_CIVISIBILITY_ENABLED'))
|
|
@@ -54,13 +54,13 @@ if (!isTestWorker && isPackageManager()) {
|
|
|
54
54
|
if (isTestWorker) {
|
|
55
55
|
baseOptions.telemetry = { enabled: false }
|
|
56
56
|
baseOptions.experimental = {
|
|
57
|
-
exporter: EXPORTER_MAP[testWorkerType]
|
|
57
|
+
exporter: EXPORTER_MAP[testWorkerType],
|
|
58
58
|
}
|
|
59
59
|
} else {
|
|
60
60
|
if (isAgentlessEnabled) {
|
|
61
61
|
if (getValueFromEnvSources('DD_API_KEY')) {
|
|
62
62
|
baseOptions.experimental = {
|
|
63
|
-
exporter: 'datadog'
|
|
63
|
+
exporter: 'datadog',
|
|
64
64
|
}
|
|
65
65
|
} else {
|
|
66
66
|
console.error(
|
|
@@ -72,7 +72,7 @@ if (isTestWorker) {
|
|
|
72
72
|
}
|
|
73
73
|
} else {
|
|
74
74
|
baseOptions.experimental = {
|
|
75
|
-
exporter: 'agent_proxy'
|
|
75
|
+
exporter: 'agent_proxy',
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
}
|
package/ext/exporters.js
CHANGED
package/ext/formats.js
CHANGED
package/ext/index.js
CHANGED
package/ext/kinds.js
CHANGED
package/ext/priority.js
CHANGED
package/ext/scopes.js
CHANGED
package/ext/tags.js
CHANGED
package/ext/types.js
CHANGED
package/index.d.ts
CHANGED
|
@@ -148,7 +148,7 @@ interface Tracer extends opentracing.Tracer {
|
|
|
148
148
|
* OpenFeature Provider with Remote Config integration.
|
|
149
149
|
*
|
|
150
150
|
* Extends DatadogNodeServerProvider with Remote Config integration for dynamic flag configuration.
|
|
151
|
-
* Enable with
|
|
151
|
+
* Enable with DD_EXPERIMENTAL_FLAGGING_PROVIDER_ENABLED=true.
|
|
152
152
|
*
|
|
153
153
|
* @beta This feature is in preview and not ready for production use
|
|
154
154
|
*/
|
|
@@ -241,6 +241,8 @@ interface Plugins {
|
|
|
241
241
|
"express": tracer.plugins.express;
|
|
242
242
|
"fastify": tracer.plugins.fastify;
|
|
243
243
|
"fetch": tracer.plugins.fetch;
|
|
244
|
+
"find-my-way": tracer.plugins.find_my_way;
|
|
245
|
+
"fs": tracer.plugins.fs;
|
|
244
246
|
"generic-pool": tracer.plugins.generic_pool;
|
|
245
247
|
"google-cloud-pubsub": tracer.plugins.google_cloud_pubsub;
|
|
246
248
|
"google-cloud-vertexai": tracer.plugins.google_cloud_vertexai;
|
|
@@ -269,6 +271,7 @@ interface Plugins {
|
|
|
269
271
|
"mysql2": tracer.plugins.mysql2;
|
|
270
272
|
"net": tracer.plugins.net;
|
|
271
273
|
"next": tracer.plugins.next;
|
|
274
|
+
"nyc": tracer.plugins.nyc;
|
|
272
275
|
"openai": tracer.plugins.openai;
|
|
273
276
|
"opensearch": tracer.plugins.opensearch;
|
|
274
277
|
"oracledb": tracer.plugins.oracledb;
|
|
@@ -286,7 +289,9 @@ interface Plugins {
|
|
|
286
289
|
"tedious": tracer.plugins.tedious;
|
|
287
290
|
"undici": tracer.plugins.undici;
|
|
288
291
|
"vitest": tracer.plugins.vitest;
|
|
292
|
+
"web": tracer.plugins.web;
|
|
289
293
|
"winston": tracer.plugins.winston;
|
|
294
|
+
"ws": tracer.plugins.ws;
|
|
290
295
|
}
|
|
291
296
|
|
|
292
297
|
declare namespace tracer {
|
|
@@ -687,6 +692,7 @@ declare namespace tracer {
|
|
|
687
692
|
/**
|
|
688
693
|
* Whether to enable the feature flagging provider.
|
|
689
694
|
* Requires Remote Config to be properly configured.
|
|
695
|
+
* Can be configured via DD_EXPERIMENTAL_FLAGGING_PROVIDER_ENABLED environment variable.
|
|
690
696
|
*
|
|
691
697
|
* @default false
|
|
692
698
|
*/
|
|
@@ -694,6 +700,7 @@ declare namespace tracer {
|
|
|
694
700
|
/**
|
|
695
701
|
* Timeout in milliseconds for OpenFeature provider initialization.
|
|
696
702
|
* If configuration is not received within this time, initialization fails.
|
|
703
|
+
* Can be configured via DD_EXPERIMENTAL_FLAGGING_PROVIDER_INITIALIZATION_TIMEOUT_MS environment variable.
|
|
697
704
|
*
|
|
698
705
|
* @default 30000
|
|
699
706
|
*/
|
|
@@ -1567,6 +1574,16 @@ declare namespace tracer {
|
|
|
1567
1574
|
*/
|
|
1568
1575
|
blacklist?: string | RegExp | ((urlOrPath: string) => boolean) | (string | RegExp | ((urlOrPath: string) => boolean))[];
|
|
1569
1576
|
|
|
1577
|
+
/**
|
|
1578
|
+
* Custom filter function used to decide whether a URL/path is allowed.
|
|
1579
|
+
* When provided, this takes precedence over allowlist/blocklist configuration.
|
|
1580
|
+
* If not provided, allowlist/blocklist logic will be used instead.
|
|
1581
|
+
*
|
|
1582
|
+
* @param urlOrPath - The URL or path to filter
|
|
1583
|
+
* @returns true to instrument the request, false to skip it
|
|
1584
|
+
*/
|
|
1585
|
+
filter?: (urlOrPath: string) => boolean;
|
|
1586
|
+
|
|
1570
1587
|
/**
|
|
1571
1588
|
* An array of headers to include in the span metadata.
|
|
1572
1589
|
*
|
|
@@ -1619,6 +1636,21 @@ declare namespace tracer {
|
|
|
1619
1636
|
* @default true
|
|
1620
1637
|
*/
|
|
1621
1638
|
middleware?: boolean;
|
|
1639
|
+
|
|
1640
|
+
/**
|
|
1641
|
+
* Whether (or how) to obfuscate querystring values in `http.url`.
|
|
1642
|
+
*
|
|
1643
|
+
* - `true`: obfuscate all values
|
|
1644
|
+
* - `false`: disable obfuscation
|
|
1645
|
+
* - `string`: regex string used to obfuscate matching values (empty string disables)
|
|
1646
|
+
* - `RegExp`: regex used to obfuscate matching values
|
|
1647
|
+
*/
|
|
1648
|
+
queryStringObfuscation?: boolean | string | RegExp;
|
|
1649
|
+
|
|
1650
|
+
/**
|
|
1651
|
+
* Whether to enable resource renaming when the framework route is unavailable.
|
|
1652
|
+
*/
|
|
1653
|
+
resourceRenamingEnabled?: boolean;
|
|
1622
1654
|
}
|
|
1623
1655
|
|
|
1624
1656
|
/** @hidden */
|
|
@@ -1684,6 +1716,20 @@ declare namespace tracer {
|
|
|
1684
1716
|
* @default code => code < 500
|
|
1685
1717
|
*/
|
|
1686
1718
|
validateStatus?: (code: number) => boolean;
|
|
1719
|
+
/**
|
|
1720
|
+
* Whether (or how) to obfuscate querystring values in `http.url`.
|
|
1721
|
+
*
|
|
1722
|
+
* - `true`: obfuscate all values
|
|
1723
|
+
* - `false`: disable obfuscation
|
|
1724
|
+
* - `string`: regex string used to obfuscate matching values (empty string disables)
|
|
1725
|
+
* - `RegExp`: regex used to obfuscate matching values
|
|
1726
|
+
*/
|
|
1727
|
+
queryStringObfuscation?: boolean | string | RegExp;
|
|
1728
|
+
|
|
1729
|
+
/**
|
|
1730
|
+
* Whether to enable resource renaming when the framework route is unavailable.
|
|
1731
|
+
*/
|
|
1732
|
+
resourceRenamingEnabled?: boolean;
|
|
1687
1733
|
}
|
|
1688
1734
|
|
|
1689
1735
|
/** @hidden */
|
|
@@ -1820,7 +1866,12 @@ declare namespace tracer {
|
|
|
1820
1866
|
* This plugin automatically instruments the
|
|
1821
1867
|
* @azure/functions module.
|
|
1822
1868
|
*/
|
|
1823
|
-
interface azure_functions extends Instrumentation {
|
|
1869
|
+
interface azure_functions extends Instrumentation {
|
|
1870
|
+
/**
|
|
1871
|
+
* Whether to enable resource renaming when the framework route is unavailable.
|
|
1872
|
+
*/
|
|
1873
|
+
resourceRenamingEnabled?: boolean;
|
|
1874
|
+
}
|
|
1824
1875
|
|
|
1825
1876
|
/**
|
|
1826
1877
|
* This plugin automatically instruments the
|
|
@@ -1924,6 +1975,16 @@ declare namespace tracer {
|
|
|
1924
1975
|
*/
|
|
1925
1976
|
interface fetch extends HttpClient {}
|
|
1926
1977
|
|
|
1978
|
+
/**
|
|
1979
|
+
* This plugin patches the [find-my-way](https://github.com/delvedor/find-my-way) router.
|
|
1980
|
+
*/
|
|
1981
|
+
interface find_my_way extends Integration {}
|
|
1982
|
+
|
|
1983
|
+
/**
|
|
1984
|
+
* This plugin automatically instruments Node.js core fs operations.
|
|
1985
|
+
*/
|
|
1986
|
+
interface fs extends Instrumentation {}
|
|
1987
|
+
|
|
1927
1988
|
/**
|
|
1928
1989
|
* This plugin patches the [generic-pool](https://github.com/coopernurse/node-pool)
|
|
1929
1990
|
* module to bind the callbacks the the caller context.
|
|
@@ -2161,6 +2222,16 @@ declare namespace tracer {
|
|
|
2161
2222
|
*/
|
|
2162
2223
|
blacklist?: string | RegExp | ((command: string) => boolean) | (string | RegExp | ((command: string) => boolean))[];
|
|
2163
2224
|
|
|
2225
|
+
/**
|
|
2226
|
+
* Custom filter function used to decide whether a Redis command should be instrumented.
|
|
2227
|
+
* When provided, this takes precedence over allowlist/blocklist configuration.
|
|
2228
|
+
* If not provided, allowlist/blocklist logic will be used instead.
|
|
2229
|
+
*
|
|
2230
|
+
* @param command - The Redis command name to filter
|
|
2231
|
+
* @returns true to instrument the command, false to skip it
|
|
2232
|
+
*/
|
|
2233
|
+
filter?: (command: string) => boolean;
|
|
2234
|
+
|
|
2164
2235
|
/**
|
|
2165
2236
|
* Whether to use a different service name for each Redis instance based
|
|
2166
2237
|
* on the configured connection name of the client.
|
|
@@ -2208,6 +2279,16 @@ declare namespace tracer {
|
|
|
2208
2279
|
*/
|
|
2209
2280
|
blacklist?: string | RegExp | ((command: string) => boolean) | (string | RegExp | ((command: string) => boolean))[];
|
|
2210
2281
|
|
|
2282
|
+
/**
|
|
2283
|
+
* Custom filter function used to decide whether a Valkey command should be instrumented.
|
|
2284
|
+
* When provided, this takes precedence over allowlist/blocklist configuration.
|
|
2285
|
+
* If not provided, allowlist/blocklist logic will be used instead.
|
|
2286
|
+
*
|
|
2287
|
+
* @param command - The Valkey command name to filter
|
|
2288
|
+
* @returns true to instrument the command, false to skip it
|
|
2289
|
+
*/
|
|
2290
|
+
filter?: (command: string) => boolean;
|
|
2291
|
+
|
|
2211
2292
|
/**
|
|
2212
2293
|
* Whether to use a different service name for each Redis instance based
|
|
2213
2294
|
* on the configured connection name of the client.
|
|
@@ -2355,6 +2436,11 @@ declare namespace tracer {
|
|
|
2355
2436
|
};
|
|
2356
2437
|
}
|
|
2357
2438
|
|
|
2439
|
+
/**
|
|
2440
|
+
* This plugin integrates with [nyc](https://github.com/istanbuljs/nyc) for CI visibility.
|
|
2441
|
+
*/
|
|
2442
|
+
interface nyc extends Integration {}
|
|
2443
|
+
|
|
2358
2444
|
/**
|
|
2359
2445
|
* This plugin automatically instruments the
|
|
2360
2446
|
* [openai](https://platform.openai.com/docs/api-reference?lang=node.js) module.
|
|
@@ -2476,6 +2562,16 @@ declare namespace tracer {
|
|
|
2476
2562
|
* @hidden
|
|
2477
2563
|
*/
|
|
2478
2564
|
blacklist?: string | RegExp | ((command: string) => boolean) | (string | RegExp | ((command: string) => boolean))[];
|
|
2565
|
+
|
|
2566
|
+
/**
|
|
2567
|
+
* Custom filter function used to decide whether a Redis command should be instrumented.
|
|
2568
|
+
* When provided, this takes precedence over allowlist/blocklist configuration.
|
|
2569
|
+
* If not provided, allowlist/blocklist logic will be used instead.
|
|
2570
|
+
*
|
|
2571
|
+
* @param command - The Redis command name to filter
|
|
2572
|
+
* @returns true to instrument the command, false to skip it
|
|
2573
|
+
*/
|
|
2574
|
+
filter?: (command: string) => boolean;
|
|
2479
2575
|
}
|
|
2480
2576
|
|
|
2481
2577
|
/**
|
|
@@ -2541,6 +2637,11 @@ declare namespace tracer {
|
|
|
2541
2637
|
*/
|
|
2542
2638
|
interface vitest extends Integration {}
|
|
2543
2639
|
|
|
2640
|
+
/**
|
|
2641
|
+
* This plugin implements shared web request instrumentation helpers.
|
|
2642
|
+
*/
|
|
2643
|
+
interface web extends HttpServer {}
|
|
2644
|
+
|
|
2544
2645
|
/**
|
|
2545
2646
|
* This plugin patches the [winston](https://github.com/winstonjs/winston)
|
|
2546
2647
|
* to automatically inject trace identifiers in log records when the
|
|
@@ -2548,6 +2649,18 @@ declare namespace tracer {
|
|
|
2548
2649
|
* on the tracer.
|
|
2549
2650
|
*/
|
|
2550
2651
|
interface winston extends Integration {}
|
|
2652
|
+
|
|
2653
|
+
/**
|
|
2654
|
+
* This plugin automatically instruments the
|
|
2655
|
+
* [ws](https://github.com/websockets/ws) module.
|
|
2656
|
+
*/
|
|
2657
|
+
interface ws extends Instrumentation {
|
|
2658
|
+
/**
|
|
2659
|
+
* Controls whether websocket messages should be traced.
|
|
2660
|
+
* This is also configurable via `DD_TRACE_WEBSOCKET_MESSAGES_ENABLED`.
|
|
2661
|
+
*/
|
|
2662
|
+
traceWebsocketMessagesEnabled?: boolean;
|
|
2663
|
+
}
|
|
2551
2664
|
}
|
|
2552
2665
|
|
|
2553
2666
|
export namespace opentelemetry {
|
package/initialize.mjs
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* This file serves one of two purposes, depending on how it's used.
|
|
3
3
|
*
|
|
4
4
|
* If used with --import, it will import init.js and register the loader hook.
|
|
5
|
-
* If used with --loader, it will act as the loader hook
|
|
6
|
-
* also import init.js inside the source code of the entrypoint file.
|
|
5
|
+
* If used with --loader, it will act as the loader hook.
|
|
7
6
|
*
|
|
8
7
|
* The result is that no matter how this file is used, so long as it's with
|
|
9
8
|
* one of the two flags, the tracer will always be initialized, and the loader
|
|
@@ -12,58 +11,75 @@
|
|
|
12
11
|
|
|
13
12
|
/* eslint n/no-unsupported-features/node-builtins: ['error', { ignores: ['module.register'] }] */
|
|
14
13
|
|
|
14
|
+
import { Buffer } from 'buffer'
|
|
15
|
+
import * as Module from 'module'
|
|
16
|
+
import { types } from 'util'
|
|
15
17
|
import { isMainThread } from 'worker_threads'
|
|
16
18
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
// This file must support Node.js 12.0.0 syntax
|
|
20
|
+
|
|
19
21
|
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
} from '
|
|
22
|
+
iitmExclusions,
|
|
23
|
+
load as hookLoad,
|
|
24
|
+
resolve as hookResolve,
|
|
25
|
+
} from './loader-hook.mjs'
|
|
24
26
|
|
|
25
27
|
let hasInsertedInit = false
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
const initJsUrl = new URL('init.js', import.meta.url).href
|
|
29
|
+
// `--loader` only reliably influences ESM entrypoints; for CJS apps use `--import`/`--require`.
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @param {{ source?: string|Buffer|Uint8Array, format?: string }} result
|
|
33
|
+
* @param {unknown} _url_
|
|
34
|
+
* @param {{ format?: string, isMain?: boolean }} context
|
|
35
|
+
* @returns {{ source?: string|Buffer|Uint8Array, format?: string }}
|
|
36
|
+
*/
|
|
37
|
+
function insertInit (result, _url_, context) {
|
|
38
|
+
if (hasInsertedInit) return result
|
|
39
|
+
// If Node provides `isMain`, only inject into the entrypoint module.
|
|
40
|
+
if (context && context.isMain === false) return result
|
|
41
|
+
|
|
42
|
+
let { source } = result
|
|
43
|
+
if (typeof source !== 'string') {
|
|
44
|
+
// Fast decode: handle bytes sources without extra copies when possible.
|
|
45
|
+
if (Buffer.isBuffer(source)) {
|
|
46
|
+
source = source.toString('utf8')
|
|
47
|
+
} else if (types.isUint8Array(source)) {
|
|
48
|
+
// Create a Buffer view over the same ArrayBuffer segment (no copy).
|
|
49
|
+
source = Buffer.from(source.buffer, source.byteOffset, source.byteLength).toString('utf8')
|
|
50
|
+
} else {
|
|
51
|
+
return result
|
|
52
|
+
}
|
|
32
53
|
}
|
|
54
|
+
|
|
55
|
+
const format = result.format || (context && context.format)
|
|
56
|
+
if (format !== 'module') return result
|
|
57
|
+
|
|
58
|
+
hasInsertedInit = true
|
|
59
|
+
|
|
60
|
+
result.source = `import ${JSON.stringify(initJsUrl)};\n${source}`
|
|
61
|
+
|
|
33
62
|
return result
|
|
34
63
|
}
|
|
35
64
|
|
|
36
65
|
const [NODE_MAJOR, NODE_MINOR] = process.versions.node.split('.').map(Number)
|
|
37
66
|
|
|
38
67
|
const brokenLoaders = NODE_MAJOR === 18 && NODE_MINOR === 0
|
|
39
|
-
const iitmExclusions = [
|
|
40
|
-
/langsmith/,
|
|
41
|
-
/openai\/_shims/,
|
|
42
|
-
/openai\/resources\/chat\/completions\/messages/,
|
|
43
|
-
/openai\/agents-core\/dist\/shims/,
|
|
44
|
-
/@anthropic-ai\/sdk\/_shims/
|
|
45
|
-
]
|
|
46
68
|
|
|
47
69
|
export async function load (url, context, nextLoad) {
|
|
48
70
|
const iitmExclusionsMatch = iitmExclusions.some((exclusion) => exclusion.test(url))
|
|
49
|
-
const loadHook = (brokenLoaders || iitmExclusionsMatch) ? nextLoad :
|
|
50
|
-
return insertInit(await loadHook(url, context, nextLoad))
|
|
71
|
+
const loadHook = (brokenLoaders || iitmExclusionsMatch) ? nextLoad : hookLoad
|
|
72
|
+
return insertInit(await loadHook(url, context, nextLoad), url, context)
|
|
51
73
|
}
|
|
52
74
|
|
|
53
|
-
export const resolve = brokenLoaders ? undefined :
|
|
54
|
-
|
|
55
|
-
export async function getSource (...args) {
|
|
56
|
-
return insertInit(await origGetSource(...args))
|
|
57
|
-
}
|
|
75
|
+
export const resolve = brokenLoaders ? undefined : hookResolve
|
|
58
76
|
|
|
59
77
|
if (isMainThread) {
|
|
60
78
|
const require = Module.createRequire(import.meta.url)
|
|
61
79
|
require('./init.js')
|
|
62
80
|
if (Module.register) {
|
|
63
81
|
Module.register('./loader-hook.mjs', import.meta.url, {
|
|
64
|
-
data: { exclude: iitmExclusions }
|
|
82
|
+
data: { exclude: iitmExclusions },
|
|
65
83
|
})
|
|
66
84
|
}
|
|
67
85
|
}
|
|
68
|
-
|
|
69
|
-
export { getFormat } from 'import-in-the-middle/hook.mjs'
|
package/loader-hook.mjs
CHANGED
|
@@ -1,28 +1,30 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { initialize as origInitialize, load as origLoad, resolve } 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
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
|
|
|
8
|
+
// This file must support Node.js 12.0.0 syntax
|
|
9
|
+
|
|
8
10
|
const regexpEscape = regexpEscapeModule.default
|
|
9
11
|
|
|
10
12
|
// For some reason `getEnvironmentVariable` is not otherwise available to ESM.
|
|
11
13
|
const env = configHelper.getEnvironmentVariable
|
|
12
14
|
|
|
13
15
|
function initialize (data = {}) {
|
|
14
|
-
data.include
|
|
15
|
-
data.exclude
|
|
16
|
+
if (data.include == null) data.include = []
|
|
17
|
+
if (data.exclude == null) data.exclude = []
|
|
16
18
|
|
|
17
19
|
addInstrumentations(data)
|
|
18
20
|
addSecurityControls(data)
|
|
19
21
|
addExclusions(data)
|
|
20
22
|
|
|
21
|
-
return
|
|
23
|
+
return origInitialize(data)
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
function load (url, context, nextLoad) {
|
|
25
|
-
return rewriterLoader.load(url, context, (url, context) =>
|
|
27
|
+
return rewriterLoader.load(url, context, (url, context) => origLoad(url, context, nextLoad))
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
function addInstrumentations (data) {
|
|
@@ -38,27 +40,38 @@ function addInstrumentations (data) {
|
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
function addSecurityControls (data) {
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
const raw = env('DD_IAST_SECURITY_CONTROLS_CONFIGURATION')
|
|
44
|
+
if (!raw) return
|
|
45
|
+
// Parse `;`-separated entries and take the 3rd `:`-separated segment.
|
|
46
|
+
// Expected form (per entry): `<...>:<...>:<subpath>:<...>`
|
|
47
|
+
const entries = raw.split(';')
|
|
48
|
+
for (const entry of entries) {
|
|
49
|
+
if (entry) {
|
|
50
|
+
const first = entry.indexOf(':')
|
|
51
|
+
if (first === -1) continue
|
|
52
|
+
const second = entry.indexOf(':', first + 1)
|
|
53
|
+
if (second === -1) continue
|
|
54
|
+
const third = entry.indexOf(':', second + 1)
|
|
46
55
|
|
|
47
|
-
|
|
48
|
-
|
|
56
|
+
const subpath = entry.slice(second + 1, third === -1 ? undefined : third).trim()
|
|
57
|
+
if (subpath) {
|
|
58
|
+
data.include.push(new RegExp(regexpEscape(subpath)))
|
|
59
|
+
}
|
|
60
|
+
}
|
|
49
61
|
}
|
|
50
62
|
}
|
|
51
63
|
|
|
52
64
|
function addExclusions (data) {
|
|
53
|
-
data.exclude.push(
|
|
54
|
-
/middle/,
|
|
55
|
-
/langsmith/,
|
|
56
|
-
/openai\/_shims/,
|
|
57
|
-
/openai\/resources\/chat\/completions\/messages/,
|
|
58
|
-
/openai\/agents-core\/dist\/shims/,
|
|
59
|
-
/@anthropic-ai\/sdk\/_shims/
|
|
60
|
-
)
|
|
65
|
+
data.exclude.push(...iitmExclusions)
|
|
61
66
|
}
|
|
62
67
|
|
|
63
|
-
export
|
|
64
|
-
|
|
68
|
+
export const iitmExclusions = [
|
|
69
|
+
/middle/,
|
|
70
|
+
/langsmith/,
|
|
71
|
+
/openai\/_shims/,
|
|
72
|
+
/openai\/resources\/chat\/completions\/messages/,
|
|
73
|
+
/openai\/agents-core\/dist\/shims/,
|
|
74
|
+
/@anthropic-ai\/sdk\/_shims/,
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
export { initialize, load, resolve }
|