chore(templates): bump aws-opentelemetry-distro to ~= 0.18.0 in Python templates - #2287
Conversation
Pins the ADOT distro to the 0.18.x line (runtime ships telemetry.auto.version 0.18.0-aws) for the Strands, LangChain/LangGraph, and OpenAIAgents templates across the http, a2a, and agui protocols. GoogleADK templates are intentionally left on their existing ADOT pin: 0.18.0 requires opentelemetry-api 1.42.1, but google-adk < 2.0.0 caps opentelemetry-api at <= 1.41.1, making the two unsatisfiable together. Moving GoogleADK to 0.18.0 would require a google-adk 1.x -> 2.x major bump (breaking changes), which is out of scope here.
|
Claude Security Review: no high-confidence findings. (run) |
Package TarballHow to installgh release download pr-2287-tarball --repo aws/agentcore-cli --pattern "*.tgz" --dir /tmp/pr-tarball
npm install -g /tmp/pr-tarball/aws-agentcore-0.28.1.tgz |
There was a problem hiding this comment.
AgentCore Harness Review
Verdict: Changes requested
Missed template: a2a/googleadk
The PR pins aws-opentelemetry-distro ~= 0.18.0 in 7 of the 8 pyproject.toml templates that declare this dependency, but misses src/assets/python/a2a/googleadk/base/pyproject.toml (line 13), which still has an unpinned "aws-opentelemetry-distro",.
If the motivation for this pin is to avoid a bad upstream release (0.19.0 is the current latest on PyPI, and the constraint ~= 0.18.0 deliberately excludes it), then generated Google ADK A2A projects will still resolve to the excluded version, defeating the purpose of the pin.
Please either:
- Update
src/assets/python/a2a/googleadk/base/pyproject.tomlto use"aws-opentelemetry-distro ~= 0.18.0"and regenerate the snapshot insrc/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap(the entry forpython/a2a/googleadk/base/pyproject.tomlcurrently still shows the unpinned form), or - Explicitly document in the PR description why
a2a/googleadkis intentionally excluded from the pin.
The other googleadk templates (agui/googleadk, http/googleadk) don't declare this dependency, so nothing is needed for them.
Coverage Report
|
What
Pins
aws-opentelemetry-distroto the 0.18.x line for the Python agent templates that use ADOT, across thehttp,a2a, andaguiprotocols:The AgentCore Runtime reports
telemetry.auto.version: 0.18.0-aws, so this aligns the vended templates with the runtime's ADOT version.Why GoogleADK is intentionally excluded
GoogleADK templates are left on their existing ADOT pin.
aws-opentelemetry-distro 0.18.0requiresopentelemetry-api == 1.42.1, butgoogle-adk < 2.0.0capsopentelemetry-apiat<= 1.41.1— the two constraints are unsatisfiable together, and deploy fails at dependency resolution (before any runtime is created).Moving GoogleADK to 0.18.0 would require bumping
google-adkfrom 1.x to 2.x (a major version with breaking changes to template code), which is out of scope for this dependency bump. (The a2a GoogleADK template already tracksgoogle-adk[a2a] >= 2.5.0and is unaffected either way.)Verification
Each changed template was deployed to AgentCore Runtime and invoked; telemetry was confirmed landing in the agent's own log group:
telemetry.auto.version: 0.18.0-awspresent on emitted spans/recordsspansstreamAll 8 verified templates passed. (OpenAIAgents http required an OpenAI key to complete a functional invoke, but ADOT telemetry was confirmed regardless.)
Tests
npm run test:update-snapshots— asset snapshots regeneratednpm test— 6275 passed