feat(workflow): Support loading workflows from YAML configurations#6061
Open
baptmont wants to merge 2 commits into
Open
feat(workflow): Support loading workflows from YAML configurations#6061baptmont wants to merge 2 commits into
baptmont wants to merge 2 commits into
Conversation
- Implement `Workflow.from_config` to instantiate workflows from configurations. - Resolve nested node and sub-agent `.yaml` file references recursively during configuration loading. - Add parsing support for JoinNode, FunctionNode, and ToolNode types in config utilities.
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.
Please ensure you have read the contribution guide before creating a pull request.
Link to Issue or Description of Change
1. Link to an existing issue (if applicable):
2. Or, if no issue exists, describe the change:
Problem:
Workflows and workflow-specific node types (
JoinNode,FunctionNode,ToolNode) defined in YAML config files could not be loaded or executed because:Workflowclass and workflow-specific nodes.Solution:
Workflow.from_configmethod to instantiate declarative workflow graphs from configuration inputs.Workflow,JoinNode,FunctionNode, andToolNodein_resolve_node_class..yamlconfigurations during parsing.Testing Plan
Unit Tests:
Summary of configuration-related test execution results:
uv run pytest tests/unittests/agents/test_agent_config.py36 passedManual End-to-End (E2E) Tests:
Verified the correctness of workflow config loading by instantiating complex multi-agent graphs from declarative configurations in
test_agent_config.py.Checklist
Additional context
N/A