ddapm-test-agent 1.32.0__tar.gz → 1.33.0__tar.gz

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 (272) hide show
  1. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/.github/workflows/docker.yml +5 -5
  2. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/.github/workflows/main.yml +5 -5
  3. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/.github/workflows/nix-auto.yml +4 -4
  4. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/.github/workflows/publish_pypi.yml +9 -9
  5. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/.github/workflows/releasenote.yml +2 -2
  6. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/PKG-INFO +9 -1
  7. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/README.md +7 -0
  8. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/vcr_proxy.py +80 -23
  9. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent.egg-info/PKG-INFO +9 -1
  10. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent.egg-info/SOURCES.txt +1 -0
  11. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent.egg-info/requires.txt +1 -0
  12. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/flake.nix +1 -0
  13. ddapm_test_agent-1.33.0/releasenotes/notes/vcr-aws-bedrock-proxy-3bf018b1712d5105.yaml +4 -0
  14. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/setup.py +1 -0
  15. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/.dockerignore +0 -0
  16. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/.envrc.example +0 -0
  17. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/.gitignore +0 -0
  18. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/Dockerfile +0 -0
  19. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/Dockerfile.windows +0 -0
  20. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/LICENSE.BSD3 +0 -0
  21. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/LICENSE.apache2 +0 -0
  22. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/build-on-darwin.Dockerfile +0 -0
  23. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/__init__.py +0 -0
  24. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/agent.py +0 -0
  25. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/apmtelemetry.py +0 -0
  26. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/checks.py +0 -0
  27. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/client.py +0 -0
  28. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/cmd.py +0 -0
  29. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/context.py +0 -0
  30. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/fmt.py +0 -0
  31. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/integration.py +0 -0
  32. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/logs.py +0 -0
  33. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/metrics.py +0 -0
  34. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/remoteconfig.py +0 -0
  35. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/trace.py +0 -0
  36. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/trace_checks.py +0 -0
  37. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/trace_snapshot.py +0 -0
  38. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/tracerflare.py +0 -0
  39. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/tracestats.py +0 -0
  40. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent/tracestats_snapshot.py +0 -0
  41. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent.egg-info/dependency_links.txt +0 -0
  42. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent.egg-info/entry_points.txt +0 -0
  43. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent.egg-info/not-zip-safe +0 -0
  44. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddapm_test_agent.egg-info/top_level.txt +0 -0
  45. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddsketch.nix +0 -0
  46. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/ddtrace.nix +0 -0
  47. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/flake.lock +0 -0
  48. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/pyproject.toml +0 -0
  49. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/check-releasenotes +0 -0
  50. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/config.yaml +0 -0
  51. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/1.0-e192f5064e917083.yaml +0 -0
  52. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/Add-metrics.process_id-to-ignored-attributes-62b264f0ea591326.yaml +0 -0
  53. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/Add-values-handling-to-span_event-array_value-to-mirror-agent-ee7483c90c263ff4.yaml +0 -0
  54. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/Checks-changed-to-opt-in-8716cac4ecdbb1c2.yaml +0 -0
  55. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/SNAPSHOT_REGEX_PLACEHOLDERS-1d2c5e2711d1953b.yaml +0 -0
  56. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/SNAPSHOT_REGEX_PLACEHOLDERS-compare-c829e7a4df4fa1f4.yaml +0 -0
  57. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/Settings-endpoint-928ae5b6e8ddc625.yaml +0 -0
  58. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/Telemetry-requests-delay-2586180b286ce393.yaml +0 -0
  59. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/Use-default-value-for-null-fields-in-tracestats-55d465f489efb2ba.yaml +0 -0
  60. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/acceptV1TracePayloads-5435cff37cfb6a85.yaml +0 -0
  61. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-datadog-proxy-7e2e608c101a564b.yaml +0 -0
  62. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-distributed-trace-c35a314698a3b966.yaml +0 -0
  63. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-fmt-command-cc31769942a5fec3.yaml +0 -0
  64. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-nix-build-support-29dc8a347e3bd7c1.yaml +0 -0
  65. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-optional-json-parser-10aac54bd1cbe322.yaml +0 -0
  66. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-otel-metrics-support-a2ebeb28cae2f0ba.yaml +0 -0
  67. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-python-3.13-support-ae7b96f4a10f20f4.yaml +0 -0
  68. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-rcm-endpoints-7e1f949e83e21039.yaml +0 -0
  69. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-request-forwarding-middleware-d3f325166b0f8e9e.yaml +0 -0
  70. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-service-naming-checks-2b68ff51d1b5496d.yaml +0 -0
  71. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-session-to-rcm-endpoints-d97e925a04a99a65.yaml +0 -0
  72. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-span-events-306e697168373899.yaml +0 -0
  73. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-support-for-plain-text-responses-00d20bf7b335e75b.yaml +0 -0
  74. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-support-telemetry-requests-10737cd3da802ca6.yaml +0 -0
  75. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/add-tracer_flare-endpoint-b2c81510920974d7.yaml +0 -0
  76. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/addAgentStateToInfo-f9a179ce88f2ab9e.yaml +0 -0
  77. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/addPeerTagsToInfo-4ccc2539d22c2993.yaml +0 -0
  78. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/allow-attribute-removal-snapshots-314b744b043b97c5.yaml +0 -0
  79. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/args-88f664c83a96075d.yaml +0 -0
  80. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/change-trace-proxy-headers-f9fcbb4efc4fcb95.yaml +0 -0
  81. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/check-http-header-sensitivity-daaa9d9595ae86d6.yaml +0 -0
  82. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/clearing-sessions-now-only-removes-6b0311673d8b37aa.yaml +0 -0
  83. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/client-173dbc6655e42337.yaml +0 -0
  84. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/content_length-e1bab75580aa1dcb.yaml +0 -0
  85. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/disable-error-responses-and-collect-trace-failures-in-memory-4a199bc7be416709.yaml +0 -0
  86. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/docker-arm64-images-a4b6b2cc527327d6.yaml +0 -0
  87. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/evp-proxy-on-info-d65cd077575306ca.yaml +0 -0
  88. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/exception-messages-21ee64461020edd1.yaml +0 -0
  89. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/fix-docker-image-tags-785d40f5bfdb8003.yaml +0 -0
  90. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/fix-fmt-logging-6a323fd8d5d4eb28.yaml +0 -0
  91. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/fix-getting-tested-integrations-multiple-session-tokens-4ee41d545754f87f.yaml +0 -0
  92. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/fix-matching-319744b82d2514c1.yaml +0 -0
  93. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/fix-missing-slim-deps-fa3b0fc0292a09b3.yaml +0 -0
  94. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/fix-partial-chunks-0db14ce3017e6173.yaml +0 -0
  95. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/fix-racecondition-9bd0ef15b7da60fa.yaml +0 -0
  96. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/fix-tracerflare-request-parsing-fae18ff9997c216d.yaml +0 -0
  97. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/genai-vcr-support-b499ec54df84eaa3.yaml +0 -0
  98. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/ignore-dsm-pathway-hash-during-trace-snapshots-f0b99ea267fbad48.yaml +0 -0
  99. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/image-optimization-d614eccb59441217.yaml +0 -0
  100. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/improve-test-agent-debugging-5759413f1fc5f7fa.yaml +0 -0
  101. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/improve-test-agent-proxying-a207f0fc81b3ab2d.yaml +0 -0
  102. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/improve-trace-check-results-endpoints-6ab4132628520793.yaml +0 -0
  103. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/info-34dcd9cbcc382487.yaml +0 -0
  104. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/info-drop-p0s-c207889f590340fb.yaml +0 -0
  105. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/llmobs-eval-metric-endpoint-8b5222491969ab4f.yaml +0 -0
  106. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/llmobs-evp-proxy-1383f4b4962ac7c9.yaml +0 -0
  107. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/meta-struct-2cce08475cb05470.yaml +0 -0
  108. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/more-oai-cass-908eb5ea46bd2985.yaml +0 -0
  109. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/new-process-id-tag-f0ab0daf652e05cc.yaml +0 -0
  110. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/oai-incomplete-cass-795ad19b6a226c1f.yaml +0 -0
  111. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/otlp-logs-grpc-45365879c22969aa.yaml +0 -0
  112. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/otlp-logs-support-d5a150d9f5304d7c.yaml +0 -0
  113. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/pipeline_stats_endpoint-e8ad6da735dc2647.yaml +0 -0
  114. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/profiling-endpoint-0cd209e4e5b6cfc0.yaml +0 -0
  115. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/provider-snapshot-server-f6a307acbf11d214.yaml +0 -0
  116. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/proxy-37c94e2fb428c6fc.yaml +0 -0
  117. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/python-3.12-952e06c6158af67d.yaml +0 -0
  118. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/python-support-1c447acc4607abc7.yaml +0 -0
  119. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/python310-025fbc190363de98.yaml +0 -0
  120. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/python310-docker-image-d4e329cfecf6510e.yaml +0 -0
  121. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/rc-encoding-length-fix-cc011edea7f8f5b2.yaml +0 -0
  122. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/rc-get-endpoint-e502f55b7df544e2.yaml +0 -0
  123. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/remoteconfig-requests-1af7abb99c61c069.yaml +0 -0
  124. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/reuse-session-1670aa569907cf68.yaml +0 -0
  125. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/sample-rate-1e06ae4cdc933b14.yaml +0 -0
  126. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/session-requests-b8057811f976220e.yaml +0 -0
  127. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/session-tracerflares-400ce9b3d3838b40.yaml +0 -0
  128. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/snapshot-cmds-de4a561911afee11.yaml +0 -0
  129. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/snapshot-empty-maps-2cbe8cea3e7112fa.yaml +0 -0
  130. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/snapshot-error-messages-de41d9e3207fa30a.yaml +0 -0
  131. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/snapshot-filename-c068de1bc3e50c04.yaml +0 -0
  132. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/snapshot-order-type-2d6424e380b2c88f.yaml +0 -0
  133. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/snapshot-parent-id-7abb860008702e70.yaml +0 -0
  134. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/span-links-1ec76bd2b47a3880.yaml +0 -0
  135. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/span-ordering-1a7b383aa015bddc.yaml +0 -0
  136. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/span-parent-id-a4d7d63fa623361c.yaml +0 -0
  137. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/support-ant-vcr-1eff9a40caa0aba0.yaml +0 -0
  138. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/support-tracking-of-tested-integrations-ac19ccd1f8333c00.yaml +0 -0
  139. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/throttling-590bf58ecb3cc4a5.yaml +0 -0
  140. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/trace-stats-97da3a478dabfa99.yaml +0 -0
  141. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/trace-stats-snapshot-718ca37385c93e1e.yaml +0 -0
  142. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/traces-endpoint-f4f9c1d94d6ceda2.yaml +0 -0
  143. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/tracestats-fixes-07152c708e73ef96.yaml +0 -0
  144. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/tracestats-post-65ce788f81862532.yaml +0 -0
  145. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/tracestats-service-2a0a178cbd21b07d.yaml +0 -0
  146. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/uds-64b11960931d8b77.yaml +0 -0
  147. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/uds-c99ea5d099e67156.yaml +0 -0
  148. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/uds-container-8138f8b1438b1a0a.yaml +0 -0
  149. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/uds-permissions-903266ac6445b873.yaml +0 -0
  150. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/v0.5-traces-cf469b0b71398d97.yaml +0 -0
  151. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/v0.7-traces-7ea3ebbed7502d01.yaml +0 -0
  152. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/vcr-cassette-name-middleware-fix-9e47c395892a9fe7.yaml +0 -0
  153. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/vcr-cassettes-for-openai-v5-6e9d78091de1f0c2.yaml +0 -0
  154. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/vcr-cassettes-for-vercel-ai-7a8275f9c2b48bc7.yaml +0 -0
  155. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/vcr-prefix-instead-of-suffix-4c56dcb5038d222e.yaml +0 -0
  156. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/vcr-proxy-use-test-name-bugfix-be758294ba30ac78.yaml +0 -0
  157. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/vcr-proxy-use-test-name-e47891994c961c52.yaml +0 -0
  158. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/vcr-support-querystring-b06555fb9a7c90ae.yaml +0 -0
  159. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/version-0c32d2752f154eb9.yaml +0 -0
  160. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/wheels-68a7dc2f4b00e0c4.yaml +0 -0
  161. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/releasenotes/notes/windows-docker-image-1f5d5e894558bb4b.yaml +0 -0
  162. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/riotfile.py +0 -0
  163. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/setup.cfg +0 -0
  164. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/shell.nix +0 -0
  165. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/test_deps.txt +0 -0
  166. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/__init__.py +0 -0
  167. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/conftest.py +0 -0
  168. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/integration_snapshots/test_multi_trace.json +0 -0
  169. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/integration_snapshots/test_single_trace.json +0 -0
  170. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/integration_snapshots/test_trace_distributed_propagated.json +0 -0
  171. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/integration_snapshots/test_trace_distributed_same_payload.json +0 -0
  172. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/integration_snapshots/test_trace_missing_received.json +0 -0
  173. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/integration_snapshots/test_trace_stats_tracestats.json +0 -0
  174. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_agent.py +0 -0
  175. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_apmtelemetry.py +0 -0
  176. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_checks.py +0 -0
  177. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_client.py +0 -0
  178. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_container.py +0 -0
  179. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_logs.py +0 -0
  180. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_metrics.py +0 -0
  181. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_remoteconfig.py +0 -0
  182. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_session.py +0 -0
  183. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_snapshot.py +0 -0
  184. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_snapshot_integration.py +0 -0
  185. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_trace.py +0 -0
  186. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_tracerflare.py +0 -0
  187. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/test_tracestats.py +0 -0
  188. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/tests/trace_utils.py +0 -0
  189. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/treefmt.nix +0 -0
  190. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/use-example.Dockerfile +0 -0
  191. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/anthropic/anthropic_v1_messages_post_26d618ee.yaml +0 -0
  192. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/anthropic/anthropic_v1_messages_post_595f439c.yaml +0 -0
  193. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/anthropic/anthropic_v1_messages_post_717ba0b4.yaml +0 -0
  194. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/anthropic/anthropic_v1_messages_post_a1af2c12.yaml +0 -0
  195. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/deepseek/deepseek_chat_completions_post_afb6ccab.yaml +0 -0
  196. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_audio_transcriptions_post_173af3e5.yaml +0 -0
  197. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_audio_transcriptions_post_71305a25.yaml +0 -0
  198. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_audio_translations_post_d5b5b8d6.yaml +0 -0
  199. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_audio_translations_post_dd92a18a.yaml +0 -0
  200. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_0f1514e1.yaml +0 -0
  201. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_172294b4.yaml +0 -0
  202. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_193ae44a.yaml +0 -0
  203. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_23558eed.yaml +0 -0
  204. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_2edb59ae.yaml +0 -0
  205. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_3517e44e.yaml +0 -0
  206. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_36bdc0cb.yaml +0 -0
  207. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_3c045664.yaml +0 -0
  208. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_432a8e46.yaml +0 -0
  209. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_4749eff9.yaml +0 -0
  210. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_4dce8db6.yaml +0 -0
  211. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_57612363.yaml +0 -0
  212. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_649d8162.yaml +0 -0
  213. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_655a8ef2.yaml +0 -0
  214. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_66dfc80e.yaml +0 -0
  215. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_67e8e833.yaml +0 -0
  216. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_6df851cc.yaml +0 -0
  217. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_7c2d1ac5.yaml +0 -0
  218. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_82a4bb3c.yaml +0 -0
  219. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_9122b1ae.yaml +0 -0
  220. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_917478d0.yaml +0 -0
  221. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_a73ecd7a.yaml +0 -0
  222. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_a925b737.yaml +0 -0
  223. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_ae4728c2.yaml +0 -0
  224. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_b29f1a87.yaml +0 -0
  225. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_ce69ed91.yaml +0 -0
  226. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_d8fb132a.yaml +0 -0
  227. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_d94d5844.yaml +0 -0
  228. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_d98ce00d.yaml +0 -0
  229. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_chat_completions_post_ebff79da.yaml +0 -0
  230. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_completions_post_33681ea4.yaml +0 -0
  231. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_completions_post_5d2418d4.yaml +0 -0
  232. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_completions_post_619dee1c.yaml +0 -0
  233. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_completions_post_6224acff.yaml +0 -0
  234. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_completions_post_87f617af.yaml +0 -0
  235. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_completions_post_98c30019.yaml +0 -0
  236. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_completions_post_9bb49464.yaml +0 -0
  237. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_completions_post_b24dbf7d.yaml +0 -0
  238. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_embeddings_post_0381abe4.yaml +0 -0
  239. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_embeddings_post_48694087.yaml +0 -0
  240. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_embeddings_post_541bd4d0.yaml +0 -0
  241. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_files_file-RpTpuvRVtnKpdKZb7DDGto_content_get_60bd10ef.yaml +0 -0
  242. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_files_file-RpTpuvRVtnKpdKZb7DDGto_delete_3ee48409.yaml +0 -0
  243. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_files_file-RpTpuvRVtnKpdKZb7DDGto_get_1afefb93.yaml +0 -0
  244. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_files_get_68efa25d.yaml +0 -0
  245. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_files_post_2fcf9545.yaml +0 -0
  246. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_files_post_957d63ba.yaml +0 -0
  247. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_fine_tuning_jobs_ftjob-q9CUUUsHJemGUVQ1Ecc01zcf_cancel_post_d7c16b38.yaml +0 -0
  248. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_fine_tuning_jobs_ftjob-q9CUUUsHJemGUVQ1Ecc01zcf_events_get_557d820e.yaml +0 -0
  249. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_fine_tuning_jobs_ftjob-q9CUUUsHJemGUVQ1Ecc01zcf_get_265489e7.yaml +0 -0
  250. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_fine_tuning_jobs_get_ebc57c6f.yaml +0 -0
  251. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_fine_tuning_jobs_post_c3b6e4a9.yaml +0 -0
  252. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_edits_post_075386c4.yaml +0 -0
  253. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_edits_post_57b4f4da.yaml +0 -0
  254. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_edits_post_660e9dd7.yaml +0 -0
  255. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_edits_post_993e0192.yaml +0 -0
  256. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_edits_post_a2f1eb43.yaml +0 -0
  257. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_edits_post_ae72c45f.yaml +0 -0
  258. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_edits_post_cf5af376.yaml +0 -0
  259. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_edits_post_dbefb624.yaml +0 -0
  260. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_generations_post_48272841.yaml +0 -0
  261. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_generations_post_736070ea.yaml +0 -0
  262. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_variations_post_5971e285.yaml +0 -0
  263. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_images_variations_post_f2f62f6c.yaml +0 -0
  264. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_models_ft_gpt-4.1-mini-2025-04-14_datadog-staging__BkaILRSh_delete_c70f2992.yaml +0 -0
  265. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_models_get_e04cf04b.yaml +0 -0
  266. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_models_gpt-4_get_b13c5b23.yaml +0 -0
  267. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_moderations_post_532b3315.yaml +0 -0
  268. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_responses_post_33fb1f66.yaml +0 -0
  269. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_responses_post_5ca556ec.yaml +0 -0
  270. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_responses_post_c05c936e.yaml +0 -0
  271. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_responses_post_c61e3067.yaml +0 -0
  272. {ddapm_test_agent-1.32.0 → ddapm_test_agent-1.33.0}/vcr-cassettes/openai/openai_responses_post_ee2423e6.yaml +0 -0
@@ -11,14 +11,14 @@ jobs:
11
11
  packages: write
12
12
  if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')
13
13
  steps:
14
- - uses: actions/checkout@v4
14
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
15
15
 
16
16
  - name: Set up QEMU
17
- uses: docker/setup-qemu-action@v2
17
+ uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # v2.2.0
18
18
 
19
19
  - name: Set up Docker Buildx
20
20
  id: buildx
21
- uses: docker/setup-buildx-action@v2
21
+ uses: docker/setup-buildx-action@885d1462b80bc1c1c7f0b00334ad271f09369c55 # v2.10.0
22
22
 
23
23
  - name: Available platforms
24
24
  run: echo ${{ steps.buildx.outputs.platforms }}
@@ -41,7 +41,7 @@ jobs:
41
41
  run: docker login -u publisher -p ${{ secrets.GITHUB_TOKEN }} ghcr.io
42
42
 
43
43
  - name: Docker Build
44
- uses: docker/build-push-action@v3
44
+ uses: docker/build-push-action@1104d471370f9806843c095c1db02b5a90c5f8b6 # v3.3.1
45
45
  with:
46
46
  push: true
47
47
  tags: ${{ steps.set_names.outputs.image_name }}
@@ -54,7 +54,7 @@ jobs:
54
54
  packages: write
