Skip to content

feat(server): add Tool call error categories#2387

Merged
duwenxin99 merged 14 commits intomainfrom
err
Feb 12, 2026
Merged

feat(server): add Tool call error categories#2387
duwenxin99 merged 14 commits intomainfrom
err

Conversation

@duwenxin99
Copy link
Contributor

Create Agent vs Server error types to distinguish between the two types.

@duwenxin99 duwenxin99 requested a review from a team as a code owner January 29, 2026 17:05
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @duwenxin99, 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 introduces a structured error handling mechanism by defining distinct error categories for agent and server-side issues. This foundational change aims to improve the clarity and diagnosability of errors within the system, making it easier to identify the source of a problem and streamline debugging efforts.

Highlights

  • New Error Definitions File: A new file, internal/util/errors.go, has been added to centralize and define custom error types for the server.
  • Error Categorization: Introduced an ErrorCategory enum with CategoryAgent and CategoryServer to explicitly classify the origin of errors.
  • Custom Error Interface: Defined a ToolboxError interface that all custom errors must satisfy, ensuring a consistent error structure.
  • Structured Error Types: Implemented AgentError and ServerError structs, both of which fulfill the error interface and provide a Category() method for type-specific error reporting. ServerError also includes a Cause field for wrapping underlying errors.
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
Contributor

@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 introduces new error types, AgentError and ServerError, to categorize errors originating from the agent or the server. The changes are well-contained in a new errors.go file. My feedback includes suggestions to improve the new error abstractions by making the ToolboxError interface more specific and by adding support for Go's standard error wrapping to ServerError.

@duwenxin99 duwenxin99 assigned averikitsch and unassigned Yuan325 Jan 29, 2026
@duwenxin99 duwenxin99 enabled auto-merge (squash) February 12, 2026 13:12
@duwenxin99 duwenxin99 merged commit 32cb4db into main Feb 12, 2026
13 checks passed
@duwenxin99 duwenxin99 deleted the err branch February 12, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants