Build and Test Go Project / build (macos-latest) (push) Has been cancelled
Docker / build (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
MCP Server Diff / mcp-diff (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
* initial OSS granular PRs and issues toolsets
* update docs
* refactor: reuse existing helpers in granular toolsets
Refactor granular issue and PR tools to delegate to existing tested
helper functions instead of reimplementing logic from scratch:
- Sub-issue tools (add/remove/reprioritize) now delegate to existing
REST-based AddSubIssue, RemoveSubIssue, ReprioritizeSubIssue helpers
- PR review tools (create/submit/delete) now delegate to existing
CreatePullRequestReview, SubmitPendingPullRequestReview,
DeletePendingPullRequestReview helpers (fixes viewer filtering bug)
- Review comment tool now uses viewer-safe pattern from
AddCommentToPendingReview (query viewer, filter by author, validate
PENDING state, pass PullRequestReviewID)
- Fix milestone param to use RequiredInt instead of float64 cast
- Fix line/startLine params to use OptionalIntParam
- Draft state tool uses typed GraphQL inputs matching existing patterns
- Remove duplicate GraphQL types and helper functions
- Add toolsnap tests for all 20 granular tools
- Update generated docs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* refactor: use feature flags instead of separate granular toolsets
Place granular tools in existing issues/pull_requests toolsets with
FeatureFlagEnable, instead of creating separate issues_granular and
pull_requests_granular toolsets. This is simpler and uses the existing
feature flag infrastructure to switch between consolidated and
granular tool variants at runtime.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: address review feedback on granular toolsets
- Fix REST response handling: capture resp, close body, use ghErrors
helpers in issueUpdateTool, prUpdateTool, GranularCreateIssue, and
GranularRequestPullRequestReviewers
- Add FeatureFlagDisable on consolidated tools (IssueWrite, SubIssueWrite,
UpdatePullRequest, PullRequestReviewWrite, AddCommentToPendingReview)
so they are hidden when granular variants are active
- Use OptionalStringArrayParam for assignees, labels, reviewers instead
of manual loop that silently dropped non-string elements
- Fix side/startSide empty string leak: pass nil pointer when absent
instead of pointer to empty string in GraphQL mutations
- Fix milestone minimum from 0 to 1 to match RequiredInt rejection of 0
- Return MinimalResponse {id, url} instead of full JSON objects
- Fix RequiredParam[bool] rejecting draft=false by using presence check
- Add handler tests for update_pull_request_draft_state (draft + ready)
and add_pull_request_review_comment with full GraphQL mocking
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: address review feedback on granular toolsets
- Fix translation keys to use ALL_CAPS convention (strings.ToUpper)
- Fix assignees/labels clearing: check key presence instead of len==0
- Extract AddCommentToPendingReviewCall helper to deduplicate GraphQL
logic between consolidated and granular tools
- Add missing granular tools: resolve_review_thread, unresolve_review_thread
(were in pull_request_review_write but had no granular replacements)
- Add handler tests for new resolve/unresolve tools
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Sam Morrow <info@sam-morrow.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>