Commit Graph

68 Commits

Author SHA1 Message Date
Xavier RENE-CORAIL 81547f4e60 Add tests for GitHub discussions support.
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Lint / lint (push) Has been cancelled
2025-04-24 12:13:16 -07:00
Xavier RENE-CORAIL 2f22681048 Add initial implementation for GitHub discussions support. 2025-04-24 12:13:14 -07:00
Sam Morrow a58937c0b3 feat: provide tool annotations 2025-04-23 13:14:01 +02:00
Toby Padilla 9fa582d8d6 fix: use anyOf instead of nullable type array
License Check / license-check (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
Lint / lint (push) Has been cancelled
Windsurf is erroring on the `create_pull_request` tool because we're
using an array of types to make fields nullable. This PR uses `anyOf`
instead and should fix the issue.
2025-04-21 21:19:24 +02:00
Toby Padilla 22e493620c fix: update json schema for create_pull_request_review to make OpenAI compatible (#300)
Co-authored-by: Sam Morrow <info@sam-morrow.com>
2025-04-17 12:50:19 +02:00
Tony Truong 7c197f5850 feat: Adding SecretScanning Toolset (#280)
* Adding GetSecretScanningAlert and ListSecretScanningAlerts

* adding wip for tests

* fix tests

* add readme section

* Update README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update .gitignore

Co-authored-by: Sam Morrow <info@sam-morrow.com>

* fix product name

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Sam Morrow <info@sam-morrow.com>
2025-04-17 10:19:59 +02:00
Dylan Rinker 614f226724 Add Tool Name property for List Code Scanning Alerts tool (#272) 2025-04-15 19:36:16 +02:00
Tony Truong 4457d0ac30 Add missing enum constraints (#278)
* Add missing enum constraints

* Remove redundant listing of additional enums in descriptions

---------

Co-authored-by: Sam Morrow <info@sam-morrow.com>
2025-04-15 17:01:33 +02:00
Sam Morrow ff3036d596 feat: partition tools by product/feature 2025-04-15 01:11:53 +02:00
Ashwin Bhat 6c05b4009a Add tools for one-off PR comments and replying to PR review comments (#143)
* Add add_pull_request_review_comment tool for PR review comments

Adds the ability to add review comments to pull requests with support for line, multi-line, and file-level comments, as well as replying to existing comments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add reply_to_pull_request_review_comment tool

Adds a new tool to reply to existing pull request review comments using the GitHub API's comment reply endpoint. This allows for threaded discussions on pull request reviews.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update README with new PR review comment tools

* rebase

* use new getClient function inadd and reply pr review tools

* Unify PR review comment tools into a single consolidated tool

The separate AddPullRequestReviewComment and ReplyToPullRequestReviewComment tools have been merged into a single tool that handles both creating new comments and replying to existing ones. This approach simplifies the API and provides a more consistent interface for users.

- Made commit_id and path optional when using in_reply_to for replies
- Updated the tests to verify both comment and reply functionality
- Removed the separate ReplyToPullRequestReviewComment tool
- Fixed test expectations to match how errors are returned

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update README to reflect the unified PR review comment tool

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Javier Uruen Val <juruen@github.com>
2025-04-12 11:45:10 +02:00
Jake Shorty 865f9bf4d7 Prefer already-defined endpoint mock (#226) 2025-04-11 12:25:40 -06:00
Arya Soni 01aefd3d7a Add ability to view branches for a repo #141 (#205)
* Add ability to view branches for a repo #141

* fix: update ListBranches test to use InputSchema and correct translation helper

* fix: update ListBranches test to use InputSchema and correct translation helper

* fix: update ListBranches test to handle errors in tool result

* fix: replace deprecated github.String with github.Ptr

* docs: add list_branches tool documentation to README
2025-04-11 14:31:29 +02:00
Adam Holt 3c18a342c9 Allow passing through server options (#218)
* Allow passing through server options

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-11 10:52:05 +02:00
Jake Shorty 919a10c187 Add tool for getting a single commit (includes stats, files) (#216)
* Add tool for getting a commit

* Split mock back out, use RepositoryCommit with Files/Stats
2025-04-11 08:09:19 +02:00
Sam Morrow 3ec8699deb chore: groundwork for multi-user to server 2025-04-10 01:59:03 +02:00
Andrew Georgiou 86fbc8504f Fix handling nil values for optional string array parameters, (#194)
* Fix handling nil values for optional string array parameters,

nil values should be equivalent to an empty string, currently we return an error but Claude passes nil for optional values.

* lint fixes
2025-04-09 18:25:59 +02:00
monotykamary 56c1fce434 feat: Add update_pull_request tool (#122)
* feat: add update_pull_request tool

* refactor: address feedback on optionalParamOK helper

* docs: add update_pull_request tool documentation

* refactor: update optionalParamsOK as exported member

* fix: rename to exported function
2025-04-09 08:11:10 +02:00
Sam Morrow 519ed9ebc7 chore: export remaining search + helpers 2025-04-08 09:43:52 +02:00
Sam Morrow 3dae8ab029 chore: export search funcs 2025-04-08 09:39:48 +02:00
Sam Morrow c1bdd6a0f0 chore: export repository funcs 2025-04-08 09:34:08 +02:00
Sam Morrow c85dd07e5e chore: export pr funcs 2025-04-08 09:33:37 +02:00
Sam Morrow f4770fa8a2 chore: export issues funcs 2025-04-08 09:32:36 +02:00
Sam Morrow 9a5fe115d8 chore: export code scanning funcs 2025-04-08 09:25:58 +02:00
Yuki Ito 973fb5d5c8 chore: Remove unnecessary trailing periods from descriptions (#170) 2025-04-08 07:23:11 +02:00
Sam Morrow 7ab5d968e0 chore: pass version through to server
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
License Check / license-check (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Lint / lint (push) Has been cancelled
2025-04-07 17:56:44 +02:00
Viktor Szépe ff1f16e829 Fix a typos in repository_resource.go 2025-04-07 17:00:33 +02:00
Dmytro Shteflyuk ff896d0f33 Removed duplicated createIssue tool definition 2025-04-07 16:54:40 +02:00
William Martin 0f9ef6e708 Add pagination helper 2025-04-07 16:48:56 +02:00
William Martin a72070069f Test issue search query params 2025-04-07 16:48:56 +02:00
Alexander Yastrebov 755b816b7c pkg/github: fix use of per page parameter
Page size tool parameter names were changed to `perPage` within #90
while GitHub API uses `per_page` parameter name.

This change fixes overlooked inconsistencies.

Follow up on #90
Follow up on #129
Fixes #136

Signed-off-by: Alexander Yastrebov <yastrebov.alex@gmail.com>
2025-04-07 16:48:56 +02:00
Ohki Nozomu e4c2f58ddc Use github.Ptr instead of smithy-go/ptr (#147)
Co-authored-by: Javier Uruen Val <juruen@github.com>
2025-04-07 16:29:30 +02:00
Ashwin Bhat 31471a4b4f Add line parameter support to create_pull_request_review tool (#118)
* Add line parameter support to create_pull_request_review tool

- Updated schema to make path and body the only required fields
- Added line parameter as alternative to position for inline comments
- Updated handler to accept either position or line based on GitHub API spec
- Added new test case that verifies line parameter works properly
- Updated error messages for better validation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Expand PR review API with multi-line comment support

- Added new parameters: line, side, start_line, start_side
- Added proper validation for multi-line comment parameters
- Improved validation logic to handle parameter combinations
- Added test cases for regular and multi-line comments
- Updated schema documentation for better tool discoverability

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* gofmt

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Javier Uruen Val <juruen@github.com>
2025-04-07 16:20:17 +02:00
Matt Metzger c77ea94c02 Add support for retrieving GitHub Issue Comments (#106)
* Add support for retrieving GitHub Issue Comments

Add new tool 'get_issue_comments' that allows fetching comments associated
with GitHub issues. This complements the existing issue retrieval functionality
and follows the same patterns as the pull request comments implementation.

The implementation includes:
- New getIssueComments function in pkg/github/issues.go
- Tool registration in server.go
- Comprehensive test coverage in issues_test.go

* Support pagination for get_issue_comments

---------

Co-authored-by: Javier Uruen Val <juruen@github.com>
2025-04-07 16:11:00 +02:00
Javier Uruen Val 6b02799482 fix issue with pagination in search_repositories (#129) 2025-04-05 20:05:35 +02:00
William Martin 6e132eb067 Add optional string array param
License Check / license-check (push) Has been cancelled
Docker / build (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
Lint / lint (push) Has been cancelled
2025-04-04 17:30:10 +02:00
William Martin 6f7458ae3c Conform list tools
License Check / license-check (push) Has been cancelled
Docker / build (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
Lint / lint (push) Has been cancelled
2025-04-04 15:51:50 +02:00
Javier Uruen Val bdfb30ce4b assert query params (#97) 2025-04-04 14:51:53 +02:00
William Martin 95c7b0add6 Add missing milestone to create_issue (#88) 2025-04-04 14:47:20 +02:00
Javier Uruen Val ccaedb6f46 assert params and body (#96) 2025-04-04 14:32:00 +02:00
Javier Uruen Val ca1a8f96d4 assert request params and body (#95) 2025-04-04 13:57:35 +02:00
Javier Uruen Val e267a3c4a1 assert request params (#94) 2025-04-04 11:35:12 +02:00
William Martin 87d4407d1c Add boundaries to pagination
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Docker / build (push) Has been cancelled
Lint / lint (push) Has been cancelled
2025-04-03 23:34:31 +02:00
William Martin 6b13742012 Enumerate strings in schema 2025-04-03 23:30:59 +02:00
William Martin d01e705332 Use arrays rather than comma separated lists 2025-04-03 23:10:00 +02:00
Ariel Deitcher b2503f37eb chore: repository resource tests (#69)
* refactor to make testing easier

* not needed in handler func

* small cleanup

* create repository_resource_test

* remove chatty comments

* comment cleanup, function rename and some more tests

* fix test for ubuntu runner

* remove it for now

* make required args explicit instead of panic

* more tests and cleanup

* chore: use raw repo resources (#70)

* use raw repo URIs for resources

* fetch repository content from raw urls

* ensure no error in test write

* Update pkg/github/repository_resource.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* use appropriate file name for text file test

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Sam Morrow <info@sam-morrow.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-02 23:33:34 +02:00
Javier Uruen Val 5f3926d535 add support for create_pull_request (#63)
Co-authored-by: Toby Padilla <toby@toby.sh>
2025-04-01 15:48:39 -06:00
Javier Uruen Val 92bceb5fa5 linter 2025-03-26 11:03:52 +01:00
Toby Padilla 5eb969e27b fix: add required fields for OpenAI API 2025-03-24 17:31:28 -06:00
Toby Padilla dd8eddff49 fix: mention "me" and "my" in get_me description 2025-03-24 17:26:46 -06:00
Javier Uruen Val bc3bc766c8 use generic for helper functions 2025-03-24 17:28:21 +01:00