55
55
  if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')
56
56
  steps:
57
- - uses: actions/checkout@v4
57
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
58
58
 
59
59
  - name: Set Docker Image Tag
60
60
  id: set_names
@@ -8,10 +8,10 @@ jobs:
8
8
  check:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
- - uses: actions/setup-python@v4
11
+ - uses: actions/setup-python@7f4fc3e22c37d6ff65e88745f38bd3157c663f7c # v4.9.1
12
12
  with:
13
13
  python-version: '3.13'
14
- - uses: actions/checkout@v4
14
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
15
15
  with:
16
16
  fetch-depth: 0
17
17
  - run: pip install .[testing]
@@ -25,8 +25,8 @@ jobs:
25
25
  python-version: ["3.8", "3.13"]
26
26
  runs-on: ${{ matrix.os }}
27
27
  steps:
28
- - uses: actions/checkout@v4
29
- - uses: actions/setup-python@v4
28
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
29
+ - uses: actions/setup-python@7f4fc3e22c37d6ff65e88745f38bd3157c663f7c # v4.9.1
30
30
  with:
31
31
  python-version: ${{ matrix.python-version }}
32
32
  - name: install deps
@@ -36,7 +36,7 @@ jobs:
36
36
  cassettes-size:
37
37
  runs-on: ubuntu-latest
