Skip to content

Conversation

jokester
Copy link

@jokester jokester commented Oct 6, 2025

recreated from #1804 which got closed as "stale"

Fixes #1803

(the type mismatch still happens in google-adk v1.15.1)

Copy link

Summary of Changes

Hello @jokester, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request resolves a type mismatch issue within the LlmAgent class by refining the type annotation for its tools attribute. By changing the type hint from a concrete list to the more general Sequence, the change improves type compatibility and addresses a previously reported bug, enhancing the overall robustness of the google-adk library.

Highlights

  • Type Hint Correction: The type hint for the tools attribute within the LlmAgent class has been updated from list[ToolUnion] to Sequence[ToolUnion].
  • Issue Resolution: This change directly addresses and fixes a reported type mismatch issue (issue Agent() doesn't accept tools in list[FunctionTool] #1803) that was observed in google-adk v1.15.1.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request correctly addresses a typing issue by changing the type hint for LlmAgent.tools from list[ToolUnion] to Sequence[ToolUnion]. This change makes the type covariant, allowing for more flexible usage, such as assigning lists of tool subtypes without causing static analysis errors. The implementation is clean and effective. I have no further suggestions.

@adk-bot
Copy link
Collaborator

adk-bot commented Oct 6, 2025

Response from ADK Triaging Agent

Hello @jokester, thank you for creating this PR!

Could you please include a testing plan section in your PR to talk about how you will test?

In addition, could you please provide logs or screenshot after the fix is applied?

This information will help reviewers to review your PR more efficiently. Thanks!

@adk-bot adk-bot added bot triaged core [Component] This issue is related to the core interface and implementation labels Oct 6, 2025
@adk-bot adk-bot requested a review from Jacksunwei October 6, 2025 13:40
@ryanaiagent ryanaiagent self-assigned this Oct 7, 2025
@ryanaiagent
Copy link
Collaborator

Hi @jokester, Thanks for submitting this pull request!
To move this forward, could you please add a few unit tests to this PR? Having solid test coverage will significantly expedite the review and merging process.

@jokester
Copy link
Author

jokester commented Oct 8, 2025

@ryanaiagent hi, thanks for checking this. However I'm not sure if adding "unit test" is simple or possible.

The issue in question is about type annotation, not a runtime bug. It would require a type checker to "test" the change, but I don't see this repo has one (pyright or mypy) in CI.

I can confirm the fix works with the snippet pyright complained about. Do you think this will work too?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core [Component] This issue is related to the core interface and implementation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Agent() doesn't accept tools in list[FunctionTool]

4 participants