@mcp-consultant-tools/azure-devops 28.0.0-beta.7 → 28.0.0
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/azure-devops-client.d.ts +8 -0
- package/build/azure-devops-client.d.ts.map +1 -1
- package/build/azure-devops-client.js +47 -0
- package/build/azure-devops-client.js.map +1 -1
- package/build/cli/commands/build-commands.d.ts +7 -0
- package/build/cli/commands/build-commands.d.ts.map +1 -0
- package/build/cli/commands/build-commands.js +59 -0
- package/build/cli/commands/build-commands.js.map +1 -0
- package/build/cli/commands/checklist-commands.d.ts +7 -0
- package/build/cli/commands/checklist-commands.d.ts.map +1 -0
- package/build/cli/commands/checklist-commands.js +141 -0
- package/build/cli/commands/checklist-commands.js.map +1 -0
- package/build/cli/commands/configuration-commands.d.ts +7 -0
- package/build/cli/commands/configuration-commands.d.ts.map +1 -0
- package/build/cli/commands/configuration-commands.js +24 -0
- package/build/cli/commands/configuration-commands.js.map +1 -0
- package/build/cli/commands/index.d.ts +15 -0
- package/build/cli/commands/index.d.ts.map +1 -0
- package/build/cli/commands/index.js +30 -0
- package/build/cli/commands/index.js.map +1 -0
- package/build/cli/commands/pull-request-commands.d.ts +7 -0
- package/build/cli/commands/pull-request-commands.d.ts.map +1 -0
- package/build/cli/commands/pull-request-commands.js +234 -0
- package/build/cli/commands/pull-request-commands.js.map +1 -0
- package/build/cli/commands/sync-commands.d.ts +7 -0
- package/build/cli/commands/sync-commands.d.ts.map +1 -0
- package/build/cli/commands/sync-commands.js +148 -0
- package/build/cli/commands/sync-commands.js.map +1 -0
- package/build/cli/commands/variable-group-commands.d.ts +7 -0
- package/build/cli/commands/variable-group-commands.d.ts.map +1 -0
- package/build/cli/commands/variable-group-commands.js +36 -0
- package/build/cli/commands/variable-group-commands.js.map +1 -0
- package/build/cli/commands/wiki-commands.d.ts +7 -0
- package/build/cli/commands/wiki-commands.d.ts.map +1 -0
- package/build/cli/commands/wiki-commands.js +152 -0
- package/build/cli/commands/wiki-commands.js.map +1 -0
- package/build/cli/commands/work-item-commands.d.ts +7 -0
- package/build/cli/commands/work-item-commands.d.ts.map +1 -0
- package/build/cli/commands/work-item-commands.js +169 -0
- package/build/cli/commands/work-item-commands.js.map +1 -0
- package/build/cli/output.d.ts +11 -0
- package/build/cli/output.d.ts.map +1 -0
- package/build/cli/output.js +10 -0
- package/build/cli/output.js.map +1 -0
- package/build/cli.d.ts +9 -0
- package/build/cli.d.ts.map +1 -0
- package/build/cli.js +27 -0
- package/build/cli.js.map +1 -0
- package/build/context-factory.d.ts +10 -0
- package/build/context-factory.d.ts.map +1 -0
- package/build/context-factory.js +63 -0
- package/build/context-factory.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +20 -53
- package/build/index.js.map +1 -1
- package/build/models/api-types.d.ts +62 -0
- package/build/models/api-types.d.ts.map +1 -1
- package/build/services/checklist-service.d.ts +42 -0
- package/build/services/checklist-service.d.ts.map +1 -0
- package/build/services/checklist-service.js +326 -0
- package/build/services/checklist-service.js.map +1 -0
- package/build/services/index.d.ts +1 -0
- package/build/services/index.d.ts.map +1 -1
- package/build/services/index.js +1 -0
- package/build/services/index.js.map +1 -1
- package/build/services/sync-service.d.ts.map +1 -1
- package/build/services/sync-service.js +28 -4
- package/build/services/sync-service.js.map +1 -1
- package/build/services/work-item-service.d.ts.map +1 -1
- package/build/services/work-item-service.js +2 -1
- package/build/services/work-item-service.js.map +1 -1
- package/build/sync/markdown-serializer.d.ts +15 -1
- package/build/sync/markdown-serializer.d.ts.map +1 -1
- package/build/sync/markdown-serializer.js +121 -56
- package/build/sync/markdown-serializer.js.map +1 -1
- package/build/sync/task-serializer.d.ts.map +1 -1
- package/build/sync/task-serializer.js +21 -12
- package/build/sync/task-serializer.js.map +1 -1
- package/build/tool-examples.d.ts +16 -0
- package/build/tool-examples.d.ts.map +1 -1
- package/build/tool-examples.js +34 -0
- package/build/tool-examples.js.map +1 -1
- package/build/tools/checklist-tools.d.ts +3 -0
- package/build/tools/checklist-tools.d.ts.map +1 -0
- package/build/tools/checklist-tools.js +197 -0
- package/build/tools/checklist-tools.js.map +1 -0
- package/build/tools/index.d.ts +1 -0
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +5 -2
- package/build/tools/index.js.map +1 -1
- package/build/tools/work-item-tools.d.ts.map +1 -1
- package/build/tools/work-item-tools.js +52 -24
- package/build/tools/work-item-tools.js.map +1 -1
- package/build/types.d.ts +2 -0
- package/build/types.d.ts.map +1 -1
- package/build/ui/work-items-app.html +236 -0
- package/package.json +10 -5
|
@@ -10,6 +10,7 @@ export declare class AzureDevOpsClient {
|
|
|
10
10
|
private readonly _config;
|
|
11
11
|
private readonly _baseUrl;
|
|
12
12
|
private readonly _searchUrl;
|
|
13
|
+
private readonly _extMgmtUrl;
|
|
13
14
|
private readonly _authHeader;
|
|
14
15
|
private readonly _apiVersion;
|
|
15
16
|
constructor(config: AzureDevOpsConfig);
|
|
@@ -21,6 +22,8 @@ export declare class AzureDevOpsClient {
|
|
|
21
22
|
get apiVersion(): string;
|
|
22
23
|
/** Read-only access to base URL */
|
|
23
24
|
get baseUrl(): string;
|
|
25
|
+
/** Read-only access to extension management URL */
|
|
26
|
+
get extMgmtUrl(): string;
|
|
24
27
|
/**
|
|
25
28
|
* Validate that a project is in the allowed list
|
|
26
29
|
*/
|
|
@@ -33,6 +36,11 @@ export declare class AzureDevOpsClient {
|
|
|
33
36
|
* Make a raw request returning the full AxiosResponse (for ETag/header access)
|
|
34
37
|
*/
|
|
35
38
|
requestRaw(endpoint: string, method?: 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE', data?: any, customHeaders?: Record<string, string>, responseType?: 'json' | 'arraybuffer'): Promise<AxiosResponse>;
|
|
39
|
+
/**
|
|
40
|
+
* Make an authenticated request to the Azure DevOps Extension Management API.
|
|
41
|
+
* Uses extmgmt.dev.azure.com instead of dev.azure.com.
|
|
42
|
+
*/
|
|
43
|
+
extRequest<T>(endpoint: string, method?: 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE', data?: any, customHeaders?: Record<string, string>): Promise<T>;
|
|
36
44
|
get<T>(endpoint: string, customHeaders?: Record<string, string>): Promise<T>;
|
|
37
45
|
post<T>(endpoint: string, data?: any, useSearchUrl?: boolean, customHeaders?: Record<string, string>): Promise<T>;
|
|
38
46
|
patch<T>(endpoint: string, data?: any, customHeaders?: Record<string, string>): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-devops-client.d.ts","sourceRoot":"","sources":["../src/azure-devops-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAA4B,MAAM,mBAAmB,CAAC;AAErF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,MAAM,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"azure-devops-client.d.ts","sourceRoot":"","sources":["../src/azure-devops-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export class AzureDevOpsClient {
|
|
|
9
9
|
_config;
|
|
10
10
|
_baseUrl;
|
|
11
11
|
_searchUrl;
|
|
12
|
+
_extMgmtUrl;
|
|
12
13
|
_authHeader;
|
|
13
14
|
_apiVersion;
|
|
14
15
|
constructor(config) {
|
|
@@ -23,6 +24,7 @@ export class AzureDevOpsClient {
|
|
|
23
24
|
};
|
|
24
25
|
this._baseUrl = `https://dev.azure.com/${this._config.organization}`;
|
|
25
26
|
this._searchUrl = `https://almsearch.dev.azure.com/${this._config.organization}`;
|
|
27
|
+
this._extMgmtUrl = `https://extmgmt.dev.azure.com/${this._config.organization}`;
|
|
26
28
|
this._apiVersion = this._config.apiVersion;
|
|
27
29
|
// Encode PAT for Basic Auth (format is :PAT encoded in base64)
|
|
28
30
|
this._authHeader = `Basic ${Buffer.from(`:${this._config.pat}`).toString('base64')}`;
|
|
@@ -35,10 +37,14 @@ export class AzureDevOpsClient {
|
|
|
35
37
|
get apiVersion() { return this._apiVersion; }
|
|
36
38
|
/** Read-only access to base URL */
|
|
37
39
|
get baseUrl() { return this._baseUrl; }
|
|
40
|
+
/** Read-only access to extension management URL */
|
|
41
|
+
get extMgmtUrl() { return this._extMgmtUrl; }
|
|
38
42
|
/**
|
|
39
43
|
* Validate that a project is in the allowed list
|
|
40
44
|
*/
|
|
41
45
|
validateProject(project) {
|
|
46
|
+
if (this._config.projects.includes('*'))
|
|
47
|
+
return;
|
|
42
48
|
if (!this._config.projects.includes(project)) {
|
|
43
49
|
throw new Error(`Project '${project}' is not in the allowed projects list. Allowed projects: ${this._config.projects.join(', ')}`);
|
|
44
50
|
}
|
|
@@ -124,6 +130,47 @@ export class AzureDevOpsClient {
|
|
|
124
130
|
throw new Error(`Azure DevOps API request failed: ${error.message} - ${JSON.stringify(errorDetails)}`);
|
|
125
131
|
}
|
|
126
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Make an authenticated request to the Azure DevOps Extension Management API.
|
|
135
|
+
* Uses extmgmt.dev.azure.com instead of dev.azure.com.
|
|
136
|
+
*/
|
|
137
|
+
async extRequest(endpoint, method = 'GET', data, customHeaders) {
|
|
138
|
+
try {
|
|
139
|
+
const url = `${this._extMgmtUrl}/${endpoint}`;
|
|
140
|
+
const response = await axios({
|
|
141
|
+
method,
|
|
142
|
+
url,
|
|
143
|
+
headers: {
|
|
144
|
+
'Authorization': this._authHeader,
|
|
145
|
+
'Content-Type': 'application/json',
|
|
146
|
+
'Accept': 'application/json',
|
|
147
|
+
...customHeaders
|
|
148
|
+
},
|
|
149
|
+
data
|
|
150
|
+
});
|
|
151
|
+
return response.data;
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
const errorDetails = error.response?.data?.message || error.response?.data || error.message;
|
|
155
|
+
console.error('Azure DevOps Extension Management API request failed:', {
|
|
156
|
+
endpoint,
|
|
157
|
+
method,
|
|
158
|
+
status: error.response?.status,
|
|
159
|
+
statusText: error.response?.statusText,
|
|
160
|
+
error: errorDetails
|
|
161
|
+
});
|
|
162
|
+
if (error.response?.status === 401) {
|
|
163
|
+
throw new Error('Azure DevOps authentication failed. Please check your PAT token and permissions.');
|
|
164
|
+
}
|
|
165
|
+
if (error.response?.status === 403) {
|
|
166
|
+
throw new Error('Azure DevOps access denied. Please check your PAT scopes and project permissions.');
|
|
167
|
+
}
|
|
168
|
+
if (error.response?.status === 404) {
|
|
169
|
+
throw new Error(`Azure DevOps extension resource not found: ${endpoint}`);
|
|
170
|
+
}
|
|
171
|
+
throw new Error(`Azure DevOps Extension Management API request failed: ${error.message} - ${JSON.stringify(errorDetails)}`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
127
174
|
// Convenience methods
|
|
128
175
|
async get(endpoint, customHeaders) {
|
|
129
176
|
return this.request(endpoint, 'GET', undefined, false, customHeaders);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-devops-client.js","sourceRoot":"","sources":["../src/azure-devops-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"azure-devops-client.js","sourceRoot":"","sources":["../src/azure-devops-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build CLI Commands - 3 commands for build troubleshooting
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../types.js';
|
|
6
|
+
export declare function registerBuildCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=build-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAuDjF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build CLI Commands - 3 commands for build troubleshooting
|
|
3
|
+
*/
|
|
4
|
+
import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
|
|
5
|
+
import { outputResult } from '../output.js';
|
|
6
|
+
export function registerBuildCommands(program, ctx) {
|
|
7
|
+
const build = program.command('build').description('Build troubleshooting operations');
|
|
8
|
+
build
|
|
9
|
+
.command('status')
|
|
10
|
+
.description('Get build status and details')
|
|
11
|
+
.argument('<project>', 'Project name')
|
|
12
|
+
.argument('<buildId>', 'Build ID')
|
|
13
|
+
.option('-d, --detail <level>', 'Detail level: summary, timeline, full', 'summary')
|
|
14
|
+
.option('-s, --scope <scope>', 'Timeline scope: problems, stages, jobs, all', 'problems')
|
|
15
|
+
.option('-m, --max-issues <n>', 'Max issues per record', '5')
|
|
16
|
+
.action(async (project, buildId, opts) => {
|
|
17
|
+
try {
|
|
18
|
+
const result = await ctx.build.getBuildStatus(project, parseInt(buildId), opts.detail, opts.scope, parseInt(opts.maxIssues));
|
|
19
|
+
outputResult({ fileName: `build-${buildId}-status`, data: result, summary: `Build #${buildId} status: ${result?.status || 'unknown'}` }, getGlobalFlags(program));
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
handleCliError(error, 'get build status');
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
build
|
|
26
|
+
.command('timeline')
|
|
27
|
+
.description('Get step-by-step breakdown of a build')
|
|
28
|
+
.argument('<project>', 'Project name')
|
|
29
|
+
.argument('<buildId>', 'Build ID')
|
|
30
|
+
.option('-s, --scope <scope>', 'Filter scope: problems, stages, jobs, all', 'problems')
|
|
31
|
+
.option('-m, --max-issues <n>', 'Max issues per record', '5')
|
|
32
|
+
.action(async (project, buildId, opts) => {
|
|
33
|
+
try {
|
|
34
|
+
const result = await ctx.build.getBuildTimeline(project, parseInt(buildId), opts.scope, parseInt(opts.maxIssues));
|
|
35
|
+
outputResult({ fileName: `build-${buildId}-timeline`, data: result, summary: `Build #${buildId} timeline` }, getGlobalFlags(program));
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
handleCliError(error, 'get build timeline');
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
build
|
|
42
|
+
.command('logs')
|
|
43
|
+
.description('Get build logs')
|
|
44
|
+
.argument('<project>', 'Project name')
|
|
45
|
+
.argument('<buildId>', 'Build ID')
|
|
46
|
+
.option('-l, --log-id <n>', 'Specific log ID to retrieve')
|
|
47
|
+
.option('-m, --mode <mode>', 'Filter mode: summary, full, errors', 'summary')
|
|
48
|
+
.action(async (project, buildId, opts) => {
|
|
49
|
+
try {
|
|
50
|
+
const logId = opts.logId ? parseInt(opts.logId) : undefined;
|
|
51
|
+
const result = await ctx.build.getBuildLogs(project, parseInt(buildId), logId, opts.mode);
|
|
52
|
+
outputResult({ fileName: `build-${buildId}-logs${logId ? `-${logId}` : ''}`, data: result, summary: `Build #${buildId} logs` }, getGlobalFlags(program));
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
handleCliError(error, 'get build logs');
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=build-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/build-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checklist CLI Commands - 8 commands for ADO work item checklists
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../types.js';
|
|
6
|
+
export declare function registerChecklistCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=checklist-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checklist-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/checklist-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAsHrF"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checklist CLI Commands - 8 commands for ADO work item checklists
|
|
3
|
+
*/
|
|
4
|
+
import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
|
|
5
|
+
import { outputResult } from '../output.js';
|
|
6
|
+
export function registerChecklistCommands(program, ctx) {
|
|
7
|
+
const checklist = program.command('checklist').description('Work item checklist operations');
|
|
8
|
+
checklist
|
|
9
|
+
.command('get')
|
|
10
|
+
.description('Get merged checklist for a work item')
|
|
11
|
+
.argument('<project>', 'Project name')
|
|
12
|
+
.argument('<workItemId>', 'Work item ID')
|
|
13
|
+
.action(async (project, workItemId) => {
|
|
14
|
+
try {
|
|
15
|
+
const result = await ctx.checklist.getChecklist(project, parseInt(workItemId));
|
|
16
|
+
const summary = `Checklist for #${workItemId}: ${result.completionPercent}% complete (${result.completedCount}/${result.totalCount})`;
|
|
17
|
+
outputResult({ fileName: `checklist-${workItemId}`, data: result, summary }, getGlobalFlags(program));
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
handleCliError(error, 'get checklist');
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
checklist
|
|
24
|
+
.command('template')
|
|
25
|
+
.description('Get checklist template for a work item type')
|
|
26
|
+
.argument('<project>', 'Project name')
|
|
27
|
+
.argument('<workItemType>', 'Work item type (e.g., "User Story", "Bug")')
|
|
28
|
+
.action(async (project, workItemType) => {
|
|
29
|
+
try {
|
|
30
|
+
const result = await ctx.checklist.getTemplate(project, workItemType);
|
|
31
|
+
const summary = result
|
|
32
|
+
? `Template for '${workItemType}': ${result.checklistItems.length} items`
|
|
33
|
+
: `No template found for '${workItemType}'`;
|
|
34
|
+
outputResult({ fileName: `checklist-template-${workItemType.replace(/\s+/g, '-').toLowerCase()}`, data: result, summary }, getGlobalFlags(program));
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
handleCliError(error, 'get checklist template');
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
checklist
|
|
41
|
+
.command('templates')
|
|
42
|
+
.description('List all checklist templates in a project')
|
|
43
|
+
.argument('<project>', 'Project name')
|
|
44
|
+
.action(async (project) => {
|
|
45
|
+
try {
|
|
46
|
+
const result = await ctx.checklist.listTemplates(project);
|
|
47
|
+
const summary = `${result.length} checklist template(s) in '${project}'`;
|
|
48
|
+
outputResult({ fileName: `checklist-templates-${project}`, data: result, summary }, getGlobalFlags(program));
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
handleCliError(error, 'list checklist templates');
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
checklist
|
|
55
|
+
.command('report')
|
|
56
|
+
.description('Get checklist completion report across work items')
|
|
57
|
+
.argument('<project>', 'Project name')
|
|
58
|
+
.option('-t, --type <type>', 'Filter by work item type')
|
|
59
|
+
.option('-s, --state <state>', 'Filter by work item state')
|
|
60
|
+
.option('-m, --max <n>', 'Maximum results', '200')
|
|
61
|
+
.action(async (project, opts) => {
|
|
62
|
+
try {
|
|
63
|
+
const result = await ctx.checklist.getReport(project, opts.type, opts.state, parseInt(opts.max));
|
|
64
|
+
const r = result;
|
|
65
|
+
const summary = `Checklist report: ${r.totalWorkItems} items — ${r.fullyComplete} complete, ${r.partiallyComplete} partial, ${r.notStarted} not started`;
|
|
66
|
+
outputResult({ fileName: `checklist-report-${project}`, data: result, summary }, getGlobalFlags(program));
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
handleCliError(error, 'get checklist report');
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
checklist
|
|
73
|
+
.command('update-item')
|
|
74
|
+
.description('Update checklist item state on a work item')
|
|
75
|
+
.argument('<project>', 'Project name')
|
|
76
|
+
.argument('<workItemId>', 'Work item ID')
|
|
77
|
+
.argument('<itemId>', 'Checklist item ID')
|
|
78
|
+
.argument('<state>', 'New state')
|
|
79
|
+
.option('--completed-by <name>', 'Display name for completedBy')
|
|
80
|
+
.action(async (project, workItemId, itemId, state, opts) => {
|
|
81
|
+
try {
|
|
82
|
+
const result = await ctx.checklist.updateItemState(project, parseInt(workItemId), itemId, state, opts.completedBy);
|
|
83
|
+
outputResult({ fileName: `checklist-${workItemId}-updated`, data: result, summary: `Updated item '${itemId}' to '${state}'` }, getGlobalFlags(program));
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
handleCliError(error, 'update checklist item');
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
checklist
|
|
90
|
+
.command('add-item')
|
|
91
|
+
.description('Add custom checklist item to a work item')
|
|
92
|
+
.argument('<project>', 'Project name')
|
|
93
|
+
.argument('<workItemId>', 'Work item ID')
|
|
94
|
+
.argument('<text>', 'Item text (max 128 chars)')
|
|
95
|
+
.option('-r, --required', 'Mark as required')
|
|
96
|
+
.action(async (project, workItemId, text, opts) => {
|
|
97
|
+
try {
|
|
98
|
+
const result = await ctx.checklist.addItem(project, parseInt(workItemId), text, opts.required || false);
|
|
99
|
+
outputResult({ fileName: `checklist-${workItemId}-added`, data: result, summary: `Added item to #${workItemId}` }, getGlobalFlags(program));
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
handleCliError(error, 'add checklist item');
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
checklist
|
|
106
|
+
.command('remove-item')
|
|
107
|
+
.description('Remove custom checklist item from a work item')
|
|
108
|
+
.argument('<project>', 'Project name')
|
|
109
|
+
.argument('<workItemId>', 'Work item ID')
|
|
110
|
+
.argument('<itemId>', 'Checklist item ID to remove')
|
|
111
|
+
.action(async (project, workItemId, itemId) => {
|
|
112
|
+
try {
|
|
113
|
+
const result = await ctx.checklist.removeItem(project, parseInt(workItemId), itemId);
|
|
114
|
+
outputResult({ fileName: `checklist-${workItemId}-removed`, data: result, summary: `Removed item '${itemId}' from #${workItemId}` }, getGlobalFlags(program));
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
handleCliError(error, 'remove checklist item');
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
checklist
|
|
121
|
+
.command('update-template')
|
|
122
|
+
.description('Update checklist template for a work item type')
|
|
123
|
+
.argument('<project>', 'Project name')
|
|
124
|
+
.argument('<workItemType>', 'Work item type')
|
|
125
|
+
.argument('<items>', 'JSON array of items: [{"text": "...", "required": true}]')
|
|
126
|
+
.action(async (project, workItemType, items) => {
|
|
127
|
+
try {
|
|
128
|
+
const parsedItems = JSON.parse(items);
|
|
129
|
+
const result = await ctx.checklist.updateTemplate(project, workItemType, parsedItems);
|
|
130
|
+
outputResult({
|
|
131
|
+
fileName: `checklist-template-${workItemType.replace(/\s+/g, '-').toLowerCase()}-updated`,
|
|
132
|
+
data: result,
|
|
133
|
+
summary: `Updated template for '${workItemType}' (${result.checklistItems.length} items)`
|
|
134
|
+
}, getGlobalFlags(program));
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
handleCliError(error, 'update checklist template');
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=checklist-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checklist-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/checklist-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration CLI Commands - 1 command
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../types.js';
|
|
6
|
+
export declare function registerConfigurationCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=configuration-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/configuration-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAiBzF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration CLI Commands - 1 command
|
|
3
|
+
*/
|
|
4
|
+
import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
|
|
5
|
+
import { outputResult } from '../output.js';
|
|
6
|
+
export function registerConfigurationCommands(program, ctx) {
|
|
7
|
+
program
|
|
8
|
+
.command('config')
|
|
9
|
+
.description('Get configured organization and projects')
|
|
10
|
+
.action(async () => {
|
|
11
|
+
try {
|
|
12
|
+
const config = ctx.configuration.getConfiguration();
|
|
13
|
+
if (!config) {
|
|
14
|
+
process.stderr.write('Azure DevOps not configured. Set AZUREDEVOPS_ORGANIZATION and AZUREDEVOPS_PROJECTS.\n');
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
outputResult({ fileName: 'configuration', data: config, summary: `Organization: ${config?.organization || 'unknown'}\nProjects: ${config?.projects?.join(', ') || 'none'}` }, getGlobalFlags(program));
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
handleCliError(error, 'get configuration');
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=configuration-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/configuration-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,6BAA6B,CAAC,OAAgB,EAAE,GAAmB;IACjF,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAC;gBAC9G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,YAAY,CACV,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAkB,MAAc,EAAE,YAAY,IAAI,SAAS,eAAgB,MAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,EAAE,EACjL,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Commands barrel export + combined registration
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../types.js';
|
|
6
|
+
export declare function registerAllCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
export { registerWikiCommands } from './wiki-commands.js';
|
|
8
|
+
export { registerWorkItemCommands } from './work-item-commands.js';
|
|
9
|
+
export { registerPullRequestCommands } from './pull-request-commands.js';
|
|
10
|
+
export { registerBuildCommands } from './build-commands.js';
|
|
11
|
+
export { registerVariableGroupCommands } from './variable-group-commands.js';
|
|
12
|
+
export { registerSyncCommands } from './sync-commands.js';
|
|
13
|
+
export { registerConfigurationCommands } from './configuration-commands.js';
|
|
14
|
+
export { registerChecklistCommands } from './checklist-commands.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAS/E;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Commands barrel export + combined registration
|
|
3
|
+
*/
|
|
4
|
+
import { registerWikiCommands } from './wiki-commands.js';
|
|
5
|
+
import { registerWorkItemCommands } from './work-item-commands.js';
|
|
6
|
+
import { registerPullRequestCommands } from './pull-request-commands.js';
|
|
7
|
+
import { registerBuildCommands } from './build-commands.js';
|
|
8
|
+
import { registerVariableGroupCommands } from './variable-group-commands.js';
|
|
9
|
+
import { registerSyncCommands } from './sync-commands.js';
|
|
10
|
+
import { registerConfigurationCommands } from './configuration-commands.js';
|
|
11
|
+
import { registerChecklistCommands } from './checklist-commands.js';
|
|
12
|
+
export function registerAllCommands(program, ctx) {
|
|
13
|
+
registerConfigurationCommands(program, ctx);
|
|
14
|
+
registerWikiCommands(program, ctx);
|
|
15
|
+
registerWorkItemCommands(program, ctx);
|
|
16
|
+
registerPullRequestCommands(program, ctx);
|
|
17
|
+
registerBuildCommands(program, ctx);
|
|
18
|
+
registerVariableGroupCommands(program, ctx);
|
|
19
|
+
registerSyncCommands(program, ctx);
|
|
20
|
+
registerChecklistCommands(program, ctx);
|
|
21
|
+
}
|
|
22
|
+
export { registerWikiCommands } from './wiki-commands.js';
|
|
23
|
+
export { registerWorkItemCommands } from './work-item-commands.js';
|
|
24
|
+
export { registerPullRequestCommands } from './pull-request-commands.js';
|
|
25
|
+
export { registerBuildCommands } from './build-commands.js';
|
|
26
|
+
export { registerVariableGroupCommands } from './variable-group-commands.js';
|
|
27
|
+
export { registerSyncCommands } from './sync-commands.js';
|
|
28
|
+
export { registerConfigurationCommands } from './configuration-commands.js';
|
|
29
|
+
export { registerChecklistCommands } from './checklist-commands.js';
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,GAAmB;IACvE,6BAA6B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,2BAA2B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1C,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,6BAA6B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pull Request CLI Commands - 6 read-only + 7 write commands
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../types.js';
|
|
6
|
+
export declare function registerPullRequestCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=pull-request-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-request-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pull-request-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAiQvF"}
|