38
38
  steps:
39
- - uses: actions/checkout@v4
39
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
40
40
  - name: Check VCR cassettes size
41
41
  run: |
42
42
  CASSETTES_SIZE=$(du -sb vcr-cassettes/ 2>/dev/null | cut -f1 || echo "0")
@@ -13,8 +13,8 @@ jobs:
13
13
  outputs:
14
14
  matrix: ${{ steps.set-matrix.outputs.matrix }}
15
15
  steps:
16
- - uses: actions/checkout@v4
17
- - uses: cachix/install-nix-action@v27
16
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
17
+ - uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27.0.0
18
18
  - id: set-matrix
19
19
  name: Generate Nix Matrix
20
20
  run: |
@@ -28,6 +28,6 @@ jobs:
28
28
  strategy:
29
29
  matrix: ${{fromJSON(needs.nix-matrix.outputs.matrix)}}
30
30
  steps:
31
- - uses: actions/checkout@v4
32
- - uses: cachix/install-nix-action@v27
31
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
32
+ - uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27.0.0
33
33
  - run: nix build -L '.#githubActions.checks.${{ matrix.attr }}'
@@ -12,12 +12,12 @@ jobs:
12
12
  runs-on: ubuntu-latest
13
13
 
14
14
  steps:
15
- - uses: actions/checkout@v4
15
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
16
16
  # Include all history and tags
