Uh oh!
There was an error while loading. Please reload this page.
Add raw client error annotation and annotate GetFileContents - #1570
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds support for annotating raw client errors in the context to enable error-type-based filtering in metrics. The implementation follows the existing patterns for GitHub API and GraphQL errors.
Key changes:
- Introduced
GitHubRawAPIErrortype and associated error handling functions - Added raw error tracking to
GitHubCtxErrorscontext structure - Updated
GetFileContentsto use the new raw error annotation instead of generic error handling
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| pkg/errors/error.go | Adds GitHubRawAPIError type, context tracking, and NewGitHubRawAPIErrorResponse function for annotating raw API errors |
| pkg/github/repositories.go | Updates error handling in GetFileContents to use the new raw API error annotation |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.
| rawError := rawErrors[0] | ||
| assert.Equal(t, "failed to fetch raw content", rawError.Message) | ||
| assert.Equal(t, resp, rawError.Response) | ||
| assert.Equal(t, originalErr, rawError.Err) |
There was a problem hiding this comment.
The test should verify the Error() method output for consistency with the other error type tests. The API error test (line 41) and GraphQL error test (line 63) both verify the Error() method output, but this test doesn't. Add an assertion like: assert.Equal(t, "failed to fetch raw content: raw content not found", rawError.Error())
b4b4eaf to
349877fCompareUh oh!
There was an error while loading. Please reload this page.
Annotate raw client errors in the context, to allow us to filter tool call failures in our metrics based on the error type.