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

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 (105) hide show
  1. package/build/AzureDevOpsAdminService.d.ts +16 -0
  2. package/build/AzureDevOpsAdminService.d.ts.map +1 -1
  3. package/build/AzureDevOpsAdminService.js +117 -8
  4. package/build/AzureDevOpsAdminService.js.map +1 -1
  5. package/build/cli/commands/index.d.ts +8 -0
  6. package/build/cli/commands/index.d.ts.map +1 -0
  7. package/build/cli/commands/index.js +9 -0
  8. package/build/cli/commands/index.js.map +1 -0
  9. package/build/cli/commands/pipeline-commands.d.ts +7 -0
  10. package/build/cli/commands/pipeline-commands.d.ts.map +1 -0
  11. package/build/cli/commands/pipeline-commands.js +191 -0
  12. package/build/cli/commands/pipeline-commands.js.map +1 -0
  13. package/build/cli/output.d.ts +11 -0
  14. package/build/cli/output.d.ts.map +1 -0
  15. package/build/cli/output.js +10 -0
  16. package/build/cli/output.js.map +1 -0
  17. package/build/cli.d.ts +9 -0
  18. package/build/cli.d.ts.map +1 -0
  19. package/build/cli.js +27 -0
  20. package/build/cli.js.map +1 -0
  21. package/build/context-factory.d.ts +4 -0
  22. package/build/context-factory.d.ts.map +1 -0
  23. package/build/context-factory.js +78 -0
  24. package/build/context-factory.js.map +1 -0
  25. package/build/index.d.ts +7 -11
  26. package/build/index.d.ts.map +1 -1
  27. package/build/index.js +58 -1110
  28. package/build/index.js.map +1 -1
  29. package/build/services/admin-client.d.ts +19 -0
  30. package/build/services/admin-client.d.ts.map +1 -0
  31. package/build/services/admin-client.js +97 -0
  32. package/build/services/admin-client.js.map +1 -0
  33. package/build/services/agent-pool-service.d.ts +21 -0
  34. package/build/services/agent-pool-service.d.ts.map +1 -0
  35. package/build/services/agent-pool-service.js +118 -0
  36. package/build/services/agent-pool-service.js.map +1 -0
  37. package/build/services/artifact-feed-service.d.ts +21 -0
  38. package/build/services/artifact-feed-service.d.ts.map +1 -0
  39. package/build/services/artifact-feed-service.js +83 -0
  40. package/build/services/artifact-feed-service.js.map +1 -0
  41. package/build/services/classification-service.d.ts +23 -0
  42. package/build/services/classification-service.d.ts.map +1 -0
  43. package/build/services/classification-service.js +163 -0
  44. package/build/services/classification-service.js.map +1 -0
  45. package/build/services/environment-service.d.ts +25 -0
  46. package/build/services/environment-service.d.ts.map +1 -0
  47. package/build/services/environment-service.js +160 -0
  48. package/build/services/environment-service.js.map +1 -0
  49. package/build/services/index.d.ts +12 -0
  50. package/build/services/index.d.ts.map +1 -0
  51. package/build/services/index.js +12 -0
  52. package/build/services/index.js.map +1 -0
  53. package/build/services/pipeline-service.d.ts +37 -0
  54. package/build/services/pipeline-service.d.ts.map +1 -0
  55. package/build/services/pipeline-service.js +500 -0
  56. package/build/services/pipeline-service.js.map +1 -0
  57. package/build/services/service-connection-service.d.ts +29 -0
  58. package/build/services/service-connection-service.d.ts.map +1 -0
  59. package/build/services/service-connection-service.js +147 -0
  60. package/build/services/service-connection-service.js.map +1 -0
  61. package/build/services/variable-group-service.d.ts +22 -0
  62. package/build/services/variable-group-service.d.ts.map +1 -0
  63. package/build/services/variable-group-service.js +136 -0
  64. package/build/services/variable-group-service.js.map +1 -0
  65. package/build/tool-examples.d.ts +83 -0
  66. package/build/tool-examples.d.ts.map +1 -0
  67. package/build/tool-examples.js +106 -0
  68. package/build/tool-examples.js.map +1 -0
  69. package/build/tools/agent-pool-tools.d.ts +7 -0
  70. package/build/tools/agent-pool-tools.d.ts.map +1 -0
  71. package/build/tools/agent-pool-tools.js +133 -0
  72. package/build/tools/agent-pool-tools.js.map +1 -0
  73. package/build/tools/artifact-feed-tools.d.ts +7 -0
  74. package/build/tools/artifact-feed-tools.d.ts.map +1 -0
  75. package/build/tools/artifact-feed-tools.js +47 -0
  76. package/build/tools/artifact-feed-tools.js.map +1 -0
  77. package/build/tools/classification-tools.d.ts +7 -0
  78. package/build/tools/classification-tools.d.ts.map +1 -0
  79. package/build/tools/classification-tools.js +202 -0
  80. package/build/tools/classification-tools.js.map +1 -0
  81. package/build/tools/environment-tools.d.ts +7 -0
  82. package/build/tools/environment-tools.d.ts.map +1 -0
  83. package/build/tools/environment-tools.js +194 -0
  84. package/build/tools/environment-tools.js.map +1 -0
  85. package/build/tools/index.d.ts +13 -0
  86. package/build/tools/index.d.ts.map +1 -0
  87. package/build/tools/index.js +36 -0
  88. package/build/tools/index.js.map +1 -0
  89. package/build/tools/pipeline-tools.d.ts +7 -0
  90. package/build/tools/pipeline-tools.d.ts.map +1 -0
  91. package/build/tools/pipeline-tools.js +292 -0
  92. package/build/tools/pipeline-tools.js.map +1 -0
  93. package/build/tools/service-connection-tools.d.ts +7 -0
  94. package/build/tools/service-connection-tools.d.ts.map +1 -0
  95. package/build/tools/service-connection-tools.js +140 -0
  96. package/build/tools/service-connection-tools.js.map +1 -0
  97. package/build/tools/variable-group-tools.d.ts +7 -0
  98. package/build/tools/variable-group-tools.d.ts.map +1 -0
  99. package/build/tools/variable-group-tools.js +138 -0
  100. package/build/tools/variable-group-tools.js.map +1 -0
  101. package/build/types.d.ts +62 -0
  102. package/build/types.d.ts.map +1 -0
  103. package/build/types.js +2 -0
  104. package/build/types.js.map +1 -0
  105. package/package.json +5 -3
