@mcp-consultant-tools/azure-devops-admin 27.0.0-beta.4 → 28.0.0-beta.3

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 (81) hide show
  1. package/build/AzureDevOpsAdminService.d.ts +47 -1
  2. package/build/AzureDevOpsAdminService.d.ts.map +1 -1
  3. package/build/AzureDevOpsAdminService.js +345 -11
  4. package/build/AzureDevOpsAdminService.js.map +1 -1
  5. package/build/index.d.ts +7 -11
  6. package/build/index.d.ts.map +1 -1
  7. package/build/index.js +60 -924
  8. package/build/index.js.map +1 -1
  9. package/build/services/admin-client.d.ts +19 -0
  10. package/build/services/admin-client.d.ts.map +1 -0
  11. package/build/services/admin-client.js +97 -0
  12. package/build/services/admin-client.js.map +1 -0
  13. package/build/services/agent-pool-service.d.ts +21 -0
  14. package/build/services/agent-pool-service.d.ts.map +1 -0
  15. package/build/services/agent-pool-service.js +118 -0
  16. package/build/services/agent-pool-service.js.map +1 -0
  17. package/build/services/artifact-feed-service.d.ts +21 -0
  18. package/build/services/artifact-feed-service.d.ts.map +1 -0
  19. package/build/services/artifact-feed-service.js +83 -0
  20. package/build/services/artifact-feed-service.js.map +1 -0
  21. package/build/services/classification-service.d.ts +23 -0
  22. package/build/services/classification-service.d.ts.map +1 -0
  23. package/build/services/classification-service.js +163 -0
  24. package/build/services/classification-service.js.map +1 -0
  25. package/build/services/environment-service.d.ts +25 -0
  26. package/build/services/environment-service.d.ts.map +1 -0
  27. package/build/services/environment-service.js +160 -0
  28. package/build/services/environment-service.js.map +1 -0
  29. package/build/services/index.d.ts +12 -0
  30. package/build/services/index.d.ts.map +1 -0
  31. package/build/services/index.js +12 -0
  32. package/build/services/index.js.map +1 -0
  33. package/build/services/pipeline-service.d.ts +37 -0
  34. package/build/services/pipeline-service.d.ts.map +1 -0
  35. package/build/services/pipeline-service.js +500 -0
  36. package/build/services/pipeline-service.js.map +1 -0
  37. package/build/services/service-connection-service.d.ts +29 -0
  38. package/build/services/service-connection-service.d.ts.map +1 -0
  39. package/build/services/service-connection-service.js +147 -0
  40. package/build/services/service-connection-service.js.map +1 -0
  41. package/build/services/variable-group-service.d.ts +22 -0
  42. package/build/services/variable-group-service.d.ts.map +1 -0
  43. package/build/services/variable-group-service.js +136 -0
  44. package/build/services/variable-group-service.js.map +1 -0
  45. package/build/tools/agent-pool-tools.d.ts +7 -0
  46. package/build/tools/agent-pool-tools.d.ts.map +1 -0
  47. package/build/tools/agent-pool-tools.js +132 -0
  48. package/build/tools/agent-pool-tools.js.map +1 -0
  49. package/build/tools/artifact-feed-tools.d.ts +7 -0
  50. package/build/tools/artifact-feed-tools.d.ts.map +1 -0
  51. package/build/tools/artifact-feed-tools.js +46 -0
  52. package/build/tools/artifact-feed-tools.js.map +1 -0
  53. package/build/tools/classification-tools.d.ts +7 -0
  54. package/build/tools/classification-tools.d.ts.map +1 -0
  55. package/build/tools/classification-tools.js +202 -0
  56. package/build/tools/classification-tools.js.map +1 -0
  57. package/build/tools/environment-tools.d.ts +7 -0
  58. package/build/tools/environment-tools.d.ts.map +1 -0
  59. package/build/tools/environment-tools.js +193 -0
  60. package/build/tools/environment-tools.js.map +1 -0
  61. package/build/tools/index.d.ts +13 -0
  62. package/build/tools/index.d.ts.map +1 -0
  63. package/build/tools/index.js +36 -0
  64. package/build/tools/index.js.map +1 -0
  65. package/build/tools/pipeline-tools.d.ts +7 -0
  66. package/build/tools/pipeline-tools.d.ts.map +1 -0
  67. package/build/tools/pipeline-tools.js +291 -0
  68. package/build/tools/pipeline-tools.js.map +1 -0
  69. package/build/tools/service-connection-tools.d.ts +7 -0
  70. package/build/tools/service-connection-tools.d.ts.map +1 -0
  71. package/build/tools/service-connection-tools.js +139 -0
  72. package/build/tools/service-connection-tools.js.map +1 -0
  73. package/build/tools/variable-group-tools.d.ts +7 -0
  74. package/build/tools/variable-group-tools.d.ts.map +1 -0
  75. package/build/tools/variable-group-tools.js +137 -0
  76. package/build/tools/variable-group-tools.js.map +1 -0
  77. package/build/types.d.ts +62 -0
  78. package/build/types.d.ts.map +1 -0
  79. package/build/types.js +2 -0
  80. package/build/types.js.map +1 -0
  81. package/package.json +2 -2
