6.9 KiB
6.9 KiB
issueRef, version, updatedBy, updatedAt
| issueRef | version | updatedBy | updatedAt | ||||
|---|---|---|---|---|---|---|---|
| #297 | 6 |
|
1788979147782 |
Ticket #297 - Unifier Skills et MCP tools
Demande
- Supprimer la saisie manuelle du nom exact pour les tools MCP de plugins.
- Fournir une liste cochable des tools MCP de plugins, comme pour les skills.
- Regrouper tous les skills dans un menu
Skillsunique. - Creer un menu
MCPdedie regroupant tools MCP IdeA et plugins. - Retirer skills plugin et tools MCP du menu agent.
Cadrage UX
- Navigation projet:
Skills,MCP,Permissions. Permissionsreste reserve aux permissions systeme/sandbox.Skills: liste cochable unique, groupee par origine/projet/global/plugin.MCP: liste cochable unique, sectionsIdeAetPlugins, groupes par plugin/serveur si utile.- Les items orphelins/indisponibles restent visibles et retirables.
Cadrage architecture
- Ne pas fusionner les stores persistants.
- Skills IdeA:
Agent.skillsviaSkillGateway. - Skills plugin/tools plugin:
.ideai/project-plugins.jsonviaPluginGateway. - Tools MCP IdeA:
.ideai/mcp-tool-permissions.jsonviaPermissionGateway. - UI: ne plus appeler l'assignation plugin tool avec un nom non catalogue.
Etat
- Ticket cree et passe
inProgresspar Main. - Cadrage UX et Architect obtenu.
- Memoire durable:
ticket297-skills-mcp-unified-surfaces.
Implementation DevFrontend
- Retire la surface de capacites de la fiche agent et supprime
AgentPluginCapabilities.tsx, y compris l'ajout libre d'un nom exact de tool MCP. - Etend le panneau
Skillsexistant avec une cible agent, une recherche et une liste cochable unique groupeeIdeA/Plugins; conserve l'edition CRUD du catalogue natif en dessous. - Ajoute un panneau projet
MCP, disponible dans les menus desktop et web, avec le defaut projet et les agents comme cibles. - Conserve l'editeur des tools MCP IdeA via
PermissionGatewayet ajoute les tools MCP plugins catalogues viaPluginGateway, groupes par plugin/serveur. - Les references natives/plugin absentes du catalogue restent affichees comme
Indisponibleet sont retirables. Un serveur plugin sansmcpServers[].toolsne propose aucune saisie libre; ses anciennes assignations deviennent des tombstones retirables. Permissionsest maintenant reserve aux permissions systeme/sandbox.- Le raccourci de
Parametres > PluginsouvreSkillset le texte renvoie vers les panneauxSkillsetMCP.
Fichiers frontend modifies
frontend/src/features/agents/AgentsPanel.tsxfrontend/src/features/skills/SkillsPanel.tsxfrontend/src/features/skills/skills.test.tsxfrontend/src/features/permissions/McpPanel.tsxfrontend/src/features/permissions/McpToolPermissionsPanel.tsxfrontend/src/features/permissions/McpToolPermissionsPanel.test.tsxfrontend/src/features/permissions/PermissionsPanel.tsxfrontend/src/features/permissions/index.tsfrontend/src/features/plugins/AgentPluginCapabilities.tsx(supprime)frontend/src/features/plugins/ProjectPluginSettings.test.tsxfrontend/src/features/plugins/ProjectPluginsPanel.tsxfrontend/src/features/plugins/index.tsfrontend/src/features/projects/ProjectsView.tsxfrontend/src/features/projects/ViewPanelBody.tsxfrontend/src/features/projects/viewPlacement.tsfrontend/src/features/web/WebWorkspace.tsxfrontend/src/features/web/webSurfaceCatalog.ts
Verification DevFrontend
npm --prefix frontend run build: OK.npm --prefix frontend test -- --run src/features/skills/skills.test.tsx src/features/plugins/ProjectPluginSettings.test.tsx src/features/permissions/McpToolPermissionsPanel.test.tsx: OK, 28 tests.npm --prefix frontend test -- --run src/features/permissions/permissions.test.tsx src/features/projects/viewPlacement.test.ts src/features/web/webWorkspaceSession.test.ts src/features/web/webSurfaceNavigation.test.ts: OK, 24 tests.git diff --check: OK.- Suite frontend complete executee : 1223 tests OK, 32 echecs dans 6 fichiers hors perimetre (principalement attentes historiques des menus web et tests live/conversation instables); les suites directement touchees sont vertes isolees.
Validation QA - 2026-09-09T18:36:15Z
Verdict QA: VERT pour le perimetre #297 sur feature/297-skills-mcp-unified-menus.
Audit independant:
- Diff local relu: l'ancienne surface agent
AgentPluginCapabilitiesest retiree deAgentsPanelet le composant supprime. PermissionsPanelne contient plus l'onglet MCP et reste dedie aux permissions systeme/sandbox.SkillsPaneldevient la surface d'assignation unifiee des skills IdeA + plugin, avec checkbox par agent et tombstones retirables, en conservant les stores separes (SkillGatewaypour IdeA,PluginGatewaypour plugins).McpPanelest expose comme panneau dedie desktop/web; il regroupe les tools MCP IdeA viaPermissionGatewayet les tools MCP plugins catalogues viaPluginGateway.- La saisie libre d'un nom exact de tool MCP plugin n'est plus presente dans le diff ni dans les tests cibles; les serveurs sans catalogue ne proposent que des tombstones retirables si des assignations anciennes existent.
Commandes executees et sorties utiles:
git diff --check
Sortie: aucune sortie, code 0.
npm --prefix frontend test -- --run src/features/skills/skills.test.tsx src/features/plugins/ProjectPluginSettings.test.tsx src/features/permissions/McpToolPermissionsPanel.test.tsx
Sortie utile:
Test Files 3 passed (3)
Tests 28 passed (28)
npm --prefix frontend test -- --run src/features/permissions/permissions.test.tsx src/features/projects/viewPlacement.test.ts src/features/web/webWorkspaceSession.test.ts src/features/web/webSurfaceNavigation.test.ts
Sortie utile:
Test Files 4 passed (4)
Tests 24 passed (24)
npm --prefix frontend run build
Sortie utile:
tsc --noEmit && vite build
515 modules transformed.
dist/index.html 1.13 kB
dist/assets/index-BcSNdddW.css 49.69 kB
dist/assets/index-Cj2HhIoI.js 1,265.10 kB
built in 5.18s
npm --prefix frontend test -- --run
Sortie utile:
Test Files 6 failed | 120 passed (126)
Tests 32 failed | 1223 passed (1255)
Echecs de suite complete isoles hors perimetre #297:
frontend/src/features/projects/ProjectsView.ls7.test.tsx: 3 echecs conversation viewer LS7.frontend/src/features/web/WebAgentCell.test.tsx: 1 echec mobile custom CLI.frontend/src/features/web/WebApp.test.tsx: 3 echecs routing/pairing web.frontend/src/features/web/WebDesktopWorkspace.test.tsx: 1 echec menu/dock web.frontend/src/features/web/WebMenus.test.tsx: 8 echecs menus web historiques.frontend/src/features/web/tickets/WebTicketsSprints.test.tsx: 16 echecs tickets/sprints web.
Conclusion: les suites directement touchees par #297 sont vertes, le build TypeScript/Vite est vert, et la suite complete ne met pas en evidence de regression dans le perimetre #297.