@@ -0,0 +1,163 @@
1
+ export class ClassificationService {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ flattenClassificationNodes(node, parentPath = '') {
7
+ const result = [];
8
+ const currentPath = parentPath ? `${parentPath}\\${node.name}` : node.name;
9
+ result.push({
10
+ id: node.id,
11
+ identifier: node.identifier,
12
+ name: node.name,
13
+ path: currentPath,
14
+ structureType: node.structureType,
15
+ hasChildren: node.hasChildren || false,
16
+ attributes: node.attributes || {},
17
+ url: node.url
18
+ });
19
+ if (node.children && Array.isArray(node.children)) {
20
+ for (const child of node.children) {
21
+ result.push(...this.flattenClassificationNodes(child, currentPath));
22
+ }
23
+ }
24
+ return result;
25
+ }
26
+ async listClassificationNodes(project, structureType, depth = 10) {
27
+ this.client.validateProject(project);
28
+ const response = await this.client.makeRequest(`${project}/_apis/wit/classificationnodes/${structureType}?$depth=${depth}&api-version=${this.client.apiVersion}`);
29
+ const nodes = this.flattenClassificationNodes(response);
30
+ return {
31
+ project,
32
+ structureType,
33
+ totalCount: nodes.length,
34
+ nodes: nodes.map((node) => ({
35
+ id: node.id,
36
+ identifier: node.identifier,
37
+ name: node.name,
38
+ path: node.path,
39
+ hasChildren: node.hasChildren,
40
+ ...(structureType === 'iterations' && node.attributes ? {
41
+ startDate: node.attributes.startDate,
42
+ finishDate: node.attributes.finishDate,
43
+ timeFrame: node.attributes.timeFrame
44
+ } : {})
45
+ }))
46
+ };
47
+ }
48
+ async getClassificationNode(project, structureType, path) {
49
+ this.client.validateProject(project);
50
+ const cleanPath = path.replace(/^\\/, '').replace(/\\/g, '/');
51
+ const encodedPath = encodeURIComponent(cleanPath).replace(/%2F/g, '/');
52
+ const response = await this.client.makeRequest(`${project}/_apis/wit/classificationnodes/${structureType}/${encodedPath}?api-version=${this.client.apiVersion}`);
53
+ return {
54
+ id: response.id,
55
+ identifier: response.identifier,
56
+ name: response.name,
57
+ structureType: response.structureType,
58
+ hasChildren: response.hasChildren || false,
59
+ path: response.path,
60
+ project,
61
+ ...(structureType === 'iterations' && response.attributes ? {
62
+ startDate: response.attributes.startDate,
63
+ finishDate: response.attributes.finishDate,
64
+ timeFrame: response.attributes.timeFrame
65
+ } : {}),
66
+ url: response.url
67
+ };
68
+ }
69
+ async createClassificationNode(project, structureType, name, parentPath, attributes) {
70
+ this.client.validateProject(project);
71
+ const body = { name };
72
+ if (structureType === 'iterations' && attributes) {
73
+ body.attributes = {};
74
+ if (attributes.startDate)
75
+ body.attributes.startDate = this.client.formatDateForAdo(attributes.startDate);
76
+ if (attributes.finishDate)
77
+ body.attributes.finishDate = this.client.formatDateForAdo(attributes.finishDate);
78
+ }
79
+ let endpoint = `${project}/_apis/wit/classificationnodes/${structureType}`;
80
+ if (parentPath) {
81
+ const cleanPath = parentPath.replace(/^\\/, '').replace(/\\/g, '/');
82
+ const encodedPath = encodeURIComponent(cleanPath).replace(/%2F/g, '/');
83
+ endpoint = `${project}/_apis/wit/classificationnodes/${structureType}/${encodedPath}`;
84
+ }
85
+ const response = await this.client.makeRequest(`${endpoint}?api-version=${this.client.apiVersion}`, 'POST', body);
86
+ return {
87
+ id: response.id,
88
+ identifier: response.identifier,
89
+ name: response.name,
90
+ path: response.path,
91
+ structureType,
92
+ project,
93
+ ...(structureType === 'iterations' && response.attributes ? {
94
+ startDate: response.attributes.startDate,
95
+ finishDate: response.attributes.finishDate
96
+ } : {}),
97
+ url: response.url
98
+ };
99
+ }
100
+ async addIterationToTeam(project, team, iterationId) {
101
+ this.client.validateProject(project);
102
+ const encodedTeam = encodeURIComponent(team);
103
+ const endpoint = `${project}/${encodedTeam}/_apis/work/teamsettings/iterations?api-version=${this.client.apiVersion}`;
104
+ const response = await this.client.makeRequest(endpoint, 'POST', { id: iterationId });
105
+ return {
106
+ id: response.id,
107
+ name: response.name,
108
+ path: response.path,
109
+ url: response.url,
110
+ attributes: response.attributes ? {
111
+ startDate: response.attributes.startDate,
112
+ finishDate: response.attributes.finishDate,
113
+ timeFrame: response.attributes.timeFrame,
114
+ } : undefined,
115
+ };
116
+ }
117
+ async updateClassificationNode(project, structureType, path, updates) {
118
+ this.client.validateProject(project);
119
+ const cleanPath = path.replace(/^\\/, '').replace(/\\/g, '/');
120
+ const encodedPath = encodeURIComponent(cleanPath).replace(/%2F/g, '/');
121
+ const body = {};
122
+ if (updates.name)
123
+ body.name = updates.name;
124
+ if (structureType === 'iterations') {
125
+ if (updates.startDate !== undefined || updates.finishDate !== undefined) {
126
+ body.attributes = {};
127
+ if (updates.startDate !== undefined)
128
+ body.attributes.startDate = this.client.formatDateForAdo(updates.startDate);
129
+ if (updates.finishDate !== undefined)
130
+ body.attributes.finishDate = this.client.formatDateForAdo(updates.finishDate);
131
+ }
132
+ }
133
+ // Classification Nodes API uses regular JSON, not JSON Patch format
134
+ const response = await this.client.makeRequest(`${project}/_apis/wit/classificationnodes/${structureType}/${encodedPath}?api-version=${this.client.apiVersion}`, 'PATCH', body, undefined, 'application/json');
135
+ return {
136
+ id: response.id,
137
+ identifier: response.identifier,
138
+ name: response.name,
139
+ path: response.path,
140
+ structureType,
141
+ project,
142
+ ...(structureType === 'iterations' && response.attributes ? {
143
+ startDate: response.attributes.startDate,
144
+ finishDate: response.attributes.finishDate
145
+ } : {}),
146
+ url: response.url
147
+ };
148
+ }
149
+ async deleteClassificationNode(project, structureType, path, reclassifyId) {
150
+ this.client.validateProject(project);
151
+ const cleanPath = path.replace(/^\\/, '').replace(/\\/g, '/');
152
+ const encodedPath = encodeURIComponent(cleanPath).replace(/%2F/g, '/');
153
+ await this.client.makeRequest(`${project}/_apis/wit/classificationnodes/${structureType}/${encodedPath}?$reclassifyId=${reclassifyId}&api-version=${this.client.apiVersion}`, 'DELETE');
154
+ return {
155
+ path,
156
+ structureType,
157
+ project,
158
+ reclassifyId,
159
+ deleted: true
160
+ };
161
+ }
162
+ }
163
+ //# sourceMappingURL=classification-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classification-service.js","sourceRoot":"","sources":["../../src/services/classification-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Environment operations for Azure DevOps Admin.
3
+ */
4
+ import type { AdminClient } from './admin-client.js';
5
+ export declare class EnvironmentService {
6
+ private client;
7
+ constructor(client: AdminClient);
8
+ listEnvironments(project: string): Promise<any>;
9
+ getEnvironment(project: string, environmentId: number): Promise<any>;
10
+ getEnvironmentDeployments(project: string, environmentId: number, top?: number): Promise<any>;
11
+ getEnvironmentChecks(project: string, environmentId: number): Promise<any>;
12
+ createEnvironment(project: string, name: string, description?: string): Promise<any>;
13
+ updateEnvironment(project: string, environmentId: number, updates: {
14
+ name?: string;
15
+ description?: string;
16
+ }): Promise<any>;
17
+ deleteEnvironment(project: string, environmentId: number): Promise<any>;
18
+ addEnvironmentCheck(project: string, environmentId: number, checkType: string, configuration: any): Promise<any>;
19
+ updateEnvironmentCheck(project: string, checkId: number, updates: {
20
+ settings?: any;
21
+ timeout?: number;
22
+ }): Promise<any>;
23
+ removeEnvironmentCheck(project: string, checkId: number): Promise<any>;
24
+ }
25
+ //# sourceMappingURL=environment-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-service.d.ts","sourceRoot":"","sources":["../../src/services/environment-service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAEjC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAsB/C,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAoBpE,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IA4BjG,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA0B1E,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAsBpF,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,GAAG,CAAC;IAiBT,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAevE,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,GACjB,OAAO,CAAC,GAAG,CAAC;IA0BT,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,GAAG,CAAC;IA4BT,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAc7E"}
@@ -0,0 +1,160 @@
1
+ export class EnvironmentService {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async listEnvironments(project) {
7
+ this.client.validateProject(project);
8
+ const response = await this.client.makeRequest(`${project}/_apis/distributedtask/environments?api-version=${this.client.apiVersion}`);
9
+ return {
10
+ project,
11
+ totalCount: response.value.length,
12
+ environments: response.value.map((env) => ({
13
+ id: env.id,
14
+ name: env.name,
15
+ description: env.description,
16
+ createdBy: env.createdBy?.displayName,
17
+ createdOn: env.createdOn,
18
+ lastModifiedBy: env.lastModifiedBy?.displayName,
19
+ lastModifiedOn: env.lastModifiedOn
20
+ }))
21
+ };
22
+ }
23
+ async getEnvironment(project, environmentId) {
24
+ this.client.validateProject(project);
25
+ const response = await this.client.makeRequest(`${project}/_apis/distributedtask/environments/${environmentId}?expands=resourceReferences&api-version=${this.client.apiVersion}`);
26
+ return {
27
+ id: response.id,
28
+ name: response.name,
29
+ description: response.description,
30
+ createdBy: response.createdBy?.displayName,
31
+ createdOn: response.createdOn,
32
+ lastModifiedBy: response.lastModifiedBy?.displayName,
33
+ lastModifiedOn: response.lastModifiedOn,
34
+ project,
35
+ resources: response.resources || []
36
+ };
37
+ }
38
+ async getEnvironmentDeployments(project, environmentId, top = 10) {
39
+ this.client.validateProject(project);
40
+ const response = await this.client.makeRequest(`${project}/_apis/distributedtask/environments/${environmentId}/environmentdeploymentrecords?top=${top}&api-version=${this.client.apiVersion}`);
41
+ return {
42
+ project,
43
+ environmentId,
44
+ totalCount: response.value.length,
45
+ deployments: response.value.map((dep) => ({
46
+ id: dep.id,
47
+ environmentId: dep.environmentId,
48
+ definition: dep.definition ? {
49
+ id: dep.definition.id,
50
+ name: dep.definition.name
51
+ } : null,
52
+ owner: dep.owner?.displayName,
53
+ planType: dep.planType,
54
+ startTime: dep.startTime,
55
+ finishTime: dep.finishTime,
56
+ result: dep.result,
57
+ queueTime: dep.queueTime
58
+ }))
59
+ };
60
+ }
61
+ async getEnvironmentChecks(project, environmentId) {
62
+ this.client.validateProject(project);
63
+ const response = await this.client.makeRequest(`${project}/_apis/pipelines/checks/configurations?resourceType=environment&resourceId=${environmentId}&api-version=7.1-preview.1`);
64
+ return {
65
+ project,
66
+ environmentId,
67
+ totalCount: response.value.length,
68
+ checks: response.value.map((check) => ({
69
+ id: check.id,
70
+ type: check.type?.name || check.type?.id,
71
+ settings: check.settings,
72
+ timeout: check.timeout,
73
+ retryInterval: check.retryInterval,
74
+ createdBy: check.createdBy?.displayName,
75
+ createdOn: check.createdOn,
76
+ modifiedBy: check.modifiedBy?.displayName,
77
+ modifiedOn: check.modifiedOn,
78
+ resource: check.resource
79
+ }))
80
+ };
81
+ }
82
+ async createEnvironment(project, name, description) {
83
+ this.client.validateProject(project);
84
+ const environment = {
85
+ name,
86
+ description: description || ''
87
+ };
88
+ const response = await this.client.makeRequest(`${project}/_apis/distributedtask/environments?api-version=${this.client.apiVersion}`, 'POST', environment);
89
+ return {
90
+ id: response.id,
91
+ name: response.name,
92
+ description: response.description,
93
+ project
94
+ };
95
+ }
96
+ async updateEnvironment(project, environmentId, updates) {
97
+ this.client.validateProject(project);
98
+ const response = await this.client.makeRequest(`${project}/_apis/distributedtask/environments/${environmentId}?api-version=${this.client.apiVersion}`, 'PATCH', updates);
99
+ return {
100
+ id: response.id,
101
+ name: response.name,
102
+ description: response.description,
103
+ project
104
+ };
105
+ }
106
+ async deleteEnvironment(project, environmentId) {
107
+ this.client.validateProject(project);
108
+ await this.client.makeRequest(`${project}/_apis/distributedtask/environments/${environmentId}?api-version=${this.client.apiVersion}`, 'DELETE');
109
+ return {
110
+ environmentId,
111
+ project,
112
+ deleted: true
113
+ };
114
+ }
115
+ async addEnvironmentCheck(project, environmentId, checkType, configuration) {
116
+ this.client.validateProject(project);
117
+ const check = {
118
+ type: { name: checkType },
119
+ settings: configuration,
120
+ resource: {
121
+ type: 'environment',
122
+ id: String(environmentId)
123
+ }
124
+ };
125
+ const response = await this.client.makeRequest(`${project}/_apis/pipelines/checks/configurations?api-version=7.1-preview.1`, 'POST', check);
126
+ return {
127
+ id: response.id,
128
+ type: response.type?.name,
129
+ environmentId,
130
+ project
131
+ };
132
+ }
133
+ async updateEnvironmentCheck(project, checkId, updates) {
134
+ this.client.validateProject(project);
135
+ const current = await this.client.makeRequest(`${project}/_apis/pipelines/checks/configurations/${checkId}?api-version=7.1-preview.1`);
136
+ const updated = {
137
+ ...current,
138
+ settings: updates.settings !== undefined ? updates.settings : current.settings,
139
+ timeout: updates.timeout !== undefined ? updates.timeout : current.timeout
140
+ };
141
+ const response = await this.client.makeRequest(`${project}/_apis/pipelines/checks/configurations/${checkId}?api-version=7.1-preview.1`, 'PATCH', updated);
142
+ return {
143
+ id: response.id,
144
+ type: response.type?.name,
145
+ settings: response.settings,
146
+ timeout: response.timeout,
147
+ project
148
+ };
149
+ }
150
+ async removeEnvironmentCheck(project, checkId) {
151
+ this.client.validateProject(project);
152
+ await this.client.makeRequest(`${project}/_apis/pipelines/checks/configurations/${checkId}?api-version=7.1-preview.1`, 'DELETE');
153
+ return {
154
+ checkId,
155
+ project,
156
+ deleted: true
157
+ };
158
+ }
159
+ }
160
+ //# sourceMappingURL=environment-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-service.js","sourceRoot":"","sources":["../../src/services/environment-service.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAE3C,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,GAAG,OAAO,mDAAmD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CACtF,CAAC;QAEF,OAAO;YACL,OAAO;YACP,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;YACjC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC9C,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW;gBACrC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,WAAW;gBAC/C,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,aAAqB;QACzD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,GAAG,OAAO,uCAAuC,aAAa,2CAA2C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAClI,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,WAAW;YAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,WAAW;YACpD,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,OAAO;YACP,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,OAAe,EAAE,aAAqB,EAAE,MAAc,EAAE;QACtF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,GAAG,OAAO,uCAAuC,aAAa,qCAAqC,GAAG,gBAAgB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAC/I,CAAC;QAEF,OAAO;YACL,OAAO;YACP,aAAa;YACb,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;YACjC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC7C,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC3B,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE;oBACrB,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI;iBAC1B,CAAC,CAAC,CAAC,IAAI;gBACR,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW;gBAC7B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAe,EAAE,aAAqB;QAC/D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,GAAG,OAAO,8EAA8E,aAAa,4BAA4B,CAClI,CAAC;QAEF,OAAO;YACL,OAAO;YACP,aAAa;YACb,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;YACjC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;gBAC1C,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE;gBACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW;gBACvC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,WAAW;gBACzC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,IAAY,EAAE,WAAoB;QACzE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,WAAW,GAAG;YAClB,IAAI;YACJ,WAAW,EAAE,WAAW,IAAI,EAAE;SAC/B,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,GAAG,OAAO,mDAAmD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EACrF,MAAM,EACN,WAAW,CACZ,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO;SACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,OAAe,EACf,aAAqB,EACrB,OAAgD;QAEhD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,GAAG,OAAO,uCAAuC,aAAa,gBAAgB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EACtG,OAAO,EACP,OAAO,CACR,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO;SACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,aAAqB;QAC5D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,GAAG,OAAO,uCAAuC,aAAa,gBAAgB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EACtG,QAAQ,CACT,CAAC;QAEF,OAAO;YACL,aAAa;YACb,OAAO;YACP,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,OAAe,EACf,aAAqB,EACrB,SAAiB,EACjB,aAAkB;QAElB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzB,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE;gBACR,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC;aAC1B;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,GAAG,OAAO,kEAAkE,EAC5E,MAAM,EACN,KAAK,CACN,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI;YACzB,aAAa;YACb,OAAO;SACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,OAAe,EACf,OAAe,EACf,OAGC;QAED,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3C,GAAG,OAAO,0CAA0C,OAAO,4BAA4B,CACxF,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,GAAG,OAAO;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;YAC9E,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;SAC3E,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,GAAG,OAAO,0CAA0C,OAAO,4BAA4B,EACvF,OAAO,EACP,OAAO,CACR,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO;SACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE,OAAe;QAC3D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,GAAG,OAAO,0CAA0C,OAAO,4BAA4B,EACvF,QAAQ,CACT,CAAC;QAEF,OAAO;YACL,OAAO;YACP,OAAO;YACP,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Services barrel export
3
+ */
4
+ export { AdminClient } from './admin-client.js';
5
+ export { PipelineService } from './pipeline-service.js';
6
+ export { ServiceConnectionService } from './service-connection-service.js';
7
+ export { VariableGroupService } from './variable-group-service.js';
8
+ export { AgentPoolService } from './agent-pool-service.js';
9
+ export { EnvironmentService } from './environment-service.js';
10
+ export { ClassificationService } from './classification-service.js';
11
+ export { ArtifactFeedService } from './artifact-feed-service.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Services barrel export
3
+ */
4
+ export { AdminClient } from './admin-client.js';
5
+ export { PipelineService } from './pipeline-service.js';
6
+ export { ServiceConnectionService } from './service-connection-service.js';
7
+ export { VariableGroupService } from './variable-group-service.js';
8
+ export { AgentPoolService } from './agent-pool-service.js';
9
+ export { EnvironmentService } from './environment-service.js';
10
+ export { ClassificationService } from './classification-service.js';
11
+ export { ArtifactFeedService } from './artifact-feed-service.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Pipeline and build operations for Azure DevOps Admin.
3
+ * Includes pipeline CRUD, build management, and approval operations.
4
+ */
5
+ import type { AdminClient } from './admin-client.js';
6
+ export declare class PipelineService {
7
+ private client;
8
+ constructor(client: AdminClient);
9
+ listPipelineDefinitions(project: string): Promise<any>;
10
+ getPipelineDefinition(project: string, definitionId: number): Promise<any>;
11
+ getPipelineYaml(project: string, definitionId: number): Promise<any>;
12
+ listPipelineRuns(project: string, definitionId: number, top?: number): Promise<any>;
13
+ getBuildStatus(project: string, buildId: number, detail?: string, timelineScope?: 'stages' | 'jobs' | 'all' | 'problems', maxIssues?: number): Promise<any>;
14
+ getBuildTimeline(project: string, buildId: number, scope?: 'stages' | 'jobs' | 'all' | 'problems', maxIssues?: number): Promise<any>;
15
+ private filterLogContent;
16
+ getBuildLogs(project: string, buildId: number, logId?: number, mode?: 'summary' | 'full' | 'errors'): Promise<any>;
17
+ listPendingApprovals(project: string, buildId: number): Promise<any>;
18
+ createPipelineDefinition(project: string, name: string, repositoryId: string, yamlPath: string, folder?: string, repositoryType?: 'TfsGit' | 'GitHub' | 'GitHubEnterprise', repositoryUrl?: string, defaultBranch?: string, serviceConnectionId?: string): Promise<any>;
19
+ updatePipelineDefinition(project: string, definitionId: number, updates: {
20
+ name?: string;
21
+ path?: string;
22
+ queueStatus?: string;
23
+ triggers?: any[];
24
+ variables?: Record<string, {
25
+ value: string;
26
+ isSecret?: boolean;
27
+ allowOverride?: boolean;
28
+ }>;
29
+ }): Promise<any>;
30
+ renamePipelineDefinition(project: string, definitionId: number, newName: string): Promise<any>;
31
+ queueBuild(project: string, definitionId: number, branch?: string, variables?: Record<string, string>, parameters?: Record<string, any>): Promise<any>;
32
+ cancelBuild(project: string, buildId: number): Promise<any>;
33
+ retryBuild(project: string, buildId: number): Promise<any>;
34
+ deletePipelineDefinition(project: string, definitionId: number): Promise<any>;
35
+ approveStage(project: string, approvalId: string, status: 'approved' | 'rejected', comment?: string): Promise<any>;
36
+ }
37
+ //# sourceMappingURL=pipeline-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-service.d.ts","sourceRoot":"","sources":["../../src/services/pipeline-service.ts"],"names":[],"mappings":"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"}