Merged
Conversation
Iamsdt
approved these changes
Mar 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pull request adds support for running an A2A-protocol-compliant agent server in the CLI, allowing users to expose their agentflow graphs as A2A-compatible services. It introduces a new CLI command (
a2a), provides configuration and customization options via both CLI flags andagentflow.json, and includes a working example for a currency conversion agent with a custom executor. The changes also add an optional dependency group for A2A support.A2A Server Feature Integration:
A2ACommandclass ina2a.pyto implement the A2A server command, including configuration loading, environment setup, agent card creation, executor resolution, and server startup using Uvicorn. The command supports overrides via CLI flags and integration with agentflow-specific executors and skills.a2acommand in the CLI (main.py), with options for config, host, port, agent name, description, streaming, and logging verbosity. [1] [2]DEFAULT_A2A_HOST,DEFAULT_A2A_PORT, etc.) toconstants.pyfor consistent configuration.Example: Currency Agent with Custom Executor:
examples/currency_agent:agentflow.jsondemonstrates A2A configuration, including a custom executor and skills.executor.pyprovides a custom executor that emitsINPUT_REQUIREDwhen the LLM requests missing info.graph.pydefines the agent's graph, including a tool node for currency conversion using the Frankfurter API and an LLM node for conversational logic.Dependency Management:
a2aoptional dependency group inpyproject.tomlto install required packages for A2A server support.