Repository navigation
An approved tool, a crash, then Resume: a 5-run test, and a wrapper that keeps it to one payment #8039
salahmakboul
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
ADK's Resume page says tools run at least once on resume. I wanted to see what that means for a tool behind
require_confirmation=True, so I measured it.Setup: ADK 2.14.0, Python 3.12, a resumable
App,SqliteSessionService, and a fakeBaseLlm(no keys) that asks forpay(10, "alice").payappends a line to a file. Each phase runs in its own process:os._exitbefore ADK stores the result.runner.run_async(..., invocation_id=...).Five runs per row, and every run in a row gave the same result:
FunctionTool, no crashFunctionTool, crash after the paymentpaywrapped withc4a.effectEffectInDoubtreconcile=reading the provider's recordThe wrapper records the call in its own SQLite file before running it. On resume, a call that already finished returns its recorded result, and a call with no recorded result stops as "in doubt" instead of running again:
Scripts and raw results: https://github.com/salahmakboul/call4agents/tree/main/docs/finding/more_frameworks
I maintain Call4Agents (Apache-2.0, no dependencies). Feedback on the test setup is welcome. In particular, if there's a more idiomatic ADK way to record that a tool started, such as a plugin's
before_tool_callback, I'd like to compare against it.All reactions