feat(google_adk): add ADK-114, TypeScript FunctionTool HTTP call has no timeout - #86
Open
bradAGI wants to merge 1 commit into
Open
feat(google_adk): add ADK-114, TypeScript FunctionTool HTTP call has no timeout#86bradAGI wants to merge 1 commit into
bradAGI wants to merge 1 commit into
Conversation
…no timeout ADK-003 covers the Python side; the TypeScript half was missing even though the pack ships TS rules (ADK-013, ADK-015, ADK-016, ADK-109). OpenAI (OAI-016, OAI-024) and the Vercel AI SDK (VAI-011) already use has_http_call_without_timeout for exactly this. The composition ADK encourages makes the stall worse rather than better: inside a SequentialAgent a stalled tool blocks every step after it, and inside a ParallelAgent the fan-out waits on its slowest branch, so one unresponsive host stalls work unrelated to it. ADK-108's max_iterations bounds how many times a LoopAgent goes round, not how long one tool call may run, so no configured limit breaks the stall. Numbered ADK-114 to leave room for ADK-111 in the open PR trustabl#51 and ADK-112 in my PR trustabl#79.
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.
ADK-003 covers the Python side of network timeouts; the TypeScript half was missing, even though the pack ships TS rules (ADK-013, ADK-015, ADK-016, ADK-109). OpenAI (OAI-016, OAI-024) and the Vercel AI SDK (VAI-011) already use
has_http_call_without_timeoutfor exactly this.The composition ADK encourages makes the stall worse rather than better, which is the part worth having in the finding text:
SequentialAgent, a stalled tool blocks every step after it;ParallelAgent, the whole fan-out waits on its slowest branch — so one unresponsive host stalls work that has nothing to do with it.And the limit people reach for doesn't apply: ADK-108's
max_iterationsbounds how many times aLoopAgentgoes round, not how long one tool call may run. No configured limit breaks this stall.Compounds with ADK-016 the same way VAI-011 compounds with VAI-003 — a tool that fetches a caller-controlled URL and can't time out can be steered at an internal host that never answers.
Numbered ADK-114 to leave room for ADK-111 in the open PR #51 and ADK-112 in my #79.
Verification — engine built at
main:Fire (bare
await fetch(...)in anew FunctionTool({ ..., execute })handler):ADK-016, ADK-114, ADK-201Silent (
signal: AbortSignal.timeout(15_000)):ADK-016, ADK-201(ADK-016 is the pre-existing TS SSRF rule firing on the template-string URL — also the compounding case described. ADK-201 is the missing-AGENTS.md repo rule.)
My first fixture used
new FunctionTool(fn, {...})and nothing fired, including the pre-existing TS rules — the adk-js shape is the options-object form with anexecutecallback. Worth flagging since the PythonFunctionTool(fn)wrapper reads as the obvious analogue and isn't what the TS SDK does.No new predicates, so no
schema_versionbump.