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

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 +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/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 +60 -924
  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,147 @@
1
+ export class ServiceConnectionService {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async listServiceConnections(project) {
7
+ this.client.validateProject(project);
8
+ const response = await this.client.makeRequest(`${project}/_apis/serviceendpoint/endpoints?api-version=${this.client.apiVersion}`);
9
+ return {
10
+ project,
11
+ totalCount: response.value.length,
12
+ serviceConnections: response.value.map((conn) => ({
13
+ id: conn.id,
14
+ name: conn.name,
15
+ type: conn.type,
16
+ url: conn.url,
17
+ description: conn.description,
18
+ isShared: conn.isShared,
19
+ isReady: conn.isReady,
20
+ owner: conn.owner,
21
+ createdBy: conn.createdBy?.displayName,
22
+ authorization: conn.authorization ? {
23
+ scheme: conn.authorization.scheme,
24
+ parameters: conn.authorization.parameters ?
25
+ Object.keys(conn.authorization.parameters).reduce((acc, key) => {
26
+ acc[key] = key.toLowerCase().includes('password') ||
27
+ key.toLowerCase().includes('secret') ||
28
+ key.toLowerCase().includes('key') ||
29
+ key.toLowerCase().includes('token')
30
+ ? '***SECRET***'
31
+ : conn.authorization.parameters[key];
32
+ return acc;
33
+ }, {}) : {}
34
+ } : null
35
+ }))
36
+ };
37
+ }
38
+ async getServiceConnection(project, connectionId) {
39
+ this.client.validateProject(project);
40
+ const response = await this.client.makeRequest(`${project}/_apis/serviceendpoint/endpoints/${connectionId}?api-version=${this.client.apiVersion}`);
41
+ return {
42
+ id: response.id,
43
+ name: response.name,
44
+ type: response.type,
45
+ url: response.url,
46
+ description: response.description,
47
+ isShared: response.isShared,
48
+ isReady: response.isReady,
49
+ owner: response.owner,
50
+ createdBy: response.createdBy?.displayName,
51
+ project,
52
+ authorization: response.authorization ? {
53
+ scheme: response.authorization.scheme,
54
+ parameters: response.authorization.parameters ?
55
+ Object.keys(response.authorization.parameters).reduce((acc, key) => {
56
+ acc[key] = key.toLowerCase().includes('password') ||
57
+ key.toLowerCase().includes('secret') ||
58
+ key.toLowerCase().includes('key') ||
59
+ key.toLowerCase().includes('token')
60
+ ? '***SECRET***'
61
+ : response.authorization.parameters[key];
62
+ return acc;
63
+ }, {}) : {}
64
+ } : null,
65
+ data: response.data || {},
66
+ serviceEndpointProjectReferences: response.serviceEndpointProjectReferences
67
+ };
68
+ }
69
+ async getServiceConnectionTypes() {
70
+ const response = await this.client.makeRequest(`_apis/serviceendpoint/types?api-version=${this.client.apiVersion}`);
71
+ return {
72
+ totalCount: response.value.length,
73
+ types: response.value.map((type) => ({
74
+ name: type.name,
75
+ displayName: type.displayName,
76
+ description: type.description,
77
+ helpMarkDown: type.helpMarkDown,
78
+ authenticationSchemes: type.authenticationSchemes?.map((scheme) => ({
79
+ scheme: scheme.scheme,
80
+ displayName: scheme.displayName
81
+ })) || []
82
+ }))
83
+ };
84
+ }
85
+ async createServiceConnection(project, name, type, configuration) {
86
+ this.client.validateProject(project);
87
+ const endpoint = {
88
+ name,
89
+ type,
90
+ url: configuration.url || '',
91
+ description: configuration.description || '',
92
+ authorization: configuration.authorization,
93
+ data: configuration.data || {},
94
+ isShared: false,
95
+ isReady: true
96
+ };
97
+ const response = await this.client.makeRequest(`${project}/_apis/serviceendpoint/endpoints?api-version=${this.client.apiVersion}`, 'POST', endpoint);
98
+ return {
99
+ id: response.id,
100
+ name: response.name,
101
+ type: response.type,
102
+ isReady: response.isReady,
103
+ project
104
+ };
105
+ }
106
+ async updateServiceConnection(project, connectionId, updates) {
107
+ this.client.validateProject(project);
108
+ const current = await this.client.makeRequest(`${project}/_apis/serviceendpoint/endpoints/${connectionId}?api-version=${this.client.apiVersion}`);
109
+ const updated = {
110
+ ...current,
111
+ name: updates.name || current.name,
112
+ description: updates.description || current.description,
113
+ url: updates.url || current.url,
114
+ data: updates.data ? { ...current.data, ...updates.data } : current.data
115
+ };
116
+ const response = await this.client.makeRequest(`${project}/_apis/serviceendpoint/endpoints/${connectionId}?api-version=${this.client.apiVersion}`, 'PUT', updated);
117
+ return {
118
+ id: response.id,
119
+ name: response.name,
120
+ type: response.type,
121
+ isReady: response.isReady,
122
+ project
123
+ };
124
+ }
125
+ async shareServiceConnection(connectionId, projectIds) {
126
+ const shareRequest = projectIds.map(projectId => ({
127
+ projectReference: { id: projectId },
128
+ name: ''
129
+ }));
130
+ const response = await this.client.makeRequest(`_apis/serviceendpoint/endpoints/${connectionId}?api-version=${this.client.apiVersion}`, 'PATCH', { serviceEndpointProjectReferences: shareRequest });
131
+ return {
132
+ id: response.id,
133
+ name: response.name,
134
+ sharedWith: projectIds
135
+ };
136
+ }
137
+ async deleteServiceConnection(project, connectionId) {
138
+ this.client.validateProject(project);
139
+ await this.client.makeRequest(`${project}/_apis/serviceendpoint/endpoints/${connectionId}?api-version=${this.client.apiVersion}`, 'DELETE');
140
+ return {
141
+ connectionId,
142
+ project,
143
+ deleted: true
144
+ };
145
+ }
146
+ }
147
+ //# sourceMappingURL=service-connection-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-connection-service.js","sourceRoot":"","sources":["../../src/services/service-connection-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Variable group operations for Azure DevOps Admin.
3
+ */
4
+ import type { AdminClient } from './admin-client.js';
5
+ export declare class VariableGroupService {
6
+ private client;
7
+ constructor(client: AdminClient);
8
+ getVariableGroups(project: string): Promise<any>;
9
+ getVariableGroup(project: string, groupId: number): Promise<any>;
10
+ createVariableGroup(project: string, name: string, description?: string, variables?: Record<string, {
11
+ value: string;
12
+ isSecret?: boolean;
13
+ }>): Promise<any>;
14
+ updateVariableGroupMetadata(project: string, groupId: number, updates: {
15
+ name?: string;
16
+ description?: string;
17
+ }): Promise<any>;
18
+ setVariable(project: string, groupId: number, variableName: string, value: string, isSecret?: boolean): Promise<any>;
19
+ removeVariable(project: string, groupId: number, variableName: string): Promise<any>;
20
+ deleteVariableGroup(project: string, groupId: number): Promise<any>;
21
+ }
22
+ //# sourceMappingURL=variable-group-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-group-service.d.ts","sourceRoot":"","sources":["../../src/services/variable-group-service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,qBAAa,oBAAoB;IACnB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAEjC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAiChD,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA+BhE,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAChE,OAAO,CAAC,GAAG,CAAC;IA4BT,2BAA2B,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,GAAG,CAAC;IA2BT,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,GAAG,CAAC;IAwBT,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA2BpF,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAc1E"}
@@ -0,0 +1,136 @@
1
+ export class VariableGroupService {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async getVariableGroups(project) {
7
+ this.client.validateProject(project);
8
+ const response = await this.client.makeRequest(`${project}/_apis/distributedtask/variablegroups?api-version=${this.client.apiVersion}`);
9
+ return {
10
+ project,
11
+ totalCount: response.value.length,
12
+ variableGroups: response.value.map((group) => ({
13
+ id: group.id,
14
+ name: group.name,
15
+ description: group.description,
16
+ type: group.type,
17
+ createdBy: group.createdBy?.displayName,
18
+ createdOn: group.createdOn,
19
+ modifiedBy: group.modifiedBy?.displayName,
20
+ modifiedOn: group.modifiedOn,
21
+ isShared: group.isShared,
22
+ variables: group.variables ? Object.keys(group.variables).reduce((acc, key) => {
23
+ const v = group.variables[key];
24
+ acc[key] = {
25
+ value: v.isSecret ? '***SECRET***' : v.value,
26
+ isSecret: v.isSecret || false,
27
+ isReadOnly: v.isReadOnly || false
28
+ };
29
+ return acc;
30
+ }, {}) : {}
31
+ }))
32
+ };
33
+ }
34
+ async getVariableGroup(project, groupId) {
35
+ this.client.validateProject(project);
36
+ const response = await this.client.makeRequest(`${project}/_apis/distributedtask/variablegroups/${groupId}?api-version=${this.client.apiVersion}`);
37
+ return {
38
+ id: response.id,
39
+ name: response.name,
40
+ description: response.description,
41
+ type: response.type,
42
+ createdBy: response.createdBy?.displayName,
43
+ createdOn: response.createdOn,
44
+ modifiedBy: response.modifiedBy?.displayName,
45
+ modifiedOn: response.modifiedOn,
46
+ isShared: response.isShared,
47
+ project,
48
+ variables: response.variables ? Object.keys(response.variables).reduce((acc, key) => {
49
+ const v = response.variables[key];
50
+ acc[key] = {
51
+ value: v.isSecret ? '***SECRET***' : v.value,
52
+ isSecret: v.isSecret || false,
53
+ isReadOnly: v.isReadOnly || false
54
+ };
55
+ return acc;
56
+ }, {}) : {},
57
+ variableGroupProjectReferences: response.variableGroupProjectReferences
58
+ };
59
+ }
60
+ async createVariableGroup(project, name, description, variables) {
61
+ this.client.validateProject(project);
62
+ const variableGroup = {
63
+ name,
64
+ description: description || '',
65
+ type: 'Vsts',
66
+ variables: variables || {},
67
+ variableGroupProjectReferences: [{
68
+ projectReference: { name: project },
69
+ name: name
70
+ }]
71
+ };
72
+ const response = await this.client.makeRequest(`_apis/distributedtask/variablegroups?api-version=${this.client.apiVersion}`, 'POST', variableGroup);
73
+ return {
74
+ id: response.id,
75
+ name: response.name,
76
+ project,
77
+ variableCount: Object.keys(response.variables || {}).length
78
+ };
79
+ }
80
+ async updateVariableGroupMetadata(project, groupId, updates) {
81
+ this.client.validateProject(project);
82
+ const current = await this.client.makeRequest(`${project}/_apis/distributedtask/variablegroups/${groupId}?api-version=${this.client.apiVersion}`);
83
+ const updated = {
84
+ ...current,
85
+ name: updates.name || current.name,
86
+ description: updates.description || current.description
87
+ };
88
+ const response = await this.client.makeRequest(`_apis/distributedtask/variablegroups/${groupId}?api-version=${this.client.apiVersion}`, 'PUT', updated);
89
+ return {
90
+ id: response.id,
91
+ name: response.name,
92
+ description: response.description,
93
+ project
94
+ };
95
+ }
96
+ async setVariable(project, groupId, variableName, value, isSecret = false) {
97
+ this.client.validateProject(project);
98
+ const current = await this.client.makeRequest(`${project}/_apis/distributedtask/variablegroups/${groupId}?api-version=${this.client.apiVersion}`);
99
+ current.variables[variableName] = { value, isSecret };
100
+ const response = await this.client.makeRequest(`_apis/distributedtask/variablegroups/${groupId}?api-version=${this.client.apiVersion}`, 'PUT', current);
101
+ return {
102
+ id: response.id,
103
+ name: response.name,
104
+ project,
105
+ variableSet: variableName,
106
+ isSecret
107
+ };
108
+ }
109
+ async removeVariable(project, groupId, variableName) {
110
+ this.client.validateProject(project);
111
+ const current = await this.client.makeRequest(`${project}/_apis/distributedtask/variablegroups/${groupId}?api-version=${this.client.apiVersion}`);
112
+ if (current.variables[variableName]) {
113
+ delete current.variables[variableName];
114
+ }
115
+ else {
116
+ throw new Error(`Variable '${variableName}' not found in group ${groupId}`);
117
+ }
118
+ const response = await this.client.makeRequest(`_apis/distributedtask/variablegroups/${groupId}?api-version=${this.client.apiVersion}`, 'PUT', current);
119
+ return {
120
+ id: response.id,
121
+ name: response.name,
122
+ project,
123
+ variableRemoved: variableName
124
+ };
125
+ }
126
+ async deleteVariableGroup(project, groupId) {
127
+ this.client.validateProject(project);
128
+ await this.client.makeRequest(`_apis/distributedtask/variablegroups/${groupId}?api-version=${this.client.apiVersion}`, 'DELETE');
129
+ return {
130
+ groupId,
131
+ project,
132
+ deleted: true
133
+ };
134
+ }
135
+ }
136
+ //# sourceMappingURL=variable-group-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-group-service.js","sourceRoot":"","sources":["../../src/services/variable-group-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Tool description examples for azure-devops-admin package.
3
+ *
4
+ * Anthropic research shows 72% -> 90% accuracy improvement when tools include examples.
5
+ * Re-exports descWithExamples from core and defines domain-specific example arrays.
6
+ */
7
+ export { descWithExamples } from '@mcp-consultant-tools/core';
8
+ /** Build status values returned by the API */
9
+ export declare const BUILD_STATUS_EXAMPLES: {
10
+ label: string;
11
+ value: string;
12
+ }[];
13
+ /** Build result values for filtering completed builds */
14
+ export declare const BUILD_RESULT_EXAMPLES: {
15
+ label: string;
16
+ value: string;
17
+ }[];
18
+ /** Timeline scope options to control output verbosity */
19
+ export declare const TIMELINE_SCOPE_EXAMPLES: {
20
+ label: string;
21
+ value: string;
22
+ }[];
23
+ /** Variable expression syntax for pipeline variables */
24
+ export declare const VARIABLE_EXPRESSION_EXAMPLES: {
25
+ label: string;
26
+ value: string;
27
+ }[];
28
+ /** Common deployment environment names */
29
+ export declare const ENVIRONMENT_NAME_EXAMPLES: {
30
+ label: string;
31
+ value: string;
32
+ }[];
33
+ /** Agent online/offline status values */
34
+ export declare const AGENT_STATUS_EXAMPLES: {
35
+ label: string;
36
+ value: string;
37
+ }[];
38
+ /** Feed scope - organization-wide vs project-scoped */
39
+ export declare const FEED_SCOPE_EXAMPLES: {
40
+ label: string;
41
+ value: string;
42
+ }[];
43
+ /** Pipeline folder path format (backslash-delimited) */
44
+ export declare const PIPELINE_FOLDER_EXAMPLES: {
45
+ label: string;
46
+ value: string;
47
+ }[];
48
+ /** Approval status for stage gates */
49
+ export declare const APPROVAL_STATUS_EXAMPLES: {
50
+ label: string;
51
+ value: string;
52
+ }[];
53
+ /** Common service connection types */
54
+ export declare const SVC_CONN_TYPE_EXAMPLES: {
55
+ label: string;
56
+ value: string;
57
+ }[];
58
+ /** Pool type filter for agent pools */
59
+ export declare const POOL_TYPE_EXAMPLES: {
60
+ label: string;
61
+ value: string;
62
+ }[];
63
+ /** Package protocol types for artifact feeds */
64
+ export declare const PACKAGE_TYPE_EXAMPLES: {
65
+ label: string;
66
+ value: string;
67
+ }[];
68
+ /** Build detail level options */
69
+ export declare const BUILD_DETAIL_EXAMPLES: {
70
+ label: string;
71
+ value: string;
72
+ }[];
73
+ /** Log filter mode options */
74
+ export declare const LOG_MODE_EXAMPLES: {
75
+ label: string;
76
+ value: string;
77
+ }[];
78
+ /** Check types for environment gates */
79
+ export declare const CHECK_TYPE_EXAMPLES: {
80
+ label: string;
81
+ value: string;
82
+ }[];
83
+ //# sourceMappingURL=tool-examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-examples.d.ts","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,8CAA8C;AAC9C,eAAO,MAAM,qBAAqB;;;GAMjC,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,qBAAqB;;;GAKjC,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,uBAAuB;;;GAKnC,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,4BAA4B;;;GAKxC,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,yBAAyB;;;GAKrC,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,qBAAqB;;;GAGjC,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,mBAAmB;;;GAG/B,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,wBAAwB;;;GAIpC,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,wBAAwB;;;GAGpC,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,sBAAsB;;;GAMlC,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,kBAAkB;;;GAG9B,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,qBAAqB;;;GAMjC,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,qBAAqB;;;GAIjC,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,iBAAiB;;;GAI7B,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,mBAAmB;;;GAM/B,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Tool description examples for azure-devops-admin package.
3
+ *
4
+ * Anthropic research shows 72% -> 90% accuracy improvement when tools include examples.
5
+ * Re-exports descWithExamples from core and defines domain-specific example arrays.
6
+ */
7
+ export { descWithExamples } from '@mcp-consultant-tools/core';
8
+ /** Build status values returned by the API */
9
+ export const BUILD_STATUS_EXAMPLES = [
10
+ { label: 'Completed successfully', value: 'Succeeded' },
11
+ { label: 'Build failed', value: 'Failed' },
12
+ { label: 'Currently executing', value: 'Running' },
13
+ { label: 'Queued, waiting for agent', value: 'Waiting' },
14
+ { label: 'Manually cancelled', value: 'Cancelled' },
15
+ ];
16
+ /** Build result values for filtering completed builds */
17
+ export const BUILD_RESULT_EXAMPLES = [
18
+ { label: 'All steps passed', value: 'succeeded' },
19
+ { label: 'Some steps had warnings', value: 'partiallySucceeded' },
20
+ { label: 'Build failed', value: 'failed' },
21
+ { label: 'Build was cancelled', value: 'canceled' },
22
+ ];
23
+ /** Timeline scope options to control output verbosity */
24
+ export const TIMELINE_SCOPE_EXAMPLES = [
25
+ { label: 'Only errors/warnings (default, smallest)', value: 'problems' },
26
+ { label: 'Stage-level summary', value: 'stages' },
27
+ { label: 'Stages + jobs (moderate)', value: 'jobs' },
28
+ { label: 'Everything including tasks (can be large)', value: 'all' },
29
+ ];
30
+ /** Variable expression syntax for pipeline variables */
31
+ export const VARIABLE_EXPRESSION_EXAMPLES = [
32
+ { label: 'Reference a variable', value: '$(variableName)' },
33
+ { label: 'Auto-incrementing counter', value: '$[counter(\'prefix\', 0)]' },
34
+ { label: 'Built-in variable', value: '$(Build.BuildId)' },
35
+ { label: 'Secret variable', value: '$(mySecret)' },
36
+ ];
37
+ /** Common deployment environment names */
38
+ export const ENVIRONMENT_NAME_EXAMPLES = [
39
+ { label: 'Production environment', value: 'Production' },
40
+ { label: 'Staging/pre-prod', value: 'Staging' },
41
+ { label: 'Development environment', value: 'Development' },
42
+ { label: 'QA/testing', value: 'QA' },
43
+ ];
44
+ /** Agent online/offline status values */
45
+ export const AGENT_STATUS_EXAMPLES = [
46
+ { label: 'Agent is available', value: 'Online' },
47
+ { label: 'Agent is unreachable', value: 'Offline' },
48
+ ];
49
+ /** Feed scope - organization-wide vs project-scoped */
50
+ export const FEED_SCOPE_EXAMPLES = [
51
+ { label: 'Organization-wide feed', value: 'organization' },
52
+ { label: 'Project-scoped feed', value: 'project' },
53
+ ];
54
+ /** Pipeline folder path format (backslash-delimited) */
55
+ export const PIPELINE_FOLDER_EXAMPLES = [
56
+ { label: 'Root folder', value: '\\' },
57
+ { label: 'Build folder', value: '\\Build' },
58
+ { label: 'Nested folder', value: '\\Release\\Production' },
59
+ ];
60
+ /** Approval status for stage gates */
61
+ export const APPROVAL_STATUS_EXAMPLES = [
62
+ { label: 'Approve the stage', value: 'approved' },
63
+ { label: 'Reject the stage', value: 'rejected' },
64
+ ];
65
+ /** Common service connection types */
66
+ export const SVC_CONN_TYPE_EXAMPLES = [
67
+ { label: 'Azure Resource Manager', value: 'AzureRM' },
68
+ { label: 'GitHub repository', value: 'GitHub' },
69
+ { label: 'npm registry', value: 'npm' },
70
+ { label: 'NuGet feed', value: 'NuGet' },
71
+ { label: 'Docker registry', value: 'Docker' },
72
+ ];
73
+ /** Pool type filter for agent pools */
74
+ export const POOL_TYPE_EXAMPLES = [
75
+ { label: 'Build/release pipelines', value: 'automation' },
76
+ { label: 'Environment deployment groups', value: 'deployment' },
77
+ ];
78
+ /** Package protocol types for artifact feeds */
79
+ export const PACKAGE_TYPE_EXAMPLES = [
80
+ { label: 'NuGet (.NET)', value: 'nuget' },
81
+ { label: 'npm (Node.js)', value: 'npm' },
82
+ { label: 'Maven (Java)', value: 'maven' },
83
+ { label: 'Universal packages', value: 'upack' },
84
+ { label: 'PyPI (Python)', value: 'pypi' },
85
+ ];
86
+ /** Build detail level options */
87
+ export const BUILD_DETAIL_EXAMPLES = [
88
+ { label: 'Basic status only (default)', value: 'summary' },
89
+ { label: 'Include step breakdown', value: 'timeline' },
90
+ { label: 'Include logs (verbose)', value: 'full' },
91
+ ];
92
+ /** Log filter mode options */
93
+ export const LOG_MODE_EXAMPLES = [
94
+ { label: 'Filtered, no progress indicators (default)', value: 'summary' },
95
+ { label: 'Complete unfiltered output', value: 'full' },
96
+ { label: 'Only errors and warnings', value: 'errors' },
97
+ ];
98
+ /** Check types for environment gates */
99
+ export const CHECK_TYPE_EXAMPLES = [
100
+ { label: 'Manual approval gate', value: 'Approval' },
101
+ { label: 'Time-based restriction', value: 'BusinessHours' },
102
+ { label: 'Branch policy check', value: 'BranchControl' },
103
+ { label: 'REST API validation', value: 'InvokeRESTAPI' },
104
+ { label: 'Exclusive resource lock', value: 'ExclusiveLock' },
105
+ ];
106
+ //# sourceMappingURL=tool-examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-examples.js","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ServiceContext } from '../types.js';
2
+ export declare function registerAgentPoolTools(server: any, ctx: ServiceContext): {
3
+ readonly: number;
4
+ upsert: number;
5
+ delete: number;
6
+ };
7
+ //# sourceMappingURL=agent-pool-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-pool-tools.d.ts","sourceRoot":"","sources":["../../src/tools/agent-pool-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAgK7H"}