Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds auto-correction for path parameters passed with leading slashes to the create_or_update_file tool to prevent unnecessary tool call failures.
Key Changes:
- Trim leading slash from path parameter in
CreateOrUpdateFilefunction usingstrings.TrimPrefix(path, "/")
| return nil, nil, fmt.Errorf("failed to get GitHub client: %w", err) | ||
| } | ||
|
|
||
| path = strings.TrimPrefix(path, "/") |
There was a problem hiding this comment.
The GetFileContents function also accepts a path parameter that is passed directly to client.Repositories.GetContents() and rawClient.GetRawContent() at lines 619 and 639. For consistency and to prevent similar failures, consider adding path = strings.TrimPrefix(path, "/") after the path parameter is extracted (around line 600).
| return nil, nil, fmt.Errorf("failed to get GitHub client: %w", err) | ||
| } | ||
|
|
||
| path = strings.TrimPrefix(path, "/") |
There was a problem hiding this comment.
The DeleteFile function also accepts a path parameter that is used in a TreeEntry at line 950. For consistency and to prevent similar failures, consider adding path = strings.TrimPrefix(path, "/") after the path parameter is extracted (around line 920).
| return nil, nil, fmt.Errorf("failed to get GitHub client: %w", err) | ||
| } | ||
|
|
||
| path = strings.TrimPrefix(path, "/") |
There was a problem hiding this comment.
Consider adding a test case in Test_CreateOrUpdateFile that verifies a path with a leading slash is handled correctly. This would document the auto-correction behavior and prevent regressions.
Sometimes path is passed with leading slash. We can auto-correct to make sure we do not get unnecessary tool call failures.