@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.
Files changed (98) hide show
  1. package/build/azure-devops-client.d.ts +8 -0
  2. package/build/azure-devops-client.d.ts.map +1 -1
  3. package/build/azure-devops-client.js +47 -0
  4. package/build/azure-devops-client.js.map +1 -1
  5. package/build/cli/commands/build-commands.d.ts +7 -0
  6. package/build/cli/commands/build-commands.d.ts.map +1 -0
  7. package/build/cli/commands/build-commands.js +59 -0
  8. package/build/cli/commands/build-commands.js.map +1 -0
  9. package/build/cli/commands/checklist-commands.d.ts +7 -0
  10. package/build/cli/commands/checklist-commands.d.ts.map +1 -0
  11. package/build/cli/commands/checklist-commands.js +141 -0
  12. package/build/cli/commands/checklist-commands.js.map +1 -0
  13. package/build/cli/commands/configuration-commands.d.ts +7 -0
  14. package/build/cli/commands/configuration-commands.d.ts.map +1 -0
  15. package/build/cli/commands/configuration-commands.js +24 -0
  16. package/build/cli/commands/configuration-commands.js.map +1 -0
  17. package/build/cli/commands/index.d.ts +15 -0
  18. package/build/cli/commands/index.d.ts.map +1 -0
  19. package/build/cli/commands/index.js +30 -0
  20. package/build/cli/commands/index.js.map +1 -0
  21. package/build/cli/commands/pull-request-commands.d.ts +7 -0
  22. package/build/cli/commands/pull-request-commands.d.ts.map +1 -0
  23. package/build/cli/commands/pull-request-commands.js +234 -0
  24. package/build/cli/commands/pull-request-commands.js.map +1 -0
  25. package/build/cli/commands/sync-commands.d.ts +7 -0
  26. package/build/cli/commands/sync-commands.d.ts.map +1 -0
  27. package/build/cli/commands/sync-commands.js +148 -0
  28. package/build/cli/commands/sync-commands.js.map +1 -0
  29. package/build/cli/commands/variable-group-commands.d.ts +7 -0
  30. package/build/cli/commands/variable-group-commands.d.ts.map +1 -0
  31. package/build/cli/commands/variable-group-commands.js +36 -0
  32. package/build/cli/commands/variable-group-commands.js.map +1 -0
  33. package/build/cli/commands/wiki-commands.d.ts +7 -0
  34. package/build/cli/commands/wiki-commands.d.ts.map +1 -0
  35. package/build/cli/commands/wiki-commands.js +152 -0
  36. package/build/cli/commands/wiki-commands.js.map +1 -0
  37. package/build/cli/commands/work-item-commands.d.ts +7 -0
  38. package/build/cli/commands/work-item-commands.d.ts.map +1 -0
  39. package/build/cli/commands/work-item-commands.js +169 -0
  40. package/build/cli/commands/work-item-commands.js.map +1 -0
  41. package/build/cli/output.d.ts +11 -0
  42. package/build/cli/output.d.ts.map +1 -0
  43. package/build/cli/output.js +10 -0
  44. package/build/cli/output.js.map +1 -0
  45. package/build/cli.d.ts +9 -0
  46. package/build/cli.d.ts.map +1 -0
  47. package/build/cli.js +27 -0
  48. package/build/cli.js.map +1 -0
  49. package/build/context-factory.d.ts +10 -0
  50. package/build/context-factory.d.ts.map +1 -0
  51. package/build/context-factory.js +63 -0
  52. package/build/context-factory.js.map +1 -0
  53. package/build/index.d.ts +1 -0
  54. package/build/index.d.ts.map +1 -1
  55. package/build/index.js +20 -53
  56. package/build/index.js.map +1 -1
  57. package/build/models/api-types.d.ts +62 -0
  58. package/build/models/api-types.d.ts.map +1 -1
  59. package/build/services/checklist-service.d.ts +42 -0
  60. package/build/services/checklist-service.d.ts.map +1 -0
  61. package/build/services/checklist-service.js +326 -0
  62. package/build/services/checklist-service.js.map +1 -0
  63. package/build/services/index.d.ts +1 -0
  64. package/build/services/index.d.ts.map +1 -1
  65. package/build/services/index.js +1 -0
  66. package/build/services/index.js.map +1 -1
  67. package/build/services/sync-service.d.ts.map +1 -1
  68. package/build/services/sync-service.js +28 -4
  69. package/build/services/sync-service.js.map +1 -1
  70. package/build/services/work-item-service.d.ts.map +1 -1
  71. package/build/services/work-item-service.js +2 -1
  72. package/build/services/work-item-service.js.map +1 -1
  73. package/build/sync/markdown-serializer.d.ts +15 -1
  74. package/build/sync/markdown-serializer.d.ts.map +1 -1
  75. package/build/sync/markdown-serializer.js +121 -56
  76. package/build/sync/markdown-serializer.js.map +1 -1
  77. package/build/sync/task-serializer.d.ts.map +1 -1
  78. package/build/sync/task-serializer.js +21 -12
  79. package/build/sync/task-serializer.js.map +1 -1
  80. package/build/tool-examples.d.ts +16 -0
  81. package/build/tool-examples.d.ts.map +1 -1
  82. package/build/tool-examples.js +34 -0
  83. package/build/tool-examples.js.map +1 -1
  84. package/build/tools/checklist-tools.d.ts +3 -0
  85. package/build/tools/checklist-tools.d.ts.map +1 -0
  86. package/build/tools/checklist-tools.js +197 -0
  87. package/build/tools/checklist-tools.js.map +1 -0
  88. package/build/tools/index.d.ts +1 -0
  89. package/build/tools/index.d.ts.map +1 -1
  90. package/build/tools/index.js +5 -2
  91. package/build/tools/index.js.map +1 -1
  92. package/build/tools/work-item-tools.d.ts.map +1 -1
  93. package/build/tools/work-item-tools.js +52 -24
  94. package/build/tools/work-item-tools.js.map +1 -1
  95. package/build/types.d.ts +2 -0
  96. package/build/types.d.ts.map +1 -1
  97. package/build/ui/work-items-app.html +236 -0
  98. 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;IAmBrC,iCAAiC;IACjC,IAAI,MAAM,IAAI,iBAAiB,CAAyB;IAExD,4CAA4C;IAC5C,IAAI,YAAY,IAAI,MAAM,CAAsC;IAEhE,sCAAsC;IACtC,IAAI,UAAU,IAAI,MAAM,CAA6B;IAErD,mCAAmC;IACnC,IAAI,OAAO,IAAI,MAAM,CAA0B;IAE/C;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMtC;;OAEG;IACG,OAAO,CAAC,CAAC,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAgB,EAC3D,IAAI,CAAC,EAAE,GAAG,EACV,YAAY,GAAE,OAAe,EAC7B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,OAAO,CAAC,CAAC,CAAC;IA2Cb;;OAEG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAgB,EAC3D,IAAI,CAAC,EAAE,GAAG,EACV,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,GACpC,OAAO,CAAC,aAAa,CAAC;IAwCnB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5E,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,GAAE,OAAe,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxH,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1F,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxF,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGnF"}
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"}