@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.
@@ -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.