@slorenzot/mcp-azure 2.3.5 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/IMPLEMENTATION_SUMMARY.md +103 -0
- package/LICENSE +21 -0
- package/PRD_AZURE_REPOS.md +2573 -0
- package/README.md +118 -3
- package/README_UPDATE_SUMMARY.md +116 -0
- package/dist/index.js +882 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Azure Repos Implementation Summary
|
|
2
|
+
|
|
3
|
+
## Versión: 2.4.0
|
|
4
|
+
|
|
5
|
+
## Fecha: 2026-03-10
|
|
6
|
+
|
|
7
|
+
## Cambios Realizados
|
|
8
|
+
|
|
9
|
+
### 1. Archivos Modificados
|
|
10
|
+
- `src/index.ts`: +1093 líneas (1315 → 2408 líneas)
|
|
11
|
+
- `package.json`: Actualizado versión de 2.3.5 a 2.4.0
|
|
12
|
+
- `dist/index.js`: Regenerado con todas las nuevas funcionalidades
|
|
13
|
+
|
|
14
|
+
### 2. Nuevos Imports (2 módulos)
|
|
15
|
+
- `azure-devops-node-api/GitApi`
|
|
16
|
+
- `azure-devops-node-api/interfaces/GitInterfaces`
|
|
17
|
+
|
|
18
|
+
### 3. Nueva Variable de Estado
|
|
19
|
+
- `gitApiClient: gitApi.IGitApi | null = null`
|
|
20
|
+
|
|
21
|
+
### 4. Nueva Función Getter
|
|
22
|
+
- `getGitApi()`: Obtiene instancia lazy-loaded de Git API
|
|
23
|
+
|
|
24
|
+
### 5. Nuevas Funciones Helper (11)
|
|
25
|
+
- `formatBytes(bytes)`: Formatea bytes a KB/MB/GB
|
|
26
|
+
- `getVoteLabel(vote)`: Convierte valor numérico a etiqueta legible
|
|
27
|
+
- `formatRepository(repo)`: Formatea repositorio individual
|
|
28
|
+
- `formatRepositoryList(repos)`: Formatea lista de repositorios
|
|
29
|
+
- `formatBranchList(refs)`: Formatea lista de branches
|
|
30
|
+
- `formatPullRequest(pr)`: Formatea PR individual completo
|
|
31
|
+
- `formatPullRequestList(prs)`: Formatea lista de PRs
|
|
32
|
+
- `formatReviewer(reviewer)`: Formatea reviewer individual
|
|
33
|
+
- `formatReviewerList(reviewers)`: Formatea lista de reviewers
|
|
34
|
+
- `formatThreadList(threads)`: Formatea lista de hilos de comentarios
|
|
35
|
+
- `formatCommitList(commits)`: Formatea lista de commits
|
|
36
|
+
|
|
37
|
+
### 6. Herramientas Implementadas (19 nuevas)
|
|
38
|
+
|
|
39
|
+
#### Repositorios (3)
|
|
40
|
+
1. `ado_list_repositories`: Lista todos los repositorios del proyecto
|
|
41
|
+
2. `ado_get_repository`: Obtiene detalles de un repositorio específico
|
|
42
|
+
3. `ado_list_branches`: Lista las ramas de un repositorio
|
|
43
|
+
|
|
44
|
+
#### Pull Requests CRUD (6)
|
|
45
|
+
4. `ado_list_pull_requests`: Lista PRs con filtros (por repo o proyecto-wide)
|
|
46
|
+
5. `ado_get_pull_request`: Obtiene detalles completos de un PR
|
|
47
|
+
6. `ado_create_pull_request`: Crea un nuevo PR
|
|
48
|
+
7. `ado_update_pull_request`: Actualiza propiedades de un PR
|
|
49
|
+
8. `ado_complete_pull_request`: Completa (merge) un PR con opciones de estrategia
|
|
50
|
+
9. `ado_abandon_pull_request`: Abandona un PR
|
|
51
|
+
|
|
52
|
+
#### Pull Request Reviews (4)
|
|
53
|
+
10. `ado_approve_pull_request`: Aprueba un PR (voto: 10)
|
|
54
|
+
11. `ado_reject_pull_request`: Rechaza un PR (voto: -10)
|
|
55
|
+
12. `ado_get_pull_request_reviewers`: Obtiene todos los revisores de un PR
|
|
56
|
+
13. `ado_add_pull_request_reviewer`: Agrega un revisor a un PR
|
|
57
|
+
|
|
58
|
+
#### Pull Request Comments (3)
|
|
59
|
+
14. `ado_get_pull_request_threads`: Obtiene todos los hilos de comentarios
|
|
60
|
+
15. `ado_create_pull_request_thread`: Crea un nuevo hilo (general o código)
|
|
61
|
+
16. `ado_reply_to_pull_request_thread`: Responde a un hilo existente
|
|
62
|
+
|
|
63
|
+
#### Pull Request Info (3)
|
|
64
|
+
17. `ado_get_pull_request_commits`: Obtiene commits de un PR
|
|
65
|
+
18. `ado_get_pull_request_work_items`: Obtiene work items vinculados
|
|
66
|
+
19. `ado_update_pull_request_thread_status`: Actualiza estado de hilo
|
|
67
|
+
|
|
68
|
+
### 7. Actualizaciones de Configuración
|
|
69
|
+
- `ado_configure`: Ahora resetea `gitApiClient` al reconfigurar
|
|
70
|
+
- `autoConfigureFromEnv`: Ahora resetea `gitApiClient` al auto-configurar
|
|
71
|
+
- `getConnection`: Mensaje de error actualizado para incluir scope Code
|
|
72
|
+
|
|
73
|
+
## Estadísticas
|
|
74
|
+
|
|
75
|
+
| Métrica | Valor |
|
|
76
|
+
|----------|--------|
|
|
77
|
+
| Herramientas totales | 34 (14 existentes + 19 nuevas) |
|
|
78
|
+
| Líneas de código fuente | 2408 (de 1315) |
|
|
79
|
+
| Nuevos módulos importados | 2 |
|
|
80
|
+
| Nuevas funciones helper | 11 |
|
|
81
|
+
| Categorías de Azure Repos | 5 (Repos, PR CRUD, Reviews, Comments, Info) |
|
|
82
|
+
|
|
83
|
+
## Verificación
|
|
84
|
+
|
|
85
|
+
✅ Build exitoso sin errores de TypeScript
|
|
86
|
+
✅ Servidor MCP inicia correctamente
|
|
87
|
+
✅ Todas las herramientas siguen las convenciones existentes
|
|
88
|
+
✅ No breaking changes a funcionalidad existente
|
|
89
|
+
✅ PAT scope requerido: Code (Read & Write)
|
|
90
|
+
|
|
91
|
+
## Próximos Pasos Recomendados
|
|
92
|
+
|
|
93
|
+
1. Actualizar README.md con documentación de las nuevas herramientas
|
|
94
|
+
2. Ejecutar pruebas manuales según el checklist del PRD
|
|
95
|
+
3. Publicar a npm: `npm publish`
|
|
96
|
+
4. Considerar agregar prompts de MCP para workflows comunes de PRs
|
|
97
|
+
|
|
98
|
+
## Notas
|
|
99
|
+
|
|
100
|
+
- La implementación sigue exactamente el patrón del código existente
|
|
101
|
+
- Todas las herramientas tienen manejo de errores con try-catch
|
|
102
|
+
- Los responses usan el formato `{ content: [{ type: "text", text: "..." }] }`
|
|
103
|
+
- Las funciones helper son consistentes con las existentes
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Soulberto Lorenzo
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|