@achieveai/azuredevops-mcp 1.3.17 → 1.3.19

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.
Files changed (119) hide show
  1. package/README.md +76 -0
  2. package/dist/Interfaces/Common.js +37 -1
  3. package/dist/Interfaces/Common.js.map +1 -1
  4. package/dist/Services/AzureDevOpsService.js +234 -32
  5. package/dist/Services/AzureDevOpsService.js.map +1 -1
  6. package/dist/Services/BoardsSprintsService.js +111 -13
  7. package/dist/Services/BoardsSprintsService.js.map +1 -1
  8. package/dist/Services/BuildService.js +157 -24
  9. package/dist/Services/BuildService.js.map +1 -1
  10. package/dist/Services/GitService.js +26 -3
  11. package/dist/Services/GitService.js.map +1 -1
  12. package/dist/Services/ProjectService.js +47 -6
  13. package/dist/Services/ProjectService.js.map +1 -1
  14. package/dist/Services/WorkItemService.js +183 -170
  15. package/dist/Services/WorkItemService.js.map +1 -1
  16. package/dist/Tools/BoardsSprintsTools.js +2 -8
  17. package/dist/Tools/BoardsSprintsTools.js.map +1 -1
  18. package/dist/Tools/BuildTools.js +5 -8
  19. package/dist/Tools/BuildTools.js.map +1 -1
  20. package/dist/Tools/GitTools.js +177 -62
  21. package/dist/Tools/GitTools.js.map +1 -1
  22. package/dist/Tools/WorkItemTools.js +110 -172
  23. package/dist/Tools/WorkItemTools.js.map +1 -1
  24. package/dist/index.js +31 -26
  25. package/dist/index.js.map +1 -1
  26. package/dist/utils/apiUsageGuidance.js +336 -0
  27. package/dist/utils/apiUsageGuidance.js.map +1 -0
  28. package/dist/utils/formatHelpers.js +15 -0
  29. package/dist/utils/formatHelpers.js.map +1 -1
  30. package/package.json +3 -3
  31. package/dist/Services/BuildService.project.test.js +0 -91
  32. package/dist/Services/BuildService.project.test.js.map +0 -1
  33. package/dist/Services/GitService.project.test.js +0 -407
  34. package/dist/Services/GitService.project.test.js.map +0 -1
  35. package/dist/package.json +0 -59
  36. package/dist/src/Interfaces/AIAssisted.js +0 -3
  37. package/dist/src/Interfaces/AIAssisted.js.map +0 -1
  38. package/dist/src/Interfaces/ArtifactManagement.js +0 -3
  39. package/dist/src/Interfaces/ArtifactManagement.js.map +0 -1
  40. package/dist/src/Interfaces/AzureDevOps.js +0 -3
  41. package/dist/src/Interfaces/AzureDevOps.js.map +0 -1
  42. package/dist/src/Interfaces/BoardsAndSprints.js +0 -3
  43. package/dist/src/Interfaces/BoardsAndSprints.js.map +0 -1
  44. package/dist/src/Interfaces/CodeAndRepositories.js +0 -3
  45. package/dist/src/Interfaces/CodeAndRepositories.js.map +0 -1
  46. package/dist/src/Interfaces/Common.js +0 -134
  47. package/dist/src/Interfaces/Common.js.map +0 -1
  48. package/dist/src/Interfaces/CostResourceManagement.js +0 -3
  49. package/dist/src/Interfaces/CostResourceManagement.js.map +0 -1
  50. package/dist/src/Interfaces/DevSecOps.js +0 -3
  51. package/dist/src/Interfaces/DevSecOps.js.map +0 -1
  52. package/dist/src/Interfaces/ExternalIntegrations.js +0 -3
  53. package/dist/src/Interfaces/ExternalIntegrations.js.map +0 -1
  54. package/dist/src/Interfaces/HybridCrossPlatform.js +0 -3
  55. package/dist/src/Interfaces/HybridCrossPlatform.js.map +0 -1
  56. package/dist/src/Interfaces/Pipelines.js +0 -3
  57. package/dist/src/Interfaces/Pipelines.js.map +0 -1
  58. package/dist/src/Interfaces/ProjectManagement.js +0 -3
  59. package/dist/src/Interfaces/ProjectManagement.js.map +0 -1
  60. package/dist/src/Interfaces/TestingCapabilities.js +0 -3
  61. package/dist/src/Interfaces/TestingCapabilities.js.map +0 -1
  62. package/dist/src/Interfaces/Wiki.js +0 -3
  63. package/dist/src/Interfaces/Wiki.js.map +0 -1
  64. package/dist/src/Interfaces/WorkItems.js +0 -3
  65. package/dist/src/Interfaces/WorkItems.js.map +0 -1
  66. package/dist/src/Services/AIAssistedDevelopmentService.js +0 -195
  67. package/dist/src/Services/AIAssistedDevelopmentService.js.map +0 -1
  68. package/dist/src/Services/ArtifactManagementService.js +0 -346
  69. package/dist/src/Services/ArtifactManagementService.js.map +0 -1
  70. package/dist/src/Services/AzureDevOpsService.js +0 -385
  71. package/dist/src/Services/AzureDevOpsService.js.map +0 -1
  72. package/dist/src/Services/BoardsSprintsService.js +0 -339
  73. package/dist/src/Services/BoardsSprintsService.js.map +0 -1
  74. package/dist/src/Services/BuildService.js +0 -405
  75. package/dist/src/Services/BuildService.js.map +0 -1
  76. package/dist/src/Services/DevSecOpsService.js +0 -307
  77. package/dist/src/Services/DevSecOpsService.js.map +0 -1
  78. package/dist/src/Services/EntraAuthHandler.js +0 -337
  79. package/dist/src/Services/EntraAuthHandler.js.map +0 -1
  80. package/dist/src/Services/GitService.js +0 -1595
  81. package/dist/src/Services/GitService.js.map +0 -1
  82. package/dist/src/Services/ProjectService.js +0 -257
  83. package/dist/src/Services/ProjectService.js.map +0 -1
  84. package/dist/src/Services/TestingCapabilitiesService.js +0 -149
  85. package/dist/src/Services/TestingCapabilitiesService.js.map +0 -1
  86. package/dist/src/Services/WikiService.js +0 -90
  87. package/dist/src/Services/WikiService.js.map +0 -1
  88. package/dist/src/Services/WorkItemService.js +0 -885
  89. package/dist/src/Services/WorkItemService.js.map +0 -1
  90. package/dist/src/Tools/AIAssistedDevelopmentTools.js +0 -137
  91. package/dist/src/Tools/AIAssistedDevelopmentTools.js.map +0 -1
  92. package/dist/src/Tools/ArtifactManagementTools.js +0 -140
  93. package/dist/src/Tools/ArtifactManagementTools.js.map +0 -1
  94. package/dist/src/Tools/BoardsSprintsTools.js +0 -338
  95. package/dist/src/Tools/BoardsSprintsTools.js.map +0 -1
  96. package/dist/src/Tools/BuildTools.js +0 -468
  97. package/dist/src/Tools/BuildTools.js.map +0 -1
  98. package/dist/src/Tools/DevSecOpsTools.js +0 -147
  99. package/dist/src/Tools/DevSecOpsTools.js.map +0 -1
  100. package/dist/src/Tools/GitTools.js +0 -1475
  101. package/dist/src/Tools/GitTools.js.map +0 -1
  102. package/dist/src/Tools/ProjectTools.js +0 -360
  103. package/dist/src/Tools/ProjectTools.js.map +0 -1
  104. package/dist/src/Tools/TestingCapabilitiesTools.js +0 -157
  105. package/dist/src/Tools/TestingCapabilitiesTools.js.map +0 -1
  106. package/dist/src/Tools/WikiTools.js +0 -137
  107. package/dist/src/Tools/WikiTools.js.map +0 -1
  108. package/dist/src/Tools/WorkItemTools.js +0 -862
  109. package/dist/src/Tools/WorkItemTools.js.map +0 -1
  110. package/dist/src/config.js +0 -176
  111. package/dist/src/config.js.map +0 -1
  112. package/dist/src/index.js +0 -1716
  113. package/dist/src/index.js.map +0 -1
  114. package/dist/src/utils/formatHelpers.js +0 -257
  115. package/dist/src/utils/formatHelpers.js.map +0 -1
  116. package/dist/src/utils/getClassMethods.js +0 -8
  117. package/dist/src/utils/getClassMethods.js.map +0 -1
  118. package/dist/src/utils/repositoryResolver.js +0 -40
  119. package/dist/src/utils/repositoryResolver.js.map +0 -1
