Conversation
Consolidate 8 legacy-named tools into consistent browse_*/manage_* naming: - Remove duplicates: create_branch, list_project_members - Rename: get_users→browse_users, list_todos→browse_todos, list_group_iterations→browse_iterations, create_group→manage_namespace, manage_repository→manage_project, download_attachment→browse_files action - Remove legacy toolRequirements map (~430 lines dead code) - All methods now use actionRequirements exclusively - Update tool descriptions to intent-first format - Add iterations entity (new directory) - Update categories in CLI and setup wizard - Update documentation and tests Result: 44 tools (down from 47), all following CQRS naming convention.
Test Coverage ReportOverall Coverage: 93.47%
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
This PR consolidates legacy tool names into a consistent CQRS naming pattern, reducing the tool count from 47 to 44 while improving maintainability and consistency.
Changes:
- Renamed 5 legacy tools to follow
browse_*/manage_*convention (get_users→browse_users,list_todos→browse_todos,list_group_iterations→browse_iterations,create_group→manage_namespace,manage_repository→manage_project) - Removed 3 duplicate tools by consolidating their functionality into existing tools (
create_branch,list_project_members,download_attachment) - Created new
iterationsentity directory withbrowse_iterationstool supportinglistandgetactions - Removed ~430 lines of legacy
toolRequirementsmap fromToolAvailability.ts, now usingactionRequirementsexclusively
Reviewed changes
Copilot reviewed 43 out of 44 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/entities/iterations/* | New iterations entity with browse_iterations tool (list/get actions) |
| src/entities/core/registry.ts | Renamed manage_repository→manage_project, create_group→manage_namespace, get_users→browse_users, list_todos→browse_todos; removed duplicate tools |
| src/entities/core/schema*.ts | Updated schemas for renamed tools with expanded actions (manage_project now has update/delete/archive/transfer) |
| src/entities/files/* | Consolidated download_attachment action into browse_files tool |
| src/services/ToolAvailability.ts | Removed legacy toolRequirements map (~430 lines), using actionRequirements exclusively |
| tests/unit/* | Updated 10 test files with renamed tool names and adjusted action parameters |
| tests/integration/* | Updated integration tests to use new tool names and action parameters |
| src/profiles/builtin/* | Updated denied_actions to reference manage_project instead of manage_repository |
| docs/* | Updated documentation to reflect 44 tools across 18 entity types |
| src/config.ts, src/registry-manager.ts | Added USE_ITERATIONS feature flag and registry integration |
Comments suppressed due to low confidence (2)
src/entities/core/schema-readonly.ts:1
- Parameter renamed from
actiontotodo_actionto avoid collision with the discriminated union'sactionfield. Consider documenting this naming choice in a comment to clarify why the API parameter 'action' maps to 'todo_action' in the schema.
import { z } from "zod";
tests/unit/cli/setup/presets.test.ts:1
- Temporary workaround skipping validation for the 'commits' category. The comment indicates this should be cleaned up in src. This technical debt should be tracked and resolved to remove the special case handling.
…rowse_users - Test manage_project actions: update, delete, archive, unarchive, transfer - Test manage_namespace actions: update, delete with encoding - Test browse_users: smart search path, get action, isActionDenied - Test browse_todos and manage_todos isActionDenied paths - Remove stale "commits" category from readonly preset - Document todo_action naming in schema
…aming tests - Add browse_files download_attachment action tests (success, null content-type, error) - Add manage_namespace create with all optional parameters test - Add manage_namespace isActionDenied test - Update handlers.test.ts: replace legacy list_/get_ tool names with browse_ CQRS pattern - Add iterations registry mock and USE_ITERATIONS flag to RegistryManager tests
|
🎉 This PR is included in version 6.38.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
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
browse_*/manage_*CQRS naming patterncreate_branch,list_project_members,download_attachment— already exist as actions in consolidated tools)get_users→browse_users,list_todos→browse_todos,list_group_iterations→browse_iterations,create_group→manage_namespace,manage_repository→manage_projecttoolRequirementsmap (~430 lines of dead code) fromToolAvailability.ts— all tier/version gating now usesactionRequirementsexclusivelyiterationsentity directory withbrowse_iterationstool (actions:list,get)Result: 44 tools (down from 47), 18 entity types, all following CQRS naming convention.
Test plan
yarn lint— 0 errorsyarn test— 123 suites, 3779 tests passingyarn build— successfullist-tools --jsonsrc/(grep verified)toolRequirementsreferences remain insrc/Closes #149