Finalize tool.Tool interface
- Dominant language
- Go
- Stars
- 8.8k
- Forks
- 1k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 88
Description
Currently is serves as a placeholder type to pass tools to LLMAgent.
It's not possible to implement `tool.Tool` directly with a custom type (technically possible, but this tool won't work). The only way right now to create tool -- using adk-provided constructors (e.g. functiontool.New, loadartifacttool.New).
We need to finalize `tool.Tool` interface (and maybe even expose any extra interfaces if needed), to allow standard implicit interface implementation of a tool by custom types.
Contributor guide
Research direction
Start by reading the tool.Tool definition, its LLMAgent integration, and the existing constructors such as functiontool.New and loadartifacttool.New. Clarify the interfaces required for custom tool types; done means a custom type can implement tool.Tool implicitly and function correctly when passed to LLMAgent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- ai-infra-agents
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100