Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Python: [Bug]: Title: InvokeTool cannot access functions registered via register_binding() in Declarative workflows #3512

Description

@droideronline

Description

register_binding() stores functions in WorkflowFactory._bindings, but InvokeTool action only looks in SharedState["_tool_registry"]. They are never connected.

Code Sample

factory = WorkflowFactory().register_binding("get_weather", get_weather)
workflow = factory.create_workflow_from_yaml_path("workflow.yaml")

Error Messages / Stack Traces

- kind: InvokeTool
  tool: get_weather  # ❌ "Tool 'get_weather' not found in registry"

Package Versions

python-1.0.0b260128

Python Version

No response

Additional Context

Is InvokeTool intended to work with register_binding()?
If YES: Bindings need to be passed to InvokeToolExecutor (like agents are passed to InvokeAzureAgentExecutor)
If NO: What is register_binding() for? How do workflows call registered functions?

Metadata

Metadata

Assignees

Labels

bugUsage: [Issues], Target: all issues (Legacy, prefer issue type: bug)pythonUsage: [Issues, PRs], Target: PythonworkflowsUsage: [Issues, PRs], Target: Workflows

Type

Fields

No fields configured for Bug.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions