Skip to content

fix: ensure remote tools are included in sync tool list to prevent si… - #149

Merged
Iamsdt merged 1 commit into
mainfrom
148-toolnodeall_tools_sync-silently-drops-remote-tools-async-path-includes-them
Jul 27, 2026
Merged

fix: ensure remote tools are included in sync tool list to prevent si…#149
Iamsdt merged 1 commit into
mainfrom
148-toolnodeall_tools_sync-silently-drops-remote-tools-async-path-includes-them

Conversation

@Iamsdt

@Iamsdt Iamsdt commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

This pull request improves support for remote (client-side) tools in the tool node system, ensuring that remote tools are consistently advertised and accessible through both synchronous and asynchronous interfaces. It also adds the AudioAgent to the prebuilt agents and includes regression tests to prevent future issues with tool visibility.

Remote tool support and parity:

  • Updated the all_tools_sync method in ToolNode to include remote_tools in its returned list, ensuring remote tools are not omitted from the synchronous accessor and that the sync and async tool sets remain consistent. [1] [2]
  • Added regression tests in tests/graph/test_tool_node.py to verify that remote tools are included in all_tools_sync and that sync/async tool sets match, addressing issue ToolNode.all_tools_sync() silently drops remote tools (async path includes them) #148.
  • Improved documentation and examples for attach_remote_tools to clarify the format and routing of remote tool schemas.

Prebuilt agents:

  • Added AudioAgent to the agentflow/prebuilt/__init__.py exports and __all__ list, making it available as a prebuilt agent. [1] [2]

Other improvements:

  • Simplified thread ID configuration in user_simulator.py by setting thread_id directly at the top level of run_config.
  • Added missing asyncio import in test file for consistency.

Copilot AI review requested due to automatic review settings July 27, 2026 17:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a parity bug in the ToolNode tool-advertisement API by ensuring remote (client-side) tools are included in the synchronous tool listing, aligning it with the async path. It also improves remote-tool documentation, exports the AudioAgent as a prebuilt agent, and adjusts the QA user simulator config to set thread_id at the top-level as expected by the core graph runtime.

Changes:

  • Update ToolNode.all_tools_sync() to append self.remote_tools, matching _all_tools_async() and preventing remote tools from being silently omitted.
  • Add regression tests covering remote-tool visibility and sync/async tool-set parity (issue #148).
  • Improve attach_remote_tools documentation, export AudioAgent from agentflow.prebuilt, and simplify simulator thread ID configuration.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
agentflow/core/graph/tool_node/base.py Fixes sync tool listing to include remote tools and clarifies the sync accessor’s contract.
tests/graph/test_tool_node.py Adds regression tests to ensure remote tools appear in all_tools_sync() and sync/async tool sets match.
agentflow/core/graph/compiled_graph.py Updates attach_remote_tools docstring to clarify expected remote tool schema shape and routing.
agentflow/prebuilt/__init__.py Exports AudioAgent via __init__ and __all__ for prebuilt access.
agentflow/qa/evaluation/simulators/user_simulator.py Sets thread_id at top-level in run_config, consistent with core runtime config usage.

@codecov

codecov Bot commented Jul 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Iamsdt
Iamsdt merged commit e64540b into main Jul 27, 2026
8 checks passed
@Iamsdt
Iamsdt deleted the 148-toolnodeall_tools_sync-silently-drops-remote-tools-async-path-includes-them branch July 27, 2026 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ToolNode.all_tools_sync() silently drops remote tools (async path includes them)

2 participants