@mcp-consultant-tools/azure-devops 30.0.0-beta.13 → 30.0.0-beta.15
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/build/schemas.d.ts +13 -0
- package/build/schemas.d.ts.map +1 -0
- package/build/schemas.js +47 -0
- package/build/schemas.js.map +1 -0
- package/build/sync/task-serializer.d.ts.map +1 -1
- package/build/sync/task-serializer.js +46 -8
- package/build/sync/task-serializer.js.map +1 -1
- package/build/tools/build-tools.d.ts.map +1 -1
- package/build/tools/build-tools.js +7 -6
- package/build/tools/build-tools.js.map +1 -1
- package/build/tools/checklist-tools.d.ts.map +1 -1
- package/build/tools/checklist-tools.js +6 -5
- package/build/tools/checklist-tools.js.map +1 -1
- package/build/tools/pull-request-tools.d.ts.map +1 -1
- package/build/tools/pull-request-tools.js +15 -14
- package/build/tools/pull-request-tools.js.map +1 -1
- package/build/tools/sync-tools.d.ts.map +1 -1
- package/build/tools/sync-tools.js +9 -8
- package/build/tools/sync-tools.js.map +1 -1
- package/build/tools/test-tools.d.ts.map +1 -1
- package/build/tools/test-tools.js +12 -11
- package/build/tools/test-tools.js.map +1 -1
- package/build/tools/variable-group-tools.d.ts.map +1 -1
- package/build/tools/variable-group-tools.js +2 -1
- package/build/tools/variable-group-tools.js.map +1 -1
- package/build/tools/visualize-tools.d.ts.map +1 -1
- package/build/tools/visualize-tools.js +2 -1
- package/build/tools/visualize-tools.js.map +1 -1
- package/build/tools/wiki-tools.d.ts.map +1 -1
- package/build/tools/wiki-tools.js +4 -3
- package/build/tools/wiki-tools.js.map +1 -1
- package/build/tools/work-item-tools.d.ts.map +1 -1
- package/build/tools/work-item-tools.js +11 -10
- package/build/tools/work-item-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Zod schema helpers that coerce string-wrapped numbers and arrays.
|
|
3
|
+
*
|
|
4
|
+
* Some MCP harnesses serialize tool-call parameters as strings even when the
|
|
5
|
+
* source value was a number or array (e.g. `1351` arrives as `"1351"`,
|
|
6
|
+
* `[1351]` arrives as `"[1351]"`). Strict `z.number()` / `z.array(z.number())`
|
|
7
|
+
* schemas reject these, breaking tool calls. These preprocess helpers accept
|
|
8
|
+
* both native and stringified forms at the schema boundary.
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
export declare const zCoerceNumber: () => z.ZodEffects<z.ZodNumber, number, unknown>;
|
|
12
|
+
export declare const zCoerceNumberArray: () => z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], unknown>;
|
|
13
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa,kDAMV,CAAC;AAEjB,eAAO,MAAM,kBAAkB,wEA6BN,CAAC"}
|
package/build/schemas.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Zod schema helpers that coerce string-wrapped numbers and arrays.
|
|
3
|
+
*
|
|
4
|
+
* Some MCP harnesses serialize tool-call parameters as strings even when the
|
|
5
|
+
* source value was a number or array (e.g. `1351` arrives as `"1351"`,
|
|
6
|
+
* `[1351]` arrives as `"[1351]"`). Strict `z.number()` / `z.array(z.number())`
|
|
7
|
+
* schemas reject these, breaking tool calls. These preprocess helpers accept
|
|
8
|
+
* both native and stringified forms at the schema boundary.
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
export const zCoerceNumber = () => z.preprocess((v) => {
|
|
12
|
+
if (typeof v === 'string' && /^-?\d+(\.\d+)?$/.test(v.trim())) {
|
|
13
|
+
return Number(v.trim());
|
|
14
|
+
}
|
|
15
|
+
return v;
|
|
16
|
+
}, z.number());
|
|
17
|
+
export const zCoerceNumberArray = () => z.preprocess((v) => {
|
|
18
|
+
if (Array.isArray(v)) {
|
|
19
|
+
return v.map((item) => typeof item === 'string' && /^-?\d+(\.\d+)?$/.test(item.trim())
|
|
20
|
+
? Number(item.trim())
|
|
21
|
+
: item);
|
|
22
|
+
}
|
|
23
|
+
if (typeof v === 'string') {
|
|
24
|
+
const trimmed = v.trim();
|
|
25
|
+
if (trimmed === '')
|
|
26
|
+
return [];
|
|
27
|
+
try {
|
|
28
|
+
const parsed = JSON.parse(trimmed);
|
|
29
|
+
if (Array.isArray(parsed)) {
|
|
30
|
+
return parsed.map((item) => typeof item === 'string' && /^-?\d+(\.\d+)?$/.test(item.trim())
|
|
31
|
+
? Number(item.trim())
|
|
32
|
+
: item);
|
|
33
|
+
}
|
|
34
|
+
if (typeof parsed === 'number')
|
|
35
|
+
return [parsed];
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
if (/^-?\d+(\.\d+)?$/.test(trimmed))
|
|
39
|
+
return [Number(trimmed)];
|
|
40
|
+
}
|
|
41
|
+
return v;
|
|
42
|
+
}
|
|
43
|
+
if (typeof v === 'number')
|
|
44
|
+
return [v];
|
|
45
|
+
return v;
|
|
46
|
+
}, z.array(z.number()));
|
|
47
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAChC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAEjB,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CACrC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB,OAAO,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC,CAAC,IAAI,CACT,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzB,OAAO,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACrB,CAAC,CAAC,IAAI,CACT,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,CAAC;AACX,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-serializer.d.ts","sourceRoot":"","sources":["../../src/sync/task-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"task-serializer.d.ts","sourceRoot":"","sources":["../../src/sync/task-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;CAYd,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,oBAAoB,CAAC;IAClC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AA6ED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,GAAG,EACnB,KAAK,EAAE,GAAG,EAAE,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CAkER;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAoDnE;AAmFD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,GAAG,EAChB,eAAe,GAAE,OAAe,GAC/B;IAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAsH3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAmCrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAC5C,MAAM,CAiCR"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* Supports upsert: update existing tasks or create new ones.
|
|
7
7
|
*/
|
|
8
8
|
import { isHtmlContent } from './html-detection.js';
|
|
9
|
+
import { htmlToMarkdown } from './html-converter.js';
|
|
9
10
|
/**
|
|
10
11
|
* Task field names in ADO API
|
|
11
12
|
*/
|
|
@@ -146,11 +147,14 @@ export function tasksToMarkdown(parentWorkItem, tasks, project) {
|
|
|
146
147
|
content += `**Revision**: ${revision}\n\n`;
|
|
147
148
|
content += `### Description\n\n`;
|
|
148
149
|
const description = fields['System.Description'] || '';
|
|
149
|
-
if (description
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
if (description) {
|
|
151
|
+
// Fall back to local HTML → markdown conversion when the upstream
|
|
152
|
+
// auto-convert (via ADO API) didn't run or didn't apply. Keeps the
|
|
153
|
+
// serialized file free of HTML so push/pull round-trips cleanly.
|
|
154
|
+
const rendered = isHtmlContent(description)
|
|
155
|
+
? htmlToMarkdown(description).trim()
|
|
156
|
+
: description.trim();
|
|
157
|
+
content += rendered || `_No description_`;
|
|
154
158
|
}
|
|
155
159
|
else {
|
|
156
160
|
content += `_No description_`;
|
|
@@ -186,12 +190,16 @@ export function parseTasksMarkdown(content) {
|
|
|
186
190
|
// Parse all task sections
|
|
187
191
|
const tasks = [];
|
|
188
192
|
// Match task sections: either ## Task #NNNNN or ## NEW TASK
|
|
189
|
-
|
|
193
|
+
// Delimit only on the next ## Task / ## NEW TASK heading (or EOF) so that
|
|
194
|
+
// horizontal rules (`---`) used inside task Descriptions are not treated as
|
|
195
|
+
// inter-task separators. Trailing `---\n` before the next heading is stripped
|
|
196
|
+
// from the captured block before field extraction.
|
|
197
|
+
const taskSectionRegex = /##\s+(Task\s+#(\d+)|NEW\s+TASK)\s*\n([\s\S]*?)(?=\n##\s+(?:Task|NEW)|$)/gi;
|
|
190
198
|
let match;
|
|
191
199
|
while ((match = taskSectionRegex.exec(contentAfterFrontmatter)) !== null) {
|
|
192
200
|
const isNewTask = match[1].toUpperCase().startsWith('NEW');
|
|
193
201
|
const taskId = isNewTask ? null : parseInt(match[2], 10);
|
|
194
|
-
const taskContent = match[3];
|
|
202
|
+
const taskContent = stripTrailingSeparator(match[3]);
|
|
195
203
|
const task = parseTaskSection(taskContent, taskId);
|
|
196
204
|
if (task.title) { // Only include tasks with a title
|
|
197
205
|
tasks.push(task);
|
|
@@ -203,6 +211,15 @@ export function parseTasksMarkdown(content) {
|
|
|
203
211
|
rawContent: content,
|
|
204
212
|
};
|
|
205
213
|
}
|
|
214
|
+
/**
|
|
215
|
+
* Strip the trailing inter-task `---` separator (plus any surrounding blank
|
|
216
|
+
* lines) from a captured task block. Horizontal rules inside a Description
|
|
217
|
+
* are preserved — only a `---` that sits at the tail of the block (right
|
|
218
|
+
* before the next task heading or EOF) is removed.
|
|
219
|
+
*/
|
|
220
|
+
function stripTrailingSeparator(content) {
|
|
221
|
+
return content.replace(/\n\s*---\s*\n?\s*$/, '\n').replace(/\s+$/, '');
|
|
222
|
+
}
|
|
206
223
|
/**
|
|
207
224
|
* Parse a single task section
|
|
208
225
|
*/
|
|
@@ -262,6 +279,12 @@ function parseTaskSection(content, taskId) {
|
|
|
262
279
|
}
|
|
263
280
|
return task;
|
|
264
281
|
}
|
|
282
|
+
/**
|
|
283
|
+
* ADO terminal states where scheduling fields (notably Remaining Work) must
|
|
284
|
+
* be unset rather than zero. Setting Remaining Work = 0 on a transition to
|
|
285
|
+
* one of these states triggers TF401320 "Rule Error ... InvalidNotEmpty".
|
|
286
|
+
*/
|
|
287
|
+
const TERMINAL_STATES = new Set(['Closed', 'Done', 'Resolved', 'Removed', 'Completed']);
|
|
265
288
|
/**
|
|
266
289
|
* Build patch operations for updating a task in ADO
|
|
267
290
|
*/
|
|
@@ -272,6 +295,7 @@ export function buildTaskPatchOperations(parsedTask, currentTask, skipAutoConver
|
|
|
272
295
|
const currentFields = currentTask.fields || {};
|
|
273
296
|
// Detect if state is changing (used to force-include scheduling fields for ADO process rules)
|
|
274
297
|
const stateIsChanging = parsedTask.state !== (currentFields[TASK_FIELDS.state] || 'New');
|
|
298
|
+
const transitioningToTerminal = stateIsChanging && TERMINAL_STATES.has(parsedTask.state);
|
|
275
299
|
// Helper to add operation if value changed
|
|
276
300
|
const addIfChanged = (fieldPath, newValue, fieldName, forceInclude = false) => {
|
|
277
301
|
const currentValue = currentFields[fieldPath];
|
|
@@ -325,7 +349,21 @@ export function buildTaskPatchOperations(parsedTask, currentTask, skipAutoConver
|
|
|
325
349
|
// ADO rejects the update with TF401320 InvalidNotEmpty.
|
|
326
350
|
const forceScheduling = stateIsChanging;
|
|
327
351
|
addIfChanged(TASK_FIELDS.originalEstimate, parsedTask.originalEstimate, 'OriginalEstimate', forceScheduling);
|
|
328
|
-
|
|
352
|
+
// Remaining Work has an inverse rule on transitions to terminal states: ADO
|
|
353
|
+
// requires the field to be *unset* (not zero) when the task closes. Auto-emit
|
|
354
|
+
// a remove op so users don't have to know the ADO-specific "blank != 0" rule.
|
|
355
|
+
// Zero or blank both map to remove; a non-zero value gets removed too (closing
|
|
356
|
+
// a task implicitly means no work is left).
|
|
357
|
+
if (transitioningToTerminal) {
|
|
358
|
+
const currentRemaining = currentFields[TASK_FIELDS.remainingWork];
|
|
359
|
+
if (currentRemaining !== undefined && currentRemaining !== null) {
|
|
360
|
+
operations.push({ op: 'remove', path: `/fields/${TASK_FIELDS.remainingWork}` });
|
|
361
|
+
fieldsUpdated.push('RemainingWork');
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
addIfChanged(TASK_FIELDS.remainingWork, parsedTask.remainingWork, 'RemainingWork', forceScheduling);
|
|
366
|
+
}
|
|
329
367
|
addIfChanged(TASK_FIELDS.completedWork, parsedTask.completedWork, 'CompletedWork', forceScheduling);
|
|
330
368
|
addIfChanged(TASK_FIELDS.effort, parsedTask.effort, 'Effort', forceScheduling);
|
|
331
369
|
// Check description - always try to set markdown format when writing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-serializer.js","sourceRoot":"","sources":["../../src/sync/task-serializer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-serializer.js","sourceRoot":"","sources":["../../src/sync/task-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-tools.d.ts","sourceRoot":"","sources":["../../src/tools/build-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-tools.d.ts","sourceRoot":"","sources":["../../src/tools/build-tools.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA+DzE"}
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
* If you update these, also update packages/azure-devops-admin/src/index.ts
|
|
6
6
|
*/
|
|
7
7
|
import { z } from 'zod';
|
|
8
|
+
import { zCoerceNumber } from '../schemas.js';
|
|
8
9
|
export function registerBuildTools(server, ctx) {
|
|
9
10
|
server.tool("get-build-status", "Get build status and details. Use detail='summary' for basic status, 'timeline' for step breakdown (default scope='problems' shows only failed/warning items), or 'full' for logs. The timelineScope controls what records are included: 'problems' (default, only errors/warnings), 'stages' (minimal), 'jobs' (moderate), 'all' (everything).", {
|
|
10
11
|
project: z.string().describe("The project name"),
|
|
11
|
-
buildId:
|
|
12
|
+
buildId: zCoerceNumber().describe("The build ID"),
|
|
12
13
|
detail: z.enum(["summary", "timeline", "full"]).optional().describe("Level of detail: 'summary' (default), 'timeline' (include steps), or 'full' (include logs)"),
|
|
13
14
|
timelineScope: z.enum(["stages", "jobs", "all", "problems"]).optional().describe("Timeline scope: 'problems' (default, only errors/warnings/failures), 'stages' (minimal), 'jobs' (moderate), 'all' (everything - may be large)"),
|
|
14
|
-
maxIssues:
|
|
15
|
+
maxIssues: zCoerceNumber().optional().describe("Maximum issues per record (default: 5, prioritizes errors over warnings)"),
|
|
15
16
|
}, async ({ project, buildId, detail, timelineScope, maxIssues }) => {
|
|
16
17
|
try {
|
|
17
18
|
const result = await ctx.build.getBuildStatus(project, buildId, detail || 'summary', timelineScope || 'problems', maxIssues || 5);
|
|
@@ -24,9 +25,9 @@ export function registerBuildTools(server, ctx) {
|
|
|
24
25
|
});
|
|
25
26
|
server.tool("get-build-timeline", "Get step-by-step breakdown of a build. Shows stages, jobs, and tasks with timing, status, and error/warning counts. Use scope to control output size: 'problems' (default, only errors/warnings), 'stages' (minimal), 'jobs' (moderate), 'all' (everything). Always includes summary stats regardless of scope.", {
|
|
26
27
|
project: z.string().describe("The project name"),
|
|
27
|
-
buildId:
|
|
28
|
+
buildId: zCoerceNumber().describe("The build ID"),
|
|
28
29
|
scope: z.enum(["stages", "jobs", "all", "problems"]).optional().describe("Filter scope: 'problems' (default, only errors/warnings/failures), 'stages' (minimal), 'jobs' (moderate), 'all' (everything - may be large)"),
|
|
29
|
-
maxIssues:
|
|
30
|
+
maxIssues: zCoerceNumber().optional().describe("Maximum issues per record (default: 5, prioritizes errors over warnings)"),
|
|
30
31
|
}, async ({ project, buildId, scope, maxIssues }) => {
|
|
31
32
|
try {
|
|
32
33
|
const result = await ctx.build.getBuildTimeline(project, buildId, scope || 'problems', maxIssues || 5);
|
|
@@ -39,8 +40,8 @@ export function registerBuildTools(server, ctx) {
|
|
|
39
40
|
});
|
|
40
41
|
server.tool("get-build-logs", "Get build logs. Without logId, returns list of available logs with line counts. With logId, returns that log's content filtered by mode to reduce noise from progress indicators.", {
|
|
41
42
|
project: z.string().describe("The project name"),
|
|
42
|
-
buildId:
|
|
43
|
-
logId:
|
|
43
|
+
buildId: zCoerceNumber().describe("The build ID"),
|
|
44
|
+
logId: zCoerceNumber().optional().describe("Optional specific log ID to retrieve content"),
|
|
44
45
|
mode: z.enum(['summary', 'full', 'errors']).optional().describe("Filter mode: 'summary' (default) removes progress indicators like 'Receiving objects: 1%', 'full' returns everything, 'errors' shows only errors/warnings"),
|
|
45
46
|
}, async ({ project, buildId, logId, mode }) => {
|
|
46
47
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-tools.js","sourceRoot":"","sources":["../../src/tools/build-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"build-tools.js","sourceRoot":"","sources":["../../src/tools/build-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist-tools.d.ts","sourceRoot":"","sources":["../../src/tools/checklist-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checklist-tools.d.ts","sourceRoot":"","sources":["../../src/tools/checklist-tools.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAoP7E"}
|
|
@@ -14,12 +14,13 @@
|
|
|
14
14
|
* - update-checklist-template: Modify a WIT default template
|
|
15
15
|
*/
|
|
16
16
|
import { z } from 'zod';
|
|
17
|
+
import { zCoerceNumber } from '../schemas.js';
|
|
17
18
|
import { descWithExamples, CHECKLIST_STATE_EXAMPLES, CHECKLIST_WIT_EXAMPLES, CHECKLIST_REPORT_EXAMPLES, CHECKLIST_TEMPLATE_ITEMS_EXAMPLES, } from '../tool-examples.js';
|
|
18
19
|
export function registerChecklistTools(server, ctx) {
|
|
19
20
|
// ─── Read Tools ──────────────────────────────────────────────────────────
|
|
20
21
|
server.tool("get-checklist", "Get the merged checklist for a work item. Combines the WIT default template with per-work-item state overrides and custom items. Shows completion status for each item.", {
|
|
21
22
|
project: z.string().describe("The project name"),
|
|
22
|
-
workItemId:
|
|
23
|
+
workItemId: zCoerceNumber().describe("The work item ID"),
|
|
23
24
|
}, async ({ project, workItemId }) => {
|
|
24
25
|
try {
|
|
25
26
|
const result = await ctx.checklist.getChecklist(project, workItemId);
|
|
@@ -83,7 +84,7 @@ export function registerChecklistTools(server, ctx) {
|
|
|
83
84
|
project: z.string().describe("The project name"),
|
|
84
85
|
workItemType: z.string().optional().describe(descWithExamples("Filter by work item type", CHECKLIST_WIT_EXAMPLES)),
|
|
85
86
|
workItemState: z.string().optional().describe(descWithExamples("Filter by work item state (e.g., 'Active', 'Testing', 'Resolved')", CHECKLIST_REPORT_EXAMPLES)),
|
|
86
|
-
maxResults:
|
|
87
|
+
maxResults: zCoerceNumber().optional().describe("Maximum work items to include (default: 200)"),
|
|
87
88
|
}, async ({ project, workItemType, workItemState, maxResults }) => {
|
|
88
89
|
try {
|
|
89
90
|
const result = await ctx.checklist.getReport(project, workItemType, workItemState, maxResults || 200);
|
|
@@ -112,7 +113,7 @@ export function registerChecklistTools(server, ctx) {
|
|
|
112
113
|
// ─── Write Tools ─────────────────────────────────────────────────────────
|
|
113
114
|
server.tool("update-checklist-item", "Update the state of a checklist item on a work item. When setting to 'Completed', automatically records who completed it and when. Requires AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true.", {
|
|
114
115
|
project: z.string().describe("The project name"),
|
|
115
|
-
workItemId:
|
|
116
|
+
workItemId: zCoerceNumber().describe("The work item ID"),
|
|
116
117
|
itemId: z.string().describe("The checklist item ID (from get-checklist response)"),
|
|
117
118
|
state: z.enum(["New", "In Progress", "Blocked", "N/A", "Completed"]).describe(descWithExamples("The new state for the checklist item", CHECKLIST_STATE_EXAMPLES)),
|
|
118
119
|
completedByDisplayName: z.string().optional().describe("Display name for completedBy (defaults to 'MCP Automation'). Only used when state is 'Completed'."),
|
|
@@ -133,7 +134,7 @@ export function registerChecklistTools(server, ctx) {
|
|
|
133
134
|
});
|
|
134
135
|
server.tool("add-checklist-item", "Add a custom checklist item to a work item's shared checklist. Custom items are visible to all users. Max 128 characters. Requires AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true.", {
|
|
135
136
|
project: z.string().describe("The project name"),
|
|
136
|
-
workItemId:
|
|
137
|
+
workItemId: zCoerceNumber().describe("The work item ID"),
|
|
137
138
|
text: z.string().describe("The checklist item text (max 128 characters)"),
|
|
138
139
|
required: z.boolean().optional().describe("Whether the item is required (default: false)"),
|
|
139
140
|
}, async ({ project, workItemId, text, required }) => {
|
|
@@ -153,7 +154,7 @@ export function registerChecklistTools(server, ctx) {
|
|
|
153
154
|
});
|
|
154
155
|
server.tool("remove-checklist-item", "Remove a custom checklist item from a work item's shared checklist. Only custom items can be removed (not template items). Requires AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true.", {
|
|
155
156
|
project: z.string().describe("The project name"),
|
|
156
|
-
workItemId:
|
|
157
|
+
workItemId: zCoerceNumber().describe("The work item ID"),
|
|
157
158
|
itemId: z.string().describe("The checklist item ID to remove (from get-checklist response, must be a custom item)"),
|
|
158
159
|
}, async ({ project, workItemId, itemId }) => {
|
|
159
160
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist-tools.js","sourceRoot":"","sources":["../../src/tools/checklist-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"checklist-tools.js","sourceRoot":"","sources":["../../src/tools/checklist-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,GAClC,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,sBAAsB,CAAC,MAAW,EAAE,GAAmB;IAErE,4EAA4E;IAE5E,MAAM,CAAC,IAAI,CACT,eAAe,EACf,yKAAyK,EACzK;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAChD,UAAU,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACzD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAO,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACnC,GAAG,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAC5I,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iBAAiB,MAAM,CAAC,YAAY,KAAK,UAAU,MAAM,MAAM,CAAC,iBAAiB,eAAe,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,UAAU,QAAQ,OAAO,mBAAmB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACpN,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,iKAAiK,EACjK;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAChD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAC/B,gBAAgB,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CACpE;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAO,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,YAAY,iBAAiB,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7H,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5C,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2BAA2B,YAAY,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,eAAe,OAAO,mBAAmB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC1J,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,yIAAyI,EACzI;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACjD,EACD,KAAK,EAAE,EAAE,OAAO,EAAO,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4CAA4C,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YACxG,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC7B,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,aAAa,YAAY,CAC1E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2BAA2B,OAAO,MAAM,MAAM,CAAC,MAAM,eAAe,OAAO,mBAAmB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACtI,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uCAAuC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,oNAAoN,EACpN;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAChD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC1C,gBAAgB,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CACrE;QACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC3C,gBAAgB,CAAC,mEAAmE,EAAE,yBAAyB,CAAC,CACjH;QACD,UAAU,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;KAChG,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAO,EAAE,EAAE;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,IAAI,GAAG,CAAC,CAAC;YACtG,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yDAAyD,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YACrH,CAAC;YACD,MAAM,OAAO,GAAG;gBACd,sBAAsB,MAAM,CAAC,cAAc,aAAa;gBACxD,eAAe,MAAM,CAAC,aAAa,eAAe,MAAM,CAAC,iBAAiB,mBAAmB,MAAM,CAAC,UAAU,EAAE;gBAChH,EAAE;gBACF,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACrC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,iBAAiB,MAAM,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE,CACjL;gBACD,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,EAAE;aACjG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,OAAO,mBAAmB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACrE,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,4EAA4E;IAE5E,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,sLAAsL,EACtL;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAChD,UAAU,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACxD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QAClF,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAC3E,gBAAgB,CAAC,sCAAsC,EAAE,wBAAwB,CAAC,CACnF;QACD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mGAAmG,CAAC;KAC5J,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAO,EAAE,EAAE;QAC5E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;YAC/G,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2BAA2B,MAAM,mBAAmB,UAAU,QAAQ,KAAK,4BAA4B,MAAM,CAAC,iBAAiB,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACxL,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,6KAA6K,EAC7K;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAChD,UAAU,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACzE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KAC3F,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAO,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChF,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,6CAA6C,UAAU,2BAA2B,MAAM,CAAC,iBAAiB,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACnK,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,8KAA8K,EAC9K;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAChD,UAAU,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACxD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sFAAsF,CAAC;KACpH,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAO,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2BAA2B,MAAM,qBAAqB,UAAU,2BAA2B,MAAM,CAAC,iBAAiB,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAC5K,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,oMAAoM,EACpM;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAChD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAC/B,gBAAgB,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CACpE;QACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACxB,gBAAgB,CACd,sGAAsG,EACtG,iCAAiC,CAClC,CACF;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAO,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;YACtF,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mCAAmC,YAAY,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACxI,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wCAAwC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvH,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull-request-tools.d.ts","sourceRoot":"","sources":["../../src/tools/pull-request-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pull-request-tools.d.ts","sourceRoot":"","sources":["../../src/tools/pull-request-tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAkS/E;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { descWithExamples, PR_BRANCH_REF_EXAMPLES, PR_MERGE_STRATEGY_EXAMPLES, PR_VOTE_EXAMPLES } from '../tool-examples.js';
|
|
6
|
+
import { zCoerceNumber } from '../schemas.js';
|
|
6
7
|
export function registerPullRequestTools(server, ctx) {
|
|
7
8
|
// ========================================
|
|
8
9
|
// READ-ONLY TOOLS (always available)
|
|
@@ -21,7 +22,7 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
21
22
|
project: z.string().describe("The project name"),
|
|
22
23
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
23
24
|
status: z.enum(["active", "completed", "abandoned", "all"]).optional().describe("Filter by PR status (default: active)"),
|
|
24
|
-
top:
|
|
25
|
+
top: zCoerceNumber().optional().describe("Maximum results (default: 25)"),
|
|
25
26
|
}, async ({ project, repositoryId, status, top }) => {
|
|
26
27
|
try {
|
|
27
28
|
const result = await ctx.pullRequest.listPullRequests(project, repositoryId, status || 'active', top || 25);
|
|
@@ -35,7 +36,7 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
35
36
|
server.tool("get-pull-request", "Get details of a specific pull request including title, description, author, reviewers with votes, and merge status.", {
|
|
36
37
|
project: z.string().describe("The project name"),
|
|
37
38
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
38
|
-
pullRequestId:
|
|
39
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
39
40
|
}, async ({ project, repositoryId, pullRequestId }) => {
|
|
40
41
|
try {
|
|
41
42
|
const result = await ctx.pullRequest.getPullRequest(project, repositoryId, pullRequestId);
|
|
@@ -49,7 +50,7 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
49
50
|
server.tool("get-pull-request-threads", "Get all comment threads and discussions on a pull request. Includes inline code comments with file paths and line numbers.", {
|
|
50
51
|
project: z.string().describe("The project name"),
|
|
51
52
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
52
|
-
pullRequestId:
|
|
53
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
53
54
|
}, async ({ project, repositoryId, pullRequestId }) => {
|
|
54
55
|
try {
|
|
55
56
|
const result = await ctx.pullRequest.getPullRequestThreads(project, repositoryId, pullRequestId);
|
|
@@ -63,7 +64,7 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
63
64
|
server.tool("get-pull-request-commits", "Get all commits included in a pull request. Shows commit ID, message, author, and date.", {
|
|
64
65
|
project: z.string().describe("The project name"),
|
|
65
66
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
66
|
-
pullRequestId:
|
|
67
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
67
68
|
}, async ({ project, repositoryId, pullRequestId }) => {
|
|
68
69
|
try {
|
|
69
70
|
const result = await ctx.pullRequest.getPullRequestCommits(project, repositoryId, pullRequestId);
|
|
@@ -77,8 +78,8 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
77
78
|
server.tool("get-pull-request-changes", "Get file changes (diffs) in a pull request. Shows added, modified, deleted, and renamed files with their paths.", {
|
|
78
79
|
project: z.string().describe("The project name"),
|
|
79
80
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
80
|
-
pullRequestId:
|
|
81
|
-
iterationId:
|
|
81
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
82
|
+
iterationId: zCoerceNumber().optional().describe("Iteration ID (default: latest)"),
|
|
82
83
|
}, async ({ project, repositoryId, pullRequestId, iterationId }) => {
|
|
83
84
|
try {
|
|
84
85
|
const result = await ctx.pullRequest.getPullRequestChanges(project, repositoryId, pullRequestId, iterationId);
|
|
@@ -97,10 +98,10 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
97
98
|
server.tool("add-pull-request-thread", "Add a comment or code review feedback to a pull request. Supports both general comments and inline comments on specific files/lines. (requires AZUREDEVOPS_ENABLE_PR_WRITE=true)", {
|
|
98
99
|
project: z.string().describe("The project name"),
|
|
99
100
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
100
|
-
pullRequestId:
|
|
101
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
101
102
|
content: z.string().describe("Comment content (markdown supported)"),
|
|
102
103
|
filePath: z.string().optional().describe("File path for inline comment (e.g., '/src/file.ts')"),
|
|
103
|
-
lineNumber:
|
|
104
|
+
lineNumber: zCoerceNumber().optional().describe("Line number for inline comment (right side of diff)"),
|
|
104
105
|
status: z.enum(["active", "fixed", "wontFix", "closed", "byDesign", "pending"]).optional().describe("Thread status (default: active)"),
|
|
105
106
|
}, async ({ project, repositoryId, pullRequestId, content, filePath, lineNumber, status }) => {
|
|
106
107
|
try {
|
|
@@ -134,7 +135,7 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
134
135
|
server.tool("update-pull-request", "Update a pull request's title, description, status, or draft state. (requires AZUREDEVOPS_ENABLE_PR_WRITE=true)", {
|
|
135
136
|
project: z.string().describe("The project name"),
|
|
136
137
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
137
|
-
pullRequestId:
|
|
138
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
138
139
|
title: z.string().optional().describe("New title"),
|
|
139
140
|
description: z.string().optional().describe("New description"),
|
|
140
141
|
status: z.enum(["abandoned", "active"]).optional().describe("Set PR status (abandoned or active)"),
|
|
@@ -152,7 +153,7 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
152
153
|
server.tool("complete-pull-request", "Complete (merge) a pull request with configurable merge strategy. (requires AZUREDEVOPS_ENABLE_PR_WRITE=true)", {
|
|
153
154
|
project: z.string().describe("The project name"),
|
|
154
155
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
155
|
-
pullRequestId:
|
|
156
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
156
157
|
mergeStrategy: z.enum(["squash", "noFastForward", "rebase", "rebaseMerge"]).optional().describe(descWithExamples("Merge strategy (default: squash)", PR_MERGE_STRATEGY_EXAMPLES)),
|
|
157
158
|
deleteSourceBranch: z.boolean().optional().describe("Delete source branch after merge (default: true)"),
|
|
158
159
|
transitionWorkItems: z.boolean().optional().describe("Transition linked work items (default: true)"),
|
|
@@ -170,7 +171,7 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
170
171
|
server.tool("add-pr-reviewer", "Add or remove a reviewer from a pull request. (requires AZUREDEVOPS_ENABLE_PR_WRITE=true)", {
|
|
171
172
|
project: z.string().describe("The project name"),
|
|
172
173
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
173
|
-
pullRequestId:
|
|
174
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
174
175
|
reviewerId: z.string().describe("Reviewer GUID or unique name"),
|
|
175
176
|
isRequired: z.boolean().optional().describe("Whether the reviewer is required (default: false)"),
|
|
176
177
|
remove: z.boolean().optional().describe("Set to true to remove the reviewer instead of adding"),
|
|
@@ -187,7 +188,7 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
187
188
|
server.tool("vote-pull-request", "Submit a vote (approve, reject, etc.) on a pull request. Defaults to authenticated user. (requires AZUREDEVOPS_ENABLE_PR_WRITE=true)", {
|
|
188
189
|
project: z.string().describe("The project name"),
|
|
189
190
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
190
|
-
pullRequestId:
|
|
191
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
191
192
|
vote: z.enum(["approve", "approveWithSuggestions", "noResponse", "waitForAuthor", "reject"]).describe(descWithExamples("Vote to submit", PR_VOTE_EXAMPLES)),
|
|
192
193
|
reviewerId: z.string().optional().describe("Reviewer GUID (defaults to authenticated user)"),
|
|
193
194
|
}, async ({ project, repositoryId, pullRequestId, vote, reviewerId }) => {
|
|
@@ -203,8 +204,8 @@ export function registerPullRequestTools(server, ctx) {
|
|
|
203
204
|
server.tool("reply-to-pr-thread", "Reply to a pull request comment thread and/or update thread status (e.g., resolve). (requires AZUREDEVOPS_ENABLE_PR_WRITE=true)", {
|
|
204
205
|
project: z.string().describe("The project name"),
|
|
205
206
|
repositoryId: z.string().describe("Repository ID (GUID) or name"),
|
|
206
|
-
pullRequestId:
|
|
207
|
-
threadId:
|
|
207
|
+
pullRequestId: zCoerceNumber().describe("The pull request ID"),
|
|
208
|
+
threadId: zCoerceNumber().describe("The thread ID to reply to"),
|
|
208
209
|
content: z.string().optional().describe("Reply text (markdown supported)"),
|
|
209
210
|
status: z.enum(["active", "fixed", "wontFix", "closed", "byDesign", "pending"]).optional().describe("Update thread status (e.g., 'fixed' to resolve)"),
|
|
210
211
|
}, async ({ project, repositoryId, pullRequestId, threadId, content, status }) => {
|