@@ -1,339 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BoardsSprintsService = void 0;
4
- const AzureDevOpsService_1 = require("./AzureDevOpsService");
5
- class BoardsSprintsService extends AzureDevOpsService_1.AzureDevOpsService {
6
- constructor(config) {
7
- super(config);
8
- }
9
- /**
10
- * Get the Work API client
11
- */
12
- async getWorkApi() {
13
- return await this.connection.getWorkApi();
14
- }
15
- /**
16
- * Get the Core API client
17
- */
18
- async getCoreApi() {
19
- return await this.connection.getCoreApi();
20
- }
21
- /**
22
- * Get team context
23
- */
24
- getTeamContext(teamId) {
25
- return {
26
- project: this.config.project,
27
- team: teamId
28
- };
29
- }
30
- /**
31
- * Get all boards
32
- */
33
- async getBoards(params) {
34
- try {
35
- const workApi = await this.getWorkApi();
36
- const teamContext = this.getTeamContext(params.teamId);
37
- const boards = await this.withAuthRetry(() => workApi.getBoards(teamContext), {
38
- operationName: 'boards.list',
39
- details: {
40
- project: this.config.project,
41
- teamId: params.teamId,
42
- },
43
- });
44
- return boards;
45
- }
46
- catch (error) {
47
- console.error('Error getting boards:', error);
48
- throw error;
49
- }
50
- }
51
- /**
52
- * Get board columns
53
- */
54
- async getBoardColumns(params) {
55
- try {
56
- const workApi = await this.getWorkApi();
57
- const teamContext = this.getTeamContext(params.teamId);
58
- const columns = await this.withAuthRetry(() => workApi.getBoardColumns(teamContext, params.boardId), {
59
- operationName: 'boards.columns.list',
60
- details: {
61
- project: this.config.project,
62
- teamId: params.teamId,
63
- boardId: params.boardId,
64
- },
65
- });
66
- return columns;
67
- }
68
- catch (error) {
69
- console.error(`Error getting columns for board ${params.boardId}:`, error);
70
- throw error;
71
- }
72
- }
73
- /**
74
- * Get board items
75
- */
76
- async getBoardItems(params) {
77
- try {
78
- const workApi = await this.getWorkApi();
79
- const teamContext = this.getTeamContext(params.teamId);
80
- // Get board cards - use a different approach since getCardsBySettings doesn't exist
81
- // First get the board
82
- const board = await this.withAuthRetry(() => workApi.getBoard(teamContext, params.boardId), {
83
- operationName: 'boards.get',
84
- details: {
85
- project: this.config.project,
86
- teamId: params.teamId,
87
- boardId: params.boardId,
88
- },
89
- });
90
- // Then get the board columns
91
- const columns = await this.withAuthRetry(() => workApi.getBoardColumns(teamContext, params.boardId), {
92
- operationName: 'boards.items.columns',
93
- details: {
94
- project: this.config.project,
95
- teamId: params.teamId,
96
- boardId: params.boardId,
97
- },
98
- });
99
- // Combine the data
100
- return {
101
- board,
102
- columns
103
- };
104
- }
105
- catch (error) {
106
- console.error(`Error getting board items for board ${params.boardId}:`, error);
107
- throw error;
108
- }
109
- }
110
- /**
111
- * Move a card on board
112
- */
113
- async moveCardOnBoard(params) {
114
- try {
115
- const workApi = await this.getWorkApi();
116
- const teamContext = this.getTeamContext(params.teamId);
117
- // We need to update the work item to change its board column
118
- // This often requires knowing the field mappings for the board
119
- // This is a simplified implementation that assumes standard mappings
120
- const updateData = {
121
- id: params.workItemId,
122
- fields: {
123
- "System.BoardColumn": params.columnId
124
- }
125
- };
126
- // The proper implementation would use the board's column mappings
127
- // For now, we return the update data as confirmation
128
- return updateData;
129
- }
130
- catch (error) {
131
- console.error(`Error moving card ${params.workItemId} on board ${params.boardId}:`, error);
132
- throw error;
133
- }
134
- }
135
- /**
136
- * Get all sprints
137
- */
138
- async getSprints(params) {
139
- try {
140
- const workApi = await this.getWorkApi();
141
- const teamContext = this.getTeamContext(params.teamId);
142
- const sprints = await this.withAuthRetry(() => workApi.getTeamIterations(teamContext), {
143
- operationName: 'sprints.list',
144
- details: {
145
- project: this.config.project,
146
- teamId: params.teamId,
147
- },
148
- });
149
- return sprints;
150
- }
151
- catch (error) {
152
- console.error('Error getting sprints:', error);
153
- throw error;
154
- }
155
- }
156
- /**
157
- * Get current sprint
158
- */
159
- async getCurrentSprint(params) {
160
- try {
161
- const workApi = await this.getWorkApi();
162
- const teamContext = this.getTeamContext(params.teamId);
163
- const currentIterations = await this.withAuthRetry(() => workApi.getTeamIterations(teamContext, "current"), {
164
- operationName: 'sprints.current',
165
- details: {
166
- project: this.config.project,
167
- teamId: params.teamId,
168
- },
169
- });
170
- return currentIterations && currentIterations.length > 0 ? currentIterations[0] : null;
171
- }
172
- catch (error) {
173
- console.error('Error getting current sprint:', error);
174
- throw error;
175
- }
176
- }
177
- /**
178
- * Get sprint work items
179
- */
180
- async getSprintWorkItems(params) {
181
- try {
182
- const workApi = await this.getWorkApi();
183
- const teamContext = this.getTeamContext(params.teamId);
184
- const throttleNotices = [];
185
- const workItems = await this.withAuthRetry(() => workApi.getIterationWorkItems(teamContext, params.sprintId), {
186
- operationName: 'boards.sprint.getIterationWorkItems',
187
- details: {
188
- project: this.config.project,
189
- sprintId: params.sprintId,
190
- teamId: params.teamId,
191
- },
192
- }, throttleNotices);
193
- const sprintItems = workItems;
194
- const itemRefs = sprintItems?.workItems || sprintItems?.workItemRelations || [];
195
- const hydratedWorkItems = await this.hydrateWorkItemRefs(Array.isArray(itemRefs) ? itemRefs : [], {
196
- fields: params.fields,
197
- extractId: (item) => item?.target?.id || item?.id || item?.workItem?.id,
198
- operationName: 'boards.sprint.batchHydrate',
199
- throttleAccumulator: throttleNotices,
200
- });
201
- return {
202
- ...workItems,
203
- workItems: hydratedWorkItems,
204
- count: hydratedWorkItems.length,
205
- throttleInfo: AzureDevOpsService_1.AzureDevOpsService.buildThrottleInfo(throttleNotices),
206
- };
207
- }
208
- catch (error) {
209
- console.error(`Error getting work items for sprint ${params.sprintId}:`, error);
210
- throw error;
211
- }
212
- }
213
- /**
214
- * Get board cards
215
- */
216
- async getBoardCards(params) {
217
- try {
218
- const workApi = await this.getWorkApi();
219
- const teamContext = this.getTeamContext(params.teamId);
220
- // Get board charts instead of cards since getBoardCards doesn't exist
221
- const charts = await this.withAuthRetry(() => workApi.getBoardCharts(teamContext, params.boardId), {
222
- operationName: 'boards.charts.list',
223
- details: {
224
- project: this.config.project,
225
- teamId: params.teamId,
226
- boardId: params.boardId,
227
- },
228
- });
229
- return charts;
230
- }
231
- catch (error) {
232
- console.error(`Error getting board charts for board ${params.boardId}:`, error);
233
- throw error;
234
- }
235
- }
236
- /**
237
- * Get sprint capacity
238
- */
239
- async getSprintCapacity(params) {
240
- try {
241
- const workApi = await this.getWorkApi();
242
- const teamContext = this.getTeamContext(params.teamId);
243
- // Get team settings instead of capacities since getCapacities doesn't exist
244
- const teamSettings = await this.withAuthRetry(() => workApi.getTeamSettings(teamContext), {
245
- operationName: 'sprints.capacity.teamSettings',
246
- details: {
247
- project: this.config.project,
248
- teamId: params.teamId,
249
- sprintId: params.sprintId,
250
- },
251
- });
252
- // Return team settings as a workaround
253
- return {
254
- teamSettings,
255
- sprintId: params.sprintId,
256
- message: "Direct capacity API not available, returning team settings instead"
257
- };
258
- }
259
- catch (error) {
260
- console.error(`Error getting capacity for sprint ${params.sprintId}:`, error);
261
- throw error;
262
- }
263
- }
264
- /**
265
- * Get team members
266
- */
267
- async getTeamMembers(params) {
268
- try {
269
- const coreApi = await this.getCoreApi();
270
- const teamId = params.teamId || this.config.project;
271
- // Get team members with extended properties
272
- const members = await this.withAuthRetry(() => coreApi.getTeamMembersWithExtendedProperties(this.config.project, teamId), {
273
- operationName: 'teams.members.list',
274
- details: {
275
- project: this.config.project,
276
- teamId,
277
- },
278
- });
279
- // Transform to streamlined format for MCP tool consumption
280
- if (members && Array.isArray(members)) {
281
- const streamlined = members.map((member) => ({
282
- displayName: member.identity?.displayName,
283
- uniqueName: member.identity?.uniqueName,
284
- isTeamAdmin: member.isTeamAdmin || false
285
- }));
286
- return streamlined;
287
- }
288
- return members;
289
- }
290
- catch (error) {
291
- console.error(`Error getting team members for team ${params.teamId}:`, error);
292
- throw error;
293
- }
294
- }
295
- /**
296
- * Get teams in the configured project with pagination
297
- */
298
- async getTeams(top, skip) {
299
- try {
300
- const coreApi = await this.getCoreApi();
301
- const teams = await this.withAuthRetry(() => coreApi.getTeams(this.config.project, undefined, top ?? 100, skip), {
302
- operationName: 'teams.list',
303
- details: {
304
- project: this.config.project,
305
- top: top ?? 100,
306
- skip,
307
- },
308
- });
309
- return teams;
310
- }
311
- catch (error) {
312
- console.error('Error getting teams:', error);
313
- throw error;
314
- }
315
- }
316
- /**
317
- * Helper to get default team ID
318
- */
319
- async getDefaultTeamId() {
320
- try {
321
- const coreApi = await this.getCoreApi();
322
- const teams = await this.withAuthRetry(() => coreApi.getTeams(this.config.project), {
323
- operationName: 'teams.default.lookup',
324
- details: {
325
- project: this.config.project,
326
- },
327
- });
328
- // Find the default team, which often has the same name as the project
329
- const defaultTeam = teams.find(team => team.name === this.config.project) || teams[0];
330
- return defaultTeam.id;
331
- }
332
- catch (error) {
333
- console.error('Error getting default team ID:', error);
334
- throw error;
335
- }
336
- }
337
- }
338
- exports.BoardsSprintsService = BoardsSprintsService;
339
- //# sourceMappingURL=BoardsSprintsService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BoardsSprintsService.js","sourceRoot":"","sources":["../../../src/Services/BoardsSprintsService.ts"],"names":[],"mappings":"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"}