Prototype: A2A support through a protocols abstraction #171
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR is intended as a WIP prototype to demonstrate possibilities and facilitate discussion about #24.
Introduces a protocol abstraction layer inspired by the model provider abstraction layer, enabling agents to be exposed as network services. Uses A2A support to exercise the abstraction layer, providing a one-line way to serve an endpoint, generate agent cards dynamically from the tools registry, and invoke remote agents like local tools.
See examples/iss_agent.py & examples/iss_client.py to try it out.
Type of Change
Testing
To try this prototype:
uv venv
&source .venv/bin/activate
)uv pip install strands-agents-tools a2a-sdk fastapi
uv pip install git+https://github.com/ryanycoleman/strands-sdk.git@prototype/a2a "strands-agents-tools==0.1.4" --no-deps
uv run iss_agent.py &
)uv run iss_client.py
)curl localhost:8000/.well-known/agent.json | jq
)[How have you tested the change?] Just the new feature in isolation.
hatch fmt --linter
hatch fmt --formatter
hatch test --all
Checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.