dd-trace 5.117.0 → 5.118.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/ci/diagnose.js +162 -21
- package/ci/init.js +0 -1
- package/ci/runbook.md +187 -180
- package/ci/test-optimization-validation/approval-artifacts.js +3 -1
- package/ci/test-optimization-validation/approval.js +52 -15
- package/ci/test-optimization-validation/ci-command-candidate.js +26 -32
- package/ci/test-optimization-validation/ci-discovery.js +1 -1
- package/ci/test-optimization-validation/ci-package-scripts.js +141 -0
- package/ci/test-optimization-validation/ci-remediation.js +112 -39
- package/ci/test-optimization-validation/cli.js +516 -681
- package/ci/test-optimization-validation/command-blocker.js +188 -33
- package/ci/test-optimization-validation/command-output-policy.js +3 -26
- package/ci/test-optimization-validation/command-runner.js +189 -245
- package/ci/test-optimization-validation/environment.js +90 -0
- package/ci/test-optimization-validation/executable.js +159 -388
- package/ci/test-optimization-validation/framework-adapters/cucumber.js +119 -0
- package/ci/test-optimization-validation/framework-adapters/cypress.js +107 -0
- package/ci/test-optimization-validation/framework-adapters/playwright.js +181 -0
- package/ci/test-optimization-validation/generated-files.js +75 -13
- package/ci/test-optimization-validation/generated-test-contract.js +283 -0
- package/ci/test-optimization-validation/generated-verifier.js +49 -16
- package/ci/test-optimization-validation/literal-environment.js +57 -0
- package/ci/test-optimization-validation/manifest-loader.js +2 -22
- package/ci/test-optimization-validation/manifest-scaffold.js +816 -515
- package/ci/test-optimization-validation/manifest-schema.js +494 -702
- package/ci/test-optimization-validation/offline-fixtures.js +4 -1
- package/ci/test-optimization-validation/plan-writer.js +243 -984
- package/ci/test-optimization-validation/preflight-runner.js +49 -55
- package/ci/test-optimization-validation/redaction.js +2 -1
- package/ci/test-optimization-validation/report-writer.js +391 -1357
- package/ci/test-optimization-validation/result-semantics.js +86 -0
- package/ci/test-optimization-validation/runner-command.js +249 -0
- package/ci/test-optimization-validation/runner-contract.js +664 -0
- package/ci/test-optimization-validation/scenarios/auto-test-retries.js +29 -3
- package/ci/test-optimization-validation/scenarios/basic-reporting.js +240 -543
- package/ci/test-optimization-validation/scenarios/ci-wiring.js +450 -670
- package/ci/test-optimization-validation/scenarios/early-flake-detection.js +4 -3
- package/ci/test-optimization-validation/scenarios/helpers.js +67 -9
- package/ci/test-optimization-validation/scenarios/test-management.js +4 -3
- package/ci/test-optimization-validation/source-text.js +87 -0
- package/ci/test-optimization-validation/test-output.js +12 -22
- package/ext/tags.d.ts +1 -0
- package/index.d.ts +7 -0
- package/package.json +2 -2
- package/packages/datadog-instrumentations/src/helpers/hooks.js +2 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/openai-agents.js +31 -0
- package/packages/datadog-instrumentations/src/openai-agents.js +159 -0
- package/packages/datadog-plugin-openai-agents/src/index.js +74 -0
- package/packages/datadog-plugin-openai-agents/src/integration.js +503 -0
- package/packages/datadog-plugin-openai-agents/src/processor.js +108 -0
- package/packages/datadog-plugin-openai-agents/src/util.js +60 -0
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +48 -49
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +161 -33
- package/packages/dd-trace/src/ci-visibility/test-optimization-http-cache-schema.js +6 -4
- package/packages/dd-trace/src/config/generated-config-types.d.ts +2 -0
- package/packages/dd-trace/src/config/supported-configurations.json +7 -0
- package/packages/dd-trace/src/encode/span-stats.js +7 -1
- package/packages/dd-trace/src/exporter.js +16 -9
- package/packages/dd-trace/src/llmobs/index.js +9 -1
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +104 -22
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +5 -9
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +20 -0
- package/packages/dd-trace/src/llmobs/plugins/openai-agents/utils.js +321 -0
- package/packages/dd-trace/src/llmobs/sdk.js +2 -1
- package/packages/dd-trace/src/llmobs/span_processor.js +7 -2
- package/packages/dd-trace/src/llmobs/tagger.js +23 -3
- package/packages/dd-trace/src/llmobs/util.js +56 -3
- package/packages/dd-trace/src/openfeature/agentless_configuration_source.js +3 -6
- package/packages/dd-trace/src/openfeature/configuration_source.js +5 -8
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_span_stats_transformer.js +5 -1
- package/packages/dd-trace/src/plugins/ci_plugin.js +9 -3
- package/packages/dd-trace/src/plugins/index.js +1 -0
- package/packages/dd-trace/src/plugins/outbound.js +4 -1
- package/packages/dd-trace/src/span_processor.js +1 -1
- package/packages/dd-trace/src/span_stats.js +22 -4
- package/ci/test-optimization-validation/command-suitability.js +0 -471
- package/ci/test-optimization-validation/init-probe-preload.js +0 -163
- package/ci/test-optimization-validation/init-probe.js +0 -246
- package/ci/test-optimization-validation/late-initialization.js +0 -63
- package/ci/test-optimization-validation/local-command.js +0 -163
- package/ci/test-optimization-validation/setup-runner.js +0 -97
- package/ci/test-optimization-validation-manifest.schema.json +0 -1
|
@@ -7,14 +7,34 @@ const {
|
|
|
7
7
|
failWithDebugRerun,
|
|
8
8
|
pass,
|
|
9
9
|
prepareGeneratedScenario,
|
|
10
|
+
reportMissingGeneratedTest,
|
|
10
11
|
requireGeneratedScenario,
|
|
11
12
|
runInstrumentedCommand,
|
|
13
|
+
skip,
|
|
12
14
|
testEventSamples,
|
|
13
15
|
testsForDiscoveredScenario,
|
|
14
16
|
} = require('./helpers')
|
|
15
17
|
|
|
16
18
|
async function runAutoTestRetries ({ framework, out, options }) {
|
|
17
19
|
const scenarioName = 'atr'
|
|
20
|
+
if (isUnsupportedCucumberVersion(framework)) {
|
|
21
|
+
return skip(
|
|
22
|
+
framework,
|
|
23
|
+
scenarioName,
|
|
24
|
+
'Auto Test Retries validation requires @cucumber/cucumber >=8.0.0. Basic Reporting and other eligible ' +
|
|
25
|
+
`checks remain available for detected version ${framework.frameworkVersion}.`,
|
|
26
|
+
{
|
|
27
|
+
featureEligibility: {
|
|
28
|
+
eligible: false,
|
|
29
|
+
blockedBy: 'framework-version',
|
|
30
|
+
reasonCode: 'cucumber-atr-version-unsupported',
|
|
31
|
+
requiredVersion: '>=8.0.0',
|
|
32
|
+
detectedVersion: framework.frameworkVersion,
|
|
33
|
+
scenario: scenarioName,
|
|
34
|
+
},
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
}
|
|
18
38
|
const skipResult = requireGeneratedScenario(framework, 'atr-fail-once', scenarioName)
|
|
19
39
|
if (skipResult) return skipResult
|
|
20
40
|
|
|
@@ -23,14 +43,14 @@ async function runAutoTestRetries ({ framework, out, options }) {
|
|
|
23
43
|
const { scenario } = await prepareGeneratedScenario(framework, 'atr-fail-once')
|
|
24
44
|
const discovery = await discoverScenarioTests({ framework, out, scenarioName, scenario, options })
|
|
25
45
|
if (discovery.tests.length === 0) {
|
|
26
|
-
return
|
|
46
|
+
return reportMissingGeneratedTest({
|
|
27
47
|
command: scenario.runCommand,
|
|
28
48
|
diagnosis: 'The fail-once generated test was not reported during baseline identity discovery.',
|
|
29
|
-
|
|
49
|
+
discovery,
|
|
30
50
|
framework,
|
|
31
51
|
options,
|
|
32
52
|
out,
|
|
33
|
-
|
|
53
|
+
scenario,
|
|
34
54
|
scenarioName,
|
|
35
55
|
})
|
|
36
56
|
}
|
|
@@ -120,6 +140,12 @@ async function runAutoTestRetries ({ framework, out, options }) {
|
|
|
120
140
|
}
|
|
121
141
|
}
|
|
122
142
|
|
|
143
|
+
function isUnsupportedCucumberVersion (framework) {
|
|
144
|
+
if (framework.framework !== 'cucumber') return false
|
|
145
|
+
const major = Number.parseInt(String(framework.frameworkVersion || '').split('.')[0], 10)
|
|
146
|
+
return Number.isInteger(major) && major < 8
|
|
147
|
+
}
|
|
148
|
+
|
|
123
149
|
function getAutoTestRetriesFailureDiagnosis (framework, evidence) {
|
|
124
150
|
const frameworkName = getFrameworkName(framework)
|
|
125
151
|
const retryTagSummary = getRetryTagSummary(evidence.autoTestRetryEvents)
|