dd-trace 6.8.0 → 6.10.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 (209) hide show
  1. package/ci/diagnose.js +27 -25
  2. package/ci/init.js +6 -6
  3. package/ci/runbook.md +114 -20
  4. package/ci/test-optimization-validation/approval-artifacts.js +36 -3
  5. package/ci/test-optimization-validation/approval.js +78 -22
  6. package/ci/test-optimization-validation/blocker-category.js +24 -0
  7. package/ci/test-optimization-validation/ci-discovery.js +23 -17
  8. package/ci/test-optimization-validation/ci-package-scripts.js +34 -6
  9. package/ci/test-optimization-validation/ci-remediation.js +1 -1
  10. package/ci/test-optimization-validation/cli.js +280 -52
  11. package/ci/test-optimization-validation/command-blocker.js +159 -20
  12. package/ci/test-optimization-validation/command-output-policy.js +9 -3
  13. package/ci/test-optimization-validation/command-runner.js +9 -7
  14. package/ci/test-optimization-validation/environment.js +4 -2
  15. package/ci/test-optimization-validation/executable.js +15 -13
  16. package/ci/test-optimization-validation/execution-lock.js +70 -0
  17. package/ci/test-optimization-validation/framework-adapters/cucumber-validation.json +3 -0
  18. package/ci/test-optimization-validation/framework-adapters/cucumber.js +657 -5
  19. package/ci/test-optimization-validation/framework-adapters/vitest.js +517 -0
  20. package/ci/test-optimization-validation/generated-files.js +38 -28
  21. package/ci/test-optimization-validation/generated-test-contract.js +8 -4
  22. package/ci/test-optimization-validation/generated-verifier.js +24 -17
  23. package/ci/test-optimization-validation/literal-glob.js +52 -0
  24. package/ci/test-optimization-validation/manifest-loader.js +3 -0
  25. package/ci/test-optimization-validation/manifest-scaffold.js +300 -50
  26. package/ci/test-optimization-validation/manifest-schema.js +80 -17
  27. package/ci/test-optimization-validation/offline-fixtures.js +13 -4
  28. package/ci/test-optimization-validation/package-check.js +94 -0
  29. package/ci/test-optimization-validation/plan-writer.js +183 -10
  30. package/ci/test-optimization-validation/preflight-runner.js +110 -31
  31. package/ci/test-optimization-validation/project-build-artifact.js +31 -0
  32. package/ci/test-optimization-validation/redaction.js +18 -27
  33. package/ci/test-optimization-validation/report-writer.js +182 -48
  34. package/ci/test-optimization-validation/result-semantics.js +20 -3
  35. package/ci/test-optimization-validation/runner-command.js +40 -20
  36. package/ci/test-optimization-validation/runner-contract.js +79 -43
  37. package/ci/test-optimization-validation/scenarios/basic-reporting.js +59 -5
  38. package/ci/test-optimization-validation/scenarios/ci-wiring.js +141 -35
  39. package/ci/test-optimization-validation/scenarios/helpers.js +30 -6
  40. package/ci/test-optimization-validation/static-diagnosis.js +10 -3
  41. package/ci/test-optimization-validation/test-output.js +2 -1
  42. package/ci/test-optimization-validation/validation-blocker.js +21 -0
  43. package/ci/vitest-no-worker-init-setup.mjs +140 -42
  44. package/index.d.ts +140 -1
  45. package/init.js +1 -17
  46. package/initialize.mjs +11 -0
  47. package/loader-hook.mjs +6 -4
  48. package/package.json +8 -5
  49. package/packages/datadog-core/src/utils/src/parse-tags.js +0 -1
  50. package/packages/datadog-esbuild/src/utils.js +16 -1
  51. package/packages/datadog-instrumentations/src/ai.js +61 -34
  52. package/packages/datadog-instrumentations/src/bluebird.js +6 -6
  53. package/packages/datadog-instrumentations/src/claude-agent-sdk.js +81 -5
  54. package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +111 -6
  55. package/packages/datadog-instrumentations/src/cucumber.js +124 -47
  56. package/packages/datadog-instrumentations/src/dns.js +21 -2
  57. package/packages/datadog-instrumentations/src/electron.js +1 -0
  58. package/packages/datadog-instrumentations/src/fastify.js +3 -1
  59. package/packages/datadog-instrumentations/src/grpc/client.js +4 -2
  60. package/packages/datadog-instrumentations/src/helpers/callback-instrumentor.js +3 -1
  61. package/packages/datadog-instrumentations/src/helpers/hooks.js +2 -0
  62. package/packages/datadog-instrumentations/src/helpers/pool-acquire.js +629 -0
  63. package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +34 -9
  64. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/webdriverio.js +199 -0
  65. package/packages/datadog-instrumentations/src/helpers/rewriter/loader.mjs +20 -2
  66. package/packages/datadog-instrumentations/src/helpers/rewriter/targets.js +32 -0
  67. package/packages/datadog-instrumentations/src/helpers/rewriter/targets.json +62 -0
  68. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +83 -1
  69. package/packages/datadog-instrumentations/src/helpers/router-helper.js +37 -6
  70. package/packages/datadog-instrumentations/src/jest/coverage-backfill.js +1 -1
  71. package/packages/datadog-instrumentations/src/jest.js +980 -234
  72. package/packages/datadog-instrumentations/src/mocha/main.js +108 -10
  73. package/packages/datadog-instrumentations/src/mocha/utils.js +66 -50
  74. package/packages/datadog-instrumentations/src/mocha/webdriverio-protocol.js +25 -0
  75. package/packages/datadog-instrumentations/src/mocha/worker.js +12 -18
  76. package/packages/datadog-instrumentations/src/mysql.js +46 -16
  77. package/packages/datadog-instrumentations/src/mysql2.js +119 -18
  78. package/packages/datadog-instrumentations/src/next.js +155 -23
  79. package/packages/datadog-instrumentations/src/openai.js +14 -0
  80. package/packages/datadog-instrumentations/src/path-to-regexp.js +67 -1
  81. package/packages/datadog-instrumentations/src/pg.js +209 -11
  82. package/packages/datadog-instrumentations/src/playwright.js +173 -79
  83. package/packages/datadog-instrumentations/src/promise-js.js +4 -4
  84. package/packages/datadog-instrumentations/src/promise.js +3 -3
  85. package/packages/datadog-instrumentations/src/router.js +195 -19
  86. package/packages/datadog-instrumentations/src/vitest-main-no-worker-init.js +85 -13
  87. package/packages/datadog-instrumentations/src/vitest-main.js +528 -72
  88. package/packages/datadog-instrumentations/src/vitest-util.js +106 -12
  89. package/packages/datadog-instrumentations/src/vitest-worker.js +382 -40
  90. package/packages/datadog-instrumentations/src/webdriverio.js +212 -22
  91. package/packages/datadog-instrumentations/src/when.js +3 -3
  92. package/packages/datadog-instrumentations/src/ws.js +5 -1
  93. package/packages/datadog-plugin-aws-durable-execution-sdk-js/src/trace-checkpoint.js +12 -6
  94. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +59 -48
  95. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +2 -5
  96. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +1 -5
  97. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +1 -3
  98. package/packages/datadog-plugin-cucumber/src/index.js +5 -1
  99. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +51 -47
  100. package/packages/datadog-plugin-cypress/src/support.js +7 -4
  101. package/packages/datadog-plugin-electron/src/net.js +10 -4
  102. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +31 -17
  103. package/packages/datadog-plugin-http/src/client.js +1 -1
  104. package/packages/datadog-plugin-http2/src/client.js +1 -1
  105. package/packages/datadog-plugin-jest/src/index.js +6 -22
  106. package/packages/datadog-plugin-kafkajs/src/batch-consumer.js +2 -3
  107. package/packages/datadog-plugin-kafkajs/src/consumer.js +2 -3
  108. package/packages/datadog-plugin-kafkajs/src/producer.js +5 -3
  109. package/packages/datadog-plugin-kafkajs/src/utils.js +65 -7
  110. package/packages/datadog-plugin-mocha/src/index.js +832 -4
  111. package/packages/datadog-plugin-mysql/src/index.js +37 -0
  112. package/packages/datadog-plugin-next/src/index.js +51 -21
  113. package/packages/datadog-plugin-openai/src/tracing.js +4 -0
  114. package/packages/datadog-plugin-openai-agents/src/integration.js +278 -69
  115. package/packages/datadog-plugin-openai-agents/src/processor.js +16 -4
  116. package/packages/datadog-plugin-pg/src/index.js +66 -1
  117. package/packages/datadog-plugin-playwright/src/index.js +1 -1
  118. package/packages/datadog-plugin-vitest/src/index.js +103 -27
  119. package/packages/datadog-plugin-ws/src/util.js +2 -1
  120. package/packages/datadog-shimmer/src/shimmer.js +6 -2
  121. package/packages/dd-trace/src/aiguard/sdk.js +3 -0
  122. package/packages/dd-trace/src/appsec/api_security/normalized-route.js +453 -0
  123. package/packages/dd-trace/src/appsec/{blocking.js → blocking/index.js} +26 -6
  124. package/packages/dd-trace/src/appsec/handlers/auth.js +62 -0
  125. package/packages/dd-trace/src/appsec/handlers/http-request.js +228 -0
  126. package/packages/dd-trace/src/appsec/handlers/http-response.js +78 -0
  127. package/packages/dd-trace/src/appsec/handlers/http-shared.js +24 -0
  128. package/packages/dd-trace/src/appsec/handlers/payments.js +104 -0
  129. package/packages/dd-trace/src/appsec/iast/analyzers/hsts-header-missing-analyzer.js +1 -1
  130. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +1 -1
  131. package/packages/dd-trace/src/appsec/index.js +48 -476
  132. package/packages/dd-trace/src/appsec/sdk/track_event.js +9 -0
  133. package/packages/dd-trace/src/carrier.js +356 -0
  134. package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +46 -14
  135. package/packages/dd-trace/src/ci-visibility/efd-retry-policy.js +89 -0
  136. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +27 -13
  137. package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +17 -0
  138. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +21 -1
  139. package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +22 -7
  140. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +9 -14
  141. package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +21 -5
  142. package/packages/dd-trace/src/ci-visibility/test-optimization-http-cache-schema.js +1 -1
  143. package/packages/dd-trace/src/ci-visibility/test-optimization-http-cache.js +5 -1
  144. package/packages/dd-trace/src/config/generated-config-types.d.ts +5 -0
  145. package/packages/dd-trace/src/config/helper.js +2 -0
  146. package/packages/dd-trace/src/config/index.js +16 -5
  147. package/packages/dd-trace/src/config/remote_config.js +1 -1
  148. package/packages/dd-trace/src/config/supported-configurations.json +18 -0
  149. package/packages/dd-trace/src/datastreams/context.js +6 -1
  150. package/packages/dd-trace/src/datastreams/manager.js +5 -1
  151. package/packages/dd-trace/src/datastreams/pathway.js +23 -22
  152. package/packages/dd-trace/src/datastreams/processor.js +3 -2
  153. package/packages/dd-trace/src/debugger/devtools_client/status.js +1 -1
  154. package/packages/dd-trace/src/encode/coverage-ci-visibility.js +0 -1
  155. package/packages/dd-trace/src/guardrails/apply-pm2-env.js +16 -0
  156. package/packages/dd-trace/src/guardrails/log.js +1 -10
  157. package/packages/dd-trace/src/llmobs/constants/tags.js +5 -0
  158. package/packages/dd-trace/src/llmobs/eval-metric.js +249 -0
  159. package/packages/dd-trace/src/llmobs/experiments/index.js +33 -25
  160. package/packages/dd-trace/src/llmobs/experiments/util.js +4 -2
  161. package/packages/dd-trace/src/llmobs/index.js +34 -2
  162. package/packages/dd-trace/src/llmobs/noop.js +2 -0
  163. package/packages/dd-trace/src/llmobs/plugins/ai/ddTelemetry.js +1 -1
  164. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +1 -1
  165. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +5 -5
  166. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +1 -1
  167. package/packages/dd-trace/src/llmobs/sdk.js +149 -68
  168. package/packages/dd-trace/src/llmobs/span_processor.js +16 -0
  169. package/packages/dd-trace/src/llmobs/tagger.js +96 -0
  170. package/packages/dd-trace/src/llmobs/telemetry.js +18 -0
  171. package/packages/dd-trace/src/llmobs/util.js +78 -0
  172. package/packages/dd-trace/src/llmobs/writers/base.js +3 -0
  173. package/packages/dd-trace/src/llmobs/writers/util.js +2 -0
  174. package/packages/dd-trace/src/log/channels.js +1 -9
  175. package/packages/dd-trace/src/log/levels.js +12 -0
  176. package/packages/dd-trace/src/openfeature/writers/exposures.js +1 -1
  177. package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
  178. package/packages/dd-trace/src/opentelemetry/logs/batch_log_processor.js +1 -1
  179. package/packages/dd-trace/src/opentelemetry/metrics/meter.js +8 -4
  180. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +1 -1
  181. package/packages/dd-trace/src/opentelemetry/span.js +4 -0
  182. package/packages/dd-trace/src/opentracing/propagation/text_map.js +126 -120
  183. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +4 -8
  184. package/packages/dd-trace/src/plugin_manager.js +2 -0
  185. package/packages/dd-trace/src/plugins/ci_plugin.js +21 -5
  186. package/packages/dd-trace/src/plugins/index.js +1 -0
  187. package/packages/dd-trace/src/plugins/util/ci.js +6 -0
  188. package/packages/dd-trace/src/plugins/util/git.js +6 -4
  189. package/packages/dd-trace/src/plugins/util/http-otel-semantics.js +2 -2
  190. package/packages/dd-trace/src/plugins/util/ip_extractor.js +1 -1
  191. package/packages/{datadog-plugin-jest/src/util.js → dd-trace/src/plugins/util/jest.js} +3 -62
  192. package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -0
  193. package/packages/dd-trace/src/plugins/util/test.js +397 -74
  194. package/packages/dd-trace/src/plugins/util/url.js +1 -1
  195. package/packages/dd-trace/src/plugins/util/web.js +76 -3
  196. package/packages/dd-trace/src/profiler.js +1 -1
  197. package/packages/dd-trace/src/profiling/exporters/event_serializer.js +1 -1
  198. package/packages/dd-trace/src/profiling/profilers/events.js +2 -2
  199. package/packages/dd-trace/src/proxy.js +1 -0
  200. package/packages/dd-trace/src/ritm.js +5 -0
  201. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +4 -2
  202. package/packages/dd-trace/src/sampling_rule.js +4 -2
  203. package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +1 -1
  204. package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +1 -1
  205. package/packages/dd-trace/src/telemetry/logs/index.js +3 -0
  206. package/packages/dd-trace/src/telemetry/telemetry.js +1 -1
  207. package/vendor/dist/pprof-format/index.js +1 -1
  208. package/version.js +10 -8
  209. /package/packages/dd-trace/src/appsec/{blocked_templates.js → blocking/templates.js} +0 -0
