Add Python low-level tool-definition E2E test [4/6]#1726
Conversation
There was a problem hiding this comment.
Pull request overview
Adds Python E2E coverage for the “low-level tool definition” scenario by introducing a new test in the Python E2E suite that reuses the shared replay-proxy snapshot under test/snapshots/tools/low_level_tool_definition.yaml.
Changes:
- Adds
test_low_level_tool_definitionto exercise explicit tool registration with two custom tools (set_current_phase,search_items). - Configures a per-session tool allowlist via
ToolSet().add_custom("*").add_builtin("web_fetch")to mirror the shared scenario setup. - Asserts tool argument decoding/availability (keyword) and validates observable side effects (
current_phase) after tool execution.
Show a summary per file
| File | Description |
|---|---|
| python/e2e/test_tools_e2e.py | Adds a new E2E test that registers two tools and validates tool invocation + results using the shared tools/low_level_tool_definition snapshot. |
Copilot's findings
- Files reviewed: 1/1 changed files
- Comments generated: 0
Cross-SDK Consistency Review ✅This PR is part of a well-coordinated 6-part breakout series (#1721–#1728) adding
Python implementation analysisAPI naming follows Python conventions correctly, parallel to other SDKs:
Tool scope intentionally limited to Minor observation (pre-existing, not introduced here)The Java test ( No action required on this PR. The change is self-consistent and correctly aligned with the cross-SDK rollout plan.
|
Summary
Adds Python low-level tool-definition E2E coverage in
python/e2e/test_tools_e2e.pyas part of the PR-1692 breakout.This PR is related to issue #1682 but does not fix #1682.
What changed
test_low_level_tool_definitioncoverage in Python E2E tests.test/snapshots/tools/low_level_tool_definition.yamlset_current_phase,search_items).keywordargument handling in the tool invocation path.Dependency / sequencing
Related