dd-trace 6.13.0 → 6.14.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 (201) hide show
  1. package/LICENSE-3rdparty.csv +3 -1
  2. package/ci/init.js +8 -3
  3. package/ci/test-optimization-validation/ci-package-scripts.js +2 -2
  4. package/ci/test-optimization-validation/ci-remediation.js +6 -6
  5. package/ci/test-optimization-validation/command-blocker.js +7 -5
  6. package/ci/test-optimization-validation/framework-adapters/cucumber.js +1 -1
  7. package/ci/test-optimization-validation/framework-adapters/vitest.js +3 -3
  8. package/ci/test-optimization-validation/package-check.js +1 -1
  9. package/ci/test-optimization-validation/report-writer.js +7 -5
  10. package/ci/vitest-no-worker-init-runner-setup.mjs +8 -0
  11. package/ci/vitest-no-worker-init-setup.mjs +13 -13
  12. package/ci/vitest-no-worker-init-v5-setup.mjs +4 -0
  13. package/package.json +13 -10
  14. package/packages/datadog-esbuild/index.js +3 -1
  15. package/packages/datadog-instrumentations/src/cypress-config.js +19 -17
  16. package/packages/datadog-instrumentations/src/fs.js +24 -20
  17. package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +2 -2
  18. package/packages/datadog-instrumentations/src/graphql.js +16 -16
  19. package/packages/datadog-instrumentations/src/helpers/graphql-jit-runtime.js +504 -0
  20. package/packages/datadog-instrumentations/src/helpers/hooks.js +2 -0
  21. package/packages/datadog-instrumentations/src/helpers/pool-acquire.js +265 -0
  22. package/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js +1 -2
  23. package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +95 -30
  24. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/ai.js +0 -25
  25. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/graphql-jit.js +83 -0
  26. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/graphql.js +85 -1
  27. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -0
  28. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/mercurius.js +30 -12
  29. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/playwright.js +13 -0
  30. package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/webdriverio.js +251 -0
  31. package/packages/datadog-instrumentations/src/helpers/rewriter/targets.json +11 -1
  32. package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +562 -27
  33. package/packages/datadog-instrumentations/src/jest.js +25 -20
  34. package/packages/datadog-instrumentations/src/knex.js +76 -0
  35. package/packages/datadog-instrumentations/src/mariadb.js +6 -0
  36. package/packages/datadog-instrumentations/src/mocha/common.js +59 -2
  37. package/packages/datadog-instrumentations/src/mocha/main.js +25 -15
  38. package/packages/datadog-instrumentations/src/mocha/utils.js +2 -1
  39. package/packages/datadog-instrumentations/src/mocha/webdriverio-protocol.js +98 -0
  40. package/packages/datadog-instrumentations/src/mocha/worker.js +12 -8
  41. package/packages/datadog-instrumentations/src/net.js +14 -17
  42. package/packages/datadog-instrumentations/src/next.js +212 -62
  43. package/packages/datadog-instrumentations/src/openai.js +42 -40
  44. package/packages/datadog-instrumentations/src/pg.js +15 -0
  45. package/packages/datadog-instrumentations/src/playwright.js +109 -13
  46. package/packages/datadog-instrumentations/src/rum-browser-scripts.js +40 -0
  47. package/packages/datadog-instrumentations/src/sequelize.js +94 -2
  48. package/packages/datadog-instrumentations/src/undici.js +53 -4
  49. package/packages/datadog-instrumentations/src/vitest-main-no-worker-init.js +37 -3
  50. package/packages/datadog-instrumentations/src/vitest-main.js +92 -9
  51. package/packages/datadog-instrumentations/src/vitest-worker.js +71 -14
  52. package/packages/datadog-instrumentations/src/webdriverio.js +965 -6
  53. package/packages/datadog-plugin-amqp10/src/consumer.js +3 -1
  54. package/packages/datadog-plugin-amqp10/src/producer.js +3 -1
  55. package/packages/datadog-plugin-amqp10/src/util.js +2 -1
  56. package/packages/datadog-plugin-avsc/src/schema_iterator.js +6 -1
  57. package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +16 -5
  58. package/packages/datadog-plugin-cassandra-driver/src/index.js +8 -3
  59. package/packages/datadog-plugin-cucumber/src/index.js +0 -2
  60. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +262 -48
  61. package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +4 -1
  62. package/packages/datadog-plugin-graphql/src/execute.js +998 -196
  63. package/packages/datadog-plugin-graphql/src/index.js +27 -7
  64. package/packages/datadog-plugin-graphql/src/jit.js +136 -0
  65. package/packages/datadog-plugin-graphql/src/request.js +18 -27
  66. package/packages/datadog-plugin-graphql/src/resolve-error.js +108 -0
  67. package/packages/datadog-plugin-graphql/src/tools/signature.js +1 -2
  68. package/packages/datadog-plugin-graphql/src/tools/transforms.js +45 -3
  69. package/packages/datadog-plugin-graphql/src/utils.js +208 -120
  70. package/packages/datadog-plugin-graphql/src/validate.js +10 -23
  71. package/packages/datadog-plugin-jest/src/index.js +0 -6
  72. package/packages/datadog-plugin-langchain/src/tracing.js +7 -0
  73. package/packages/datadog-plugin-mocha/src/index.js +403 -75
  74. package/packages/datadog-plugin-mongodb-core/src/query.js +6 -0
  75. package/packages/datadog-plugin-mysql/src/index.js +41 -15
  76. package/packages/datadog-plugin-net/src/tcp.js +3 -1
  77. package/packages/datadog-plugin-next/src/index.js +63 -29
  78. package/packages/datadog-plugin-playwright/src/index.js +167 -27
  79. package/packages/datadog-plugin-undici/src/index.js +27 -41
  80. package/packages/datadog-plugin-vitest/src/index.js +6 -12
  81. package/packages/dd-trace/src/aiguard/evaluation.js +2 -1
  82. package/packages/dd-trace/src/aiguard/messages/anthropic.js +8 -1
  83. package/packages/dd-trace/src/aiguard/messages/openai.js +8 -1
  84. package/packages/dd-trace/src/aiguard/messages/vercel-ai.js +20 -6
  85. package/packages/dd-trace/src/appsec/api_security/index.js +23 -6
  86. package/packages/dd-trace/src/appsec/api_security/sampler.js +99 -40
  87. package/packages/dd-trace/src/appsec/graphql.js +6 -2
  88. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +3 -3
  89. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +2 -1
  90. package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +8 -2
  91. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +11 -36
  92. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/url-sensitive-analyzer.js +1 -1
  93. package/packages/dd-trace/src/appsec/lambda.js +44 -26
  94. package/packages/dd-trace/src/ci-visibility/encode/json-encoder.js +32 -2
  95. package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +8 -8
  96. package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +6 -4
  97. package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +20 -4
  98. package/packages/dd-trace/src/ci-visibility/exporters/agentless/request-tracker.js +5 -173
  99. package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +7 -6
  100. package/packages/dd-trace/src/ci-visibility/exporters/agents.js +54 -0
  101. package/packages/dd-trace/src/ci-visibility/exporters/ci-validation/writer.js +1 -2
  102. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +394 -225
  103. package/packages/dd-trace/src/ci-visibility/exporters/limits.js +9 -0
  104. package/packages/dd-trace/src/ci-visibility/exporters/request.js +323 -31
  105. package/packages/dd-trace/src/ci-visibility/exporters/settings-cache-key.js +42 -0
  106. package/packages/dd-trace/src/ci-visibility/final-flush.js +2 -1
  107. package/packages/dd-trace/src/ci-visibility/requests/fs-cache.js +57 -18
  108. package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +0 -3
  109. package/packages/dd-trace/src/ci-visibility/requests/upload-test-screenshot.js +164 -71
  110. package/packages/dd-trace/src/ci-visibility/requests/video-request.js +176 -0
  111. package/packages/dd-trace/src/ci-visibility/telemetry.js +10 -7
  112. package/packages/dd-trace/src/ci-visibility/test-video.js +61 -0
  113. package/packages/dd-trace/src/config/generated-config-types.d.ts +4 -0
  114. package/packages/dd-trace/src/config/index.js +73 -13
  115. package/packages/dd-trace/src/config/parsers.js +11 -1
  116. package/packages/dd-trace/src/config/stable.js +3 -3
  117. package/packages/dd-trace/src/config/supported-configurations.json +20 -2
  118. package/packages/dd-trace/src/crashtracking/crashtracker.js +82 -18
  119. package/packages/dd-trace/src/debugger/config.js +12 -1
  120. package/packages/dd-trace/src/debugger/constants.js +1 -0
  121. package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +2 -1
  122. package/packages/dd-trace/src/debugger/devtools_client/request-options.js +33 -0
  123. package/packages/dd-trace/src/debugger/devtools_client/send.js +7 -40
  124. package/packages/dd-trace/src/debugger/devtools_client/status.js +11 -6
  125. package/packages/dd-trace/src/debugger/devtools_client/tags.js +41 -0
  126. package/packages/dd-trace/src/debugger/index.js +23 -3
  127. package/packages/dd-trace/src/dogstatsd.js +510 -76
  128. package/packages/dd-trace/src/encode/0.4-cross-payload.js +170 -0
  129. package/packages/dd-trace/src/encode/0.4.js +5 -5
  130. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +9 -8
  131. package/packages/dd-trace/src/evp_proxy/direct.js +27 -23
  132. package/packages/dd-trace/src/exporters/agent/index.js +2 -1
  133. package/packages/dd-trace/src/exporters/agent/writer.js +24 -7
  134. package/packages/dd-trace/src/exporters/agentless/index.js +7 -9
  135. package/packages/dd-trace/src/exporters/agentless/writer.js +100 -118
  136. package/packages/dd-trace/src/exporters/common/agents.js +28 -6
  137. package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -2
  138. package/packages/dd-trace/src/exporters/common/final-flush-request-tracker.js +191 -0
  139. package/packages/dd-trace/src/exporters/common/request.js +31 -11
  140. package/packages/dd-trace/src/exporters/common/url.js +40 -1
  141. package/packages/dd-trace/src/exporters/common/writer.js +9 -7
  142. package/packages/dd-trace/src/flush.js +6 -3
  143. package/packages/dd-trace/src/id.js +14 -0
  144. package/packages/dd-trace/src/index.js +5 -2
  145. package/packages/dd-trace/src/llmobs/experiments/dataset.js +2 -1
  146. package/packages/dd-trace/src/llmobs/index.js +32 -32
  147. package/packages/dd-trace/src/llmobs/plugins/ai/ddTelemetry.js +22 -71
  148. package/packages/dd-trace/src/llmobs/plugins/ai/vercelTelemetry.js +23 -13
  149. package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +7 -0
  150. package/packages/dd-trace/src/llmobs/util.js +0 -33
  151. package/packages/dd-trace/src/llmobs/writers/base.js +49 -32
  152. package/packages/dd-trace/src/log/index.js +7 -1
  153. package/packages/dd-trace/src/{ci-visibility/log-submission → log-submission}/log-submission-plugin.js +48 -19
  154. package/packages/dd-trace/src/openfeature/writers/base.js +14 -12
  155. package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
  156. package/packages/dd-trace/src/opentelemetry/logs/index.js +5 -24
  157. package/packages/dd-trace/src/opentelemetry/logs/otlp_http_log_exporter.js +14 -4
  158. package/packages/dd-trace/src/opentelemetry/metrics/index.js +15 -22
  159. package/packages/dd-trace/src/opentelemetry/metrics/otlp_http_metric_exporter.js +14 -4
  160. package/packages/dd-trace/src/opentelemetry/metrics/otlp_span_stats_exporter.js +10 -0
  161. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +19 -4
  162. package/packages/dd-trace/src/opentelemetry/resource-attributes.js +55 -0
  163. package/packages/dd-trace/src/opentelemetry/trace/index.js +6 -1
  164. package/packages/dd-trace/src/opentelemetry/trace/otlp_http_trace_exporter.js +10 -0
  165. package/packages/dd-trace/src/opentracing/propagation/text_map.js +93 -18
  166. package/packages/dd-trace/src/payload-tagging/index.js +2 -1
  167. package/packages/dd-trace/src/plugins/ci_plugin.js +1 -6
  168. package/packages/dd-trace/src/plugins/tracing.js +12 -10
  169. package/packages/dd-trace/src/plugins/util/ci.js +3 -1
  170. package/packages/dd-trace/src/plugins/util/inferred_proxy.js +16 -15
  171. package/packages/dd-trace/src/plugins/util/test.js +83 -20
  172. package/packages/dd-trace/src/plugins/util/url.js +2 -2
  173. package/packages/dd-trace/src/plugins/util/web.js +4 -9
  174. package/packages/dd-trace/src/profiling/config.js +1 -0
  175. package/packages/dd-trace/src/profiling/oom.js +7 -2
  176. package/packages/dd-trace/src/profiling/profiler.js +23 -13
  177. package/packages/dd-trace/src/profiling/profilers/space.js +38 -11
  178. package/packages/dd-trace/src/profiling/webspan-utils.js +7 -4
  179. package/packages/dd-trace/src/proxy.js +75 -5
  180. package/packages/dd-trace/src/remote_config/index.js +319 -101
  181. package/packages/dd-trace/src/remote_config/scheduler.js +37 -12
  182. package/packages/dd-trace/src/runtime_metrics/client.js +37 -8
  183. package/packages/dd-trace/src/runtime_metrics/otlp_runtime_metrics.js +5 -1
  184. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +5 -1
  185. package/packages/dd-trace/src/sampling_rule.js +36 -9
  186. package/packages/dd-trace/src/serverless/telemetry-delivery-tracker.js +4 -8
  187. package/packages/dd-trace/src/serverless/vercel.js +53 -20
  188. package/packages/dd-trace/src/serverless.js +10 -3
  189. package/packages/dd-trace/src/service-naming/schemas/util.js +1 -1
  190. package/packages/dd-trace/src/span_stats.js +24 -28
  191. package/packages/dd-trace/src/startup-log.js +3 -2
  192. package/packages/dd-trace/src/telemetry/agentless-url.js +28 -0
  193. package/packages/dd-trace/src/telemetry/send-data.js +18 -16
  194. package/packages/dd-trace/src/telemetry/session-propagation.js +3 -2
  195. package/packages/dd-trace/src/tracer.js +4 -5
  196. package/packages/dd-trace/src/tracer_metadata.js +11 -3
  197. package/vendor/dist/@datadog/sketches-js/index.js +1 -1
  198. package/vendor/dist/protobufjs/index.js +1 -1
  199. package/vendor/dist/protobufjs/minimal/index.js +1 -1
  200. package/packages/datadog-instrumentations/src/playwright-browser-scripts.js +0 -27
  201. package/packages/dd-trace/src/encode/agentless-json.js +0 -210
@@ -1,6 +1,6 @@
1
1
  'use strict'
2
2
 
3
- module.exports = [
3
+ const instrumentations = [
4
4
  {
5
5
  module: {
6
6
  name: 'graphql',
@@ -25,6 +25,54 @@ module.exports = [
25
25
  },
26
26
  channelName: 'apm:graphql:execute',
27
27
  },
28
+ {
29
+ module: {
30
+ name: 'graphql',
31
+ versionRange: '>=0.10 <16',
32
+ filePath: 'execution/execute.js',
33
+ },
34
+ functionQuery: {
35
+ functionName: 'asErrorInstance',
36
+ kind: 'Sync',
37
+ },
38
+ channelName: 'apm:graphql:resolve:error',
39
+ },
40
+ {
41
+ module: {
42
+ name: 'graphql',
43
+ versionRange: '>=0.10 <16',
44
+ filePath: 'execution/execute.mjs',
45
+ },
46
+ functionQuery: {
47
+ functionName: 'asErrorInstance',
48
+ kind: 'Sync',
49
+ },
50
+ channelName: 'apm:graphql:resolve:error',
51
+ },
52
+ {
53
+ module: {
54
+ name: 'graphql',
55
+ versionRange: '>=0.10',
56
+ filePath: 'error/locatedError.js',
57
+ },
58
+ functionQuery: {
59
+ functionName: 'locatedError',
60
+ kind: 'Sync',
61
+ },
62
+ channelName: 'apm:graphql:resolve:error',
63
+ },
64
+ {
65
+ module: {
66
+ name: 'graphql',
67
+ versionRange: '>=0.10',
68
+ filePath: 'error/locatedError.mjs',
69
+ },
70
+ functionQuery: {
71
+ functionName: 'locatedError',
72
+ kind: 'Sync',
73
+ },
74
+ channelName: 'apm:graphql:resolve:error',
75
+ },
28
76
  {
29
77
  module: {
30
78
  name: 'graphql',
@@ -102,6 +150,30 @@ module.exports = [
102
150
  },
103
151
  channelName: 'apm:graphql:execute',
104
152
  },
153
+ {
154
+ module: {
155
+ name: '@graphql-tools/executor',
156
+ versionRange: '>=0.0.14',
157
+ filePath: 'cjs/execution/execute.js',
158
+ },
159
+ functionQuery: {
160
+ functionName: 'handleFieldError',
161
+ kind: 'Sync',
162
+ },
163
+ channelName: 'apm:graphql:resolve:error',
164
+ },
165
+ {
166
+ module: {
167
+ name: '@graphql-tools/executor',
168
+ versionRange: '>=0.0.14',
169
+ filePath: 'esm/execution/execute.js',
170
+ },
171
+ functionQuery: {
172
+ functionName: 'handleFieldError',
173
+ kind: 'Sync',
174
+ },
175
+ channelName: 'apm:graphql:resolve:error',
176
+ },
105
177
  {
106
178
  module: {
107
179
  name: '@graphql-tools/executor',
@@ -199,3 +271,15 @@ module.exports = [
199
271
  channelName: 'dd:graphql:utilities:load',
200
272
  },
201
273
  ]
274
+
275
+ const fastPathInstrumentations = []
276
+ for (const instrumentation of instrumentations) {
277
+ if (instrumentation.functionQuery?.functionName === '__module_export__') continue
278
+
279
+ fastPathInstrumentations.push({
280
+ ...instrumentation,
281
+ transform: 'configureGraphqlFastPath',
282
+ })
283
+ }
284
+
285
+ module.exports = [...instrumentations, ...fastPathInstrumentations]
@@ -6,6 +6,7 @@ module.exports = [
6
6
  ...require('./bullmq'),
7
7
  ...require('./claude-agent-sdk'),
8
8
  ...require('./graphql'),
9
+ ...require('./graphql-jit'),
9
10
  ...require('./langchain'),
10
11
  ...require('./langgraph'),
11
12
  ...require('./mercurius'),
@@ -5,27 +5,45 @@
5
5
  // the per-request entry point). Wrapping that one function gives a single
6
6
  // top-level span per operation regardless of how the query reaches mercurius
7
7
  // — HTTP POST/GET, batched queries, or a programmatic `app.graphql()` call —
8
- // and regardless of whether the query runs through graphql's `execute` (cold)
9
- // or a JIT-compiled query (warm), where no `graphql.execute` span fires.
8
+ // and regardless of whether the query runs through graphql's `execute` or its
9
+ // JIT-compiled equivalent.
10
10
  //
11
11
  // The function name and signature `(source, context, variables, operationName)`
12
- // are stable across the supported major range (verified against 10.x and 16.x),
12
+ // are stable across the supported major range (verified against 13.x and 16.x),
13
13
  // so a `functionName` match needs no per-version file paths.
14
+ const FASTIFY_GRAPHQL_CONTEXT = 'FunctionDeclaration[id.name="fastifyGraphQl"]:has(Identifier[name="opts"]) ' +
15
+ 'VariableDeclarator[id.name="__apm$ctx"] > ObjectExpression'
16
+ const moduleDefinition = {
17
+ // Floor at 13: it is the oldest major whose fastify-plugin peer (^4)
18
+ // accepts fastify 4, which installs and runs on the oldest supported Node
19
+ // (18). 15+ requires Node 20 and fastify 5, covered on the latest-Node CI
20
+ // leg. The `fastifyGraphQl` funnel is unchanged across this whole range.
21
+ name: 'mercurius',
22
+ versionRange: '>=13',
23
+ filePath: 'index.js',
24
+ }
25
+
14
26
  module.exports = [
15
27
  {
16
- module: {
17
- // Floor at 13: it is the oldest major whose fastify-plugin peer (^4)
18
- // accepts fastify 4, which installs and runs on the oldest supported Node
19
- // (18). 15+ requires Node 20 and fastify 5, covered on the latest-Node CI
20
- // leg. The `fastifyGraphQl` funnel is unchanged across this whole range.
21
- name: 'mercurius',
22
- versionRange: '>=13',
23
- filePath: 'index.js',
24
- },
28
+ module: moduleDefinition,
25
29
  functionQuery: {
26
30
  functionName: 'fastifyGraphQl',
27
31
  kind: 'Async',
28
32
  },
29
33
  channelName: 'apm:graphql:request',
30
34
  },
35
+ {
36
+ module: moduleDefinition,
37
+ astQuery: FASTIFY_GRAPHQL_CONTEXT,
38
+ transform: 'configureMercuriusRequest',
39
+ channelName: 'apm:graphql:request',
40
+ },
41
+ {
42
+ module: moduleDefinition,
43
+ functionQuery: {
44
+ functionName: 'fastifyGraphQl',
45
+ },
46
+ transform: 'configureGraphqlFastPath',
47
+ channelName: 'apm:graphql:request',
48
+ },
31
49
  ]
@@ -3,6 +3,19 @@
3
3
  // Playwright keeps several hook targets in private local classes/functions.
4
4
  // Keep these rewrites limited to bundled internals that addHook cannot wrap.
5
5
  module.exports = [
6
+ {
7
+ module: {
8
+ name: 'playwright',
9
+ versionRange: '>=1.38.0',
10
+ filePath: 'lib/index.js',
11
+ },
12
+ astQuery: 'CallExpression[callee.object.name="videos"][callee.property.name="map"] > ' +
13
+ 'ArrowFunctionExpression[async]',
14
+ functionQuery: {
15
+ kind: 'Async',
16
+ },
17
+ channelName: 'saveAutomaticVideo',
18
+ },
6
19
  {
7
20
  module: {
8
21
  name: 'playwright',
@@ -54,6 +54,41 @@ module.exports = [
54
54
  channelName: 'LocalRunner_shutdown',
55
55
  transform: 'waitForAsyncEnd',
56
56
  },
57
+ {
58
+ module: {
59
+ name: '@wdio/runner',
60
+ versionRange: '>=9.0.0',
61
+ filePath: 'build/index.js',
62
+ },
63
+ functionQuery: {
64
+ className: 'Runner',
65
+ methodName: 'run',
66
+ kind: 'Async',
67
+ },
68
+ channelName: 'Runner_run',
69
+ },
70
+ {
71
+ module: {
72
+ name: '@wdio/runner',
73
+ versionRange: '>=9.0.0',
74
+ filePath: 'build/index.js',
75
+ },
76
+ astQuery: 'VariableDeclarator[id.name="Runner"] > ClassExpression > ClassBody > ' +
77
+ 'MethodDefinition[key.name="run"] IfStatement[test.operator="!"]' +
78
+ '[test.argument.object.name="args"][test.argument.property.name="watch"], ' +
79
+ 'ClassDeclaration[id.name="Runner"] > ClassBody > MethodDefinition[key.name="run"] ' +
80
+ 'IfStatement[test.operator="!"][test.argument.object.name="args"][test.argument.property.name="watch"], ' +
81
+ 'VariableDeclarator[id.name="Runner"] > ClassExpression > ClassBody > ' +
82
+ 'MethodDefinition[key.name="run"] IfStatement[test.object.type="ThisExpression"]' +
83
+ '[test.property.name="_sigintWasCalled"], ' +
84
+ 'ClassDeclaration[id.name="Runner"] > ClassBody > MethodDefinition[key.name="run"] ' +
85
+ 'IfStatement[test.object.type="ThisExpression"][test.property.name="_sigintWasCalled"]',
86
+ channelName: 'Runner_run',
87
+ transform: 'awaitContextCallback',
88
+ transformOptions: {
89
+ callbackName: 'rumCleanupCallback',
90
+ },
91
+ },
57
92
  {
58
93
  module: {
59
94
  name: '@wdio/runner',
@@ -188,6 +223,182 @@ module.exports = [
188
223
  },
189
224
  channelName: 'JasmineReporter_suiteDone',
190
225
  },
226
+ {
227
+ module: {
228
+ name: 'webdriver',
229
+ versionRange: '>=9.0.0',
230
+ filePath: 'build/index.js',
231
+ },
232
+ astQuery: 'FunctionDeclaration[id.name="command_default"]',
233
+ functionQuery: {
234
+ kind: 'Sync',
235
+ },
236
+ channelName: 'command',
237
+ },
238
+ {
239
+ module: {
240
+ name: 'webdriver',
241
+ versionRange: '>=9.0.0',
242
+ filePath: 'build/index.js',
243
+ },
244
+ astQuery: 'FunctionDeclaration[id.name="initiateBidi"]',
245
+ functionQuery: {
246
+ kind: 'Sync',
247
+ },
248
+ channelName: 'initiateBidi',
249
+ },
250
+ {
251
+ module: {
252
+ name: 'webdriver',
253
+ versionRange: '>=9.0.0',
254
+ filePath: 'build/node.js',
255
+ },
256
+ astQuery: 'FunctionDeclaration[id.name="command_default"]',
257
+ functionQuery: {
258
+ kind: 'Sync',
259
+ },
260
+ channelName: 'command',
261
+ },
262
+ {
263
+ module: {
264
+ name: 'webdriver',
265
+ versionRange: '>=9.0.0',
266
+ filePath: 'build/node.js',
267
+ },
268
+ astQuery: 'FunctionDeclaration[id.name="initiateBidi"]',
269
+ functionQuery: {
270
+ kind: 'Sync',
271
+ },
272
+ channelName: 'initiateBidi',
273
+ },
274
+ {
275
+ module: {
276
+ name: 'webdriverio',
277
+ versionRange: '>=9.0.0',
278
+ filePath: 'build/index.js',
279
+ },
280
+ astQuery: 'FunctionDeclaration[async][id.name=/^url[0-9]*$/]',
281
+ functionQuery: {
282
+ kind: 'Async',
283
+ },
284
+ channelName: 'url',
285
+ },
286
+ {
287
+ module: {
288
+ name: 'webdriverio',
289
+ versionRange: '>=9.0.0',
290
+ filePath: 'build/index.js',
291
+ },
292
+ astQuery: 'FunctionDeclaration[async][id.name=/^url[0-9]*$/] ReturnStatement > ' +
293
+ 'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
294
+ channelName: 'url',
295
+ transform: 'waitForAsyncEnd',
296
+ },
297
+ {
298
+ module: {
299
+ name: 'webdriverio',
300
+ versionRange: '>=9.0.0',
301
+ filePath: 'build/node.js',
302
+ },
303
+ astQuery: 'FunctionDeclaration[async][id.name=/^url[0-9]*$/]',
304
+ functionQuery: {
305
+ kind: 'Async',
306
+ },
307
+ channelName: 'url',
308
+ },
309
+ {
310
+ module: {
311
+ name: 'webdriverio',
312
+ versionRange: '>=9.0.0',
313
+ filePath: 'build/node.js',
314
+ },
315
+ astQuery: 'FunctionDeclaration[async][id.name=/^url[0-9]*$/] ReturnStatement > ' +
316
+ 'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
317
+ channelName: 'url',
318
+ transform: 'waitForAsyncEnd',
319
+ },
320
+ {
321
+ module: {
322
+ name: 'webdriverio',
323
+ versionRange: '>=9.0.0',
324
+ filePath: 'build/index.js',
325
+ },
326
+ astQuery: 'FunctionDeclaration[async=true][id.name=/^newWindow[0-9]*$/]',
327
+ functionQuery: {
328
+ kind: 'Async',
329
+ },
330
+ channelName: 'newWindow',
331
+ },
332
+ {
333
+ module: {
334
+ name: 'webdriverio',
335
+ versionRange: '>=9.0.0',
336
+ filePath: 'build/index.js',
337
+ },
338
+ astQuery: 'FunctionDeclaration[id.name=/^newWindow[0-9]*$/] ' +
339
+ 'IfStatement[test.object.type="ThisExpression"][test.property.name="isBidi"], ' +
340
+ 'FunctionDeclaration[id.name=/^newWindow[0-9]*$/] ' +
341
+ 'IfStatement[test.operator="&&"][test.left.object.type="ThisExpression"]' +
342
+ '[test.left.property.name="isBidi"]',
343
+ channelName: 'newWindow',
344
+ transform: 'awaitContextCallback',
345
+ transformOptions: {
346
+ callbackName: 'rumPreloadCallback',
347
+ callbackThis: true,
348
+ },
349
+ },
350
+ {
351
+ module: {
352
+ name: 'webdriverio',
353
+ versionRange: '>=9.0.0',
354
+ filePath: 'build/index.js',
355
+ },
356
+ astQuery: 'FunctionDeclaration[async][id.name=/^newWindow[0-9]*$/] ReturnStatement > ' +
357
+ 'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
358
+ channelName: 'newWindow',
359
+ transform: 'waitForAsyncEnd',
360
+ },
361
+ {
362
+ module: {
363
+ name: 'webdriverio',
364
+ versionRange: '>=9.0.0',
365
+ filePath: 'build/node.js',
366
+ },
367
+ astQuery: 'FunctionDeclaration[async=true][id.name=/^newWindow[0-9]*$/]',
368
+ functionQuery: {
369
+ kind: 'Async',
370
+ },
371
+ channelName: 'newWindow',
372
+ },
373
+ {
374
+ module: {
375
+ name: 'webdriverio',
376
+ versionRange: '>=9.0.0',
377
+ filePath: 'build/node.js',
378
+ },
379
+ astQuery: 'FunctionDeclaration[id.name=/^newWindow[0-9]*$/] ' +
380
+ 'IfStatement[test.object.type="ThisExpression"][test.property.name="isBidi"], ' +
381
+ 'FunctionDeclaration[id.name=/^newWindow[0-9]*$/] ' +
382
+ 'IfStatement[test.operator="&&"][test.left.object.type="ThisExpression"]' +
383
+ '[test.left.property.name="isBidi"]',
384
+ channelName: 'newWindow',
385
+ transform: 'awaitContextCallback',
386
+ transformOptions: {
387
+ callbackName: 'rumPreloadCallback',
388
+ callbackThis: true,
389
+ },
390
+ },
391
+ {
392
+ module: {
393
+ name: 'webdriverio',
394
+ versionRange: '>=9.0.0',
395
+ filePath: 'build/node.js',
396
+ },
397
+ astQuery: 'FunctionDeclaration[async][id.name=/^newWindow[0-9]*$/] ReturnStatement > ' +
398
+ 'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
399
+ channelName: 'newWindow',
400
+ transform: 'waitForAsyncEnd',
401
+ },
191
402
  {
192
403
  module: {
193
404
  name: '@wdio/utils',
@@ -200,6 +411,30 @@ module.exports = [
200
411
  },
201
412
  channelName: 'testFrameworkFnWrapper',
202
413
  },
414
+ {
415
+ module: {
416
+ name: '@wdio/utils',
417
+ versionRange: '>=9.0.0',
418
+ filePath: 'build/index.js',
419
+ },
420
+ astQuery: 'VariableDeclarator[id.name="testFrameworkFnWrapper"] > FunctionExpression ReturnStatement > ' +
421
+ 'CallExpression[callee.object.name="promise"][callee.property.name="then"]',
422
+ channelName: 'testFrameworkFnWrapper',
423
+ transform: 'waitForAsyncEnd',
424
+ },
425
+ {
426
+ module: {
427
+ name: '@wdio/utils',
428
+ versionRange: '>=9.0.0',
429
+ filePath: 'build/index.js',
430
+ },
431
+ astQuery: 'VariableDeclarator[id.name="testFrameworkFnWrapper"] > FunctionExpression TryStatement',
432
+ channelName: 'testFrameworkFnWrapper',
433
+ transform: 'awaitContextCallbackAtFunctionStart',
434
+ transformOptions: {
435
+ callbackName: 'rumCleanupCallback',
436
+ },
437
+ },
203
438
  {
204
439
  module: {
205
440
  name: '@wdio/utils',
@@ -212,6 +447,22 @@ module.exports = [
212
447
  },
213
448
  channelName: 'executeAsync',
214
449
  },
450
+ {
451
+ module: {
452
+ name: '@wdio/utils',
453
+ versionRange: '>=9.0.0',
454
+ filePath: 'build/index.js',
455
+ },
456
+ astQuery: 'FunctionDeclaration[id.name="executeAsync"] CatchClause ' +
457
+ 'IfStatement[test.operator=">"][test.left.object.name="retries"]' +
458
+ '[test.left.property.name="limit"][test.right.object.name="retries"]' +
459
+ '[test.right.property.name="attempts"]',
460
+ channelName: 'executeAsync',
461
+ transform: 'awaitContextCallbackAtTryStart',
462
+ transformOptions: {
463
+ callbackName: 'rumStartCallback',
464
+ },
465
+ },
215
466
  {
216
467
  module: {
217
468
  name: '@wdio/utils',
@@ -43,6 +43,12 @@
43
43
  "bullmq/dist/esm/classes/flow-producer.js": "bullmq",
44
44
  "bullmq/dist/esm/classes/queue.js": "bullmq",
45
45
  "bullmq/dist/esm/classes/worker.js": "bullmq",
46
+ "graphql-jit/dist/cjs/execution.js": "graphql-jit",
47
+ "graphql-jit/dist/esm/execution.js": "graphql-jit",
48
+ "graphql-jit/dist/execution.js": "graphql-jit",
49
+ "graphql-jit/dist/execution.mjs": "graphql-jit",
50
+ "graphql/error/locatedError.js": "graphql",
51
+ "graphql/error/locatedError.mjs": "graphql",
46
52
  "graphql/execution/execute.js": "graphql",
47
53
  "graphql/execution/execute.mjs": "graphql",
48
54
  "graphql/language/parser.js": "graphql",
@@ -59,5 +65,9 @@
59
65
  "mercurius/index.js": "mercurius",
60
66
  "playwright-core/lib/coreBundle.js": "playwright-core",
61
67
  "playwright/lib/index.js": "playwright",
62
- "playwright/lib/runner/index.js": "playwright"
68
+ "playwright/lib/runner/index.js": "playwright",
69
+ "webdriver/build/index.js": "webdriver",
70
+ "webdriver/build/node.js": "webdriver",
71
+ "webdriverio/build/index.js": "webdriverio",
72
+ "webdriverio/build/node.js": "webdriverio"
63
73
  }