@@ -1,6 +1,12 @@
1
1
  'use strict'
2
2
 
3
+ const fs = require('node:fs')
4
+
3
5
  const log = require('../../dd-trace/src/log')
6
+ const {
7
+ EMPTY_EFD_RETRY_POLICY,
8
+ hasEfdRetries,
9
+ } = require('../../dd-trace/src/ci-visibility/efd-retry-policy')
4
10
  const { channel } = require('./helpers/instrument')
5
11
 
6
12
  // test hooks
@@ -23,14 +29,32 @@ const testSessionFinishCh = channel('ci:vitest:session:finish')
23
29
  const testSessionConfigurationCh = channel('ci:vitest:session:configuration')
24
30
  const libraryConfigurationCh = channel('ci:vitest:library-configuration')
25
31
  const knownTestsCh = channel('ci:vitest:known-tests')
26
- const isEarlyFlakeDetectionFaultyCh = channel('ci:vitest:is-early-flake-detection-faulty')
27
32
  const testManagementTestsCh = channel('ci:vitest:test-management-tests')
28
33
  const modifiedFilesCh = channel('ci:vitest:modified-files')
29
34
 
35
+ const CLOSING_SCRIPT_TAG_RE = /<\/script/i
36
+ const SERIALIZED_CONTEXT_PREFIX = '\u0000dd-vitest-context:'
37
+
30
38
  const workerReportTraceCh = channel('ci:vitest:worker-report:trace')