@@ -13,6 +13,9 @@ export interface AzureDevOpsAdminConfig {
13
13
  enableAgentPoolDisable?: boolean;
14
14
  enableEnvironmentUpsert?: boolean;
15
15
  enableEnvironmentDelete?: boolean;
16
+ enableClassificationNodeUpsert?: boolean;
17
+ enableClassificationNodeDelete?: boolean;
18
+ feeds?: string[];
16
19
  }
17
20
  export interface PipelineDefinition {
18
21
  id: number;
@@ -272,10 +275,18 @@ export interface AdoApiCollectionResponse<T> {
272
275
  export declare class AzureDevOpsAdminService {
273
276
  private config;
274
277
  private baseUrl;
278
+ private feedsUrl;
275
279
  private authHeader;
276
280
  private apiVersion;
277
281
  constructor(config: AzureDevOpsAdminConfig);
278
282
  private validateProject;
283
+ private validateFeed;
284
+ /**
285
+ * Converts a date string to ISO 8601 format with time component.
286
+ * Azure DevOps Classification Nodes API requires full ISO 8601 format.
287
+ * Input: "2026-02-16" → Output: "2026-02-16T00:00:00Z"
288
+ */
289
+ private formatDateForAdo;
279
290
  private makeRequest;
280
291
  listPipelineDefinitions(project: string): Promise<any>;
281
292
  getPipelineDefinition(project: string, definitionId: number): Promise<any>;
@@ -283,7 +294,13 @@ export declare class AzureDevOpsAdminService {
283
294
  listPipelineRuns(project: string, definitionId: number, top?: number): Promise<any>;
284
295
  getBuildStatus(project: string, buildId: number, detail?: string, timelineScope?: 'stages' | 'jobs' | 'all' | 'problems', maxIssues?: number): Promise<any>;
285
296
  getBuildTimeline(project: string, buildId: number, scope?: 'stages' | 'jobs' | 'all' | 'problems', maxIssues?: number): Promise<any>;
286
- getBuildLogs(project: string, buildId: number, logId?: number): Promise<any>;
297
+ /**
298
+ * Filter log content to reduce noise from progress indicators
299
+ * @param content Raw log content string
300
+ * @param mode Filter mode: 'summary' removes progress, 'errors' shows only errors, 'full' returns everything
301
+ */
302
+ private filterLogContent;
303
+ getBuildLogs(project: string, buildId: number, logId?: number, mode?: 'summary' | 'full' | 'errors'): Promise<any>;
287
304
  createPipelineDefinition(project: string, name: string, repositoryId: string, yamlPath: string, folder?: string, repositoryType?: 'TfsGit' | 'GitHub' | 'GitHubEnterprise', repositoryUrl?: string, defaultBranch?: string, serviceConnectionId?: string): Promise<any>;
288
305
  updatePipelineDefinition(project: string, definitionId: number, updates: {
289
306
  name?: string;
@@ -364,5 +381,34 @@ export declare class AzureDevOpsAdminService {
364
381
  timeout?: number;
365
382
  }): Promise<any>;
366
383
  removeEnvironmentCheck(project: string, checkId: number): Promise<any>;
384
+ /**
385
+ * Flatten classification node hierarchy into a list
386
+ */
387
+ private flattenClassificationNodes;
388
+ listClassificationNodes(project: string, structureType: 'iterations' | 'areas', depth?: number): Promise<any>;
389
+ getClassificationNode(project: string, structureType: 'iterations' | 'areas', path: string): Promise<any>;
390
+ createClassificationNode(project: string, structureType: 'iterations' | 'areas', name: string, parentPath?: string, attributes?: {
391
+ startDate?: string;
392
+ finishDate?: string;
393
+ }): Promise<any>;
394
+ addIterationToTeam(project: string, team: string, iterationId: string): Promise<any>;
395
+ updateClassificationNode(project: string, structureType: 'iterations' | 'areas', path: string, updates: {
396
+ name?: string;
397
+ startDate?: string;
398
+ finishDate?: string;
399
+ }): Promise<any>;
400
+ deleteClassificationNode(project: string, structureType: 'iterations' | 'areas', path: string, reclassifyId: number): Promise<any>;
401
+ listFeedPackages(feedName: string, options?: {
402
+ project?: string;
403
+ namePrefix?: string;
404
+ packageType?: string;
405
+ top?: number;
406
+ }): Promise<any>;
407
+ getPackageVersions(feedName: string, packageName: string, options?: {
408
+ project?: string;
409
+ packageType?: string;
410
+ top?: number;
411
+ includeDelisted?: boolean;
412
+ }): Promise<any>;
367
413
  }
368
414
  //# sourceMappingURL=AzureDevOpsAdminService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AzureDevOpsAdminService.d.ts","sourceRoot":"","sources":["../src/AzureDevOpsAdminService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AzureDevOpsAdminService.d.ts","sourceRoot":"","sources":["../src/AzureDevOpsAdminService.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import axios from 'axios';
2
2
  export class AzureDevOpsAdminService {
3
3
  config;
4
4
  baseUrl;
5
+ feedsUrl;
5
6
  authHeader;
6
7
  apiVersion;
7
8
  constructor(config) {
@@ -18,8 +19,11 @@ export class AzureDevOpsAdminService {
18
19
  enableAgentPoolDisable: config.enableAgentPoolDisable ?? false,
19
20
  enableEnvironmentUpsert: config.enableEnvironmentUpsert ?? false,
20
21
  enableEnvironmentDelete: config.enableEnvironmentDelete ?? false,
22
+ enableClassificationNodeUpsert: config.enableClassificationNodeUpsert ?? false,
23
+ enableClassificationNodeDelete: config.enableClassificationNodeDelete ?? false,
21
24
  };
22
25
  this.baseUrl = `https://dev.azure.com/${this.config.organization}`;
26
+ this.feedsUrl = `https://feeds.dev.azure.com/${this.config.organization}`;
23
27
  this.apiVersion = this.config.apiVersion;
24
28
  this.authHeader = `Basic ${Buffer.from(`:${this.config.pat}`).toString('base64')}`;
25
29
  }
@@ -28,15 +32,38 @@ export class AzureDevOpsAdminService {
28
32
  throw new Error(`Project '${project}' is not in the allowed projects list. Allowed projects: ${this.config.projects.join(', ')}`);
29
33
  }
30
34
  }
31
- async makeRequest(endpoint, method = 'GET', data, customHeaders) {
35
+ validateFeed(feedName) {
36
+ if (this.config.feeds && this.config.feeds.length > 0
37
+ && !this.config.feeds.includes(feedName)) {
38
+ throw new Error(`Feed '${feedName}' is not in the allowed feeds list. ` +
39
+ `Allowed feeds: ${this.config.feeds.join(', ')}`);
40
+ }
41
+ }
42
+ /**
43
+ * Converts a date string to ISO 8601 format with time component.
44
+ * Azure DevOps Classification Nodes API requires full ISO 8601 format.
45
+ * Input: "2026-02-16" → Output: "2026-02-16T00:00:00Z"
46
+ */
47
+ formatDateForAdo(dateStr) {
48
+ // If already has time component, return as-is
49
+ if (dateStr.includes('T')) {
50
+ return dateStr;
51
+ }
52
+ // Add time component (midnight UTC)
53
+ return `${dateStr}T00:00:00Z`;
54
+ }
55
+ async makeRequest(endpoint, method = 'GET', data, customHeaders, contentType, baseUrlOverride) {
32
56
  try {
33
- const url = `${this.baseUrl}/${endpoint}`;
57
+ const url = `${baseUrlOverride || this.baseUrl}/${endpoint}`;
58
+ // Determine content type: explicit override > default based on method
59
+ // Note: Most PATCH endpoints use json-patch+json, but some (like classification nodes) use regular json
60
+ const defaultContentType = method === 'PATCH' ? 'application/json-patch+json' : 'application/json';
34
61
  const response = await axios({
35
62
  method,
36
63
  url,
37
64
  headers: {
38
65
  'Authorization': this.authHeader,
39
- 'Content-Type': method === 'PATCH' ? 'application/json-patch+json' : 'application/json',
66
+ 'Content-Type': contentType || defaultContentType,
40
67
  'Accept': 'application/json',
41
68
  ...customHeaders
42
69
  },
@@ -57,7 +84,8 @@ export class AzureDevOpsAdminService {
57
84
  throw new Error('Azure DevOps authentication failed. Please check your PAT token and permissions.');
58
85
  }
59
86
  if (error.response?.status === 403) {
60
- throw new Error('Azure DevOps access denied. Please check your PAT scopes and project permissions.');
87
+ const detail = typeof errorDetails === 'string' ? errorDetails : '';
88
+ throw new Error(`Azure DevOps access denied: ${detail || 'Please check your PAT scopes and project permissions.'}`);
61
89
  }
62
90
  if (error.response?.status === 404) {
63
91
  throw new Error(`Azure DevOps resource not found: ${endpoint}`);
@@ -320,15 +348,63 @@ export class AzureDevOpsAdminService {
320
348
  records: mappedRecords
321
349
  };
322
350
  }
323
- async getBuildLogs(project, buildId, logId) {
351
+ /**
352
+ * Filter log content to reduce noise from progress indicators
353
+ * @param content Raw log content string
354
+ * @param mode Filter mode: 'summary' removes progress, 'errors' shows only errors, 'full' returns everything
355
+ */
356
+ filterLogContent(content, mode) {
357
+ const lines = content.split('\n');
358
+ const originalLineCount = lines.length;
359
+ if (mode === 'full') {
360
+ return { filtered: content, originalLineCount, filteredLineCount: originalLineCount };
361
+ }
362
+ // Progress indicator patterns to remove in summary mode
363
+ const PROGRESS_PATTERNS = [
364
+ /remote: Counting objects:\s+\d+%/,
365
+ /remote: Compressing objects:\s+\d+%/,
366
+ /Receiving objects:\s+\d+%/,
367
+ /Resolving deltas:\s+\d+%/,
368
+ /Unpacking objects:\s+\d+%/,
369
+ /Updating files:\s+\d+%/,
370
+ ];
371
+ // Error/warning patterns for errors mode
372
+ const ERROR_PATTERNS = [
373
+ /##\[error\]/i,
374
+ /##\[warning\]/i,
375
+ /\berror\b.*:/i,
376
+ /\bfailed\b/i,
377
+ /\bexception\b/i,
378
+ /\bfatal\b/i,
379
+ ];
380
+ const filteredLines = lines.filter(line => {
381
+ // Remove timestamp prefix for pattern matching
382
+ const trimmedLine = line.replace(/^\d{4}-\d{2}-\d{2}T[\d:.]+Z\s*/, '');
383
+ if (mode === 'errors') {
384
+ return ERROR_PATTERNS.some(p => p.test(trimmedLine));
385
+ }
386
+ // summary mode: exclude progress indicators, keep everything else
387
+ return !PROGRESS_PATTERNS.some(p => p.test(trimmedLine));
388
+ });
389
+ return {
390
+ filtered: filteredLines.join('\n'),
391
+ originalLineCount,
392
+ filteredLineCount: filteredLines.length
393
+ };
394
+ }
395
+ async getBuildLogs(project, buildId, logId, mode = 'summary') {
324
396
  this.validateProject(project);
325
397
  if (logId !== undefined) {
326
398
  const response = await this.makeRequest(`${project}/_apis/build/builds/${buildId}/logs/${logId}?api-version=${this.apiVersion}`);
399
+ const { filtered, originalLineCount, filteredLineCount } = this.filterLogContent(response, mode);
327
400
  return {
328
401
  buildId,
329
402
  logId,
330
403
  project,
331
- content: response
404
+ mode,
405
+ originalLineCount,
406
+ filteredLineCount,
407
+ content: filtered
332
408
  };
333
409
  }
334
410
  const response = await this.makeRequest(`${project}/_apis/build/builds/${buildId}/logs?api-version=${this.apiVersion}`);
@@ -784,7 +860,7 @@ export class AzureDevOpsAdminService {
784
860
  name: name
785
861
  }]
786
862
  };
787
- const response = await this.makeRequest(`${project}/_apis/distributedtask/variablegroups?api-version=${this.apiVersion}`, 'POST', variableGroup);
863
+ const response = await this.makeRequest(`_apis/distributedtask/variablegroups?api-version=${this.apiVersion}`, 'POST', variableGroup);
788
864
  return {
789
865
  id: response.id,
790
866
  name: response.name,
@@ -803,7 +879,7 @@ export class AzureDevOpsAdminService {
803
879
  name: updates.name || current.name,
804
880
  description: updates.description || current.description
805
881
  };
806
- const response = await this.makeRequest(`${project}/_apis/distributedtask/variablegroups/${groupId}?api-version=${this.apiVersion}`, 'PUT', updated);
882
+ const response = await this.makeRequest(`_apis/distributedtask/variablegroups/${groupId}?api-version=${this.apiVersion}`, 'PUT', updated);
807
883
  return {
808
884
  id: response.id,
809
885
  name: response.name,
@@ -818,7 +894,7 @@ export class AzureDevOpsAdminService {
818
894
  }
819
895
  const current = await this.makeRequest(`${project}/_apis/distributedtask/variablegroups/${groupId}?api-version=${this.apiVersion}`);
820
896
  current.variables[variableName] = { value, isSecret };
821
- const response = await this.makeRequest(`${project}/_apis/distributedtask/variablegroups/${groupId}?api-version=${this.apiVersion}`, 'PUT', current);
897
+ const response = await this.makeRequest(`_apis/distributedtask/variablegroups/${groupId}?api-version=${this.apiVersion}`, 'PUT', current);
822
898
  return {
823
899
  id: response.id,
824
900
  name: response.name,
@@ -839,7 +915,7 @@ export class AzureDevOpsAdminService {
839
915
  else {
840
916
  throw new Error(`Variable '${variableName}' not found in group ${groupId}`);
841
917
  }
842
- const response = await this.makeRequest(`${project}/_apis/distributedtask/variablegroups/${groupId}?api-version=${this.apiVersion}`, 'PUT', current);
918
+ const response = await this.makeRequest(`_apis/distributedtask/variablegroups/${groupId}?api-version=${this.apiVersion}`, 'PUT', current);
843
919
  return {
844
920
  id: response.id,
845
921
  name: response.name,
@@ -852,7 +928,7 @@ export class AzureDevOpsAdminService {
852
928
  if (!this.config.enableVariableGroupDelete) {
853
929
  throw new Error('Variable group delete operations are disabled. Set AZUREDEVOPS_ENABLE_VARIABLE_GROUP_DELETE=true to enable.');
854
930
  }
855
- await this.makeRequest(`${project}/_apis/distributedtask/variablegroups/${groupId}?api-version=${this.apiVersion}`, 'DELETE');
931
+ await this.makeRequest(`_apis/distributedtask/variablegroups/${groupId}?api-version=${this.apiVersion}`, 'DELETE');
856
932
  return {
857
933
  groupId,
858
934
  project,
@@ -1156,5 +1232,263 @@ export class AzureDevOpsAdminService {
1156
1232
  deleted: true
1157
1233
  };
1158
1234
  }
1235
+ // ═══════════════════════════════════════════════════════════════════════════════
1236
+ // CLASSIFICATION NODE OPERATIONS (Iterations & Areas)
1237
+ // ═══════════════════════════════════════════════════════════════════════════════
1238
+ /**
1239
+ * Flatten classification node hierarchy into a list
1240
+ */
1241
+ flattenClassificationNodes(node, parentPath = '') {
1242
+ const result = [];
1243
+ const currentPath = parentPath ? `${parentPath}\\${node.name}` : node.name;
1244
+ result.push({
1245
+ id: node.id,
1246
+ identifier: node.identifier,
1247
+ name: node.name,
1248
+ path: currentPath,
1249
+ structureType: node.structureType,
1250
+ hasChildren: node.hasChildren || false,
1251
+ attributes: node.attributes || {},
1252
+ url: node.url
1253
+ });
1254
+ if (node.children && Array.isArray(node.children)) {
1255
+ for (const child of node.children) {
1256
+ result.push(...this.flattenClassificationNodes(child, currentPath));
1257
+ }
1258
+ }
1259
+ return result;
1260
+ }
1261
+ async listClassificationNodes(project, structureType, depth = 10) {
1262
+ this.validateProject(project);
1263
+ const response = await this.makeRequest(`${project}/_apis/wit/classificationnodes/${structureType}?$depth=${depth}&api-version=${this.apiVersion}`);
1264
+ const nodes = this.flattenClassificationNodes(response);
1265
+ return {
1266
+ project,
1267
+ structureType,
1268
+ totalCount: nodes.length,
1269
+ nodes: nodes.map((node) => ({
1270
+ id: node.id,
1271
+ identifier: node.identifier,
1272
+ name: node.name,
1273
+ path: node.path,
1274
+ hasChildren: node.hasChildren,
1275
+ ...(structureType === 'iterations' && node.attributes ? {
1276
+ startDate: node.attributes.startDate,
1277
+ finishDate: node.attributes.finishDate,
1278
+ timeFrame: node.attributes.timeFrame
1279
+ } : {})
1280
+ }))
1281
+ };
1282
+ }
1283
+ async getClassificationNode(project, structureType, path) {
1284
+ this.validateProject(project);
1285
+ // Path should be URL encoded and without leading backslash
1286
+ const cleanPath = path.replace(/^\\/, '').replace(/\\/g, '/');
1287
+ const encodedPath = encodeURIComponent(cleanPath).replace(/%2F/g, '/');
1288
+ const response = await this.makeRequest(`${project}/_apis/wit/classificationnodes/${structureType}/${encodedPath}?api-version=${this.apiVersion}`);
1289
+ return {
1290
+ id: response.id,
1291
+ identifier: response.identifier,
1292
+ name: response.name,
1293
+ structureType: response.structureType,
1294
+ hasChildren: response.hasChildren || false,
1295
+ path: response.path,
1296
+ project,
1297
+ ...(structureType === 'iterations' && response.attributes ? {
1298
+ startDate: response.attributes.startDate,
1299
+ finishDate: response.attributes.finishDate,
1300
+ timeFrame: response.attributes.timeFrame
1301
+ } : {}),
1302
+ url: response.url
1303
+ };
1304
+ }
1305
+ async createClassificationNode(project, structureType, name, parentPath, attributes) {
1306
+ this.validateProject(project);
1307
+ if (!this.config.enableClassificationNodeUpsert) {
1308
+ throw new Error('Classification node upsert operations are disabled. Set AZUREDEVOPS_ENABLE_CLASSIFICATION_NODE_UPSERT=true to enable.');
1309
+ }
1310
+ const body = { name };
1311
+ if (structureType === 'iterations' && attributes) {
1312
+ body.attributes = {};
1313
+ // Azure DevOps requires ISO 8601 format with time component
1314
+ if (attributes.startDate)
1315
+ body.attributes.startDate = this.formatDateForAdo(attributes.startDate);
1316
+ if (attributes.finishDate)
1317
+ body.attributes.finishDate = this.formatDateForAdo(attributes.finishDate);
1318
+ }
1319
+ // Build the endpoint - if parentPath is provided, create under that path
1320
+ let endpoint = `${project}/_apis/wit/classificationnodes/${structureType}`;
1321
+ if (parentPath) {
1322
+ const cleanPath = parentPath.replace(/^\\/, '').replace(/\\/g, '/');
1323
+ const encodedPath = encodeURIComponent(cleanPath).replace(/%2F/g, '/');
1324
+ endpoint = `${project}/_apis/wit/classificationnodes/${structureType}/${encodedPath}`;
1325
+ }
1326
+ const response = await this.makeRequest(`${endpoint}?api-version=${this.apiVersion}`, 'POST', body);
1327
+ return {
1328
+ id: response.id,
1329
+ identifier: response.identifier,
1330
+ name: response.name,
1331
+ path: response.path,
1332
+ structureType,
1333
+ project,
1334
+ ...(structureType === 'iterations' && response.attributes ? {
1335
+ startDate: response.attributes.startDate,
1336
+ finishDate: response.attributes.finishDate
1337
+ } : {}),
1338
+ url: response.url
1339
+ };
1340
+ }
1341
+ async addIterationToTeam(project, team, iterationId) {
1342
+ this.validateProject(project);
1343
+ if (!this.config.enableClassificationNodeUpsert) {
1344
+ throw new Error('Classification node upsert operations are disabled. Set AZUREDEVOPS_ENABLE_CLASSIFICATION_NODE_UPSERT=true to enable.');
1345
+ }
1346
+ const encodedTeam = encodeURIComponent(team);
1347
+ const endpoint = `${project}/${encodedTeam}/_apis/work/teamsettings/iterations?api-version=${this.apiVersion}`;
1348
+ const response = await this.makeRequest(endpoint, 'POST', { id: iterationId });
1349
+ return {
1350
+ id: response.id,
1351
+ name: response.name,
1352
+ path: response.path,
1353
+ url: response.url,
1354
+ attributes: response.attributes ? {
1355
+ startDate: response.attributes.startDate,
1356
+ finishDate: response.attributes.finishDate,
1357
+ timeFrame: response.attributes.timeFrame,
1358
+ } : undefined,
1359
+ };
1360
+ }
1361
+ async updateClassificationNode(project, structureType, path, updates) {
1362
+ this.validateProject(project);
1363
+ if (!this.config.enableClassificationNodeUpsert) {
1364
+ throw new Error('Classification node upsert operations are disabled. Set AZUREDEVOPS_ENABLE_CLASSIFICATION_NODE_UPSERT=true to enable.');
1365
+ }
1366
+ const cleanPath = path.replace(/^\\/, '').replace(/\\/g, '/');
1367
+ const encodedPath = encodeURIComponent(cleanPath).replace(/%2F/g, '/');
1368
+ const body = {};
1369
+ if (updates.name)
1370
+ body.name = updates.name;
1371
+ if (structureType === 'iterations') {
1372
+ if (updates.startDate !== undefined || updates.finishDate !== undefined) {
1373
+ body.attributes = {};
1374
+ // Azure DevOps requires ISO 8601 format with time component
1375
+ if (updates.startDate !== undefined)
1376
+ body.attributes.startDate = this.formatDateForAdo(updates.startDate);
1377
+ if (updates.finishDate !== undefined)
1378
+ body.attributes.finishDate = this.formatDateForAdo(updates.finishDate);
1379
+ }
1380
+ }
1381
+ // Classification Nodes API uses regular JSON, not JSON Patch format
1382
+ const response = await this.makeRequest(`${project}/_apis/wit/classificationnodes/${structureType}/${encodedPath}?api-version=${this.apiVersion}`, 'PATCH', body, undefined, 'application/json' // Override default json-patch+json content type
1383
+ );
1384
+ return {
1385
+ id: response.id,
1386
+ identifier: response.identifier,
1387
+ name: response.name,
1388
+ path: response.path,
1389
+ structureType,
1390
+ project,
1391
+ ...(structureType === 'iterations' && response.attributes ? {
1392
+ startDate: response.attributes.startDate,
1393
+ finishDate: response.attributes.finishDate
1394
+ } : {}),
1395
+ url: response.url
1396
+ };
1397
+ }
1398
+ async deleteClassificationNode(project, structureType, path, reclassifyId) {
1399
+ this.validateProject(project);
1400
+ if (!this.config.enableClassificationNodeDelete) {
1401
+ throw new Error('Classification node delete operations are disabled. Set AZUREDEVOPS_ENABLE_CLASSIFICATION_NODE_DELETE=true to enable.');
1402
+ }
1403
+ const cleanPath = path.replace(/^\\/, '').replace(/\\/g, '/');
1404
+ const encodedPath = encodeURIComponent(cleanPath).replace(/%2F/g, '/');
1405
+ await this.makeRequest(`${project}/_apis/wit/classificationnodes/${structureType}/${encodedPath}?$reclassifyId=${reclassifyId}&api-version=${this.apiVersion}`, 'DELETE');
1406
+ return {
1407
+ path,
1408
+ structureType,
1409
+ project,
1410
+ reclassifyId,
1411
+ deleted: true
1412
+ };
1413
+ }
1414
+ // ========================================
1415
+ // ARTIFACT FEED METHODS
1416
+ // ========================================
1417
+ async listFeedPackages(feedName, options) {
1418
+ this.validateFeed(feedName);
1419
+ if (options?.project) {
1420
+ this.validateProject(options.project);
1421
+ }
1422
+ const projectPrefix = options?.project ? `${options.project}/` : '';
1423
+ const queryParams = new URLSearchParams();
1424
+ queryParams.append('api-version', this.apiVersion);
1425
+ if (options?.namePrefix)
1426
+ queryParams.append('packageNameQuery', options.namePrefix);
1427
+ if (options?.packageType)
1428
+ queryParams.append('protocolType', options.packageType);
1429
+ if (options?.top)
1430
+ queryParams.append('$top', String(options.top));
1431
+ const endpoint = `${projectPrefix}_apis/packaging/Feeds/${encodeURIComponent(feedName)}/packages?${queryParams.toString()}`;
1432
+ const response = await this.makeRequest(endpoint, 'GET', undefined, undefined, undefined, this.feedsUrl);
1433
+ return {
1434
+ feed: feedName,
1435
+ project: options?.project || '(org-scoped)',
1436
+ totalCount: response.value.length,
1437
+ packages: response.value.map((pkg) => ({
1438
+ id: pkg.id,
1439
+ name: pkg.name,
1440
+ protocolType: pkg.protocolType,
1441
+ latestVersion: pkg.versions?.[0]?.version,
1442
+ publishDate: pkg.versions?.[0]?.publishDate,
1443
+ description: pkg.description,
1444
+ })),
1445
+ };
1446
+ }
1447
+ async getPackageVersions(feedName, packageName, options) {
1448
+ this.validateFeed(feedName);
1449
+ if (options?.project) {
1450
+ this.validateProject(options.project);
1451
+ }
1452
+ // Step 1: Resolve package name → package ID
1453
+ const projectPrefix = options?.project ? `${options.project}/` : '';
1454
+ const listParams = new URLSearchParams();
1455
+ listParams.append('api-version', this.apiVersion);
1456
+ listParams.append('packageNameQuery', packageName);
1457
+ if (options?.packageType)
1458
+ listParams.append('protocolType', options.packageType);
1459
+ const listEndpoint = `${projectPrefix}_apis/packaging/Feeds/${encodeURIComponent(feedName)}/packages?${listParams.toString()}`;
1460
+ const listResponse = await this.makeRequest(listEndpoint, 'GET', undefined, undefined, undefined, this.feedsUrl);
1461
+ const exactMatch = listResponse.value.find((pkg) => pkg.name.toLowerCase() === packageName.toLowerCase());
1462
+ if (!exactMatch) {
1463
+ const available = listResponse.value.map((pkg) => pkg.name).slice(0, 10);
1464
+ throw new Error(`Package '${packageName}' not found in feed '${feedName}'. ` +
1465
+ (available.length > 0
1466
+ ? `Similar packages: ${available.join(', ')}`
1467
+ : 'No matching packages found.'));
1468
+ }
1469
+ // Step 2: Get versions for the resolved package ID
1470
+ const versionParams = new URLSearchParams();
1471
+ versionParams.append('api-version', this.apiVersion);
1472
+ if (options?.top)
1473
+ versionParams.append('$top', String(options.top));
1474
+ if (options?.includeDelisted)
1475
+ versionParams.append('includeDelisted', 'true');
1476
+ const versionEndpoint = `${projectPrefix}_apis/packaging/Feeds/${encodeURIComponent(feedName)}/packages/${exactMatch.id}/versions?${versionParams.toString()}`;
1477
+ const versionResponse = await this.makeRequest(versionEndpoint, 'GET', undefined, undefined, undefined, this.feedsUrl);
1478
+ return {
1479
+ feed: feedName,
1480
+ project: options?.project || '(org-scoped)',
1481
+ packageName: exactMatch.name,
1482
+ packageId: exactMatch.id,
1483
+ protocolType: exactMatch.protocolType,
1484
+ versions: versionResponse.value.map((v) => ({
1485
+ version: v.version,
1486
+ publishDate: v.publishDate,
1487
+ isLatest: v.isLatest ?? false,
1488
+ isListed: v.isListed ?? true,
1489
+ description: v.description,
1490
+ })),
1491
+ };
1492
+ }
1159
1493
  }
1160
1494
  //# sourceMappingURL=AzureDevOpsAdminService.js.map