feat(tiers): add action-level tier requirements for consolidated tools#77
Merged
feat(tiers): add action-level tier requirements for consolidated tools#77
Conversation
Add action-level tier requirements mapping: - Add ToolActionRequirements interface for action-specific tiers - Add actionRequirements map with all consolidated tools - Add getActionRequirement() for action-specific tier lookups - Add getHighestTier() to get max tier for any tool action - Add getTierRestrictedActions() to list premium/ultimate actions - Update getToolRequirement() to support action parameter - Update isToolAvailable() to check action-specific tiers - Update getToolTierInfo() in list-tools.ts for action tiers - Add Tier column to actions table in --export output - Update tests for new tier functionality Closes #48
7 tasks
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
📊 Test Coverage ReportOverall Coverage: 89.6% Coverage Details
Coverage Report: View detailed coverage report
|
There was a problem hiding this comment.
Pull request overview
This PR adds action-level tier requirements for consolidated tools in the GitLab MCP server, enabling more granular tier tracking per action. The changes support displaying tier information for individual actions in exported documentation and enable runtime availability checks based on action-specific requirements.
Changes:
- Added action-level tier requirement data structures and methods (
getActionRequirement,getHighestTier,getTierRestrictedActions) - Updated
--exportmode to display tier information in the Actions table - Modified tier display logic to show asterisk for tools with mixed-tier actions
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/services/ToolAvailability.ts | Adds new interfaces (ActionRequirement, ToolActionRequirements), comprehensive action-level tier mapping for 30+ tools, and new methods for querying tier requirements at action and tool levels |
| src/cli/list-tools.ts | Updates getToolTierInfo to support action-specific tier lookups and modifies export markdown generation to include tier column in actions table |
| tests/unit/cli/list-tools.test.ts | Updates test mocks to support new ToolAvailability methods and adjusts test expectations for new Tier column in actions table |
…el tests - Use replaceAll for complete bracket removal in tier display - Fix mixed tier detection to compare default vs highest tier - Add tests for getActionRequirement, getHighestTier, getTierRestrictedActions - Add tests for isToolAvailable with action parameter
- Extract TIER_ORDER constant to avoid duplication in tier comparison methods - Fix getAvailableTools to include tools from both legacy and action requirements - Add JSDoc documenting asterisk notation for mixed tiers in getTierBadge - Replace replaceAll with regex replace for broader Node.js compatibility - Add tests for getToolRequirement with action parameter - Add tests for isToolAvailable version checking with actions - Add tests for getAvailableTools combining both requirement sources
sw-release-bot bot
pushed a commit
that referenced
this pull request
Jan 21, 2026
## [6.18.0](v6.17.0...v6.18.0) (2026-01-21) ### Features * **errors:** add structured error handling with tier awareness ([#75](#75)) ([2b5088c](2b5088c)), closes [#50](#50) [#50](#50) * **mrs:** implement GitLab Suggestions API integration ([#70](#70)) ([b9ca090](b9ca090)), closes [#66](#66) * **tiers:** add action-level tier requirements for consolidated tools ([#77](#77)) ([8e5ae0e](8e5ae0e)), closes [#48](#48)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--exportdocumentationFeatures
Action-Level Tier Requirements
Each consolidated tool now has tier requirements defined at the action level:
New API Methods
getActionRequirement(toolName, action?)- Get tier requirement for specific actiongetHighestTier(toolName)- Get highest tier required by any actiongetTierRestrictedActions(toolName, tier)- List actions requiring premium/ultimateExport Documentation
Actions table now includes Tier column:
Test plan
--exportoutputCloses #48