@mcp-consultant-tools/azure-devops 27.0.0 → 28.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/build/azure-devops-client.d.ts +42 -0
  2. package/build/azure-devops-client.d.ts.map +1 -0
  3. package/build/azure-devops-client.js +144 -0
  4. package/build/azure-devops-client.js.map +1 -0
  5. package/build/index.d.ts +8 -11
  6. package/build/index.d.ts.map +1 -1
  7. package/build/index.js +40 -1878
  8. package/build/index.js.map +1 -1
  9. package/build/models/api-types.d.ts +159 -0
  10. package/build/models/api-types.d.ts.map +1 -0
  11. package/build/models/api-types.js +5 -0
  12. package/build/models/api-types.js.map +1 -0
  13. package/build/models/index.d.ts +5 -0
  14. package/build/models/index.d.ts.map +1 -0
  15. package/build/models/index.js +5 -0
  16. package/build/models/index.js.map +1 -0
  17. package/build/prompts/index.d.ts +3 -0
  18. package/build/prompts/index.d.ts.map +1 -0
  19. package/build/prompts/index.js +83 -0
  20. package/build/prompts/index.js.map +1 -0
  21. package/build/prompts/templates.d.ts +8 -0
  22. package/build/prompts/templates.d.ts.map +1 -0
  23. package/build/prompts/templates.js +126 -0
  24. package/build/prompts/templates.js.map +1 -0
  25. package/build/services/build-service.d.ts +16 -0
  26. package/build/services/build-service.d.ts.map +1 -0
  27. package/build/services/build-service.js +195 -0
  28. package/build/services/build-service.js.map +1 -0
  29. package/build/services/configuration-service.d.ts +7 -0
  30. package/build/services/configuration-service.d.ts.map +1 -0
  31. package/build/services/configuration-service.js +24 -0
  32. package/build/services/configuration-service.js.map +1 -0
  33. package/build/services/index.d.ts +11 -0
  34. package/build/services/index.d.ts.map +1 -0
  35. package/build/services/index.js +11 -0
  36. package/build/services/index.js.map +1 -0
  37. package/build/services/pull-request-service.d.ts +29 -0
  38. package/build/services/pull-request-service.d.ts.map +1 -0
  39. package/build/services/pull-request-service.js +390 -0
  40. package/build/services/pull-request-service.js.map +1 -0
  41. package/build/services/sync-service.d.ts +19 -0
  42. package/build/services/sync-service.d.ts.map +1 -0
  43. package/build/services/sync-service.js +439 -0
  44. package/build/services/sync-service.js.map +1 -0
  45. package/build/services/variable-group-service.d.ts +11 -0
  46. package/build/services/variable-group-service.d.ts.map +1 -0
  47. package/build/services/variable-group-service.js +62 -0
  48. package/build/services/variable-group-service.js.map +1 -0
  49. package/build/services/wiki-service.d.ts +41 -0
  50. package/build/services/wiki-service.d.ts.map +1 -0
  51. package/build/services/wiki-service.js +346 -0
  52. package/build/services/wiki-service.js.map +1 -0
  53. package/build/services/work-item-service.d.ts +22 -0
  54. package/build/services/work-item-service.d.ts.map +1 -0
  55. package/build/services/work-item-service.js +284 -0
  56. package/build/services/work-item-service.js.map +1 -0
  57. package/build/sync/file-utils.d.ts +7 -5
  58. package/build/sync/file-utils.d.ts.map +1 -1
  59. package/build/sync/file-utils.js +17 -8
  60. package/build/sync/file-utils.js.map +1 -1
  61. package/build/sync/markdown-serializer.d.ts +5 -4
  62. package/build/sync/markdown-serializer.d.ts.map +1 -1
  63. package/build/sync/markdown-serializer.js +21 -9
  64. package/build/sync/markdown-serializer.js.map +1 -1
  65. package/build/tool-examples.d.ts +8 -0
  66. package/build/tool-examples.d.ts.map +1 -1
  67. package/build/tool-examples.js +28 -0
  68. package/build/tool-examples.js.map +1 -1
  69. package/build/tools/build-tools.d.ts +3 -0
  70. package/build/tools/build-tools.d.ts.map +1 -0
  71. package/build/tools/build-tools.js +56 -0
  72. package/build/tools/build-tools.js.map +1 -0
  73. package/build/tools/configuration-tools.d.ts +6 -0
  74. package/build/tools/configuration-tools.d.ts.map +1 -0
  75. package/build/tools/configuration-tools.js +30 -0
  76. package/build/tools/configuration-tools.js.map +1 -0
  77. package/build/tools/index.d.ts +13 -0
  78. package/build/tools/index.d.ts.map +1 -0
  79. package/build/tools/index.js +30 -0
  80. package/build/tools/index.js.map +1 -0
  81. package/build/tools/pull-request-tools.d.ts +5 -0
  82. package/build/tools/pull-request-tools.d.ts.map +1 -0
  83. package/build/tools/pull-request-tools.js +227 -0
  84. package/build/tools/pull-request-tools.js.map +1 -0
  85. package/build/tools/sync-tools.d.ts +3 -0
  86. package/build/tools/sync-tools.d.ts.map +1 -0
  87. package/build/tools/sync-tools.js +146 -0
  88. package/build/tools/sync-tools.js.map +1 -0
  89. package/build/tools/variable-group-tools.d.ts +3 -0
  90. package/build/tools/variable-group-tools.d.ts.map +1 -0
  91. package/build/tools/variable-group-tools.js +32 -0
  92. package/build/tools/variable-group-tools.js.map +1 -0
  93. package/build/tools/wiki-tools.d.ts +3 -0
  94. package/build/tools/wiki-tools.d.ts.map +1 -0
  95. package/build/tools/wiki-tools.js +151 -0
  96. package/build/tools/wiki-tools.js.map +1 -0
  97. package/build/tools/work-item-tools.d.ts +3 -0
  98. package/build/tools/work-item-tools.d.ts.map +1 -0
  99. package/build/tools/work-item-tools.js +188 -0
  100. package/build/tools/work-item-tools.js.map +1 -0
  101. package/build/types.d.ts +23 -0
  102. package/build/types.d.ts.map +1 -0
  103. package/build/types.js +2 -0
  104. package/build/types.js.map +1 -0
  105. package/package.json +2 -2
  106. package/build/AzureDevOpsService.d.ts +0 -489
  107. package/build/AzureDevOpsService.d.ts.map +0 -1
  108. package/build/AzureDevOpsService.js +0 -1558
  109. package/build/AzureDevOpsService.js.map +0 -1
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Work Item Tools - 10 tools for work item operations
3
+ */
4
+ import { z } from 'zod';
5
+ import { descWithExamples, WIQL_EXAMPLES, PATCH_OP_EXAMPLES, WORK_ITEM_FIELD_EXAMPLES } from '../tool-examples.js';
6
+ import { getAllLargeTextFields } from '../sync/html-detection.js';
7
+ export function registerWorkItemTools(server, ctx) {
8
+ server.tool("get-work-item", "Get a work item by ID with full details from Azure DevOps", {
9
+ project: z.string().describe("The project name"),
10
+ workItemId: z.number().describe("The work item ID"),
11
+ }, async ({ project, workItemId }) => {
12
+ try {
13
+ const result = await ctx.workItem.getWorkItem(project, workItemId);
14
+ return { content: [{ type: "text", text: `Work item ${workItemId}:\n\n${JSON.stringify(result, null, 2)}` }] };
15
+ }
16
+ catch (error) {
17
+ console.error("Error getting work item:", error);
18
+ return { content: [{ type: "text", text: `Failed to get work item: ${error.message}` }] };
19
+ }
20
+ });
21
+ server.tool("query-work-items", "Query work items using WIQL (Work Item Query Language) in Azure DevOps", {
22
+ project: z.string().describe("The project name"),
23
+ wiql: z.string().describe(descWithExamples("The WIQL query string. SQL-like syntax with field names in brackets. Common fields: [System.Id], [System.Title], [System.State], [System.WorkItemType], [System.AssignedTo], [System.Parent]. Use @Me for current user.", WIQL_EXAMPLES)),
24
+ maxResults: z.number().optional().describe("Maximum number of results (default: 200)"),
25
+ }, async ({ project, wiql, maxResults }) => {
26
+ try {
27
+ const result = await ctx.workItem.queryWorkItems(project, wiql, maxResults);
28
+ return { content: [{ type: "text", text: `Work items query results:\n\n${JSON.stringify(result, null, 2)}` }] };
29
+ }
30
+ catch (error) {
31
+ console.error("Error querying work items:", error);
32
+ return { content: [{ type: "text", text: `Failed to query work items: ${error.message}` }] };
33
+ }
34
+ });
35
+ server.tool("run-saved-query", "Execute a saved Azure DevOps query by its query ID (GUID). Returns a compact summary by default (ID, Title, Assigned To, State, Severity, Priority, Tags, Story Points, Resolved Reason). Use detail='full' for all fields.", {
36
+ project: z.string().describe("The project name"),
37
+ queryId: z.string().describe(descWithExamples("The saved query GUID. Found in ADO query URLs: https://dev.azure.com/{org}/{project}/_queries/query/{queryId}/", [{ label: "From URL", value: "f8c22439-f72d-4018-b863-a52396b26c4b" }])),
38
+ maxResults: z.number().optional().describe("Maximum number of results (default: 50)"),
39
+ detail: z.enum(['summary', 'full']).optional().describe("Level of detail: 'summary' (default) returns key fields only, 'full' returns all fields expanded"),
40
+ fields: z.array(z.string()).optional().describe(descWithExamples("Custom list of ADO field reference names to return. Overrides the default summary fields.", [{ label: "Effort and state", value: '["System.Title", "System.State", "Microsoft.VSTS.Scheduling.Effort"]' }])),
41
+ groupBy: z.string().optional().describe(descWithExamples("Group results by a summary field name and return counts per group.", [
42
+ { label: "By state", value: "state" },
43
+ { label: "By assigned to", value: "assignedTo" },
44
+ { label: "By priority", value: "priority" },
45
+ ])),
46
+ }, async ({ project, queryId, maxResults, detail, fields, groupBy }) => {
47
+ try {
48
+ const result = await ctx.workItem.runSavedQuery(project, queryId, maxResults, detail, fields, groupBy);
49
+ return { content: [{ type: "text", text: `Saved query results:\n\n${JSON.stringify(result, null, 2)}` }] };
50
+ }
51
+ catch (error) {
52
+ console.error("Error running saved query:", error);
53
+ return { content: [{ type: "text", text: `Failed to run saved query: ${error.message}` }] };
54
+ }
55
+ });
56
+ server.tool("get-saved-query", "Get a saved Azure DevOps query's metadata and WIQL text without executing it. Useful for inspecting or modifying a query before running it.", {
57
+ project: z.string().describe("The project name"),
58
+ queryId: z.string().describe("The saved query GUID"),
59
+ }, async ({ project, queryId }) => {
60
+ try {
61
+ const result = await ctx.workItem.getSavedQuery(project, queryId);
62
+ return { content: [{ type: "text", text: `Saved query details:\n\n${JSON.stringify(result, null, 2)}` }] };
63
+ }
64
+ catch (error) {
65
+ console.error("Error getting saved query:", error);
66
+ return { content: [{ type: "text", text: `Failed to get saved query: ${error.message}` }] };
67
+ }
68
+ });
69
+ server.tool("get-work-item-comments", "Get comments/discussion for a work item in Azure DevOps", {
70
+ project: z.string().describe("The project name"),
71
+ workItemId: z.number().describe("The work item ID"),
72
+ }, async ({ project, workItemId }) => {
73
+ try {
74
+ const result = await ctx.workItem.getWorkItemComments(project, workItemId);
75
+ return { content: [{ type: "text", text: `Comments for work item ${workItemId}:\n\n${JSON.stringify(result, null, 2)}` }] };
76
+ }
77
+ catch (error) {
78
+ console.error("Error getting work item comments:", error);
79
+ return { content: [{ type: "text", text: `Failed to get work item comments: ${error.message}` }] };
80
+ }
81
+ });
82
+ server.tool("add-work-item-comment", "Add a comment to a work item in Azure DevOps (requires AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true). By default, comments are sent as Markdown. For orgs without Markdown preview, set AZUREDEVOPS_COMMENT_FORMAT=html to auto-convert Markdown to HTML.", {
83
+ project: z.string().describe("The project name"),
84
+ workItemId: z.number().describe("The work item ID"),
85
+ commentText: z.string().describe("The comment text in Markdown format. Use standard Markdown syntax: **bold**, *italic*, `code`, - lists, [links](url), etc. Will be auto-converted to HTML if AZUREDEVOPS_COMMENT_FORMAT=html is set."),
86
+ }, async ({ project, workItemId, commentText }) => {
87
+ try {
88
+ const result = await ctx.workItem.addWorkItemComment(project, workItemId, commentText);
89
+ return { content: [{ type: "text", text: `Added comment to work item ${workItemId}:\n\n${JSON.stringify(result, null, 2)}` }] };
90
+ }
91
+ catch (error) {
92
+ console.error("Error adding work item comment:", error);
93
+ return { content: [{ type: "text", text: `Failed to add work item comment: ${error.message}` }] };
94
+ }
95
+ });
96
+ server.tool("update-work-item-comment", "Update an existing comment on a work item in Azure DevOps (requires AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true). By default, comments are sent as Markdown. For orgs without Markdown preview, set AZUREDEVOPS_COMMENT_FORMAT=html to auto-convert Markdown to HTML.", {
97
+ project: z.string().describe("The project name"),
98
+ workItemId: z.number().describe("The work item ID"),
99
+ commentId: z.number().describe("The comment ID to update. Get comment IDs from get-work-item-comments."),
100
+ commentText: z.string().describe("The updated comment text in Markdown format. Use standard Markdown syntax: **bold**, *italic*, `code`, - lists, [links](url), etc. Will be auto-converted to HTML if AZUREDEVOPS_COMMENT_FORMAT=html is set."),
101
+ }, async ({ project, workItemId, commentId, commentText }) => {
102
+ try {
103
+ const result = await ctx.workItem.updateWorkItemComment(project, workItemId, commentId, commentText);
104
+ return { content: [{ type: "text", text: `Updated comment ${commentId} on work item ${workItemId}:\n\n${JSON.stringify(result, null, 2)}` }] };
105
+ }
106
+ catch (error) {
107
+ console.error("Error updating work item comment:", error);
108
+ return { content: [{ type: "text", text: `Failed to update work item comment: ${error.message}` }] };
109
+ }
110
+ });
111
+ server.tool("update-work-item", "Update a work item in Azure DevOps using JSON Patch operations (requires AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true). Auto-injects markdown format operations for large text fields.", {
112
+ project: z.string().describe("The project name"),
113
+ workItemId: z.number().describe("The work item ID"),
114
+ patchOperations: z.array(z.object({
115
+ op: z.string().describe("The operation type: 'add' (set value), 'replace' (update existing), or 'remove' (clear field)"),
116
+ path: z.string().describe("The field path starting with '/fields/' (e.g., '/fields/System.State', '/fields/System.Title')"),
117
+ value: z.any().optional().describe("The value to set (not required for 'remove' operation)")
118
+ })).describe(descWithExamples("Array of JSON Patch operations. Each operation specifies what to change.", PATCH_OP_EXAMPLES)),
119
+ skipAutoConvert: z.boolean().optional().describe("Skip automatic markdown format injection for large text fields. Only use when explicitly requested. Default: false"),
120
+ }, async ({ project, workItemId, patchOperations, skipAutoConvert }) => {
121
+ try {
122
+ let finalOperations = [...patchOperations];
123
+ const formatOpsAdded = [];
124
+ if (!skipAutoConvert) {
125
+ const allLargeTextFields = getAllLargeTextFields();
126
+ const largeTextFieldsBeingUpdated = patchOperations
127
+ .filter((op) => op.path?.startsWith('/fields/'))
128
+ .map((op) => op.path.replace('/fields/', ''))
129
+ .filter((field) => allLargeTextFields.includes(field));
130
+ for (const field of largeTextFieldsBeingUpdated) {
131
+ const hasFormatOp = finalOperations.some((op) => op.path === `/multilineFieldsFormat/${field}`);
132
+ if (!hasFormatOp) {
133
+ finalOperations.push({
134
+ op: 'add',
135
+ path: `/multilineFieldsFormat/${field}`,
136
+ value: 'Markdown'
137
+ });
138
+ formatOpsAdded.push(field);
139
+ }
140
+ }
141
+ }
142
+ const result = await ctx.workItem.updateWorkItem(project, workItemId, finalOperations);
143
+ let message = `Updated work item ${workItemId}`;
144
+ if (formatOpsAdded.length > 0) {
145
+ message += ` (auto-set markdown format for: ${formatOpsAdded.join(', ')})`;
146
+ }
147
+ return { content: [{ type: "text", text: `${message}:\n\n${JSON.stringify(result, null, 2)}` }] };
148
+ }
149
+ catch (error) {
150
+ console.error("Error updating work item:", error);
151
+ return { content: [{ type: "text", text: `Failed to update work item: ${error.message}` }] };
152
+ }
153
+ });
154
+ server.tool("create-work-item", "Create a new work item in Azure DevOps with optional parent relationship (requires AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true)", {
155
+ project: z.string().describe("The project name"),
156
+ workItemType: z.string().describe("The work item type: 'Bug', 'Task', 'User Story', 'Feature', 'Epic', or custom types"),
157
+ fields: z.record(z.any()).describe(descWithExamples("Object with field values. Required: System.Title. Common fields: System.Description, System.State, System.AssignedTo, Microsoft.VSTS.Common.AcceptanceCriteria, Microsoft.VSTS.TCM.ReproSteps (bugs).", WORK_ITEM_FIELD_EXAMPLES)),
158
+ parentId: z.number().optional().describe("Optional parent work item ID (for creating child items). Simplified alternative to relations parameter."),
159
+ relations: z.array(z.object({
160
+ rel: z.string().describe("Relation type (e.g., 'System.LinkTypes.Hierarchy-Reverse' for parent)"),
161
+ url: z.string().describe("URL to related work item (e.g., 'https://dev.azure.com/org/project/_apis/wit/workItems/123')"),
162
+ attributes: z.record(z.any()).optional().describe("Optional relation attributes")
163
+ })).optional().describe("Optional array of work item relationships. Use parentId for simple parent-child relationships.")
164
+ }, async ({ project, workItemType, fields, parentId, relations }) => {
165
+ try {
166
+ const result = await ctx.workItem.createWorkItem(project, workItemType, fields, parentId, relations);
167
+ return { content: [{ type: "text", text: `Created work item:\n\n${JSON.stringify(result, null, 2)}` }] };
168
+ }
169
+ catch (error) {
170
+ console.error("Error creating work item:", error);
171
+ return { content: [{ type: "text", text: `Failed to create work item: ${error.message}` }] };
172
+ }
173
+ });
174
+ server.tool("delete-work-item", "Delete a work item in Azure DevOps (requires AZUREDEVOPS_ENABLE_WORK_ITEM_DELETE=true)", {
175
+ project: z.string().describe("The project name"),
176
+ workItemId: z.number().describe("The work item ID"),
177
+ }, async ({ project, workItemId }) => {
178
+ try {
179
+ const result = await ctx.workItem.deleteWorkItem(project, workItemId);
180
+ return { content: [{ type: "text", text: `Deleted work item ${workItemId}:\n\n${JSON.stringify(result, null, 2)}` }] };
181
+ }
182
+ catch (error) {
183
+ console.error("Error deleting work item:", error);
184
+ return { content: [{ type: "text", text: `Failed to delete work item: ${error.message}` }] };
185
+ }
186
+ });
187
+ }
188
+ //# sourceMappingURL=work-item-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-item-tools.js","sourceRoot":"","sources":["../../src/tools/work-item-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Service context shared between MCP server and CLI entry points.
3
+ * Uses lazy getters to initialize services on-demand.
4
+ */
5
+ import type { AzureDevOpsClient } from './azure-devops-client.js';
6
+ import type { WikiService } from './services/wiki-service.js';
7
+ import type { WorkItemService } from './services/work-item-service.js';
8
+ import type { PullRequestService } from './services/pull-request-service.js';
9
+ import type { BuildService } from './services/build-service.js';
10
+ import type { VariableGroupService } from './services/variable-group-service.js';
11
+ import type { SyncService } from './services/sync-service.js';
12
+ import type { ConfigurationService } from './services/configuration-service.js';
13
+ export interface ServiceContext {
14
+ readonly client: AzureDevOpsClient;
15
+ readonly wiki: WikiService;
16
+ readonly workItem: WorkItemService;
17
+ readonly pullRequest: PullRequestService;
18
+ readonly build: BuildService;
19
+ readonly variableGroup: VariableGroupService;
20
+ readonly sync: SyncService;
21
+ readonly configuration: ConfigurationService;
22
+ }
23
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;CAC9C"}
package/build/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-consultant-tools/azure-devops",
3
- "version": "27.0.0",
3
+ "version": "28.0.0-beta.1",
4
4
  "description": "MCP server for Azure DevOps integration - wikis, work items, pull requests, and variable group read access",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -41,7 +41,7 @@
41
41
  "node": ">=16.0.0"
42
42
  },
43
43
  "dependencies": {
44
- "@mcp-consultant-tools/core": "^1.0.0",
44
+ "@mcp-consultant-tools/core": "27.0.0-beta.1",
45
45
  "@modelcontextprotocol/sdk": "^1.0.4",
46
46
  "axios": "^1.8.3",
47
47
  "marked": "^17.0.1",