@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,338 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"BoardsSprintsTools.js","sourceRoot":"","sources":["../../../src/Tools/BoardsSprintsTools.ts"],"names":[],"mappings":"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"}