* 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 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>
* feat: add GitHub Actions tools for workflow management
- Introduced new tools for managing GitHub Actions workflows, including listing workflows, running workflows, canceling workflow runs, and retrieving workflow run logs.
- Updated README.md to include new `actions` toolset and detailed descriptions of the new tools.
- Added comprehensive tests for the new functionality to ensure reliability and correctness.
* feat: enhance GitHub Actions toolset with additional workflow management capabilities
- Added new tools for managing GitHub Actions, including listing workflows, retrieving workflow run logs, and managing workflow runs.
- Integrated the new `actions` toolset into the default toolset group for improved accessibility.
* feat: enhance GetJobLogs functionality for improved job log retrieval
- Added new tests for GetJobLogs, including scenarios for retrieving logs for both single jobs and failed jobs.
- Updated GetJobLogs tool description to clarify its capabilities for fetching logs efficiently.
- Implemented error handling for missing required parameters and optimized responses for failed job logs.
- Introduced functionality to return actual log content instead of just URLs when requested.
* feat: enhance GetJobLogs functionality for improved job log retrieval
- Added new tests for GetJobLogs, including scenarios for retrieving logs for both single jobs and failed jobs.
- Updated GetJobLogs tool description to clarify its capabilities for fetching logs efficiently.
- Implemented error handling for missing required parameters and optimized responses for failed job logs.
- Introduced functionality to return actual log content instead of just URLs when requested.
* refactor: standardize parameter handling and read-only hints in GitHub Actions tools
- Replaced instances of `requiredParam` with `RequiredParam` for consistency across all tools.
- Updated `toBoolPtr` to `ToBoolPtr` in tool annotations to maintain uniformity in boolean pointer handling.
- Ensured all tools in the GitHub Actions suite adhere to the new naming conventions for improved readability and maintainability.
* docs: add missing actions toolset to Available Toolsets table
* feat: enhance GitHub Actions tool descriptions with enumerated options
- Updated descriptions for workflow run status and job filters to include enumerated options for clarity.
- Improved documentation for better usability and understanding of available parameters.
* feat: expand event type options in GitHub Actions tool descriptions
- Enhanced the event parameter description in the ListWorkflowRuns function to include a comprehensive list of supported event types.
- Improved clarity and usability for users by providing enumerated options for event types in the documentation.
* feat: add support for running workflows by ID and filename in GitHub Actions tools
- Introduced a new tool, RunWorkflowByFileName, to allow users to run workflows using the workflow filename.
- Updated the existing RunWorkflow tool to accept a numeric workflow ID instead of a filename.
- Enhanced tests to cover scenarios for both running workflows by ID and filename, including error handling for missing parameters.
- Improved tool descriptions for clarity and usability.
* feat: standardize repository parameter descriptions in GitHub Actions tools
- Introduced constants for repository owner and name descriptions to enhance consistency across multiple tools.
- Updated all relevant tools to use the new constants for improved clarity and maintainability in parameter descriptions.
* feat: enhance GitHub Actions tools with user-friendly titles
- Added user-friendly titles to tool annotations for various GitHub Actions tools, improving clarity and usability for end-users.
- Updated descriptions for tools including ListWorkflows, ListWorkflowRuns, RunWorkflow, and others to include new titles for better identification and understanding of their functionalities.
* feat: unify workflow execution in GitHub Actions tools
- Refactored the RunWorkflow tool to accept both numeric workflow IDs and filenames, enhancing flexibility for users.
- Updated the corresponding tests to reflect changes in parameter handling and added assertions for workflow type in responses.
- Removed the separate RunWorkflowByFileName tool to streamline functionality and improve code maintainability.
* fix: linting issues