39
+ const workerReportCoverageCh = channel('ci:vitest:worker-report:coverage')
31
40
  const workerReportLogsCh = channel('ci:vitest:worker-report:logs')
41
+ const workerReportTelemetryCh = channel('ci:vitest:worker-report:telemetry')
32
42
  const codeCoverageReportCh = channel('ci:vitest:coverage-report')
33
43
 
44
+ /**
45
+ * Resolves a path without failing Test Optimization when the path is unavailable.
46
+ *
47
+ * @param {string} filepath
48
+ * @returns {string}
49
+ */
50
+ function realpath (filepath) {
51
+ try {
52
+ return fs.realpathSync(filepath)
53
+ } catch {
54
+ return filepath
55
+ }
56
+ }
57
+
34
58
  function findExportByName (pkg, name) {
35
59
  for (const [key, value] of Object.entries(pkg)) {
36
60
  if (value?.name === name) {
@@ -83,20 +107,73 @@ function getWorkspaceProject (ctx) {
83
107
 
84
108
  function setProvidedContext (ctx, values, warningMessage) {
85
109
  try {
86
- Object.assign(getWorkspaceProject(ctx)._provided, values)
110
+ const providedContext = getWorkspaceProject(ctx)._provided
111
+ for (const key of Object.keys(values)) {
112
+ providedContext[key] = key.startsWith('_dd')
113
+ ? makeProvidedContextBrowserSafe(values[key])
114
+ : values[key]
115
+ }
87
116
  } catch {
88
117
  log.warn(warningMessage)
89
118
  }
90
119
  }
91
120
 
121
+ /**
122
+ * Prevent Vitest Browser Mode from terminating its inline bootstrap script with Datadog metadata.
123
+ *
124
+ * @param {unknown} value
125
+ * @returns {unknown}
126
+ */
127
+ function makeProvidedContextBrowserSafe (value) {
128
+ if (typeof value !== 'string' && (typeof value !== 'object' || value === null)) return value
129
+ if (typeof value === 'string' && !CLOSING_SCRIPT_TAG_RE.test(value)) return value
130
+
131
+ const serializedValue = JSON.stringify(value)
132
+ return CLOSING_SCRIPT_TAG_RE.test(serializedValue)
133
+ ? SERIALIZED_CONTEXT_PREFIX + serializedValue.replaceAll('<', String.raw`\u003c`)
134
+ : value
135
+ }
136
+
137
+ /**
138
+ * Restore context serialized by makeProvidedContextBrowserSafe.
139
+ *
140
+ * @param {unknown} value
141
+ * @returns {unknown}
142
+ */
143
+ function parseProvidedContextValue (value) {
144
+ if (typeof value !== 'string' || !value.startsWith(SERIALIZED_CONTEXT_PREFIX)) return value
145
+
146
+ let parsedValue
147
+ try {
148
+ parsedValue = JSON.parse(value.slice(SERIALIZED_CONTEXT_PREFIX.length))
149
+ } catch {}
150
+ return parsedValue
151
+ }
152
+
153
+ /**
154
+ * Restores Datadog context values serialized for Vitest Browser Mode.
155
+ *
156
+ * @param {Record<string, unknown>} values
157
+ * @returns {Record<string, unknown>}
158
+ */
159
+ function parseProvidedContextValues (values) {
160
+ const parsedValues = {}
161
+ for (const key of Object.keys(values)) {
162
+ if (key.startsWith('_dd')) {
163
+ parsedValues[key] = parseProvidedContextValue(values[key])
164
+ }
165
+ }
166
+ return parsedValues
167
+ }
168
+
92
169
  function getProvidedContext () {
93
170
  try {
94
171
  const {
95
172
  _ddIsEarlyFlakeDetectionEnabled,
173
+ _ddIsEfdSuiteAdmissionEnabled: isEfdSuiteAdmissionEnabled,
96
174
  _ddIsDiEnabled,
97
- _ddTestPropertiesByFilepath: testPropertiesByFilepath,
98
- _ddEarlyFlakeDetectionNumRetries: numRepeats,
99
- _ddEarlyFlakeDetectionSlowTestRetries: slowTestRetries,
175
+ _ddTestPropertiesByFilepath,
176
+ _ddEarlyFlakeDetectionRetryPolicy: earlyFlakeDetectionRetryPolicy,
100
177
  _ddIsKnownTestsEnabled: isKnownTestsEnabled,
101
178
  _ddIsTestManagementTestsEnabled: isTestManagementTestsEnabled,
102
179
  _ddTestManagementAttemptToFixRetries: testManagementAttemptToFixRetries,
@@ -110,14 +187,20 @@ function getProvidedContext () {
110
187
  _ddTestCommand: testCommand,
111
188
  _ddRepositoryRoot: repositoryRoot,
112
189
  _ddCodeOwnersEntries: codeOwnersEntries,
113
- } = globalThis.__vitest_worker__.providedContext
190
+ _ddIsCodeCoverageEnabled: isCodeCoverageEnabled,
191
+ _ddItrCorrelationId: itrCorrelationId,
192
+ _ddUnskippableSuites: unskippableSuites,
193
+ _ddForcedToRunSuites: forcedToRunSuites,
194
+ } = parseProvidedContextValues(globalThis.__vitest_worker__.providedContext)
195
+ const retryPolicy = earlyFlakeDetectionRetryPolicy ?? EMPTY_EFD_RETRY_POLICY
196
+ const testPropertiesByFilepath = _ddTestPropertiesByFilepath || {}
114
197
 
115
198
  return {
116
199
  isDiEnabled: _ddIsDiEnabled,
117
- isEarlyFlakeDetectionEnabled: _ddIsEarlyFlakeDetectionEnabled,
200
+ isEfdSuiteAdmissionEnabled,
201
+ isEarlyFlakeDetectionEnabled: _ddIsEarlyFlakeDetectionEnabled && hasEfdRetries(retryPolicy),
118
202
  testPropertiesByFilepath,
119
- numRepeats,
120
- slowTestRetries: slowTestRetries ?? {},
203
+ earlyFlakeDetectionRetryPolicy: retryPolicy,
121
204
  isKnownTestsEnabled,
122
205
  isTestManagementTestsEnabled,
123
206
  testManagementAttemptToFixRetries,
@@ -131,15 +214,19 @@ function getProvidedContext () {
131
214
  testCommand,
132
215
  repositoryRoot,
133
216
  codeOwnersEntries,
217
+ isCodeCoverageEnabled,
218
+ itrCorrelationId,
219
+ unskippableSuites,
220
+ forcedToRunSuites,
134
221
  }
135
222
  } catch {
136
223
  log.error('Vitest workers could not parse provided context, so some features will not work.')
137
224
  return {
138
225
  isDiEnabled: false,
226
+ isEfdSuiteAdmissionEnabled: false,
139
227
  isEarlyFlakeDetectionEnabled: false,
140
228
  testPropertiesByFilepath: {},
141
- numRepeats: 0,
142
- slowTestRetries: {},
229
+ earlyFlakeDetectionRetryPolicy: EMPTY_EFD_RETRY_POLICY,
143
230
  isKnownTestsEnabled: false,
144
231
  isTestManagementTestsEnabled: false,
145
232
  testManagementAttemptToFixRetries: 0,
@@ -153,6 +240,10 @@ function getProvidedContext () {
153
240
  testCommand: undefined,
154
241
  repositoryRoot: undefined,
155
242
  codeOwnersEntries: undefined,
243
+ isCodeCoverageEnabled: false,
244
+ itrCorrelationId: undefined,
245
+ unskippableSuites: {},
246
+ forcedToRunSuites: {},
156
247
  }
157
248
  }
158
249
  }
@@ -226,18 +317,21 @@ module.exports = {
226
317
  testSessionConfigurationCh,
227
318
  libraryConfigurationCh,
228
319
  knownTestsCh,
229
- isEarlyFlakeDetectionFaultyCh,
230
320
  testManagementTestsCh,
231
321
  modifiedFilesCh,
232
322
  workerReportTraceCh,
323
+ workerReportCoverageCh,
233
324
  workerReportLogsCh,
325
+ workerReportTelemetryCh,
234
326
  codeCoverageReportCh,
327
+ realpath,
235
328
  findExportByName,
236
329
  getTestRunnerExport,
237
330
  getTypeTasks,
238
331
  getTestName,
239
332
  getWorkspaceProject,
240
333
  setProvidedContext,
334
+ parseProvidedContextValue,
241
335
  getProvidedContext,
242
336
  isFlakyTestRetriesEnabledForTask,
243
337
  getVitestTestProperties,