17
17
  with:
18
18
  fetch-depth: 0
19
19
 
20
- - uses: actions/setup-python@v5
20
+ - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
21
21
  name: Install Python
22
22
  with:
23
23
  python-version: '3.12'
@@ -27,7 +27,7 @@ jobs:
27
27
  pip install wheel
28
28
  pip wheel --no-deps -w dist .
29
29
 
30
- - uses: actions/upload-artifact@v4
30
+ - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
31
31
  with:
32
32
  name: wheel
33
33
  path: dist/*.whl
@@ -36,12 +36,12 @@ jobs:
36
36
  name: Build source distribution
37
37
  runs-on: ubuntu-latest
38
38
  steps:
39
- - uses: actions/checkout@v4
39
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
40
40
  # Include all history and tags
41
41
  with:
42
42
  fetch-depth: 0
43
43
 
44
- - uses: actions/setup-python@v5
44
+ - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
45
45
  name: Install Python
46
46
  with:
47
47
  python-version: '3.12'
@@ -51,7 +51,7 @@ jobs:
51
51
  python -m pip install --upgrade setuptools
52
52
  python setup.py sdist
53
53
 
54
- - uses: actions/upload-artifact@v4
54
+ - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
55
55
  with:
56
56
  name: sdist
57
57
  path: dist/*.tar.gz
@@ -61,17 +61,17 @@ jobs:
61
61
  runs-on: ubuntu-latest
62
62
  if: github.event_name == 'release' && github.event.action == 'published'
63
63
  steps:
64
- - uses: actions/download-artifact@v4
64
+ - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
65
65
  with:
66
66
  name: sdist
67
67
  path: dist
68
68
 
69
- - uses: actions/download-artifact@v4
69
+ - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
70
70
  with:
71
71
  name: wheel
72
72
  path: dist
73
73
 
74
- - uses: pypa/gh-action-pypi-publish@release/v1
74
+ - uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
75
75
  with:
76
76
  user: __token__
77
77
  password: ${{ secrets.PYPI_TOKEN }}
@@ -12,7 +12,7 @@ jobs:
12
12
  name: Validate release notes
13
13
  runs-on: ubuntu-latest
14
14
  steps:
15
- - uses: actions/checkout@v4
15
+ - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
16
16
  # Include all history and tags
17
17
  with:
18
18
  fetch-depth: 0
@@ -25,7 +25,7 @@ jobs:
25
25
  if: github.event_name == 'pull_request'
26
26
  run: releasenotes/check-releasenotes
27
27
 
28
- - uses: actions/setup-python@v2
28
+ - uses: actions/setup-python@e9aba2c848f5ebd159c070c61ea2c4e2b122355e # v2.3.4
29
29
  name: Install Python
30
30
  with:
31
31
  python-version: '3.12'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ddapm-test-agent
3
- Version: 1.32.0
3
+ Version: 1.33.0
4
4
  Summary: Test agent for Datadog APM client libraries
5
5
  Home-page: https://github.com/Datadog/dd-apm-test-agent
6
6
  Author: Kyle Verhoog
@@ -24,6 +24,7 @@ Requires-Dist: requests
24
24
  Requires-Dist: typing_extensions
25
25
  Requires-Dist: yarl
26
26
  Requires-Dist: vcrpy
27
+ Requires-Dist: requests-aws4auth
27
28
  Requires-Dist: opentelemetry-proto<1.37.0,>1.33.0
28
29
  Requires-Dist: protobuf>=3.19.0
29
30
  Requires-Dist: grpcio<2.0,>=1.66.2
@@ -192,6 +193,13 @@ The cassettes are matched based on the path, method, and body of the request. To
192
193
 
193
194
  Optionally specifying whatever mounted path is used for the cassettes directory. The test agent comes with a default set of cassettes for OpenAI, Azure OpenAI, and DeepSeek.
194
195
 
196
+ #### AWS Services
197
+ AWS service proxying, specifically recording cassettes for the first time, requires a `AWS_SECRET_ACCESS_KEY` environment variable to be set for the container running the test agent. This is used to recalculate the AWS signature for the request, as the one generated client-side likely used `{test-agent-host}:{test-agent-port}/vcr/{aws-service}` as the host, and the signature will mismatch that on the actual AWS service.
198
+
199
+ Additionally, the `AWS_REGION` environment variable can be set, defaulting to `us-east-1`.
200
+
201
+ To add a new AWS service to proxy, add an entry in the `PROVIDER_BASE_URLS` for its provider url, and an entry in the `AWS_SERVICES` dictionary for the service name, since they are not always a one-to-one mapping with the implied provider url (e.g, `https://bedrock-runtime.{AWS_REGION}.amazonaws.com` is the provider url, but the service name is `bedrock`, as `bedrock` also has multiple sub services, like `converse`).
202
+
195
203
  #### Usage in clients
196
204
 
197
205
  To use this feature in your client, you can use the `/vcr/{provider}` endpoint to proxy requests to the provider API.
@@ -146,6 +146,13 @@ The cassettes are matched based on the path, method, and body of the request. To
146
146
 
147
147
  Optionally specifying whatever mounted path is used for the cassettes directory. The test agent comes with a default set of cassettes for OpenAI, Azure OpenAI, and DeepSeek.
148
148
 
149
+ #### AWS Services
150
+ AWS service proxying, specifically recording cassettes for the first time, requires a `AWS_SECRET_ACCESS_KEY` environment variable to be set for the container running the test agent. This is used to recalculate the AWS signature for the request, as the one generated client-side likely used `{test-agent-host}:{test-agent-port}/vcr/{aws-service}` as the host, and the signature will mismatch that on the actual AWS service.
151
+
152
+ Additionally, the `AWS_REGION` environment variable can be set, defaulting to `us-east-1`.
153
+
154
+ To add a new AWS service to proxy, add an entry in the `PROVIDER_BASE_URLS` for its provider url, and an entry in the `AWS_SERVICES` dictionary for the service name, since they are not always a one-to-one mapping with the implied provider url (e.g, `https://bedrock-runtime.{AWS_REGION}.amazonaws.com` is the provider url, but the service name is `bedrock`, as `bedrock` also has multiple sub services, like `converse`).
155
+
149
156
  #### Usage in clients
150
157
 
151
158
  To use this feature in your client, you can use the `/vcr/{provider}` endpoint to proxy requests to the provider API.
@@ -1,21 +1,38 @@
1
1
  import hashlib
2
2
  import json
3
+ import logging
3
4
  import os
4
5
  import re
6
+ from typing import Any
7
+ from typing import Dict
5
8
  from typing import Optional
6
9
  from urllib.parse import urljoin
7
10
 
8
11
  from aiohttp.web import Request
9
12
  from aiohttp.web import Response
10
13
  import requests
14
+ from requests_aws4auth import AWS4Auth
11
15
  import vcr
12
16
 
13
17
 
18
+ logger = logging.getLogger(__name__)
19
+
20
+
21
+ # Used for AWS signature recalculation for aws services initial proxying
22
+ AWS_REGION = os.environ.get("AWS_REGION", "us-east-1")
23
+ AWS_SECRET_ACCESS_KEY = os.environ.get("AWS_SECRET_ACCESS_KEY")
24
+
25
+
14
26
  def url_path_join(base_url: str, path: str) -> str:
15
27
  """Join a base URL with a path, handling slashes automatically."""
16
28
  return urljoin(base_url.rstrip("/") + "/", path.lstrip("/"))
17
29
 
18
30
 
31
+ AWS_SERVICES = {
32
+ "bedrock-runtime": "bedrock",
33
+ }
34
+
35
+
19
36
  PROVIDER_BASE_URLS = {
20
37
  "openai": "https://api.openai.com/v1",
21
38
  "azure-openai": "https://dd.openai.azure.com/",
@@ -23,8 +40,25 @@ PROVIDER_BASE_URLS = {
23
40
  "anthropic": "https://api.anthropic.com/",
24
41
  "datadog": "https://api.datadoghq.com/",
25
42
  "genai": "https://generativelanguage.googleapis.com/",
43
+ "bedrock-runtime": f"https://bedrock-runtime.{AWS_REGION}.amazonaws.com",
26
44
  }
27
45
 
46
+ CASSETTE_FILTER_HEADERS = [
47
+ "authorization",
48
+ "OpenAI-Organization",
49
+ "api-key",
50
+ "x-api-key",
51
+ "dd-api-key",
52
+ "dd-application-key",
53
+ "x-goog-api-key",
54
+ "x-amz-security-token",
55
+ "x-amz-content-sha256",
56
+ "x-amz-date",
57
+ "x-amz-user-agent",
58
+ "amz-sdk-invocation-id",
59
+ "amz-sdk-request",
60
+ ]
61
+
28
62
  NORMALIZERS = [
29
63
  (
30
64
  r"--form-data-boundary-[^\r\n]+",
@@ -65,6 +99,21 @@ def normalize_multipart_body(body: bytes) -> str:
65
99
  return f"[binary_data_{hex_digest}]"
66
100
 
67
101
 
102
+ def parse_authorization_header(auth_header: str) -> Dict[str, str]:
103
+ """Parse AWS Authorization header to extract components"""
104
+ if not auth_header.startswith("AWS4-HMAC-SHA256 "):
105
+ return {}
106
+
107
+ auth_parts = auth_header[len("AWS4-HMAC-SHA256 ") :].split(",")
108
+ parsed = {}
109
+
110
+ for part in auth_parts:
111
+ key, value = part.split("=", 1)
112
+ parsed[key.strip()] = value.strip()
113
+
114
+ return parsed
115
+
116
+
68
117
  def get_vcr(subdirectory: str, vcr_cassettes_directory: str) -> vcr.VCR:
69
118
  cassette_dir = os.path.join(vcr_cassettes_directory, subdirectory)
70
119
 
@@ -72,15 +121,7 @@ def get_vcr(subdirectory: str, vcr_cassettes_directory: str) -> vcr.VCR:
72
121
  cassette_library_dir=cassette_dir,
73
122
  record_mode="once",
74
123
  match_on=["path", "method"],
75
- filter_headers=[
76
- "authorization",
77
- "OpenAI-Organization",
78
- "api-key",
79
- "x-api-key",
80
- "dd-api-key",
81
- "dd-application-key",
82
- "x-goog-api-key",
83
- ],
124
+ filter_headers=CASSETTE_FILTER_HEADERS,
84
125
  )
85
126
 
86
127
 
@@ -125,31 +166,47 @@ async def proxy_request(request: Request, vcr_cassettes_directory: str) -> Respo
125
166
  body_bytes = await request.read()
126
167
 
127
168
  vcr_cassette_prefix = request.pop("vcr_cassette_prefix", None)
128
-
129
169
  cassette_name = generate_cassette_name(path, request.method, body_bytes, vcr_cassette_prefix)
170
+
171
+ request_kwargs: Dict[str, Any] = {
172
+ "method": request.method,
173
+ "url": target_url,
174
+ "headers": headers,
175
+ "data": body_bytes,
176
+ "cookies": dict(request.cookies),
177
+ "allow_redirects": False,
178
+ "stream": True,
179
+ }
180
+
181
+ if provider in AWS_SERVICES and not os.path.exists(os.path.join(vcr_cassettes_directory, provider, cassette_name)):
182
+ if not AWS_SECRET_ACCESS_KEY:
183
+ return Response(
184
+ body="AWS_SECRET_ACCESS_KEY environment variable not set for aws signature recalculation",
185
+ status=400,
186
+ )
187
+
188
+ auth_header = request.headers.get("Authorization", "")
189
+ auth_parts = parse_authorization_header(auth_header)
190
+ aws_access_key = auth_parts.get("Credential", "").split("/")[0]
191
+
192
+ auth = AWS4Auth(aws_access_key, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_SERVICES[provider])
193
+ request_kwargs["auth"] = auth
194
+
130
195
  with get_vcr(provider, vcr_cassettes_directory).use_cassette(f"{cassette_name}.yaml"):
131
- oai_response = requests.request(
132
- method=request.method,
133
- url=target_url,
134
- headers=headers,
135
- data=body_bytes,
136
- cookies=dict(request.cookies),
137
- allow_redirects=False,
138
- stream=True,
139
- )
196
+ provider_response = requests.request(**request_kwargs)
140
197
 
141
198
  # Extract content type without charset
142
- content_type = oai_response.headers.get("content-type", "")
199
+ content_type = provider_response.headers.get("content-type", "")
143
200
  if ";" in content_type:
144
201
  content_type = content_type.split(";")[0].strip()
145
202
 
146
203
  response = Response(
147
- body=oai_response.content,
148
- status=oai_response.status_code,
204
+ body=provider_response.content,
205
+ status=provider_response.status_code,
149
206
  content_type=content_type,
150
207
  )
151
208
 
152
- for key, value in oai_response.headers.items():
209
+ for key, value in provider_response.headers.items():
153
210
  if key.lower() not in (
154
211
  "content-length",
155
212
  "transfer-encoding",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ddapm-test-agent
3
- Version: 1.32.0
3
+ Version: 1.33.0
4
4
  Summary: Test agent for Datadog APM client libraries
5
5
  Home-page: https://github.com/Datadog/dd-apm-test-agent
6
6
  Author: Kyle Verhoog
@@ -24,6 +24,7 @@ Requires-Dist: requests
24
24
  Requires-Dist: typing_extensions
25
25
  Requires-Dist: yarl
26
26
  Requires-Dist: vcrpy
27
+ Requires-Dist: requests-aws4auth
27
28
  Requires-Dist: opentelemetry-proto<1.37.0,>1.33.0
28
29
  Requires-Dist: protobuf>=3.19.0
29
30
  Requires-Dist: grpcio<2.0,>=1.66.2
@@ -192,6 +193,13 @@ The cassettes are matched based on the path, method, and body of the request. To
192
193
 
193
194
  Optionally specifying whatever mounted path is used for the cassettes directory. The test agent comes with a default set of cassettes for OpenAI, Azure OpenAI, and DeepSeek.
194
195
 
196
+ #### AWS Services
197
+ AWS service proxying, specifically recording cassettes for the first time, requires a `AWS_SECRET_ACCESS_KEY` environment variable to be set for the container running the test agent. This is used to recalculate the AWS signature for the request, as the one generated client-side likely used `{test-agent-host}:{test-agent-port}/vcr/{aws-service}` as the host, and the signature will mismatch that on the actual AWS service.
198
+
199
+ Additionally, the `AWS_REGION` environment variable can be set, defaulting to `us-east-1`.
200
+
201
+ To add a new AWS service to proxy, add an entry in the `PROVIDER_BASE_URLS` for its provider url, and an entry in the `AWS_SERVICES` dictionary for the service name, since they are not always a one-to-one mapping with the implied provider url (e.g, `https://bedrock-runtime.{AWS_REGION}.amazonaws.com` is the provider url, but the service name is `bedrock`, as `bedrock` also has multiple sub services, like `converse`).
202
+
195
203
  #### Usage in clients
196
204
 
197
205
  To use this feature in your client, you can use the `/vcr/{provider}` endpoint to proxy requests to the provider API.
@@ -153,6 +153,7 @@ releasenotes/notes/uds-container-8138f8b1438b1a0a.yaml
153
153
  releasenotes/notes/uds-permissions-903266ac6445b873.yaml
154
154
  releasenotes/notes/v0.5-traces-cf469b0b71398d97.yaml
155
155
  releasenotes/notes/v0.7-traces-7ea3ebbed7502d01.yaml
156
+ releasenotes/notes/vcr-aws-bedrock-proxy-3bf018b1712d5105.yaml
156
157
  releasenotes/notes/vcr-cassette-name-middleware-fix-9e47c395892a9fe7.yaml
157
158
  releasenotes/notes/vcr-cassettes-for-openai-v5-6e9d78091de1f0c2.yaml
158
159
  releasenotes/notes/vcr-cassettes-for-vercel-ai-7a8275f9c2b48bc7.yaml
@@ -5,6 +5,7 @@ requests
5
5
  typing_extensions
6
6
  yarl
7
7
  vcrpy
8
+ requests-aws4auth
8
9
  opentelemetry-proto<1.37.0,>1.33.0
9
10
  protobuf>=3.19.0
10
11
  grpcio<2.0,>=1.66.2
@@ -58,6 +58,7 @@
58
58
  requests
59
59
  yarl
60
60
  vcrpy
61
+ requests-aws4auth
61
62
  protobuf
62
63
  opentelemetry-proto
63
64
  grpcio
@@ -0,0 +1,4 @@
1
+ ---
2
+ features:
3
+ - |
4
+ vcr: adds support for proxying aws bedrock runtime. to record cassettes for the first time, the `AWS_SECRET_ACCESS_KEY` environment variable must be set for the container running the test agent, for request signature recalculation. Additionally, `AWS_REGION` can be set, defaulting to `us-east-1`.
@@ -37,6 +37,7 @@ setup(
37
37
  "typing_extensions",
38
38
  "yarl",
39
39
  "vcrpy",
40
+ "requests-aws4auth",
40
41
  # ddtrace libraries officially support opentelemetry-proto 1.33.1
41
42
  # which implements the v1.7.0 spec
42
43
  "opentelemetry-proto>1.33.0,<1.37.0",