@achieveai/azuredevops-mcp 1.3.16 → 1.3.17

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 (94) hide show
  1. package/dist/Services/AzureDevOpsService.js +4 -3
  2. package/dist/Services/AzureDevOpsService.js.map +1 -1
  3. package/dist/Services/WorkItemService.js +105 -25
  4. package/dist/Services/WorkItemService.js.map +1 -1
  5. package/dist/Tools/WorkItemTools.js +1 -1
  6. package/dist/Tools/WorkItemTools.js.map +1 -1
  7. package/dist/index.js +5 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/package.json +59 -0
  10. package/dist/src/Interfaces/AIAssisted.js +3 -0
  11. package/dist/src/Interfaces/AIAssisted.js.map +1 -0
  12. package/dist/src/Interfaces/ArtifactManagement.js +3 -0
  13. package/dist/src/Interfaces/ArtifactManagement.js.map +1 -0
  14. package/dist/src/Interfaces/AzureDevOps.js +3 -0
  15. package/dist/src/Interfaces/AzureDevOps.js.map +1 -0
  16. package/dist/src/Interfaces/BoardsAndSprints.js +3 -0
  17. package/dist/src/Interfaces/BoardsAndSprints.js.map +1 -0
  18. package/dist/src/Interfaces/CodeAndRepositories.js +3 -0
  19. package/dist/src/Interfaces/CodeAndRepositories.js.map +1 -0
  20. package/dist/src/Interfaces/Common.js +134 -0
  21. package/dist/src/Interfaces/Common.js.map +1 -0
  22. package/dist/src/Interfaces/CostResourceManagement.js +3 -0
  23. package/dist/src/Interfaces/CostResourceManagement.js.map +1 -0
  24. package/dist/src/Interfaces/DevSecOps.js +3 -0
  25. package/dist/src/Interfaces/DevSecOps.js.map +1 -0
  26. package/dist/src/Interfaces/ExternalIntegrations.js +3 -0
  27. package/dist/src/Interfaces/ExternalIntegrations.js.map +1 -0
  28. package/dist/src/Interfaces/HybridCrossPlatform.js +3 -0
  29. package/dist/src/Interfaces/HybridCrossPlatform.js.map +1 -0
  30. package/dist/src/Interfaces/Pipelines.js +3 -0
  31. package/dist/src/Interfaces/Pipelines.js.map +1 -0
  32. package/dist/src/Interfaces/ProjectManagement.js +3 -0
  33. package/dist/src/Interfaces/ProjectManagement.js.map +1 -0
  34. package/dist/src/Interfaces/TestingCapabilities.js +3 -0
  35. package/dist/src/Interfaces/TestingCapabilities.js.map +1 -0
  36. package/dist/src/Interfaces/Wiki.js +3 -0
  37. package/dist/src/Interfaces/Wiki.js.map +1 -0
  38. package/dist/src/Interfaces/WorkItems.js +3 -0
  39. package/dist/src/Interfaces/WorkItems.js.map +1 -0
  40. package/dist/src/Services/AIAssistedDevelopmentService.js +195 -0
  41. package/dist/src/Services/AIAssistedDevelopmentService.js.map +1 -0
  42. package/dist/src/Services/ArtifactManagementService.js +346 -0
  43. package/dist/src/Services/ArtifactManagementService.js.map +1 -0
  44. package/dist/src/Services/AzureDevOpsService.js +385 -0
  45. package/dist/src/Services/AzureDevOpsService.js.map +1 -0
  46. package/dist/src/Services/BoardsSprintsService.js +339 -0
  47. package/dist/src/Services/BoardsSprintsService.js.map +1 -0
  48. package/dist/src/Services/BuildService.js +405 -0
  49. package/dist/src/Services/BuildService.js.map +1 -0
  50. package/dist/src/Services/DevSecOpsService.js +307 -0
  51. package/dist/src/Services/DevSecOpsService.js.map +1 -0
  52. package/dist/src/Services/EntraAuthHandler.js +337 -0
  53. package/dist/src/Services/EntraAuthHandler.js.map +1 -0
  54. package/dist/src/Services/GitService.js +1595 -0
  55. package/dist/src/Services/GitService.js.map +1 -0
  56. package/dist/src/Services/ProjectService.js +257 -0
  57. package/dist/src/Services/ProjectService.js.map +1 -0
  58. package/dist/src/Services/TestingCapabilitiesService.js +149 -0
  59. package/dist/src/Services/TestingCapabilitiesService.js.map +1 -0
  60. package/dist/src/Services/WikiService.js +90 -0
  61. package/dist/src/Services/WikiService.js.map +1 -0
  62. package/dist/src/Services/WorkItemService.js +885 -0
  63. package/dist/src/Services/WorkItemService.js.map +1 -0
  64. package/dist/src/Tools/AIAssistedDevelopmentTools.js +137 -0
  65. package/dist/src/Tools/AIAssistedDevelopmentTools.js.map +1 -0
  66. package/dist/src/Tools/ArtifactManagementTools.js +140 -0
  67. package/dist/src/Tools/ArtifactManagementTools.js.map +1 -0
  68. package/dist/src/Tools/BoardsSprintsTools.js +338 -0
  69. package/dist/src/Tools/BoardsSprintsTools.js.map +1 -0
  70. package/dist/src/Tools/BuildTools.js +468 -0
  71. package/dist/src/Tools/BuildTools.js.map +1 -0
  72. package/dist/src/Tools/DevSecOpsTools.js +147 -0
  73. package/dist/src/Tools/DevSecOpsTools.js.map +1 -0
  74. package/dist/src/Tools/GitTools.js +1475 -0
  75. package/dist/src/Tools/GitTools.js.map +1 -0
  76. package/dist/src/Tools/ProjectTools.js +360 -0
  77. package/dist/src/Tools/ProjectTools.js.map +1 -0
  78. package/dist/src/Tools/TestingCapabilitiesTools.js +157 -0
  79. package/dist/src/Tools/TestingCapabilitiesTools.js.map +1 -0
  80. package/dist/src/Tools/WikiTools.js +137 -0
  81. package/dist/src/Tools/WikiTools.js.map +1 -0
  82. package/dist/src/Tools/WorkItemTools.js +862 -0
  83. package/dist/src/Tools/WorkItemTools.js.map +1 -0
  84. package/dist/src/config.js +176 -0
  85. package/dist/src/config.js.map +1 -0
  86. package/dist/src/index.js +1716 -0
  87. package/dist/src/index.js.map +1 -0
  88. package/dist/src/utils/formatHelpers.js +257 -0
  89. package/dist/src/utils/formatHelpers.js.map +1 -0
  90. package/dist/src/utils/getClassMethods.js +8 -0
  91. package/dist/src/utils/getClassMethods.js.map +1 -0
  92. package/dist/src/utils/repositoryResolver.js +40 -0
  93. package/dist/src/utils/repositoryResolver.js.map +1 -0
  94. package/package.json +1 -1
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BoardsSprintsToolMethods = exports.BoardsSprintsTools = void 0;
7
+ const BoardsSprintsService_1 = require("../Services/BoardsSprintsService");
8
+ const Common_1 = require("../Interfaces/Common");
9
+ const getClassMethods_1 = __importDefault(require("../utils/getClassMethods"));
10
+ const formatHelpers_1 = require("../utils/formatHelpers");
11
+ class BoardsSprintsTools {
12
+ constructor(config) {
13
+ this.boardsSprintsService = new BoardsSprintsService_1.BoardsSprintsService(config);
14
+ }
15
+ /**
16
+ * Get all boards
17
+ */
18
+ async getBoards(params) {
19
+ try {
20
+ const boards = await this.boardsSprintsService.getBoards(params);
21
+ const items = Array.isArray(boards) ? boards : [];
22
+ if (items.length === 0) {
23
+ return (0, Common_1.formatMcpResponse)(boards, `## Boards\n\nNo boards found.\n\nšŸ’” Check your team settings or use \`getTeams\` to verify the team ID.`);
24
+ }
25
+ let md = `## Boards\n\n**${items.length} board${items.length !== 1 ? 's' : ''}**\n\n`;
26
+ const rows = items.map((b) => [b.name || 'N/A', b.id || 'N/A']);
27
+ md += (0, formatHelpers_1.markdownTable)(['Name', 'ID'], rows);
28
+ return (0, Common_1.formatMcpResponse)(boards, md, false, true);
29
+ }
30
+ catch (error) {
31
+ console.error('Error in getBoards tool:', error);
32
+ return (0, Common_1.formatErrorResponse)(error);
33
+ }
34
+ }
35
+ /**
36
+ * Get board columns
37
+ */
38
+ async getBoardColumns(params) {
39
+ try {
40
+ const columns = await this.boardsSprintsService.getBoardColumns(params);
41
+ const items = Array.isArray(columns) ? columns : [];
42
+ if (items.length === 0) {
43
+ return (0, Common_1.formatMcpResponse)(columns, `## Board Columns\n\nNo columns found for board \`${params.boardId}\`.\n\nšŸ’” Verify the board ID using \`getBoards\`.`);
44
+ }
45
+ let md = `## Board Columns\n\n**${items.length} columns** for board \`${params.boardId}\`\n\n`;
46
+ const rows = items.map((c) => [
47
+ c.name || 'N/A',
48
+ c.columnType || c.stateMappings ? 'Mapped' : 'N/A',
49
+ c.itemLimit ? String(c.itemLimit) : '-'
50
+ ]);
51
+ md += (0, formatHelpers_1.markdownTable)(['Name', 'Type', 'WIP Limit'], rows);
52
+ return (0, Common_1.formatMcpResponse)(columns, md, false, true);
53
+ }
54
+ catch (error) {
55
+ console.error('Error in getBoardColumns tool:', error);
56
+ return (0, Common_1.formatErrorResponse)(error);
57
+ }
58
+ }
59
+ /**
60
+ * Get board items
61
+ */
62
+ async getBoardItems(params) {
63
+ try {
64
+ const items = await this.boardsSprintsService.getBoardItems(params);
65
+ const itemList = Array.isArray(items) ? items : (items?.value || []);
66
+ if (itemList.length === 0) {
67
+ return (0, Common_1.formatMcpResponse)(items, `## Board Items\n\nNo items found on board \`${params.boardId}\`.\n\nšŸ’” The board may be empty or items may not be assigned to columns.`);
68
+ }
69
+ let md = `## Board Items\n\n**${itemList.length} item${itemList.length !== 1 ? 's' : ''}** on board \`${params.boardId}\`\n\n`;
70
+ // Group by column if possible
71
+ const byColumn = {};
72
+ itemList.forEach((item) => {
73
+ const col = item.boardColumn || item.column?.name || 'Unknown';
74
+ if (!byColumn[col])
75
+ byColumn[col] = [];
76
+ byColumn[col].push(item);
77
+ });
78
+ if (Object.keys(byColumn).length > 1) {
79
+ for (const [col, colItems] of Object.entries(byColumn)) {
80
+ md += `### ${col} (${colItems.length})\n\n`;
81
+ const rows = colItems.map((i) => [
82
+ `#${i.id || i.workItem?.id || 'N/A'}`,
83
+ (0, formatHelpers_1.truncateText)(i.title || i.workItem?.fields?.['System.Title'] || 'N/A', 60),
84
+ i.state || i.workItem?.fields?.['System.State'] || '-'
85
+ ]);
86
+ md += (0, formatHelpers_1.markdownTable)(['ID', 'Title', 'State'], rows);
87
+ md += '\n\n';
88
+ }
89
+ }
90
+ else {
91
+ const rows = itemList.map((i) => [
92
+ `#${i.id || i.workItem?.id || 'N/A'}`,
93
+ (0, formatHelpers_1.truncateText)(i.title || i.workItem?.fields?.['System.Title'] || 'N/A', 60),
94
+ i.state || i.workItem?.fields?.['System.State'] || '-',
95
+ i.boardColumn || i.column?.name || '-'
96
+ ]);
97
+ md += (0, formatHelpers_1.markdownTable)(['ID', 'Title', 'State', 'Column'], rows);
98
+ }
99
+ return (0, Common_1.formatMcpResponse)(items, md, false, true);
100
+ }
101
+ catch (error) {
102
+ console.error('Error in getBoardItems tool:', error);
103
+ return (0, Common_1.formatErrorResponse)(error);
104
+ }
105
+ }
106
+ /**
107
+ * Move a card on board
108
+ */
109
+ async moveCardOnBoard(params) {
110
+ try {
111
+ const result = await this.boardsSprintsService.moveCardOnBoard(params);
112
+ const md = `## āœ… Card Moved\n\n**#${params.workItemId}** → Column \`${params.columnId}\`\n\nšŸ’” Use \`getBoardItems\` to see the updated board state.`;
113
+ return (0, Common_1.formatMcpResponse)(result, md, false, true);
114
+ }
115
+ catch (error) {
116
+ console.error('Error in moveCardOnBoard tool:', error);
117
+ return (0, Common_1.formatErrorResponse)(error);
118
+ }
119
+ }
120
+ /**
121
+ * Get all sprints
122
+ */
123
+ async getSprints(params) {
124
+ try {
125
+ const sprints = await this.boardsSprintsService.getSprints(params);
126
+ const items = Array.isArray(sprints) ? sprints : [];
127
+ if (items.length === 0) {
128
+ return (0, Common_1.formatMcpResponse)(sprints, `## Sprints\n\nNo sprints found.\n\nšŸ’” Use \`createIteration\` to create sprint iterations.`);
129
+ }
130
+ const currentCount = items.filter((s) => (0, formatHelpers_1.getSprintTimeframeLabel)(s.attributes?.timeFrame) === 'Current').length;
131
+ const pastCount = items.filter((s) => (0, formatHelpers_1.getSprintTimeframeLabel)(s.attributes?.timeFrame) === 'Past').length;
132
+ const futureCount = items.filter((s) => (0, formatHelpers_1.getSprintTimeframeLabel)(s.attributes?.timeFrame) === 'Future').length;
133
+ let md = `## Sprints\n\n**${items.length} sprints**`;
134
+ const parts = [];
135
+ if (currentCount > 0)
136
+ parts.push(`${currentCount} current`);
137
+ if (pastCount > 0)
138
+ parts.push(`${pastCount} past`);
139
+ if (futureCount > 0)
140
+ parts.push(`${futureCount} future`);
141
+ if (parts.length > 0)
142
+ md += ` | ${parts.join(', ')}`;
143
+ md += '\n\n';
144
+ const rows = items.map((s) => {
145
+ const tf = s.attributes?.timeFrame;
146
+ const emoji = (0, formatHelpers_1.getSprintTimeframeEmoji)(tf);
147
+ const label = (0, formatHelpers_1.getSprintTimeframeLabel)(tf);
148
+ return [
149
+ s.name || 'N/A',
150
+ s.attributes?.startDate ? (0, formatHelpers_1.formatFullDate)(s.attributes.startDate) : '-',
151
+ s.attributes?.finishDate ? (0, formatHelpers_1.formatFullDate)(s.attributes.finishDate) : '-',
152
+ `${emoji} ${label}`
153
+ ];
154
+ });
155
+ md += (0, formatHelpers_1.markdownTable)(['Name', 'Start', 'End', 'Status'], rows);
156
+ return (0, Common_1.formatMcpResponse)(sprints, md, false, true);
157
+ }
158
+ catch (error) {
159
+ console.error('Error in getSprints tool:', error);
160
+ return (0, Common_1.formatErrorResponse)(error);
161
+ }
162
+ }
163
+ /**
164
+ * Get current sprint
165
+ */
166
+ async getCurrentSprint(params) {
167
+ try {
168
+ const sprint = await this.boardsSprintsService.getCurrentSprint(params);
169
+ if (!sprint) {
170
+ return (0, Common_1.formatMcpResponse)(sprint, `## Current Sprint\n\nNo current sprint found.\n\nšŸ’” Use \`getSprints\` to see all sprints or \`createIteration\` to create one.`);
171
+ }
172
+ const startDate = sprint.attributes?.startDate;
173
+ const endDate = sprint.attributes?.finishDate;
174
+ let md = `## šŸƒ Current Sprint\n\n`;
175
+ md += `**${sprint.name}**\n\n`;
176
+ if (startDate && endDate) {
177
+ const start = new Date(startDate);
178
+ const end = new Date(endDate);
179
+ const now = new Date();
180
+ const totalDays = Math.ceil((end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24));
181
+ const daysRemaining = Math.max(0, Math.ceil((end.getTime() - now.getTime()) / (1000 * 60 * 60 * 24)));
182
+ const daysElapsed = totalDays - daysRemaining;
183
+ const pct = totalDays > 0 ? Math.round((daysElapsed / totalDays) * 100) : 0;
184
+ md += `**Dates:** ${(0, formatHelpers_1.formatFullDate)(startDate)} → ${(0, formatHelpers_1.formatFullDate)(endDate)}\n`;
185
+ md += `**Progress:** ${daysElapsed}/${totalDays} days (${pct}%) | **${daysRemaining} days remaining**\n`;
186
+ }
187
+ if (sprint.id)
188
+ md += `**ID:** ${sprint.id}\n`;
189
+ if (sprint.path)
190
+ md += `**Path:** ${sprint.path}\n`;
191
+ return (0, Common_1.formatMcpResponse)(sprint, md, false, true);
192
+ }
193
+ catch (error) {
194
+ console.error('Error in getCurrentSprint tool:', error);
195
+ return (0, Common_1.formatErrorResponse)(error);
196
+ }
197
+ }
198
+ /**
199
+ * Get sprint work items
200
+ */
201
+ async getSprintWorkItems(params) {
202
+ try {
203
+ const workItems = await this.boardsSprintsService.getSprintWorkItems(params);
204
+ const items = workItems?.workItems || workItems?.workItemRelations || [];
205
+ const itemList = Array.isArray(items) ? items : [];
206
+ if (itemList.length === 0) {
207
+ return (0, Common_1.formatMcpResponse)(workItems, `## Sprint Work Items\n\nNo work items found in sprint \`${params.sprintId}\`.\n\nšŸ’” Items may not be assigned to this sprint yet.`);
208
+ }
209
+ let md = `## Sprint Work Items\n\n**${itemList.length} item${itemList.length !== 1 ? 's' : ''}** in sprint \`${params.sprintId}\`\n\n`;
210
+ md += (0, formatHelpers_1.buildWorkItemSummaryTable)(itemList);
211
+ md += `\n\nUse \`getWorkItemById\` for a full single-item view when you need relations, description, or rollups.`;
212
+ return (0, Common_1.formatMcpResponse)(workItems, md, false, true);
213
+ }
214
+ catch (error) {
215
+ console.error('Error in getSprintWorkItems tool:', error);
216
+ return (0, Common_1.formatErrorResponse)(error);
217
+ }
218
+ }
219
+ /**
220
+ * Get sprint capacity
221
+ */
222
+ async getSprintCapacity(params) {
223
+ try {
224
+ const capacity = await this.boardsSprintsService.getSprintCapacity(params);
225
+ let md = `## Sprint Capacity\n\n**Sprint:** \`${params.sprintId}\`\n\n`;
226
+ // Handle daysOff and teamSettings if present
227
+ if (capacity?.daysOff) {
228
+ const daysOff = Array.isArray(capacity.daysOff) ? capacity.daysOff : [];
229
+ md += `**Team Days Off:** ${daysOff.length > 0 ? daysOff.length + ' days' : 'None'}\n`;
230
+ }
231
+ if (capacity?.teamMembers || capacity?.value) {
232
+ const members = capacity.teamMembers || capacity.value || [];
233
+ const memberList = Array.isArray(members) ? members : [];
234
+ if (memberList.length > 0) {
235
+ md += `**Team Members with Capacity:** ${memberList.length}\n\n`;
236
+ const rows = memberList.map((m) => {
237
+ const name = m.teamMember?.displayName || m.displayName || 'Unknown';
238
+ const activities = m.activities || [];
239
+ const actStr = activities.map((a) => `${a.name || 'General'}: ${a.capacityPerDay || 0}h/day`).join(', ') || '-';
240
+ return [name, actStr];
241
+ });
242
+ md += (0, formatHelpers_1.markdownTable)(['Member', 'Capacity'], rows);
243
+ }
244
+ }
245
+ else {
246
+ md += `*No capacity data available.*`;
247
+ }
248
+ return (0, Common_1.formatMcpResponse)(capacity, md, false, true);
249
+ }
250
+ catch (error) {
251
+ console.error('Error in getSprintCapacity tool:', error);
252
+ return (0, Common_1.formatErrorResponse)(error);
253
+ }
254
+ }
255
+ /**
256
+ * Get team members
257
+ */
258
+ async getTeamMembers(params) {
259
+ try {
260
+ const response = await this.boardsSprintsService.getTeamMembers(params);
261
+ const members = response.value || response;
262
+ const memberList = Array.isArray(members) ? members : [];
263
+ if (memberList.length === 0) {
264
+ return (0, Common_1.formatMcpResponse)(response, `## Team Members\n\nNo team members found.\n\nšŸ’” Use \`getTeams\` to verify the team ID.`);
265
+ }
266
+ let md = `## Team Members\n\n**${memberList.length} member${memberList.length !== 1 ? 's' : ''}**\n\n`;
267
+ const rows = memberList.map((m) => {
268
+ const identity = m.identity || m;
269
+ const name = identity.displayName || 'Unknown';
270
+ const email = identity.uniqueName || identity.mailAddress || '-';
271
+ const isAdmin = m.isTeamAdmin ? 'āœ…' : '-';
272
+ return [name, email, isAdmin];
273
+ });
274
+ md += (0, formatHelpers_1.markdownTable)(['Name', 'Email', 'Admin'], rows);
275
+ return (0, Common_1.formatMcpResponse)(response, md, false, true);
276
+ }
277
+ catch (error) {
278
+ console.error('Error in getTeamMembers tool:', error);
279
+ return (0, Common_1.formatErrorResponse)(error);
280
+ }
281
+ }
282
+ /**
283
+ * Get teams in the configured project with pagination and optional name filter
284
+ */
285
+ async getTeams(params = {}) {
286
+ try {
287
+ // When filtering, fetch all to filter client-side (API has no server-side filter)
288
+ const fetchTop = params.filter ? 500 : (params.top ?? 100);
289
+ const fetchSkip = params.filter ? undefined : params.skip;
290
+ const teams = await this.boardsSprintsService.getTeams(fetchTop, fetchSkip);
291
+ let items = Array.isArray(teams) ? teams : [];
292
+ // Client-side name filter (case-insensitive substring match)
293
+ if (params.filter) {
294
+ const pattern = params.filter.toLowerCase();
295
+ items = items.filter((t) => {
296
+ const name = (t.name || '').toLowerCase();
297
+ const desc = (t.description || '').toLowerCase();
298
+ return name.includes(pattern) || desc.includes(pattern);
299
+ });
300
+ // Apply skip/top to filtered results
301
+ if (params.skip)
302
+ items = items.slice(params.skip);
303
+ if (params.top)
304
+ items = items.slice(0, params.top);
305
+ }
306
+ if (items.length === 0) {
307
+ const filterMsg = params.filter ? ` matching "${params.filter}"` : '';
308
+ return (0, Common_1.formatMcpResponse)(teams, `## Teams\n\nNo teams found${filterMsg}.`);
309
+ }
310
+ let md = `## Teams\n\n**${items.length} team${items.length !== 1 ? 's' : ''}**`;
311
+ if (params.filter)
312
+ md += ` matching "${params.filter}"`;
313
+ if (params.skip)
314
+ md += ` (skip: ${params.skip})`;
315
+ md += `\n\n`;
316
+ const rows = items.map((t) => [
317
+ t.name || 'N/A',
318
+ t.id || 'N/A',
319
+ (0, formatHelpers_1.truncateText)(t.description || '-', 40)
320
+ ]);
321
+ md += (0, formatHelpers_1.markdownTable)(['Name', 'ID', 'Description'], rows);
322
+ if (params.filter && teams.length >= 500) {
323
+ md += `\nāš ļø Search scanned the first 500 teams. Results may be incomplete for large organisations.`;
324
+ }
325
+ else if (!params.filter && items.length >= (params.top ?? 100)) {
326
+ md += `\nšŸ’” More teams may exist. Use \`skip: ${(params.skip || 0) + items.length}\` to see the next page, or use \`filter\` to search by name.`;
327
+ }
328
+ return (0, Common_1.formatMcpResponse)(items, md, false, true);
329
+ }
330
+ catch (error) {
331
+ console.error('Error in getTeams tool:', error);
332
+ return (0, Common_1.formatErrorResponse)(error);
333
+ }
334
+ }
335
+ }
336
+ exports.BoardsSprintsTools = BoardsSprintsTools;
337
+ exports.BoardsSprintsToolMethods = (0, getClassMethods_1.default)(BoardsSprintsTools.prototype);
338
+ //# sourceMappingURL=BoardsSprintsTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardsSprintsTools.js","sourceRoot":"","sources":["../../../src/Tools/BoardsSprintsTools.ts"],"names":[],"mappings":"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"}