Build and Test Go Project / build (macos-latest) (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
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
* Add state metadata fields to get_discussion tool
Fixes#1303
The get_discussion tool was missing important state metadata that's
already available in get_issue. Added four fields to provide complete
discussion status information:
- state: Current discussion state (OPEN/CLOSED)
- isAnswered: Whether the discussion has an accepted answer
- answeredAt: Timestamp when answer was provided
- answerChosenAt: Timestamp when answer was selected
Changed GetDiscussion to return a map instead of github.Discussion
struct since the go-github library doesn't include all these fields
in its type definition. This approach is consistent with other
functions in this codebase (ListDiscussions, GetDiscussionComments).
All tests pass and linter checks pass.
* Fix Discussion field mappings based on GitHub GraphQL API
Changes:
- Replace 'State' (doesn't exist) with 'Closed' (Boolean)
- Remove 'AnsweredAt' (doesn't exist)
- Keep 'IsAnswered' (verified to exist in GitHub GraphQL API)
- Use 'AnswerChosenAt' for answer timestamp
Updated both implementation and tests to match actual GitHub GraphQL schema.
All tests passing.
---------
Co-authored-by: tommaso-moro <tommaso-moro@github.com>
* add repo nav tool
* comment responses
* move into git.go
* fix documentation
* Update pkg/github/git.go
Co-authored-by: Adam Holt <omgitsads@github.com>
* Fix undefined variable error in GetRepositoryTree
* Update git.go to use github.com/google/go-github/v77 for consistency with main branch
---------
Co-authored-by: Adam Holt <omgitsads@github.com>
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
* licences update from required CI build
* fixes licences
* implements new helpers to support google/go-github v77 API
* upgrades toolset to leverage google/go-github v77 with the exception of Update and Delete items
* refactor string conversion helpers
* reverts migration google/go-github GetProjectItem due to bug with the underlying library implementation
* additional refactoring for server helpers based on recent updates to google/go-github
* test updates based on underlying lib requirements
* resolves licences conflicts with script/licenses
* cleanup
* reduce change diff
* updates helper docs to reflect to methods
* upgrades delete projects item to google/go-github
* returns error from parsing string to int64
* improved OptionalBigIntArrayParam doc
* improves implementation for RequiredBigInt
* improves documentation for temporary fieldSelectionOptions struct
* updates github-mcp-server to go-github/v76
* updates license files
* refactors ListProjects to make use of
google/go-github ProjectsService
* refactors GetProject to make use of google/go-github ProjectsService
* declaring commit without a pointer
* cleanup additional commit pointer
---------
Co-authored-by: Tommaso Moro <37270480+tommaso-moro@users.noreply.github.com>
* Add instruction generation for enabled toolsets and corresponding tests
* Refactor instruction generation to always include base and context management instructions
* Refactor base instruction for clarity and adjust context management instruction formatting
* Simplify changes for now
* Remove unused toolset instructions and simplify test cases for clarity
* Add test cases for issues, notifications, and discussions toolsets in instruction generation
* Update base instruction and test expectations for clarity on tool selection and context management
* Add support for disabling instructions via environment variable
* Clarify PR review workflow instruction for consistency
* Apply suggestions from code review
Co-authored-by: Ksenia Bobrova <almaleksia@github.com>
* Refactor instruction generation and testing for clarity and consistency
---------
Co-authored-by: Ksenia Bobrova <almaleksia@github.com>
* add state_reason param
* add close as duplicate functionality
* refactor and improve tests
* fix state reason validation logic and update tests
* move state and state reason handling to gql
* fix marshal failures
* address latest feedback
* add sliding window for actions logs
* refactor: fix sliding
* remove trim content
* only use up to 1mb of memory for logs
* update to tail lines in second pass
* add better memory usage calculation
* increase window size to 5MB
* update test
* update vers
* undo vers change
* add incremental memory tracking
* use ring buffer
* remove unused ctx param
* remove manual GC clear
* fix cca feedback
* extract ring buffer logic to new package
* handle log content processing errors and use correct param for maxjobloglines
* fix tailing
* account for if tailLines exceeds window size
* add profiling thats reusable
* remove profiler testing
* refactor profiler: introduce safeMemoryDelta for accurate memory delta calculations
* linter fixes
* Update pkg/buffer/buffer.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* use flag for maxJobLogLines
* add param passing for context window size
* refactor: rename contextWindowSize to contentWindowSize for consistency
* fix: use tailLines if bigger but only if <= 5000
* fix: limit tailLines to a maximum of 500 for log content download
* Update cmd/github-mcp-server/main.go
Co-authored-by: Adam Holt <omgitsads@github.com>
* Update cmd/github-mcp-server/main.go
Co-authored-by: Adam Holt <omgitsads@github.com>
* move profiler to internal/
* update actions test with new profiler location
* fix: adjust buffer size limits
* make line buffer 1028kb
* fix mod path
* change test to use same buffer size as normal use
* improve test for non-sliding window implementation to not count empty lines
* make test memory measurement more accurate
* remove impossible conditional
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Adam Holt <omgitsads@github.com>